pax_global_header00006660000000000000000000000064151516612740014522gustar00rootroot0000000000000052 comment=0825fc42ade3e77a559bdbb5758ec2a8e2d67ad6 liquidctl-1.16.0/000077500000000000000000000000001515166127400136015ustar00rootroot00000000000000liquidctl-1.16.0/.github/000077500000000000000000000000001515166127400151415ustar00rootroot00000000000000liquidctl-1.16.0/.github/ISSUE_TEMPLATE/000077500000000000000000000000001515166127400173245ustar00rootroot00000000000000liquidctl-1.16.0/.github/ISSUE_TEMPLATE/bug-report.yml000066400000000000000000000100141515166127400221310ustar00rootroot00000000000000name: Bug report description: Report a broken device or feature labels: ["bug"] body: - type: checkboxes attributes: label: Is there already an issue for this? description: Please search our open issues to see if one already exists for this. options: - label: There is no relevant open or closed issue for this required: true - type: checkboxes attributes: label: Is this a request for support of a new device? description: > We are not currently taking new device requests. Please see [how](https://github.com/liquidctl/liquidctl/blob/main/CONTRIBUTING.md) you can help add support for that device and contribute your changes back to the project. options: - label: This is not a new device request required: true - type: input id: liquidctl-version attributes: label: Affected liquidctl version description: > What is the output from `liquidctl --version`, or what version did you tried to install? If you are reporting an issue for a version other than the latest (currently 1.16.0), please first check that the problem has not already been fixed on the new version. placeholder: | e.g. liquidctl v1.16.0 (Linux-6.17.8-arch1-1-x86_64-with-glibc2.42) validations: required: true - type: input id: affected-device attributes: label: Affected device description: Which device is affected by this bug? placeholder: e.g. Corsair Hydro H100i Pro XT validations: required: false - type: checkboxes attributes: label: Is the device supported by that liquidctl version? description: Does your liquidctl version support the device above? description: > Please check the [Supported devices](https://github.com/liquidctl/liquidctl#supported-devices) section in the README to verify that the device is supported by the liquidctl version you are using. Support for new enough devices or features may require a newer version, or sometimes even a Git snapshot. options: - label: The device is listead in the README as supported by my liquidctl version required: false - type: textarea id: description attributes: label: Describe the bug description: Please start by describing the bug in as much detail as possible. You can use [Markdown](https://docs.github.com/en/get-started/writing-on-github). validations: required: true - type: textarea id: commands-executed attributes: label: Commands executed description: > Report the commands you executed, their expected behavior, and what was observed instead. You can use Markdown, in particular [code blocks](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#quoting-code). validations: required: false - type: textarea id: commands-executed-with-debug attributes: label: Output of all relevant commands with `--debug` flag description: > Re-run all liquidctl commands with the `--debug` flag, and provide their complete arguments and output . You can use Markdown, in particular [code blocks](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#quoting-code). validations: required: false - type: input id: installation-method attributes: label: liquidctl installation method description: How did you install (or attempt to) liquidctl? placeholder: e.g. Official Arch Linux repository validations: required: false - type: input id: operating-system attributes: label: Operating system and version description: Which operating system and version are you using? placeholder: e.g. Windows 1125H2 or Arch Linux with kernel linux 6.17.8-arch1-1 validations: required: false liquidctl-1.16.0/.github/ISSUE_TEMPLATE/config.yml000066400000000000000000000007161515166127400213200ustar00rootroot00000000000000blank_issues_enabled: false contact_links: - name: My device isn't supported yet url: https://github.com/liquidctl/liquidctl/blob/main/CONTRIBUTING.md about: We are not currently taking new device requests. Please see how you can help add support for your device and contribute your changes back to the project. - name: Engage with the community or ask for help url: https://discord.gg/GyCBjQhqCd about: Please visit our Discord server liquidctl-1.16.0/.github/ISSUE_TEMPLATE/other.yml000066400000000000000000000025121515166127400211700ustar00rootroot00000000000000name: Other issue description: Report other types of problems or request new features body: - type: checkboxes attributes: label: Is there already an issue for this? description: Please search our open issues to see if one already exists for this. options: - label: There is no relevant open or closed issue for this required: true - type: checkboxes attributes: label: Is this a request for support of a new device? description: > We are not currently taking new device requests. Please see [how](https://github.com/liquidctl/liquidctl/blob/main/CONTRIBUTING.md) you can help add support for that device and contribute your changes back to the project. options: - label: This is not a new device request required: true - type: checkboxes attributes: label: Is this a support request? description: Please use [Discord](https://discord.gg/GyCBjQhqCd) to ask for help. options: - label: This is not a support request required: true - type: textarea attributes: label: Description description: > Please describe the issue or feature request as clearly as possible. You can use [Markdown](https://docs.github.com/en/get-started/writing-on-github). validations: required: true liquidctl-1.16.0/.github/pull_request_template.md000066400000000000000000000034741515166127400221120ustar00rootroot00000000000000Describe what the changes are meant to address. If the implementation is not trivial, please also include a short overview. Fixes: Closes: Related: --- Checklist: - [ ] Adhere to the [development process] - [ ] Conform to the [style guide] - [ ] Verify that the changes work as expected on real hardware - [ ] Add automated tests cases - [ ] Verify that all (other) automated tests (still) pass - [ ] Update/add documentation - [ ] README, with ["new/changed in" notes] - [ ] applicable `docs/*guide.md` device guides, with ["new/changed in" notes] - [ ] `liquidctl.8` Linux/Unix/Mac OS man page - [ ] protocol documentation in `docs/developer/protocol` - [ ] Submit relevant data, scripts or dissectors to https://github.com/liquidctl/collected-device-data New CLI flag? - [ ] Adjust the completion scripts in `extra/completions/` New device? - [ ] Regenerate `extra/linux/71-liquidctl.rules` (instructions in the file header) - [ ] Add entry to the README's supported device list with applicable notes and `git` MRLV New driver? - [ ] Document the protocol in `docs/developer/protocol/` [development process]: https://github.com/liquidctl/liquidctl/blob/main/docs/developer/process.md [style guide]: https://github.com/liquidctl/liquidctl/blob/main/docs/developer/style-guide.md ["new/changed in" notes]: https://github.com/liquidctl/liquidctl/blob/main/docs/developer/process.md#newchanged-in-notes liquidctl-1.16.0/.github/workflows/000077500000000000000000000000001515166127400171765ustar00rootroot00000000000000liquidctl-1.16.0/.github/workflows/style-check.yml000066400000000000000000000003341515166127400221340ustar00rootroot00000000000000name: style check on: [push, pull_request] jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: psf/black@stable with: options: "--check --diff --color" liquidctl-1.16.0/.github/workflows/test-from-sources.yml000066400000000000000000000052641515166127400233310ustar00rootroot00000000000000name: tests on: [push, pull_request] jobs: build: defaults: run: shell: bash runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] python-version: ['3.14', '3.13', '3.12', '3.11', '3.10'] exclude: # windows runners are slow, exclude intermediate python releases - os: windows-latest python-version: '3.13' - os: windows-latest python-version: '3.12' - os: windows-latest python-version: '3.11' steps: - uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} - name: Install system dependencies (Linux) if: matrix.os == 'ubuntu-latest' run: | sudo apt-get update sudo apt-get install -y libusb-1.0-0-dev libudev-dev - name: Install system dependencies (macOS) if: matrix.os == 'macos-latest' run: | brew install libusb - name: Install Python tools run: | python -m pip install --upgrade pip - name: Set up a test environment with pytest and the runtime dependencies run: | python -m venv vtest export PATH=$PWD/vtest/bin/:$PWD/vtest/Scripts/:$PATH python -m pip install --upgrade pip setuptools setuptools_scm wheel # todo: remove git pysub once pyusb/pyusb#511 reaches a release python -m pip install \ colorlog \ crcmod==1.7 \ docopt \ hidapi \ pillow \ pytest \ git+https://github.com/pyusb/pyusb \ "libusb-package; sys_platform == 'win32' or sys_platform == 'cygwin'" \ "smbus; sys_platform == 'linux'" \ "winusbcdc>=1.5; sys_platform == 'win32'" - name: Run unit tests and module doctests run: | export PATH=$PWD/vtest/bin/:$PWD/vtest/Scripts/:$PATH XDG_RUNTIME_DIR=.tests_rundir python -m pytest - name: Set up a environment to install into, and install the package from sources run: | python -m venv vinstall export PATH=$PWD/vinstall/bin/:$PWD/vinstall/Scripts/:$PATH python -m pip install --upgrade pip setuptools setuptools_scm wheel # todo: remove git pysub once pyusb/pyusb#511 reaches a release python -m pip install git+https://github.com/pyusb/pyusb python -m pip install . - name: Test that the installed executable is able to probe for devices run: | export PATH=$PWD/vinstall/bin/:$PWD/vinstall/Scripts/:$PATH liquidctl list --verbose --debug liquidctl-1.16.0/.gitignore000066400000000000000000000001621515166127400155700ustar00rootroot00000000000000*.egg-info/ .krakenduty-poc /.tox/ /build/ /dist/ __pycache__/ liquidctl/_version.py .DS_Store .coverage .vscode/ liquidctl-1.16.0/CHANGELOG.md000066400000000000000000001211751515166127400154210ustar00rootroot00000000000000# Changelog ## [1.16.0] – 2026-03-03 ### Changes since 1.15.0 Added: - Support for ASUS Ryujin III 360, EVA, Extreme, and White (liquidctl#829, liquidctl#857, liquidctl#865, liquidctl#866) - Support for ASUS Ryuo I 240 (liquidctl#794) - Support for Aquacomputer Farbwerk (liquidctl#749) - Support for Corsair HX1200i ATX 3.1 variant (liquidctl#791) - Support for Lian Li GA II LCD (liquidctl#795) - Support for Lian Li Uni Fan controllers (liquidctl#837) - Support for NZXT 2023 RGB controllers (liquidctl#690) - Support for NZXT Control Hub (liquidctl#827, liquidctl#849) - Support for NZXT Kraken 2024 Plus (liquidctl#825) Changed: - Drop Python 3.9 support after it reached end of life - Lian Li Uni: rename status output fields to match other drivers (liquidctl#855) Fixed: - NZXT Smart Device 2: fix wings lighting mode (liquidctl#769) - Aura LED: reduce and improve handling of unexpected responses (liquidctl#838) - Lian Li Uni: fix speed stuck at 100% (liquidctl#853, liquidctl#854) - Lian Li Uni: fix off-by-one error in channel validity check and channel name handling (liquidctl#850) - extra/yoda: avoid excessive reads/writes (liquidctl#715) ## [1.15.0] – 2025-04-13 ### Changes since 1.14.0 Added: - Support for NZXT Kraken Elite 2024 RGB (liquidctl#746) - Support for Corsair HX1200i ATX 3.1 (liquidctl#763) Changed: - Increase the minimum required Python version to 3.9 Fixed: - Permission errors when accessing driver data on Windows with Python 3.13 - Read errors when setting Aquacomputer fan speeds in quick succession (liquidctl#766, liquidctl#767) ### BLAKE3 checksums ``` $ b3sum dist/liquidctl-$VERSION{.tar.gz,-py3-none-any.whl} 3baab12124f478ef73d787ed39a4ca5fe0955307f1ea74aa9ea74338f25c8c01 dist/liquidctl-1.15.0.tar.gz 19139a38e6b9f2645000ea53ce861a2830920272c4429e19403da3e4c5d31dc0 dist/liquidctl-1.15.0-py3-none-any.whl ``` ## [1.14.0] – 2025-01-01 ### Changes since 1.13.0 Added: - Support for Corsair Hydro H110i GT (liquidctl#637) - Support for Corsair iCue Elite H100i RGB, white version (liquidctl#735) - Support for Corsair iCue Elite H115i RGB (liquidctl#678) - Support for Corsair iCue Elite H150i RGB, white version (liquidctl#725) - Support for NZXT Kraken 2023 standard and Elite models (liquidctl#605) - Support for MSI MPG Coreliquid K360 and two similar variants (liquidctl#564) - Support for NZXT RGB & Fan Controller with PID `201f` (liquidctl#733) - Support for NZXT RGB & Fan Controller with PID `2020` (liquidctl@a64e73e63eb3) - Support the ASUS Ryujin II 360, minus the screen (liquidctl#653) - Corsair Commander Core: partial/experimental support for speed profiles (liquidctl#687) Changed: - Corsair RMi/HXi PSUs: enforce a 30% minimum value for user-set fan duties (liquidctl#730) - NZXT Kraken Z?3/2023: error out when trying to set the screen is unsupported due to firmware v2.x - extra scripts: add `.py` extension to all scripts written in Python - extra/yoda: make `psutil` dependency optional Deprecated: - `experimental` fields in the `list --json` output Removed: - "Experimental" tags, notes and suffixes Fixed: - Corsair HX1000i/HX1500i: fix input power curves (liquidctl#675) - NZXT Kraken Z?3/2023: partially support setting the screen with firmware v2.x (liquidctl#692) - Linux: skip unreadable EEPROMs (liquidctl#731) - Windows: replace port numbers with bus address when setting a storage key (liquidctl#703) - extra/yoda: accept `--unsafe` flags - extra/yoda: output CPU frequency with the correct unit of MHz - Convert `PyUsbDevice` addresses to strings (liquidctl#743) - Various issues with Unix file permission handling in `liquidctl.keyval` (liquidctl#659) ### BLAKE3 checksums The checksum algorithm has been changed from SHA256 to BLAKE3. ``` $ b3sum dist/liquidctl-1.14.0{.tar.gz,-py3-none-any.whl} 699650664c92d78478478e1d992b23456a6ffc5efe83b508fa666dfad341598b dist/liquidctl-1.14.0.tar.gz 86eaff9c3c285a721c013f2e989d7cab9fb2d2eec9fb6949e9998de11d4f6a70 dist/liquidctl-1.14.0-py3-none-any.whl ``` ## [1.13.0] – 2023-07-26 ### Changes since 1.12.1 Added: - Corsair Hydro Elite RGB: add support for H100i and H150i Elite RGB (liquidctl#556, PR liquidctl#557, PR liquidctl#559) Changed: - NZXT H1 V2: no longer experimental - Aura LED motherboards: no longer experimental Fixed: - Corsair HXi (2022): read exactly 4 bytes for timedeltas (liquidctl#575) - Corsair Commander Pro: fix `fan_mode` (liquidctl#615, PR liquidctl#616) - Python 3.11: fix deprecation on `locale.getDefaultLocale` - Python 3.11.4: fix exception handling when parsing null bytes in persisted data ### SHA256 checksums ``` ee17241689c0bf3de43cf4d97822e344f5b57513d16dd160e37fa0e389a158c7 dist/liquidctl-1.13.0.tar.gz 405a55d531022082087c97ed8f4cc315b25493ad22be88ca8bd6852d49621a47 dist/liquidctl-1.13.0-py3-none-any.whl ``` _Five years ago I started liquidctl. One month after that, v1.0.0rc1 was tagged with support for the first devices._ ## [1.12.1] – 2023-01-14 ### Changes since 1.12.0 Fixed: - Corsair HXi and RMi: check that the response matches the command that was sent (liquidctl#463) ### SHA256 checksums ``` 3f98b8400c9cd3e47925cafbe34b9d7a51705bf85ce1ec8d95d107a360f6f29e dist/liquidctl-1.12.1.tar.gz 9e13d36bd9fa439ec244ea89f52ad080776406129d35db940a8343352e42dea7 dist/liquidctl-1.12.1-py3-none-any.whl ``` ## [1.12.0] – 2023-01-08 ### Changes since 1.11.1 Added: - Aquacomputer D5 Next: add support for reading virtual temp sensors (PR liquidctl#510) - Aquacomputer Octo: add support for reading virtual temp sensors (PR liquidctl#525) - Aquacomputer Farbwerk 360: add support for reading virtual temp sensors (PR liquidctl#527) - Aquacomputer Quadro: add support for reading virtual temp sensors (PR liquidctl#528) - Commander Pro: add support for changing fan modes during initialization (liquidctl#472, PR liquidctl#474) - Corsair HXi and RMi: add support for HX1500i and 2022's re-issue HX1000i PSUs - Corsair Commander ST: extend experimental Commander Core monitoring and fan control support to the Commander ST (liquidctl#511) - NZXT Kraken X3/Z3: add support for expanded HWMON driver capabilities (PR liquidctl#529) - NZXT RGB & Fan Controller: add experimental support for 2022's 3+6-channel `1e71:2011` variant (liquidctl#541) - NZXT HUE2: add accessory IDs for F120/F140 RGB fans Changed: - Corsair Hydro Pro: move firmware version to initialize output - NZXT Kraken Z3: use updated winusbcdc (PR liquidctl#535) - NZXT RGB & Fan Controller: downgrade 3+6-channel `1e71:2019` variant to experimental (liquidctl#541) - NZXT RGB & Fan Controller: disable broken lighting support on 3+6-channel controllers (liquidctl#541) Fixed: - CLI: remove occasional newline when logging `sys.version` - Corsair Hydro Pro: reduce expectations on `_CMD_READ_FAN_SPEED` responses (liquidctl#536) Removed: - CLI: remove long deprecated --hid option ### SHA256 checksums ``` 639e62d8845cd8d3718941e7894865f9c06abfc2826546606335e30f607d6fc3 dist/liquidctl-1.12.0.tar.gz 748e7c9d49f06f885cc191278c0aa3b5da5f7623edd7f4c12a99f52b72b1cad6 dist/liquidctl-1.12.0-py3-none-any.whl ``` ## [1.11.1] – 2022-10-19 ### Changes since 1.11.0 Fixed: - USB and HID: increase default timeout to 5s (liquidctl#526) ### Notes for downstream packagers See notes for 1.11.0 release. ### SHA256 checksums ``` 278c1aca8d891bfe8e0c164dfe6651261a0423b29f9c24cef060c3613f2a4fd7 dist/liquidctl-1.11.1.tar.gz 629d6e7db0eab3d6e7d0a58c23be6765d169eb2c1d29ddaef2fde60c603429e9 dist/liquidctl-1.11.1-py3-none-any.whl ``` ## [1.11.0] – 2022-10-16 ### Changes since 1.10.0 Added: - Corsair Commander Core: extend experimental monitoring and fan control support to the Commander Core XT (PR liquidctl#478) - Aquacomputer D5 Next: add experimental monitoring and pump/fan control support (PR liquidctl#482, PR liquidctl#489, PR liquidctl#499) - Aquacomputer Farbwerk 360: add experimental monitoring support (PR liquidctl#491) - Aquacomputer Octo: add experimental monitoring and fan control support (PR liquidctl#492, PR liquidctl#508) - Aquacomputer Quadro: add experimental monitoring and fan control support (PR liquidctl#493, PR liquidctl#509) - NZXT Kraken Z3: add experimental LCD screen support (PR liquidctl#479) - NZXT Kraken X3: support new USB PID (liquidctl#503) - NZXT RGB & Fan Controller: support new USB PID (liquidctl#485) Changed: - ASUS Aura LED: refer to as ASUS instead of AsusTek - Corsair RMi/HXi: rename temperature sensors according to their location - NZXT Kraken X40/X60: document that alerts are not supported (liquidctl#477) Fixed: - HWMON: fix Python<3.9 compatibility (PR liquidctl#483) - Corsair Hydro Pro: fix duplicate use of second alert temperature (PR liquidctl#484) - HWMON: support builtin drivers and log driver instead of module name (liquidctl#502) - Corsair Commander Core: support 2.10.219 firmware (PR liquidctl#501, PR liquidctl#513) - USB devices: add default timeouts to all IO methods (liquidctl#488) - USB HIDs: add default timeouts to compatible IO methods (liquidctl#488) Removed: - API: make `UsbDriver.SUPPORTED_DEVICES` private ### Notes for downstream packagers New Python dependencies: [crcmod], [pillow] and (Windows-only:) [winusbcdc]. [crcmod]: https://pypi.org/project/crcmod/ [pillow]: https://pypi.org/project/Pillow/ [winusbcdc]: https://pypi.org/project/WinUsbCDC/ ### SHA256 checksums ``` a3b53e317ba9211e05be88d9158efdc02c51ae067ee974d3d9f0b79716cf7ba3 dist/liquidctl-1.11.0.tar.gz 0c59dac7bdc09d7a16da410060154dca86258d989308034a919242a4739ca8f3 dist/liquidctl-1.11.0-py3-none-any.whl ``` _In memory of Lucinda Alves Silva Malaco (1924–2021) and Peter Eckersley (1979–2022)._ ## [1.10.0] – 2022-07-03 ### Changes since 1.9.1 Added: - Add experimental support for NZXT H1 V2 case Smart Device (PR liquidctl#451) - Add experimental driver for Asus Aura LED USB controllers (PR liquidctl#456) Changed: - Hydro Platinum/Pro XT: only compute packets that will be sent - Kraken X2: report modern firmware versions in simplified form - Smart Device (V1)/Grid+ V3: report firmware version in simplified form - Debug: make it clear when a device is identified - Nvidia: promote all supported cards to stable status Fixed: - Skip `keyval` unit test on Windows when lacking sufficient permissions to create symlinks (liquidctl#460) Removed: - API: remove deprecated firmware version from the output of `KrakenX2.get_status()` ### SHA256 checksums ``` f9dc1dacaf1d3a44b80000baac490b44c5fa7443159bd8d2ef4dbb1af49cc7ba dist/liquidctl-1.10.0.tar.gz acc65602e598dabca94f91b067ac7ad7f4d2920653b91d694ad421be6eaef172 dist/liquidctl-1.10.0-py3-none-any.whl ``` ## [1.9.1] – 2022-04-05 ### Changes since 1.9.0 Fixed: - Remove excess `_input` suffix when reading `pwmN` attributes from hwmon (liquidctl#445, PR liquidctl#446) ### Notes for downstream packagers Starting with 1.9.0, liquidctl now uses a PEP 517 build. See the notes for the 1.9.0 release for more information. ### SHA256 checksums ``` b4467e842d9a6adc804317a991354db041417f4f7dcf7d76799f2b1593ed1276 dist/liquidctl-1.9.1.tar.gz a23312c07b1ceec850e7739a2428e9fc47c95cd0650269653a9e726d53c12057 dist/liquidctl-1.9.1-py3-none-any.whl ``` ## [1.9.0] – 2022-04-05 ### Changes since 1.8.1 Added: - Add support for persisting settings on modern Asetek 690LC coolers (liquidctl#355) - Add support for setting fixed fan/pump speeds on the Corsair Commander Core (PR liquidctl#405) - Identify some devices with a matching Linux hwmon device (liquidctl#403, PR liquidctl#429) - Add `--direct-access` to force it in spite of the presence of kernel drivers (liquidctl#403, PR liquidctl#429) - Add security policy: `SECURITY.md` - Enable experimental support for EVGA GTX 1070 and 1070 Ti cards using the existing `EvgaPascal` driver: - EVGA GTX 1070 FTW \[DT Gaming|Hybrid\] - EVGA GTX 1070 Ti FTW2 - Enable experimental support for various ASUS GTX and RTX cards using the existing `RogTuring` driver: - ASUS Strix GTX 1050 OC - ASUS Strix GTX 1050 Ti OC - ASUS Strix GTX 1060 \[OC\] 6GB - ASUS Strix GTX 1070 - ASUS Strix GTX 1070 Ti \[Advanced\] - ASUS Strix GTX 1080 \[Advanced|OC\] - ASUS Strix GTX 1080 Ti \[OC\] - ASUS Strix GTX 1650 Super OC - ASUS Strix GTX 1660 Super OC - ASUS Strix GTX 1660 Ti OC - ASUS Strix RTX 2060 \ - ASUS Strix RTX 2060 Super \[Advanced|Evo Advanced|OC\] - ASUS Strix RTX 2070 \[Advanced|OC\] - ASUS Strix RTX 2070 Super \ - ASUS Strix RTX 2080 OC - ASUS Strix RTX 2080 Super \ - ASUS Strix RTX 2080 Ti - ASUS TUF RTX 3060 Ti OC - API: add `liquidctl.__version__` - extra/contrib: add script for n-color RGB Fusion 2.0 color cycling (PR liquidctl#424, PR liquidctl#426) Changed: - Log the Python interpreter version - If possible, log the version of all Python requirements - Move reporting of Kraken X2 firmware version to initialization - Move reporting of Smart Device V1/Grid+ V3 firmware version and accessories to initialization (PR liquidctl#429) - Don't re-initialize devices with a Linux hwmon driver (liquidctl#403, PR liquidctl#429) - If possible, read status from Linux hwmon (liquidctl#403, PR liquidctl#429) - Switch to a PEP 517 build (liquidctl#430, PR liquidctl#431) - Replace ah-hoc version management with `setuptools_scm` (liquidctl#430, PR liquidctl#431) - Allow directly invoking the CLI with `python -m liquidctl` - Windows: provide libsub-1.0.dll automatically with `libusb-package` - API: improve and clarify the documentation of `BaseDriver` methods - API: rename `CorsairAsetekProDriver` to `HydroPro` Deprecated: - Deprecate directly invoking the CLI with `python -m liquidctl.cli` (use `python -m liquidctl`) - API: deprecate including the firmware version in the output from `KrakenX2.get_status()` (read it from `.initialize()`) - API: deprecate `CorsairAsetekProDriver` alias (use `HydroPro`) Removed: - API: remove long deprecated support for connecting to Kraken X2 devices with `KrakenX2.initialize()` (use standardized `.connect()`) - API: remove long deprecated support for disconnecting from Kraken X2 devices with `KrakenX2.finalize()` (use standardized `.disconnect()`) - API: remove long deprecated `.find_all_supported_devices()` (use `liquidctl.find_liquidctl_devices()` or `.find_supported_devices()`) Fixed: - Let all unexpected SMBus exceptions bubble up (liquidctl#416) - Reset Kraken X2 fan and pump profiles during initialization (possibly related to liquidctl#395) - Remove redundant prefix from CLI error messages ### Notes for downstream packagers liquidctl now uses a PEP 517 build: [PyPA/build] and [PyPA/installer] are suggested for a typical downstream package build process: ```bash # build python -m build --wheel [--no-isolation] # install python -m installer --destdir= dist/*.whl ``` Additionally, liquidctl has switched from an ad-hoc solution to version management to [setuptools_scm]. If the git tags aren't available, setuptools_scm supports environment variables to externally inject the version number. ```bash export SETUPTOOLS_SCM_PRETEND_VERSION_FOR_LIQUIDCTL=1.9.0 python -m build [args] python -m installer [args] ``` [PyPA/build]: https://github.com/pypa/build [PyPA/installer]: https://github.com/pypa/installer [setuptools_scm]: https://github.com/pypa/setuptools_scm ### SHA256 checksums ``` 9e1ae595be2c3ea5899e12741c11307da27e86bc88f7f93c5ae40bb2aa03dc70 dist/liquidctl-1.9.0.tar.gz 3820c29c0fc86bd6bd601d55a593f1cd476cd563875b45488bef26fc272abf6d dist/liquidctl-1.9.0-py3-none-any.whl ``` ## [1.8.1] – 2022-01-21 ### Changes since 1.8.0 Fixed: - Strip non-determinism from sdist/egg SOURCES.txt metadata ### SHA256 checksums ``` 0859dfe673babe9af10e4f431e0baa974961f0b2c973a37e64eb6c6c2fddbe73 dist/liquidctl-1.8.1.tar.gz ``` ## [1.8.0] – 2022-01-06 ### Changes since 1.7.2 Added: - Add support for the Corsair Hydro H60i Pro XT Changed: - Support for Corsair Hydro Pro coolers is no longer considered experimental - Support for Corsair Hydro Platinum and Pro XT coolers is no longer considered experimental - Support for Corsair Hydro Pro XT coolers is no longer considered experimental - Support for NZXT Kraken Z coolers remains incomplete (no support for the LCD screen), but is no longer considered experimental - Support for Corsair Lighting Node Core and Lighting Node Pro controllers is no longer considered experimental - Support for the Corsair Obsidian 1000D case is no longer considered experimental Fixed: - Read DDR4 temperature sensor by word instead of with SMBus Block Read (liquidctl#400) - Fix tolerant handling of single channel name in Corsair Lighting Node Core ### SHA256 checksums ``` 99b8ec4da617a01830951a8f1a37d616f50eed6d260220fe5c26d1bf90e1e91e dist/liquidctl-1.8.0.tar.gz ``` ## [1.7.2] – 2021-10-05 Changelog since 1.7.1: ### Added - Enable support for new variant of the NZXT Smart Device V2 (PR liquidctl#364) ### Changed - Default `--maximum-leds` to the maximum possible number of LEDs (liquidctl#367, PR liquidctl#368) ### Fixed - Fix moving flag in SD2/HUE2 `alternating` modes (liquidctl#385) ### SHA256 checksums ``` b2337e0ca3bd36de1cbf581510aacfe23183d7bb176ad0dd43904be213583de3 dist/liquidctl-1.7.2.tar.gz ``` ## [1.7.1] – 2021-07-16 _Summary for the 1.7.1 release: fix a bug when colorizing the log output._ Changelog since 1.7.0: ### Fixed - Fix `KeyError` when logging due to colorlog<6 - Swap DEBUG and INFO level colors ### SHA256 checksums ``` 10f650b9486ddac184330940550433685ae0abc70b66fe92d994042491aab356 dist/liquidctl-1.7.1.tar.gz 5f35d4ac8ad6da374877d17c7a36bbb202b0a74bd773ebe45444f0089daba27b dist/liquidctl-1.7.1-bin-windows-x86_64.zip ``` ## [1.7.0] – 2021-07-06 _Summary for the 1.7.0 release: support for Commander Core/Capellix, Obsidian 1000D, new Smart Device V2 variant; `--json` output; improvements in initialize/status output; colorize the log output._ Changelog since 1.6.1: ### Added - Add initial experimental support for the Corsair Commander Core/iCUE Elite Capellix AIOs (PR liquidctl#340) - Enable experimental support for Corsair Obsidian 1000D (liquidctl#346) - Enable support for new variant of the NZXT Smart Device V2 (liquidctl#338) - List experimental partial support for the NZXT Kraken Z53 - Add machine readable output with `--json` (PR liquidctl#314) - Add CONTRIBUTING.md and document our development process ### Changed - Change Grid+ V3/Smart Device (V1) status output (PR liquidctl#326) - Change Commander Pro status/initialize output (PR liquidctl#326) - Colorize the log output (new dependency: `colorlog`; PRs liquidctl#318, liquidctl#329) - Mark Kraken X31, X41, X61 as no longer experimental - Mark Vengeance RGB and DDR4 temperature sensors as no longer experimental - Mark Commander pro as no longer experimental - Mark NZXT E500, E650, E850 as no longer experimental - Change main branch name to "main" - Improve the documentation ### Fixed - Make `find_supported_devices()` account for `legacy_690lc` on Asetek 690LC drivers - Remove accidentally inherited `downgrade_to_legacy()` (unstable) from `Hydro690Lc` ### SHA256 checksums ``` 053675aca9ba9a3c14d8ef24d1a2e75c592c55a1b8ba494447bc13d3ae523d6f dist/liquidctl-1.7.0.tar.gz d0f8f24961a22c7664c330d286e1c63d4df753d5fbe21ac77eb6488b27508751 dist/liquidctl-1.7.0-bin-windows-x86_64.zip ``` ## [1.6.1] – 2021-05-01 _Summary for the 1.6.1 release: one bug fix for HUE 2 controllers._ Changelog since 1.6.0: ### Fixed - Smart Device V2/HUE 2: check if fan controller before initializing fan reporting (liquidctl#331) ### SHA256 checksums ``` e3b6aa5ae55204f8d9a8813105269df7dc8f80087670e3eac88b722949b3843f dist/liquidctl-1.6.1.tar.gz d14a32b7c0de5a2d25bc8280c32255da25e9bc32f103d099b678810a9a1b6c9c dist/liquidctl-1.6.1-bin-windows-x86_64.zip ``` ## [1.5.2] – 2021-05-01 _Summary for the 1.5.2 release: one bug fix for HUE 2 controllers._ Changelog since 1.5.1: ### Fixed - Smart Device V2/HUE 2: check if fan controller before initializing fan reporting (liquidctl#331) ### SHA256 checksums ``` 5738fda03f1d7bfb4416461a70351a5e040f1b57229674dd0f1f6f81d3750812 dist/liquidctl-1.5.2.tar.gz ``` ## [1.6.0] – 2021-04-06 _Summary for the 1.6.0 release: support for Corsair Lighting Node Core, Hydro H150i Pro XT, and all Hydro Pro coolers; estimate input power and efficiency for Corsair HXi and RMi PSUS; enable support for ASUS Strix GTX 1070 and new NZXT RGB & Fan Controller variant; formally deprecate `-d`/`--device`._ _Note for Linux package maintainers: the i2c-dev kernel module may now be loaded automatically because of `extra/linux/71-liquidctl.rules`; this substitutes the use of `extra/linux/modules-load.conf`, which has been removed._ Changelog since 1.5.1: ### Added - Add experimental support for the Corsair Lighting Node Core - Add experimental support for the Corsair Hydro H150i Pro XT - Add experimental support for the Corsair Hydro H100i Pro, H115i Pro and H150i Pro coolers - Enable support for the ASUS Strix GTX 1070 - Enable support for new variant of the NZXT RGB & Fan Controller - Add `sync` pseudo lighting channel to Commander/Lighting Node Pro devices - Add duty cycles to Hydro Platinum and Pro XT status output - Add input power and efficiency estimates to the status output of Corsair HXi and RMi PSUs - Add the Contributor Covenant, version 1.4 as our code of conduct ### Changed - Remove `pro_xt_lighting` unsafe feature guard - Enforce correct casing of constants in driver APIs - Use udev rules for automatic loading of kernel modules (replaces previous `modules-load.d` configuration) - Remove warnings when reporting or setting the OCP mode of Corsair HXi and RMi PSUs - Rename Corsair HXi and RMi "Total power" status item to "Total power output" - Handle both US and UK spellings of `--direction` values - Improve the documentation ### Fixed - Replace "ID" with "#" when listing all devices - Add `keyval.load_store` method, atomic at the filesystem level - Add "Hydro" to Platinum and Pro XT device descriptions ### Removed - Remove modules-load configuration file for Linux (use the supplied udev rules instead) - [extra] remove `krakencurve-poc`, use `yoda` instead ### Deprecated - Deprecate `-d`/`--device`; prefer `--match` or other selection options ### SHA256 checksums ``` 486dc366f10810a4efb301f3ceda10657a09937e9bc936cecec792ac26c2f186 dist/liquidctl-1.6.0.tar.gz 9b2e144c1fa63aaf41dc3d6a264b2e78e14a5f424b86e3a5f4b80396677000e6 dist/liquidctl-1.6.0-bin-windows-x86_64.zip ``` ## [1.5.1] – 2021-02-19 _Summary for the 1.5.1 release: fixes to error reporting, handling of runtime data, and other bugs._ Changelog since 1.5.0: ### Fixed - Handle corrupted runtime data (liquidctl#278) - Fix item prefixes in list output when `--match` is passed - Remove caching of temporarily stored data - Append formated exception to "unknown error" messages - Only attempt to disconnect from a device if already connected - Only attempt to set the USB configuration if no other errors have been detected - Return the context manager when overriding `connect()` - Fix construction of fallback search paths for runtime data ### SHA256 checksums ``` e2d97be0319501bcad9af80c837abdbfd820620edcf9381068a443ad971327eb liquidctl-1.5.1-bin-windows-x86_64.zip 9480e2dfbb0406fa8d57601a43a0f7c7573de1f5f24920b0e4000786ed236a8b liquidctl-1.5.1.tar.gz ``` ## [1.5.0] – 2021-01-27 _Summary for the 1.5.0 release: Corsair Commander Pro and Lighting Node Pro support; EVGA GTX 1080 FTW and ASUS Strix RTX 2080 Ti OC support on Linux; Corsair Vengeance RGB and TSE2004-compatible DDR4 modules support on Intel on Linux; `--direction` flag, replacing previous "backwards-" modes; improved error handling and reporting; new project home; other improvements and fixes._ _Note for Linux package maintainers: this release introduces a new dependency, Python 'smbus' (from the i2c-tools project); additionally, since trying to access I²C/SMBus devices without having the i2c-dev kernel module loaded will result in errors, `extra/linux/modules-load.conf` is provided as a suggestion; finally, `extra/linux/71-liquidctl.rules` will now (as provided) give unprivileged access to i801_smbus adapters._ Changelog since 1.4.2: ### Added - Add SMBus and I²C support on Linux - Add support for EVGA GTX 1080 FTW on Linux - Add support for ASUS Strix RTX 2080 Ti OC on Linux - Add experimental support for DIMMs with TSE2004-compatible temperature sensors on Intel/Linux - Add experimental support for Corsair Vengeance RGB on Intel/Linux - Add experimental support for the Corsair Commander Pro - Add experimental support for the Corsair Lighting Node Pro - Add `--direction` modifier to animations - Add `--non-volatile` to control persistence of settings (NVIDIA GPUs) - Add `--start-led`, `--maximum-leds` and `--temperature-sensor` options (Corsair Commander/Lighting Node devices) - Add support for CSS-style hexadecimal triples - Implement the context manager protocol in the driver API - Export `find_liquidctl_devices` from the top-level `liquidctl` package - Add modules-load configuration file for Linux - Add completion script for bash - [extra] Add `LQiNFO.py` exporter (liquidctl -> HWiNFO) - [extra] Add `prometheus-liquidctl-exporter` exporter (liquidctl -> Prometheus) ### Changed - Move GitHub project into liquidctl organization - Improve error handling and reporting - Make vendor and product IDs optional in drivers - Mark Kraken X53, X63, X73 as no longer experimental - Mark NZXT RGB & Fan Controller as no longer experimental - Mark RGB Fusion 2.0 controllers as no longer experimental - Change casing of "PRO" device names to "Pro" - Improve the documentation ### Fixed - Fix potential exception when a release number is not available - Enforce USB port filters on HID devices - Fix backward `rainbow-pulse` mode on Kraken X3 devices - Fix compatibility with hidapi 0.10 and multi-usage devices (RGB Fusion 2.0 controllers) - Fix lighting settings in Platinum SE and Pro XT coolers - Generate and verify the checksums of zip and exe built on AppVeyor ### Deprecated - Deprecate `backwards-` pseudo modes; use `--direction=backward` instead ### SHA256 checksums ``` 370eb9c662111b51465ac5e2649f7eaf423bd22799ef983c4957468e9d957c15 liquidctl-1.5.0-bin-windows-x86_64.zip 762561a8b491aa98f0ccbbab4f9770813a82cc7fd776fa4c21873b994d63e892 liquidctl-1.5.0.tar.gz ``` ## [1.4.2] – 2020-11-01 _Summary for the 1.4.2 release: standardized hexadecimal parsing in the CLI; fixes for Windows and mac OS; improvements to Hydro Platinum/Pro XT and Kraken X3 drivers._ Changelog since 1.4.1: ### Added - Add `Modern690Lc.downgrade_to_legacy` (unstable API) ### Changed - Accept hexadecimal inputs regardless of a `0x` prefix - Warn on faulty temperature readings from Kraken X3 coolers - Warn on Hydro Platinum/Pro XT firmware versions that are may be too old - Update PyInstaller used for the Windows executable - Update PyUSB version bundled with the Windows executable - Improve the documentation ### Fixed - Fix data path on mac OS - Only set the sticky bit for data directories on Linux - Fix check of maximum number of colors in Hydro Platinum super-fixed mode - Fix HID writes to Corsair HXi/RMi power supplies on Windows - Ensure Hydro Platinum/Pro XT is in static LEDs hardware mode ### SHA256 checksums ``` 83517ccb06cfdda556bc585a6a45edfcb5a21e38dbe270454ac97639d463e96d dist/liquidctl-1.4.2-bin-windows-x86_64.zip 39da5f5bcae1cbd91e42e78fdb19f4f03b6c1a585addc0b268e0c468e76f1a3c dist/liquidctl-1.4.2.tar.gz ``` ## [1.4.1] – 2020-08-07 _Summary for the 1.4.1 release: fix a regression with NZXT E-series PSUs, an unreliable test case, and some ignored Hidapi errors; also make a few other small improvements to the documentation and test suite._ Changelog since 1.4.0: ### Changed - Improve the documentation - Improve the test suite ### Fixed - Don't use report IDs when writing to NZXT E-series PSUs (liquidctl#166) - Recognize and raise Hidapi write errors - Use a mocked device to test backward compatibility with liquidctl 1.1.0 ### SHA256 checksums ``` 895e55fd70e1fdfe3b2941d9139b91ffc4e902a469b077e810c35979dbe1cfdf liquidctl-1.4.1-bin-windows-x86_64.zip 59a3bc65b3f3e71a5714224401fe6e95dfdee591a1d6f4392bc4e6d6ad72ff8d liquidctl-1.4.1.tar.gz ``` ## [1.4.0] – 2020-07-31 _Summary for the 1.4.0 release: fourth-generation NZXT Kraken coolers, Corsair Platinum and Pro XT coolers, select Gigabyte RGB Fusion 2.0 motherboards, additional color formats, improved fan and pump profiles in third-generation Krakens, and other improvements._ Changelog since 1.3.3: ### Added - Add experimental support for NZXT Kraken X53, X63 and X73 coolers - Add experimental partial support for NZXT Kraken Z63 and Z73 coolers - Add experimental support for Corsair H100i, H100i SE and H115i Platinum coolers - Add experimental partial support for Corsair H100i and H115i Pro XT coolers - Add experimental support for Gigabyte motherboards with RGB Fusion 2.0 5702 and 8297 controllers - Enable experimental support for the NZXT RGB & Fan Controller - Add support for HSV, HSL and explicit RGB color representations - Add `sync` lighting channel to HUE 2 devices - Add tentative names for the different +12 V rails of NZXT E-series PSUs - Add +uaccess udev rules for Linux distributions and users - Add `--pump-mode` option to `initialize` (Corsair Platinum/Pro XT coolers) - Add `--unsafe` option to enable additional bleeding-edge features - Add a test suite - [extra] Add more general `yoda` script for software-based fan/pump control (supersedes `krakencurve-poc`) ### Changed - Increase resolution of fan and pump profiles in Kraken X42/X52/X62/X72 coolers - Use hidapi to communicate with HIDs on Windows - Use specific errors when features are not supported by the device or the driver - Store runtime data on non-Linux systems in `~/Library/Caches` (macOS), `%TEMP%` (Windows) or `/tmp` (Unix) - Mark Corsair HXi/RMi PSUs as no longer experimental - Mark Smart Device V2 and HUE 2 controllers as no longer experimental - Switch to a consistent module, driver and guide naming scheme (aliases are kept for backward compatibility) - Improve the documentation - [extra] Refresh `krakencurve-poc` syntax and sensor names, and get CPU temperature on macOS with iStats ### Fixed - Add missing identifiers for some HUE2 accessories (liquidctl#95; liquidctl#109) - Fix CAM-like decoding of firmware version in NZXT E-series PSUs (liquidctl#46, comment) - Use a bitmask to select the lighting channel in HUE 2 devices (liquidctl#109) - Close the underlying cython-hidapi `device` - Don't allow `HidapiDevice.clear_enqueued_reports` to block - Don't allow `HidapiDevice.address` to fail with non-Unicode paths - Store each runtime data value atomically ### Deprecated - Deprecate and ignore `--hid` override for API selection ### Removed - Remove the PyUsbHid device backend for HIDs ### SHA256 checksums ``` 250b7665b19b0c5d9ae172cb162bc920734eba720f3e337eb84409077c582966 liquidctl-1.4.0-bin-windows-x86_64.zip b35e6f297e67f9e145794bb57b88c626ef2bfd97e7fbb5b098f3dbf9ae11213e liquidctl-1.4.0.tar.gz ``` ## [1.3.3] – 2020-02-18 _Summary for the 1.3.3 release: fix possibly stale data with HIDs and other minor issues._ Changelog since 1.3.2: ### Fixed - Add missing identifiers for HUE+ accessories on HUE 2 channels - Forward hid argument from `UsbHidDriver.find_supported_devices` - Prevent reporting stale data during long lived connections to HIDs (liquidctl#87) ### SHA256 checksums ``` 1422a892f9c2c69f5949cd831083c6fef8f6a1f6e3215e90b696bfcd557924b4 liquidctl-1.3.3-bin-windows-x86_64.zip d13180867e07420c5890fe1110e8f45fe343794549a9ed7d5e8e76663bc10c24 liquidctl-1.3.3.tar.gz ``` ## [1.3.2] – 2019-12-11 _Summary for the 1.3.2 release: fix fan status reporting from Smart Device V2._ Changelog since 1.3.1: ### Fixed - Parse Smart Device V2 fan info from correct status message ### SHA256 checksums ``` acf44a491567703c109c03f446c3c0761e5f9b97098613f8ecb4366a1d2afd50 liquidctl-1.3.2-bin-windows-x86_64.zip bb742947c15f4a3987685641c0dd73184c4a40add5ad818ced68e5ace3631b6b liquidctl-1.3.2.tar.gz ``` ## [1.3.1] – 2019-11-23 _Summary for the 1.3.1 release: fix parsing of `--verbose` and documentation improvements._ Changelog since 1.3.0: ### Changed - List included dependencies and versions in Windows' bundle - Improve the documentation ### Fixed - Fix parsing of `--verbose` in commands other than `list` ### SHA256 checksums ``` de272dad305dc6651265640a280bedb21bc680a62117e625004c6aad2104da63 liquidctl-1.3.1-bin-windows-x86_64.zip 6092a6fae477908c80adc825b290e39f0b26e604593884da23d40e892e553309 liquidctl-1.3.1.tar.gz ``` ## [1.3.0] – 2019-11-17 _Summary for the 1.3.0 release: man page, Corsair RXi/HXi and NZXT E power supplies, Smart Device V2 and HUE 2 family, improved device discovery and selection._ Changelog since 1.3.0rc1: ### Added - Enable experimental support for the NZXT HUE 2 - Enable experimental support for the NZXT HUE 2 Ambient - Add `-m, --match ` to allow filtering devices by description - Add `-n` short alias for `--pick` ### Changed - Allow `initialize` methods to optionally return status tuples - Conform to XDG basedir spec and prefer `XDG_RUNTIME_DIR` - Improve directory names for internal data - Ship patched PyUSB and libusb 1.0.22 on Windows - Improve the documentation ### Fixed - Release the USB interface of NZXT E-series PSUs as soon as possible - Fix assertion in retry loops with NZXT E-series PSUs - Fix LED blinking when executing `status` on a Smart Device V2 - Add missing identifier for 250 mm HUE 2 LED strips - Restore experimental tag for the NZXT Kraken X31/X41/X61 family ### Removed - Remove dependency on appdirs ### SHA256 checksums ``` ff935fd3d57dead4d5218e02f834a825893bc6716f96fc9566a8e3989a7c19fe liquidctl-1.3.0-bin-windows-x86_64.zip ce0483b0a7f9cf2618cb30bdf3ff4195e20d9df6c615f69afe127f54956e42ce liquidctl-1.3.0.tar.gz ``` ## [1.3.0rc1] – 2019-11-03 Changelog since 1.2.0: ### Added - Add experimental support for Corsair HX750i, HX850i, HX1000i and HX1200i power supplies - Add experimental support for Corsair RM650i, RM750i, RM850i and RM1000i power supplies - Add experimental support for NZXT E500, E650 and E850 power supplies - Add experimental support for the NZXT Smart Device V2 - Add liquidctl(8) man page - Add `initialize all` variant/helper - Add `--pick ` device selection option - Add `--single-12v-ocp` option to `initialize` (Corsair HXi/RMi PSUs) ### Changed - Reduce the number of libusb and hidapi calls during device discovery - Improve the visual hierarchy of the output `list` and `status` - Allow `list --verbose` to run without root privileges (Linux) or special drivers (Windows) - Change the default API for HIDs on Linux to hidraw - Consider stable: Corsair H80i v2, H100i v2, H115i; NZXT Kraken X31, X41, X61; NZXT Grid+ V3 ### Fixed - Don't try to reattach the kernel driver more than once - Fixed Corsair H80i GT device name throughout the program - Fixed Corsair H100i GT device name in listing ### Deprecated - Use `liquidctl.driver.find_liquidctl_devices` instead of `liquidctl.cli.find_all_supported_devices` ### SHA256 checksums ``` $ sha256sum liquidctl-1.3.0rc1* 7a16a511baf5090c34cd3dfc5c21068a298515f31315be63e9b991ea17654671 liquidctl-1.3.0rc1-bin-windows-x86_64.zip 1ef517ba33e366167f9a225c6a6afcc4899d01cbd7853bd5852ac15ae81d5005 liquidctl-1.3.0rc1-py3-none-any.whl 15583d6ebecad722e1562164cef7097a358d6a57aa33a1a5e25741690548dbfa liquidctl-1.3.0rc1.tar.gz ``` ## [1.2.0] – 2019-09-27 _Summary for the 1.2.0 release: support for Asetek "5-th gen." 690LC coolers and improvements for HIDs and Mac OS._ Changelog since 1.2.0rc4: ### Changed - Include extended version information in pre-built executables for Windows ### Fixed - Improve handling of USB devices with no active configuration ## [1.2.0rc4] – 2019-09-18 Changelog since 1.2.0rc3: ### Added - Add support for adding git commit and tree cleanliness information to `--version` - Add support for adding distribution name and package information to `--version` ### Changed - Enable modern features for all Asetek 690LC coolers from Corsair - Include version information in `--debug` - Make docs and code consistent on which devices are only experimentally supported - Revert "Mark Kraken X31, X41, X51 and X61 as no longer experimental" - Improve the documentation ## [1.2.0rc3] – 2019-09-15 Changelog since 1.2.0rc2: ### Added - [extra] Add experimental `liquiddump` script ### Changed - Copy documentation for EVGA and Corsair 690LC coolers into the tree - Use modern driver with fan profiles for Corsair H115i (liquidctl#41) - Claim the interface proactively when starting a transaction on any Asetek 690LC (liquidctl#42) ### Fixed - Rework USBXPRESS flow control in Asetek 690LC devices to allow simultaneous reads from multiple processes (liquidctl#42) - Fix missing argument forwarding to legacy Asetek 690LC coolers - Fix broken link to Mac OS example configuration ## [1.2.0rc2] – 2019-09-12 Changelog since 1.2.0rc1: ### Added - Support the EVGA CLC 360 - Add `--alert-threshold` and `--alert-color` ### Changed - Mark Kraken X31, X41, X51 and X61 as no longer experimental - Improve supported devices list and links to documentation - Don't enable PyUSB tracing automatically with `--debug` - Cache values read from or stored on the filesystem - Prefer to save driver data in /run when OS is Linux ### Fixes - Force bundling of `hid` module in Windows executable - Change default Asetek 690LC `--time-per-color` for fading mode (liquidctl#29) ## [1.2.0rc1] – 2019-04-14 Changelog since 1.1.0: ### Added - Add support for EVGA CLC 120 CL12, 240 and 280 coolers - Add experimental support for NZXT Kraken X31, X41 and X61 coolers - Add experimental support for Corsair H80i v2, H100i v2 and H115i - Add experimental support for Corsair H80i GT, H100i GTX and H110i GTX - Add support for macOS - Make automatic bundled builds for Windows with AppVeyor - Add support for hidapi for HIDs (default/required on macOS) - Add release number, bus and address listing - Add `sync` pseudo channel for setting all Smart Device/Grid+ V3 fans at once - Add `--hid ` override for HID API selection - Add `--release`, `--bus`, `--address` device filters - Add `--time-per-color` and `--time-off` animation options - Add `--legacy-690lc` option for Asetek 690LC devices - Document possible support of NZXT Kraken X40 and X60 coolers ### Changed - Revamp driver and device model in `liquidctl.driver.{base,usb}` modules ### Removed - Remove `--dry-run` ## [1.1.0] – 2018-12-15 _Summary for the 1.1.0 release: support for NZXT Smart Device, Grid+ V3 and Kraken M22._ Changelog since 1.1.0rc1: ### Added - [extra] Add proof of concept `krakencurve-poc` script for software-based speed control ### Changed - Change Kraken M22 from experimental to implemented - Only show exception tracebacks if -g has been set - Improve the documentation ### Fixes - Use standard NotImplementedError exception ## [1.1.0rc1] - 2018-11-14 Changelog since 1.0.0: ### Added - Add support for the NZXT Smart Device - Add experimental support for the NZXT Grid+ V3 - Add experimental support for the NZXT Kraken M22 - Add `initialize` command for the NZXT Smart Device, NZXT Grid+ V3 and similar products - Add device filtering options: `--vendor`, `--product`, `--usb-port` and `--serial` - Add `super-breathing`, `super-wave` and `backwards-super-wave` modes for Krakens - Add `--debug` to complement `--verbose` - Add special Kraken `set_instantaneous_speed(channel, speed)` API - Expose Kraken `supports_lighting`, `supports_cooling` and `supports_cooling_profiles` properties - [extra] Add proof of concept `krakenduty-poc` script for status-duty translation ### Changed - Lower the minimum pump duty to 50% - No longer imply `--verbose` from `--dry-run` - Improve the API for external code that uses our drivers - Switch to the standard Python `logging` module - Improve the documentation ### Fixes - Fix standalone module entry point for the CLI - [Kraken] Fix fan and pump speed configuration on firmware v2.1.8 or older ### Deprecated - [Kraken] Deprecate `super`; use `super-fixed` instead - [Kraken] Deprecate undocumented API behavior of `initialize()` and `finalize()`; use `connect()` and `disconnect()` instead ### Removed - Remove unused symbols in `liquidctl.util` ## [1.0.0] - 2018-08-31 _Summary for the 1.0.0 release: support for NZXT Kraken X42/X52/X62/X72 coolers._ Changelog since 1.0.0rc1: ### Added - Add helper color mode: `off` - Add backward variant of `moving-alternating` color mode ### Changed - Improve the documentation - Allow covering marquees with only one color ### Fixes - Fix mentions to incorrect Kraken generation - Correct the modifier byte for the `moving-alternating` mode ## [1.0.0rc1] - 2018-08-26 ### Added - Add driver for NZXT Kraken X42, X52, X62 and X72 coolers ## About the changelog All notable changes to this project are documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html) and [PEP 404](https://www.python.org/dev/peps/pep-0440/#semantic-versioning). liquidctl-1.16.0/CODE_OF_CONDUCT.md000066400000000000000000000064351515166127400164100ustar00rootroot00000000000000# Contributor Covenant Code of Conduct ## Our Pledge In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. ## Our Standards Examples of behavior that contributes to creating a positive environment include: * Using welcoming and inclusive language * Being respectful of differing viewpoints and experiences * Gracefully accepting constructive criticism * Focusing on what is best for the community * Showing empathy towards other community members Examples of unacceptable behavior by participants include: * The use of sexualized language or imagery and unwelcome sexual attention or advances * Trolling, insulting/derogatory comments, and personal or political attacks * Public or private harassment * Publishing others' private information, such as a physical or electronic address, without explicit permission * Other conduct which could reasonably be considered inappropriate in a professional setting ## Our Responsibilities Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. ## Scope This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at . All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. ## Attribution This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html [homepage]: https://www.contributor-covenant.org For answers to common questions about this code of conduct, see https://www.contributor-covenant.org/faq liquidctl-1.16.0/CONTRIBUTING.md000066400000000000000000000035251515166127400160370ustar00rootroot00000000000000# Contributing to liquidctl Thank you for your interest in contributing to liquidctl! There are many ways to contribute and we appreciate all of them. We ask you, however, to adhere to our [code of conduct]. [code of conduct]: CODE_OF_CONDUCT.md ## Reporting bugs and other issues Reporting problems with the software is an easy and very valuable way to contribute to the project. Please check the existing [issues] and, if none matches your problem, use the appropriate template to create a [new issue]. [issues]: https://github.com/liquidctl/liquidctl/issues [new issue]: https://github.com/liquidctl/liquidctl/issues/new/choose ## Contributing changes to code and/or documentation Awesome! We generally use [pull requests] to review and (assuming everything goes well) merge contributions. [pull requests]: https://github.com/liquidctl/liquidctl/pulls It is not necessary to discuss a change beforehand in an issue, but that can sometimes be helpful (e.g. to decide the best approach). You can also reach out to us and other fellow contributors on [Discord]. [Discord]: https://discord.gg/GyCBjQhqCd Please also read the following documents, they will give you a general idea of our development process and coding styling: - [Development process](docs/developer/process.md) - [Style guide](docs/developer/style-guide.md) And, depending on what you are doing, some of these may also be useful: - [Capturing USB Traffic](docs/developer/capturing-usb-traffic.md) - [Techniques for analyzing USB protocols](docs/developer/techniques-for-analyzing-usb-protocols.md) - [Porting drivers from OpenCorsairLink](docs/developer/porting-drivers-from-opencorsairlink.md) (introduces the liquidctl driver model) - other documents in [`docs/developer`](docs/developer) --- _The first sentences in this file were taken from rust-lang/rust's CONTRIBUTING.md document._ liquidctl-1.16.0/LICENSE.txt000066400000000000000000001045151515166127400154320ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . liquidctl-1.16.0/MANIFEST.in000066400000000000000000000000341515166127400153340ustar00rootroot00000000000000recursive-exclude .github * liquidctl-1.16.0/README.md000066400000000000000000001074401515166127400150660ustar00rootroot00000000000000# liquidctl – liquid cooler control _Cross-platform tool and drivers for liquid coolers and other devices_ [![Our Discord server](https://img.shields.io/discord/780568774964805672)](https://discord.gg/GyCBjQhqCd) [![Status of the tests](https://github.com/liquidctl/liquidctl/workflows/tests/badge.svg)](https://github.com/liquidctl/liquidctl/commits/main) [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/4949/badge)](https://bestpractices.coreinfrastructure.org/projects/4949) ``` $ liquidctl list Device #0: Corsair Vengeance RGB DIMM2 Device #1: Corsair Vengeance RGB DIMM4 Device #2: NZXT Smart Device (V1) Device #3: NZXT Kraken X (X42, X52, X62 or X72) # liquidctl initialize all NZXT Smart Device (V1) ├── Firmware version 1.7 ├── LED accessories 2 ├── LED accessory type HUE+ Strip └── LED count (total) 20 NZXT Kraken X (X42, X52, X62 or X72) └── Firmware version 6.2 # liquidctl status NZXT Smart Device (V1) ├── Fan 1 speed 1499 rpm ├── Fan 1 voltage 11.91 V ├── Fan 1 current 0.05 A ├── Fan 1 control mode PWM ├── Fan 2 [...] ├── Fan 3 [...] └── Noise level 61 dB NZXT Kraken X (X42, X52, X62 or X72) ├── Liquid temperature 34.7 °C ├── Fan speed 798 rpm └── Pump speed 2268 rpm # liquidctl status --match vengeance --unsafe=smbus,vengeance_rgb Corsair Vengeance RGB DIMM2 └── Temperature 37.5 °C Corsair Vengeance RGB DIMM4 └── Temperature 37.8 °C # liquidctl --match kraken set fan speed 20 30 30 50 34 80 40 90 50 100 # liquidctl --match kraken set pump speed 70 # liquidctl --match kraken set sync color fixed 0080ff # liquidctl --match "smart device" set led color moving-alternating "hsv(30,98,100)" "hsv(30,98,10)" --speed slower ``` ## Contents [Contents]: #contents 1. [Supported devices] 1. [Installation] 1. [Linux distributions] 1. [macOS Homebrew] 2. [FreeBSD and DragonFly BSD Ports] 1. [Manual installation] 1. [Linux dependencies] 1. [macOS system dependencies] 1. [Windows system dependencies] 1. [Creating a virtual environment] 1. [Installing from PyPI or GitHub] 1. [Allowing access to the devices] 1. [Additional files] 1. [Working locally] 1. [The command-line interface] 1. [Listing and selecting devices] 1. [Initializing and interacting with devices] 1. [Supported color specification formats] 1. [Using liquidctl in other programs and scripts] 1. [Automation and running at boot] 1. [Set up Linux using systemd] 1. [Set up Windows using Task Scheduler] 1. [Set up macOS using various methods] 1. [Troubleshooting] 1. [Additional documentation] 1. [License] 1. [Related projects] ## Supported devices [Supported devices]: #supported-devices The following devices are supported by liquidctl. In the table, MRLV stands for the _minimum recommended liquidctl version._ The linked documents contain specific usage instructions and other useful information. | Type | Device family and specific documentation | Notes | MRLV | | :-- | :-- | :-- | :-: | | AIO liquid cooler | [ASUS Ryujin II 360](docs/asus-ryujin-guide.md) | p | 1.14.0 | | AIO liquid cooler | [ASUS Ryujin III 360, EVA, Extreme, White](docs/asus-ryujin3-guide.md) | p | 1.16.0 | | AIO liquid cooler | [ASUS Ryuo I 240](docs/asus-ryuo-guide.md) | p | 1.16.0 | | AIO liquid cooler | [Corsair Hydro H110i GT](docs/coolit-guide.md) | p | 1.14.0 | | AIO liquid cooler | [Corsair Hydro H80i GT, H100i GTX, H110i GTX](docs/asetek-690lc-guide.md) | Z | 1.9.1 | | AIO liquid cooler | [Corsair Hydro H80i v2, H100i v2, H115i](docs/asetek-690lc-guide.md) | Z | 1.9.1 | | AIO liquid cooler | [Corsair Hydro Pro H100i, H115i, H150i](docs/asetek-pro-guide.md) | Z | 1.9.1 | | AIO liquid cooler | [Corsair Hydro Platinum H100i, H100i SE, H115i](docs/corsair-platinum-pro-xt-guide.md) | | 1.8.1 | | AIO liquid cooler | [Corsair Hydro Pro XT H60i, H100i, H115i, H150i](docs/corsair-platinum-pro-xt-guide.md) | | 1.8.1 | | AIO liquid cooler | [Corsair iCUE Elite Capellix H100i, H115i, H150i](docs/corsair-commander-core-guide.md) | Bp | 1.14.0 | | AIO liquid cooler | [Corsair iCUE Elite RGB H100i, H115i, H150i](docs/corsair-platinum-pro-xt-guide.md) | | 1.14.0 | | AIO liquid cooler | [EVGA CLC 120 (CL12), 240, 280, 360](docs/asetek-690lc-guide.md) | Z | 1.9.1 | | AIO liquid cooler | [Lian Li GA II LCD](docs/lian-li-ga-ii-lcd-guide.md) | p | 1.16.0 | | AIO liquid cooler | [MSI MPG Coreliquid K360](docs/msi-mpg-coreliquid-guide.md) | p | 1.14.0 | | AIO liquid cooler | [NZXT Kraken M22](docs/kraken-x2-m2-guide.md) | | 1.10.0 | | AIO liquid cooler | [NZXT Kraken X40, X60](docs/asetek-690lc-guide.md) | LZ | 1.9.1 | | AIO liquid cooler | [NZXT Kraken X31, X41, X61](docs/asetek-690lc-guide.md) | LZ | 1.9.1 | | AIO liquid cooler | [NZXT Kraken X42, X52, X62, X72](docs/kraken-x2-m2-guide.md) | h | 1.11.1 | | AIO liquid cooler | [NZXT Kraken X53, X63, X73](docs/kraken-x3-z3-guide.md) | h | 1.11.1 | | AIO liquid cooler | [NZXT Kraken Z53, Z63, Z73](docs/kraken-x3-z3-guide.md) | h | 1.14.0 | | AIO liquid cooler | [NZXT Kraken 2023 Standard, Elite](docs/kraken-x3-z3-guide.md) | p | 1.14.0 | | AIO liquid cooler | [NZXT Kraken 2024 Elite RGB](docs/kraken-x3-z3-guide.md) | p | 1.15.0 | | AIO liquid cooler | [NZXT Kraken 2024 Plus](docs/kraken-x3-z3-guide.md) | | 1.16.0 | | Pump controller | [Aquacomputer D5 Next](docs/aquacomputer-d5next-guide.md) | hp | 1.15.0 | | Fan/LED controller | [Aquacomputer Farbwerk](docs/aquacomputer-farbwerk-guide.md) | hp | 1.16.0 | | Fan/LED controller | [Aquacomputer Farbwerk 360](docs/aquacomputer-farbwerk360-guide.md) | hp | 1.15.0 | | Fan/LED controller | [Aquacomputer Octo](docs/aquacomputer-octo-guide.md) | hp | 1.15.0 | | Fan/LED controller | [Aquacomputer Quadro](docs/aquacomputer-quadro-guide.md) | hp | 1.15.0 | | Fan/LED controller | [Corsair Commander Pro](docs/corsair-commander-guide.md) | h | 1.11.1 | | Fan/LED controller | [Corsair Commander Core, Core XT, ST](docs/corsair-commander-core-guide.md) | Bp | 1.14.0 | | Fan/LED controller | [Corsair Lighting Node Core, Pro](docs/corsair-commander-guide.md) | | 1.8.1 | | Fan/LED controller | [Corsair Obsidian 1000D](docs/corsair-commander-guide.md) | | 1.9.1 | | Fan/LED controller | [Lian Li Uni SL, SL v2, AL, AL v2, SL-Infinity](docs/lianli-uni-guide.md) | | 1.16.0 | | Fan/LED controller | [NZXT Grid+ V3](docs/nzxt-smart-device-v1-guide.md) | h | 1.11.1 | | Fan/LED controller | [NZXT Smart Device](docs/nzxt-smart-device-v1-guide.md) | h | 1.11.1 | | Fan/LED controller | [NZXT HUE 2, HUE 2 Ambient](docs/nzxt-hue2-guide.md) | | 1.7.2 | | Fan/LED controller | [NZXT Smart Device V2](docs/nzxt-hue2-guide.md) | h | 1.11.1 | | Fan/LED controller | [NZXT H1 V2](docs/nzxt-hue2-guide.md) | | 1.10.0 | | Fan/LED controller | [NZXT RGB & Fan Controller](docs/nzxt-hue2-guide.md) | h | 1.11.1 | | Fan/LED controller | [NZXT RGB & Fan Controller (3+6 channels)](docs/nzxt-hue2-guide.md) | hp | 1.12.1 | | Fan/LED controller | [NZXT 2023 RGB Controller](docs/nzxt-hue2-guide.md) | | 1.16.0 | | Fan/LED controller | NZXT Control Hub | | 1.16.0 | | Power supply | [Corsair HX750i, HX850i, HX1000i, HX1200i, HX1500i](docs/corsair-hxi-rmi-psu-guide.md) | h | 1.14.0 | | Power supply | [Corsair ATX 3.1 HX1200i](docs/corsair-hxi-rmi-psu-guide.md) | h | 1.16.0 | | Power supply | [Corsair RM650i, RM750i, RM850i, RM1000i](docs/corsair-hxi-rmi-psu-guide.md) | h | 1.14.0 | | Power supply | [NZXT E500, E650, E850](docs/nzxt-e-series-psu-guide.md) | p | 1.7.2 | | Motherboard RGB | [ASUS Aura LED motherboards](docs/asus-aura-led-guide.md) | | 1.10.0 | | Motherboard RGB | [Gigabyte RGB Fusion 2.0 motherboards](docs/gigabyte-rgb-fusion2-guide.md) | | 1.5.2 | | Graphics card RGB | [Select ASUS GTX and RTX cards](docs/nvidia-guide.md) | [B][#848]Ux | 1.9.1 | | Graphics card RGB | [Select EVGA GTX 1070, 1070 Ti and 1080 cards](docs/nvidia-guide.md) | [B][#848]Ux | 1.9.1 | | DDR4 memory | [Corsair Vengeance RGB](docs/ddr4-guide.md) | [B][#847]Uax | 1.7.2 | | DDR4 memory | [Generic DDR4 temperature sensor](docs/ddr4-guide.md) | [B][#847]Uax | 1.8.1 | _B: Broken in at least one significant way._
_L: Requires the `--legacy-690lc` flag._
_U: Requires `--unsafe` features._
_Z: Requires replacing the device driver [on Windows][Windows system dependencies]._
_a: Architecture-specific limitations._
_h: Can leverage hwmon driver._
_p: Only partially supported._
_x: Only supported on Linux._
[#847]: https://github.com/liquidctl/liquidctl/issues/847 [#848]: https://github.com/liquidctl/liquidctl/issues/848 ## Installation [Installation]: #installation The following sections cover the various methods to set up liquidctl. ### Linux distributions [Linux distributions]: #linux-distributions A considerable number of Linux distributions already package liquidctl, generally at fairly recent versions. ```bash # Alpine sudo apk add liquidctl # Arch/Artix/[Manjaro]/Parabola sudo pacman -S liquidctl # Fedora sudo dnf install liquidctl # Manjaro sudo pamac install liquidctl # Nix nix-env -iA nixos.liquidctl ``` liquidctl is also available in some non-official/community-based repositories, as well as, at older versions, for more distributions. [Repology] shows more information about the packaging status in various distributions. [Repology]: https://repology.org/project/liquidctl/versions ### macOS Homebrew [macOS Homebrew]: #macos-homebrew For macOS, liquidctl is available on Homebrew, generally at the most recent version. It is also easy to install the latest development snapshot from the official source code repository. ```bash # latest stable version brew install liquidctl # or latest development snapshot from the official source code repository brew install liquidctl --HEAD ``` ### FreeBSD and DragonFly BSD Ports [FreeBSD and DragonFly BSD Ports]: #freebsd-and-dragonfly-bsd-ports On FreeBSD and DragonFly BSD, liquidctl is maintained in the Ports Collections, and is available as a pre-built binary package. ``` pkg install py311-liquidctl ``` ### Manual installation [Manual installation]: #manual-installation _Warning: on systems that still default to Python 2, replace `python` with `python3`._ _Changed in 1.9.0: liquidctl now uses a PEP 517 build system._
liquidctl can be manually installed from the Python Package Index (PyPI), or directly from the source code repository. In order to manually install it, certain system-level dependencies must be satisfied first. In some cases it may also be preferable to use the Python libraries already provided by the operating system. #### Linux dependencies [Linux dependencies]: #linux-dependencies On Linux, the following dependencies are required at runtime (common package names are listed in parenthesis): - Python 3.10 or later _(python3, python)_ - pkg\_resources Python package _(python3-setuptools, python3-pkg-resources, python-setuptools)_ - PyUSB _(python3-pyusb, python3-usb, python-pyusb)_ - colorlog _(python3-colorlog, python-colorlog)_ - crcmod 1.7 _(python3-crcmod, python-crcmod)_ - cython-hidapi _(python3-hidapi, python3-hid, python-hidapi)_ - docopt _(python3-docopt, python-docopt)_ - pillow _(python-pillow, python3-pil)_ - smbus Python package _(python3-i2c-tools, python3-smbus, i2c-tools)_ - LibUSB 1.0 _(libusb-1.0, libusb-1.0-0, libusbx)_ Additionally, to build, install and test liquidctl, the following are also needed: - setuptools\_scm Python package _(python3-setuptools-scm, python3-setuptools_scm, python-setuptools-scm)_ - pip (optional) _(python3-pip, python-pip)_ - pytest (optional) _(python3-pytest, pytest, python-pytest)_ #### macOS system-level dependencies [macOS system dependencies]: #macos-system-level-dependencies On macOS, Python (3.10 or later) and LibUSB 1.0 must be installed beforehand. ``` brew install python libusb ``` #### Windows system-level dependencies [Windows system dependencies]: #windows-system-level-dependencies On Windows, Python (3.10 or later) must be installed beforehand, which can be done from the [official website][python.org]. It is recommended to select the option to add `python` and other tools to the `PATH`. A LibUSB 1.0 DLL is also necessary, but it will generally be provided automatically by liquidctl. In case that's not possible, and a USB "No backend available" error is shown, the suitable DLL from an official [LibUSB release] should be copied into `C:\Windows\System32\`. The DLL must match your Python installation: in most cases it will be latest VS build for x64 in the archive from LibUSB (e.g. `VS2015-x64/dll/libusb-1.0.dll`). Additionally, products that are not Human Interface Devices (HIDs), or that do not use the Microsoft HID Driver, require a libusb-compatible driver (these are listed in [Supported devices] with a `Z` note). In most cases of these cases the Microsoft WinUSB driver is recommended, and it can easily be set up for a device using [Zadig]: open Zadig, select your device from the dropdown list and, finally, click "Replace Driver". _Warning: replacing the driver for a device where that is not necessary will likely cause it to become inaccessible from liquidctl._
_Changed in 1.9.0: a LibUSB 1.0 DLL is now provided by libusb-package, provided there are suitable wheels available at the time of installation._
[python.org]: https://www.python.org/ [LibUSB release]: https://github.com/libusb/libusb/releases [Zadig]: https://zadig.akeo.ie/ #### Creating a virtual environment [Creating a virtual environment]: #creating-a-virtual-environment Setting up a virtual environment is an optional step. Even so, installing Python packages directly in the global environment is not generally advised. Instead, it is usual to first set up a [virtual environment]: ```bash # create virtual enviroment at python -m venv ``` Once set up, the virtual environment can be activated on the current shell (more information in the [official documentation][virtual environment]). Alternatively, the virtual environment can also be used directly, without activation, by prefixing all `python` invocations with the environment's bin directory. ```bash # Linux/macOS/BSDs (POSIX) /bin/python [arguments] # Windows \Scripts\python [arguments] ``` [virtual environment]: https://docs.python.org/3/library/venv.html #### Installing from PyPI or GitHub [Installing from PyPI or GitHub]: #installing-from-pypi-or-github [pip] can be used to install liquidctl from the Python Package Index (PyPI). This will also install the necessary Python libraries. ```bash # the latest stable version python -m pip install liquidctl # a specific version (e.g. 1.16.0) python -m pip install liquidctl==1.16.0 ``` If [git] is installed, pip can also install the latest snapshot of the official liquidctl source code repository on GitHub. ```bash # the latest snapshot of the official source code repository (requires git) python -m pip install git+https://github.com/liquidctl/liquidctl#egg=liquidctl ``` [git]: https://git-scm.com/ [pip]: https://pip.pypa.io/en/stable/ To set up rootless access to devices on Linux and BSDs, install documentation and completions, or to learn more about auxiliary scripts, continue reading for the next few sections. #### Allowing access to the devices [Allowing access to the devices]: #allowing-access-to-the-devices Access permissions are not a concern on platforms like macOS or Windows, where unprivileged access is already allowed by default. However, devices are not generally accessible by unprivileged users on Linux, FreeBSD or DragonFly BSD. For Linux, we provide a set of udev rules in [`71-liquidctl.rules`] that can be used to allow unprivileged read and write access to all devices supported by liquidctl. These rules are generally already included in downstream Linux packages of liquidctl. Alternatively, `sudo`, `doas` and similar mechanisms can be used to invoke `liquidctl` as the super user, on both Linux and BSDs. [`71-liquidctl.rules`]: extra/linux/71-liquidctl.rules #### Additional files [Additional files]: #additional-files Other files and tools are included in the source tree, which may be of use in certain scenarios: - [liquidctl(8) man page][liquidctl.8]; - [completions for the liquidctl CLI in Bash][liquidctl.bash]; - [host-based automatic fan/pump speed control][yoda.py]; - [send liquidctl data to HWiNFO][LQiNFO.py]; - [and more...][extra/]. [LQiNFO.py]: extra/windows/LQiNFO.py [extra/]: extra/ [liquidctl.8]: liquidctl.8 [liquidctl.bash]: extra/completions/liquidctl.bash [yoda.py]: extra/yoda.py ### Working locally [Working locally]: #working-locally _Changed in 1.9.0: liquidctl now uses a PEP 517 build system._
When working on the project itself, it is sometimes useful to set up a local development environment, making it possible to directly run the CLI and the test suite, without first building and installing a local package. For this, start by installing [git] and any system-level dependencies mentioned in [Manual installation]. Then, clone the repository and change into the created directory: ``` git clone https://github.com/liquidctl/liquidctl cd liquidctl ``` Optionally, set up a [virtual environment][Creating a virtual environment]. Finally, if the necessary Python build, test and runtime libraries are not already installed on the environment (virtual or global), manually install them: ``` python -m pip install --upgrade pip setuptools setuptools_scm wheel python -m pip install --upgrade colorlog crcmod==1.7 docopt hidapi pillow pytest pyusb python -m pip install --upgrade "libusb-package; sys_platform == 'win32' or sys_platform == 'cygwin'" python -m pip install --upgrade "smbus; sys_platform == 'linux'" python -m pip install --upgrade "winusbcdc>=1.5; sys_platform == 'win32'" ``` At this point, the environment is set up. To run the test suite, execute: ``` python -m pytest ``` To run the CLI directly, without building and installing a local package, execute: ``` python -m liquidctl [arguments] ``` And to install `liquidctl` into the environment: ``` python -m pip install . ``` ## Introducing the command-line interface [The command-line interface]: #introducing-the-command-line-interface The complete list of commands and options can be found in `liquidctl --help` and in the man page, but the following topics cover the most common operations. Brackets `[ ]`, parenthesis `( )`, less than/greater than `< >` and ellipsis `...` are used to describe, respectively, optional, required, positional and repeating elements. Example commands are prefixed with a number sign `#`, which also serves to indicate that on Linux root permissions (or suitable udev rules) may be required. The `--verbose` option will print some extra information, like automatically made adjustments to user-provided settings. And if there is a problem, the `--debug` flag will make liquidctl output more information to help identify its cause; be sure to include this when opening a new issue. _Note: in addition to `--debug`, setting the `PYUSB_DEBUG=debug` and `LIBUSB_DEBUG=4` environment variables can be helpful with problems suspected to relate to PyUSB or LibUSB._ ### Listing and selecting devices [Listing and selecting devices]: #listing-and-selecting-devices A good place to start is to ask liquidctl to list all recognized devices. ``` $ liquidctl list Device #0: NZXT Smart Device (V1) Device #1: NZXT Kraken X (X42, X52, X62 or X72) ``` In case more than one supported device is found, one them can be selected with `--match `, where `` matches part of the desired device's description using a case insensitive comparison. ``` $ liquidctl --match kraken list Result #0: NZXT Kraken X (X42, X52, X62 or X72) ``` More device properties can be show by passing `--verbose` to `liquidctl list`. Any of those can also be used to select a particular product. ``` $ liquidctl --bus hid --address /dev/hidraw4 list Result #0: NZXT Smart Device (V1) $ liquidctl --serial 1234567890 list Result #0: NZXT Kraken X (X42, X52, X62 or X72) ``` Ambiguities for any given filter can be solved with `--pick `. ### Initializing and interacting with devices [Initializing and interacting with devices]: #initializing-and-interacting-with-devices Devices will usually need to be initialized before they can be used, though each device has its own requirements and limitations. This and other information specific to a particular device will appear on the documentation linked from the [Supported devices] section. Devices can be initialized individually or all at once. ``` # liquidctl [options] initialize [all] ``` Most devices provide some status information, like fan speeds and liquid temperatures. This can be queried for all devices or using the filtering methods mentioned before. ``` # liquidctl [options] status ``` Fan and pump speeds can be set to fixed values or, if the device supports them, custom profiles. The specific documentation for each device will list the available modes, as well as which sensor is used for custom profiles. In general, liquid coolers only support custom profiles that are based on the internal liquid temperature probe. ``` # liquidctl [options] set speed ( ) ... # liquidctl [options] set speed ``` Lighting is controlled in a similar fashion. The specific documentation for each device will list the available channels, modes and additional options. ``` # liquidctl [options] set color [] ... ``` ### Supported color specification formats [Supported color specification formats]: #supported-color-specification-formats When configuring lighting effects, colors can be specified in different representations and formats: - as an implicit hexadecimal RGB triple, either with or without the `0x` prefix: e.g. `ff7f3f` - as an explicit RGB triple: e.g. `rgb(255, 127, 63)` - as a HSV (hue‑saturation‑value) triple: e.g. `hsv(20, 75, 100)` * hue ∊ [0, 360] (degrees); saturation, value ∊ [0, 100] (percent) * note: this is sometimes called HSB (hue‑saturation‑brightness) - as a HSL (hue‑saturation‑lightness) triple: e.g. `hsl(20, 100, 62)` * hue ∊ [0, 360] (degrees); saturation, lightness ∊ [0, 100] (percent) Color arguments containing spaces, parenthesis or commas need to be quoted, as these characters can have special meaning on the command-line; the easiest way to do this on all supported platforms is with double quotes. ``` # liquidctl --match kraken set ring color fading "hsv(0,80,100)" "hsv(180,80,100)" ``` On Linux it is also possible to use single-quotes and `\(`, `\)`, `\ ` escape sequences. ## Using liquidctl in other programs and scripts [Using liquidctl in other programs and scripts]: #using-liquidctl-in-other-programs-and-scripts The liquidctl driver APIs can be used to build Python programs that monitor or control the devices, and offer features beyond the ones provided by the CLI. The APIs are documented, and this documentation can be accessed through `pydoc`, or directly read from the source files. ```python from liquidctl import find_liquidctl_devices # Find all connected and supported devices. devices = find_liquidctl_devices() for dev in devices: # Connect to the device. In this example we use a context manager, but # the connection can also be manually managed. The context manager # automatically calls `disconnect`; when managing the connection # manually, `disconnect` must eventually be called, even if an # exception is raised. with dev.connect(): print(f'{dev.description} at {dev.bus}:{dev.address}:') # Devices should be initialized after every boot. In this example # we assume that this has not been done before. print('- initialize') init_status = dev.initialize() # Print all data returned by `initialize`. if init_status: for key, value, unit in init_status: print(f'- {key}: {value} {unit}') # Get regular status information from the device. status = dev.get_status() # Print all data returned by `get_status`. print('- get status') for key, value, unit in status: print(f'- {key}: {value} {unit}') # For a particular device, set the pump LEDs to red. if 'Kraken' in dev.description: print('- set pump to radical red') radical_red = [0xff, 0x35, 0x5e] dev.set_color(channel='pump', mode='fixed', colors=[radical_red]) ``` More examples can be found in the scripts in [`extra/`](extra/). In addition to the APIs, the `liquidctl` CLI is friendly to scripting: errors cause it to exit with non-zero codes and only functional output goes to `stdout`, everything else (error messages, warnings and other auxiliary information) going to `stderr`. The `list`, `initialize` and `status` commands also support a `--json` flag to switch the output to JSON, a more convenient format for machines and scripts. In `--json` mode, setting `LANG=C` on the environment causes non-ASCII characters to be escaped. ``` # liquidctl --match kraken list --json | jq [ { "description": "NZXT Kraken X (X42, X52, X62 or X72)", "vendor_id": 7793, "product_id": 5902, "release_number": 512, "serial_number": "49874481333", "bus": "hid", "address": "/dev/hidraw3", "port": null, "driver": "Kraken2", }, ... ] # liquidctl --match kraken status --json | jq [ { "bus": "hid", "address": "/dev/hidraw3", "description": "NZXT Kraken X (X42, X52, X62 or X72)", "status": [ { "key": "Liquid temperature", "value": 30.1, "unit": "°C" }, { "key": "Fan speed", "value": 1014, "unit": "rpm" }, ... ] }, ... ] ``` Note that the examples above pipe the output to [jq], as the original output has no line breaks or indentation. An alternative to jq is to use [`python -m json.tool`][json.tool], which is already included in standard Python distributions. Finally, the stability of both the APIs and the CLI commands is documented in our [stability guarantee]. In particular, the specific keys, values and units returned by the commands above, as well as their API equivalents, _are subject to changes._ Consumers should verify that the returned data matches their expectations, and react accordingly. [jq]: https://stedolan.github.io/jq/ [json.tool]: https://docs.python.org/3/library/json.html#module-json.tool [stability guarantee]: docs/developer/process.md#stability-and-backward-compatibility ## Automation and running at boot [Automation and running at boot]: #automation-and-running-at-boot In most cases you will want to automatically apply your settings when the system boots. Generally a simple script or a basic service is enough, and some specifics about this are given in the following sections. For even more flexibility, you can also write a Python program that calls the driver APIs directly. ### Set up Linux using systemd [Set up Linux using systemd]: #set-up-linux-using-systemd On systems running Linux and systemd a service unit can be used to configure liquidctl devices. A simple example is provided bellow, which you can edit to match your preferences. Save it to `/etc/systemd/system/liquidcfg.service`. ``` [Unit] Description=AIO startup service [Service] Type=oneshot ExecStart=liquidctl initialize all ExecStart=liquidctl --match kraken set pump speed 90 ExecStart=liquidctl --match kraken set fan speed 20 30 30 50 34 80 40 90 50 100 ExecStart=liquidctl --match "smart device" set sync speed 55 ExecStart=liquidctl --match kraken set sync color fading 350017 ff2608 [Install] WantedBy=default.target ``` After reloading the configuration, the new unit can be started manually or set to automatically run during boot using standard systemd tools. ``` # systemctl daemon-reload # systemctl start liquidcfg # systemctl enable liquidcfg ``` A slightly more complex example can be seen at [jonasmalacofilho/dotfiles](https://github.com/jonasmalacofilho/dotfiles/tree/master/liquidctl), which includes dynamic adjustments of the lighting depending on the time of day. If necessary, it is also possible to have the service unit explicitly wait for the device to be available: see [making systemd units wait for devices](docs/linux/making-systemd-units-wait-for-devices.md). ### Set up Windows using Task Scheduler [Set up Windows using Task Scheduler]: #set-up-windows-using-task-scheduler The configuration of devices can be automated by writing a batch file and setting up a new task for (every) login using Windows Task Scheduler. The batch file can be really simple and only needs to contain the invocations of liquidctl that would otherwise be done manually. ```batchfile liquidctl initialize all liquidctl --match kraken set pump speed 90 liquidctl --match kraken set fan speed 20 30 30 50 34 80 40 90 50 100 liquidctl --match "smart device" set sync speed 55 liquidctl --match kraken set sync color fading 350017 ff2608 ``` Make sure that liquidctl is available in the context where the batch file will run: in short, `liquidctl --version` should work within a _normal_ Command Prompt window. You may need to install Python with the option to set the PATH variable enabled, or manually add the necessary folders to the PATH. A slightly more complex example can be seen in [issue #14](https://github.com/liquidctl/liquidctl/issues/14#issuecomment-456519098) ("Can I autostart liquidctl on Windows?"), that uses the LEDs to convey progress or eventual errors. Chris' guide on [Replacing NZXT’s CAM software on Windows for Kraken](https://codecalamity.com/replacing-nzxts-cam-software-on-windows-for-kraken/) is also a good read. As an alternative to using Task Scheduler, the batch file can simply be placed in the startup folder; you can run `shell:startup` to [find out where that is](https://support.microsoft.com/en-us/help/4026268/windows-10-change-startup-apps). ### Set up macOS using various methods [Set up macOS using various methods]: #set-up-macos-using-various-methods You can follow either or both of the guides below to automatically configure your devices during login or after waking from sleep. The guides are hosted on tonymacx86: - [This guide](https://www.tonymacx86.com/threads/gigabyte-z490-vision-d-thunderbolt-3-i5-10400-amd-rx-580.298642/post-2138475) is for controllers that lose their state during sleep (e.g. Gigabyte RGB Fusion 2.0) and need to be reinitialized after wake-from-sleep. This guide uses _Automator_ to initialize supported devices at login, and _sleepwatcher_ to initialize supported devices after wake-from-sleep. - [This guide](https://www.tonymacx86.com/threads/asus-z690-proart-creator-wifi-thunderbolt-4-i7-12700k-amd-rx-6800-xt.318311/post-2306524) is for controllers that do not lose their state during sleep (e.g. ASUS Aura LED). This driver uses the _launchctl_ method to initialize supported devices at login. ## Troubleshooting [Troubleshooting]: #troubleshooting ### Device not listed (Windows) This is likely caused by having replaced the standard driver of a USB HID. If the device in question is not marked in [Supported devices] as requiring a special driver, try uninstalling the custom driver. ### Device not listed (Linux) First, check that the liquidctl version (`liquidctl --version`) you're running supports the device in question. An overview of supported devices and minimum recommended versions for them are available in [Supported devices]. Support for new devices can happen to be available only in Git for some time. If the device is supported, this is usually caused by having an unexpected kernel driver bound to a USB HID. In most cases this is the result of having used a program that accessed the device (directly or indirectly) via libusb-1.0, but failed to reattach the original driver before terminating. This can be temporarily solved by manually rebinding the device to the kernel `usbhid` driver. Replace `` and `` with the correct values from `lsusb -vt` (also assumes there is only HID interface, adjust if necessary): ``` echo '-:1.0' | sudo tee /sys/bus/usb/drivers/usbhid/bind ``` A more permanent solution is to politely ask the authors of the program that is responsible for leaving the kernel driver detached to use `libusb_attach_kernel_driver` or `libusb_set_auto_detach_kernel_driver`. ### Access denied or open failed (Linux) These errors are usually caused by a lack of permission to access the device. On Linux distros that normally requires root privileges. Alternatively to running liquidctl as root (or with `sudo`), you can install the udev rules provided in [`extra/linux/71-liquidctl.rules`](extra/linux/71-liquidctl.rules) to allow unprivileged access to the devices supported by liquidctl. ### Other problems If your problem is not listed here, try searching the [issues](https://github.com/liquidctl/liquidctl/issues). If no issue matches your problem, you still need help, or you have found a bug, please open one. When commenting on an issue, please describe the problem in as much detail as possible. List your operating system and the specific devices you own. Also include the arguments and output of all relevant/failing liquidctl commands, using the `--debug` option to enable additional debug information. ## Additional documentation [Additional documentation]: #additional-documentation Be sure to browse [`docs/`](docs/) for additional documentation, and [`extra/`](extra/) for some example scripts and other possibly useful things. You are also encouraged to contribute to the documentation and to these examples, including adding new files that cover your specific use cases or solutions. ## License [License]: #license Copyright 2018–2023 Jonas Malaco, Marshall Asch, CaseySJ, Tom Frey, Andrew Robertson, ParkerMc, Aleksa Savic, Shady Nawara and contributors Some modules also incorporate or use as reference work by leaty, Ksenija Stanojevic, Alexander Tong, Jens Neumaier, Kristóf Jakab, Sean Nelson, Chris Griffith, notaz, realies and Thomas Pircher. This is mentioned in the module docstring, along with appropriate additional copyright notices. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . ## Related projects [Related projects]: #related-projects ### [liquidctl/liquidtux](https://github.com/liquidctl/liquidtux) Sibling project of Linux kernel _hwmon_ drivers for devices supported by liquidctl. ### [coolercontrol/coolercontrol](https://gitlab.com/coolercontrol/coolercontrol) Graphical interface to monitor and control cooling devices supported by liquidctl. ### [CalcProgrammer1/OpenRGB](https://gitlab.com/CalcProgrammer1/OpenRGB) Graphical interface to control many different types of RGB devices. liquidctl-1.16.0/SECURITY.md000066400000000000000000000014621515166127400153750ustar00rootroot00000000000000# Security policy ## Reporting a vulnerability If you have found a vulnerability or suspect a security problem in liquidctl, please write to . You can use PGP-encrypted email: the public key is [`5841AF7406AF7AD0`](http://jonasmalaco.com/06af7ad0.asc). Any security issues reported this way will be addressed urgently and, until responsibly disclosed, confidentially. liquidctl-1.16.0/conftest.py000066400000000000000000000005601515166127400160010ustar00rootroot00000000000000import sys collect_ignore = [ "setup.py", "extra/contrib/fusion_rgb_cycle.py", # depends on coloraide "extra/prometheus-liquidctl-exporter.py", # depends on prometheus_client ] if sys.platform != "linux": collect_ignore.append("tests/test_smbus.py") if sys.platform not in ["win32", "cygwin"]: collect_ignore.append("extra/windows/LQiNFO.py") liquidctl-1.16.0/docs/000077500000000000000000000000001515166127400145315ustar00rootroot00000000000000liquidctl-1.16.0/docs/README.md000066400000000000000000000054021515166127400160110ustar00rootroot00000000000000Contents ======== General topics -------------- - [**The project README: basic setup and use of liquidctl**](../README.md) Device guides ---------------------- - [ASUS Aura LED (USB-based) controllers](asus-aura-led-guide.md) - [ASUS Ryujin II liquid coolers](asus-ryujin-guide.md) - [ASUS Ryujin III EXTREME liquid cooler](asus-ryujin3-guide.md) - [Aquacomputer D5 Next watercooling pump](aquacomputer-d5next-guide.md) - [Aquacomputer Farbwerk 360 RGB controller](aquacomputer-farbwerk360-guide.md) - [Aquacomputer Octo fan controller](aquacomputer-octo-guide.md) - [Aquacomputer Quadro fan controller](aquacomputer-quadro-guide.md) - [Asetek 690LC liquid coolers](asetek-690lc-guide.md) - [Asetek Pro liquid coolers](asetek-pro-guide.md) - [Corsair Commander Core and Core XT](corsair-commander-core-guide.md) - [Corsair Commander Pro, Obsidian 1000D and Lighting Node Pro/Core](corsair-commander-guide.md) - [Corsair HXi and RMi series PSUs](corsair-hxi-rmi-psu-guide.md) - [Corsair Hydro Platinum, Pro XT and Elite RGB all-in-one liquidctl coolers](corsair-platinum-pro-xt-guide.md) - [DDR4 DIMMs](ddr4-guide.md) - [Fourth-generation (X3/Z3/2023/2024) NZXT liquid coolers](kraken-x3-z3-2023-guide.md) - [Gigabyte RGB Fusion 2.0 lighting controllers](gigabyte-rgb-fusion2-guide.md) - [Lian Li Uni controllers](lianli-uni-guide.md) - [Lian Li GA II LCD Liquid cooler](lian-li-ga-ii-lcd-guide.md) - [NVIDIA graphics cards](nvidia-guide.md) - [NZXT E-series PSUs](nzxt-e-series-psu-guide.md) - [NZXT HUE 2 and Smart Device V2 controllers](nzxt-hue2-guide.md) - [NZXT Smart Device (V1) and Grid+ V3](nzxt-smart-device-v1-guide.md) - [Third-generation (X2,M2) NZXT liquid coolers](kraken-x2-m2-guide.md) Linux topics --------------------- - [Making systemd units wait for devices](linux/making-systemd-units-wait-for-devices.md) Windows topics ----------------------- - [Running your first command-line-program](windows/running-your-first-command-line-program.md) Documentation for developers ---------------------------- - [**Development process (including stability guarantees)**](developer/process.md) - [Capturing USB traffic](developer/capturing-usb-traffic.md) - [Interacting with devices with Linux hwmon drivers](developer/hwmon) - [Porting drivers from OpenCorsairLink](developer/porting-drivers-from-opencorsairlink.md) - [Protocol notes](developer/protocol/) - [Release checklist](developer/release-checklist.md) - [Style guide](developer/style-guide.md) - [Techniques for analyzing USB protocols](developer/techniques-for-analyzing-usb-protocols.md) - [Virtual Machine Setup for Traffic Capture](developer/creating-vm-for-capture.md) liquidctl-1.16.0/docs/aquacomputer-d5next-guide.md000066400000000000000000000046201515166127400220630ustar00rootroot00000000000000# Aquacomputer D5 Next watercooling pump _Driver API and source code available in [`liquidctl.driver.aquacomputer`](../liquidctl/driver/aquacomputer.py)._ _New in 1.11.0._
## Initialization Initialization is _currently_ not required, but is recommended. It outputs the firmware version: ``` # liquidctl initialize Aquacomputer D5 Next ├── Firmware version 1023 └── Serial number 03500-24905 ``` The pump automatically sends a status HID report every second as soon as it's connected. ## Monitoring The D5 Next exposes sensor values such as liquid temperature and two groups of fan sensors, for the pump and the optionally connected fan. These groups provide RPM speed, voltage, current and power readings. It also supports eight virtual temperature sensors, which are user assigned. Currently, they can only be read from the device. The pump additionally exposes +5V and +12V voltage rail readings: ``` # liquidctl status Aquacomputer D5 Next ├── Liquid temperature 26.9 °C ├── Soft. Sensor 1 50.0 °C ├── Pump speed 1968 rpm ├── Pump power 2.56 W ├── Pump voltage 12.04 V ├── Pump current 0.21 A ├── Fan speed 373 rpm ├── Fan power 0.38 W ├── Fan voltage 12.06 V ├── Fan current 0.03 A ├── +5V voltage 5.01 V └── +12V voltage 12.06 V ``` _Changed in 1.12.0: read virtual temperature sensors as well._
## Programming the fan speeds Currently, the pump and optionally connected fan can be set to a fixed duty cycle, ranging from 0-100%. ``` # liquidctl set pump speed 56 ^^^^ ^^ channel duty ``` Valid channel values on the D5 Next are `pump` and `fan`. ## Interaction with Linux hwmon drivers [Linux hwmon]: #interaction-with-linux-hwmon-drivers Aquacomputer devices are supported by the mainline Linux kernel with its [`aquacomputer_d5next`] driver, and status data is provided through a standard hwmon sysfs interface. Liquidctl automatically detects when a kernel driver is bound to the device and, whenever possible, uses it instead of directly accessing the device. Alternatively, direct access to the device can be forced with `--direct-access`. [`aquacomputer_d5next`]: https://www.kernel.org/doc/html/latest/hwmon/aquacomputer_d5next.html liquidctl-1.16.0/docs/aquacomputer-farbwerk-guide.md000066400000000000000000000014421515166127400224560ustar00rootroot00000000000000# Aquacomputer Farbwerk RGB controller _Driver API and source code available in [`liquidctl.driver.aquacomputer`](../liquidctl/driver/aquacomputer.py)._ _New in 1.16.0._
## Initialization Initialization is _currently_ not required, but is recommended. It outputs the firmware version: ``` # liquidctl initialize Aquacomputer Farbwerk ├── Firmware version 1022 └── Serial number 16827-56978 ``` The controller automatically sends a status HID report every second as soon as it's connected. ## Monitoring The Farbwerk exposes four physical temperature sensors. ``` # liquidctl status Aquacomputer Farbwerk ├── Sensor 1 24.1 °C ├── Sensor 2 25.7 °C ├── Sensor 3 25.2 °C ├── Sensor 4 25.6 °C ``` liquidctl-1.16.0/docs/aquacomputer-farbwerk360-guide.md000066400000000000000000000030041515166127400227030ustar00rootroot00000000000000# Aquacomputer Farbwerk 360 RGB controller _Driver API and source code available in [`liquidctl.driver.aquacomputer`](../liquidctl/driver/aquacomputer.py)._ _New in 1.11.0._
## Initialization Initialization is _currently_ not required, but is recommended. It outputs the firmware version: ``` # liquidctl initialize Aquacomputer Farbwerk 360 ├── Firmware version 1022 └── Serial number 16827-56978 ``` The controller automatically sends a status HID report every second as soon as it's connected. ## Monitoring The Farbwerk 360 exposes four physical and sixteen virtual temperature sensors. ``` # liquidctl status Aquacomputer Farbwerk 360 ├── Sensor 1 24.1 °C ├── Sensor 2 25.7 °C ├── Sensor 3 25.2 °C ├── Sensor 4 25.6 °C └── Soft. Sensor 1 52.0 °C ``` _Changed in 1.12.0: read virtual temperature sensors as well._
## Interaction with Linux hwmon drivers [Linux hwmon]: #interaction-with-linux-hwmon-drivers Aquacomputer devices are supported by the mainline Linux kernel with its [`aquacomputer_d5next`] driver, and status data is provided through a standard hwmon sysfs interface. Liquidctl automatically detects when a kernel driver is bound to the device and, whenever possible, uses it instead of directly accessing the device. Alternatively, direct access to the device can be forced with `--direct-access`. [`aquacomputer_d5next`]: https://www.kernel.org/doc/html/latest/hwmon/aquacomputer_d5next.html liquidctl-1.16.0/docs/aquacomputer-octo-guide.md000066400000000000000000000060541515166127400216230ustar00rootroot00000000000000# Aquacomputer Octo fan controller _Driver API and source code available in [`liquidctl.driver.aquacomputer`](../liquidctl/driver/aquacomputer.py)._ _New in 1.11.0._
## Initialization Initialization is _currently_ not required, but is recommended. It outputs the firmware version: ``` # liquidctl initialize Aquacomputer Octo ├── Firmware version 1019 └── Serial number 14994-51690 ``` The Octo automatically sends a status HID report every second as soon as it's connected. ## Monitoring The Octo exposes four temperature sensors and eight groups of fan sensors for optionally connected fans. It also supports sixteen virtual temperature sensors, which are user assigned. Currently, they can only be read from the device. These groups provide RPM speed, voltage, current and power readings: ``` # liquidctl status Aquacomputer Octo ├── Sensor 1 37.0 °C ├── Soft. Sensor 2 2.9 °C ├── Soft. Sensor 8 40.7 °C ├── Fan 1 speed 0 rpm ├── Fan 1 power 0.00 W ├── Fan 1 voltage 12.09 V ├── Fan 1 current 0.00 A ├── Fan 2 speed 0 rpm ├── Fan 2 power 0.00 W ├── Fan 2 voltage 0.00 V ├── Fan 2 current 0.00 A ├── Fan 3 speed 0 rpm ├── Fan 3 power 0.00 W ├── Fan 3 voltage 0.00 V ├── Fan 3 current 0.00 A ├── Fan 4 speed 0 rpm ├── Fan 4 power 0.00 W ├── Fan 4 voltage 0.00 V ├── Fan 4 current 0.00 A ├── Fan 5 speed 0 rpm ├── Fan 5 power 0.00 W ├── Fan 5 voltage 0.00 V ├── Fan 5 current 0.00 A ├── Fan 6 speed 0 rpm ├── Fan 6 power 0.00 W ├── Fan 6 voltage 0.00 V ├── Fan 6 current 0.00 A ├── Fan 7 speed 0 rpm ├── Fan 7 power 0.00 W ├── Fan 7 voltage 0.00 V ├── Fan 7 current 0.00 A ├── Fan 8 speed 0 rpm ├── Fan 8 power 0.02 W ├── Fan 8 voltage 12.09 V └── Fan 8 current 0.00 A ``` _Changed in 1.12.0: read virtual temperature sensors as well._
## Programming the fan speeds Currently, eight optionally connected fans can be set to a fixed duty cycle, ranging from 0-100%. ``` # liquidctl set fan1 speed 56 ^^^^ ^^ channel duty ``` Valid channel values on the Octo are `fan1` through `fan8`. ## Interaction with Linux hwmon drivers [Linux hwmon]: #interaction-with-linux-hwmon-drivers Aquacomputer devices are supported by the mainline Linux kernel with its [`aquacomputer_d5next`] driver, and status data is provided through a standard hwmon sysfs interface. Liquidctl automatically detects when a kernel driver is bound to the device and, whenever possible, uses it instead of directly accessing the device. Alternatively, direct access to the device can be forced with `--direct-access`. [`aquacomputer_d5next`]: https://www.kernel.org/doc/html/latest/hwmon/aquacomputer_d5next.html liquidctl-1.16.0/docs/aquacomputer-quadro-guide.md000066400000000000000000000047031515166127400221510ustar00rootroot00000000000000# Aquacomputer Quadro fan controller _Driver API and source code available in [`liquidctl.driver.aquacomputer`](../liquidctl/driver/aquacomputer.py)._ _New in 1.11.0._
## Initialization Initialization is _currently_ not required, but is recommended. It outputs the firmware version: ``` # liquidctl initialize Aquacomputer Quadro ├── Firmware version 1032 └── Serial number 23410-65344 ``` The Quadro automatically sends a status HID report every second as soon as it's connected. ## Monitoring The Quadro exposes four temperature sensors and four groups of fan sensors for optionally connected fans. These groups provide RPM speed, voltage, current and power readings: ``` # liquidctl status Aquacomputer Quadro ├── Sensor 3 15.9 °C ├── Soft. Sensor 2 40.3 °C ├── Soft. Sensor 3 50.0 °C ├── Soft. Sensor 13 50.0 °C ├── Fan 1 speed 0 rpm ├── Fan 1 power 0.00 W ├── Fan 1 voltage 0.00 V ├── Fan 1 current 0.00 A ├── Fan 2 speed 0 rpm ├── Fan 2 power 0.00 W ├── Fan 2 voltage 12.07 V ├── Fan 2 current 0.00 A ├── Fan 3 speed 360 rpm ├── Fan 3 power 0.00 W ├── Fan 3 voltage 12.07 V ├── Fan 3 current 0.00 A ├── Fan 4 speed 0 rpm ├── Fan 4 power 0.00 W ├── Fan 4 voltage 12.07 V ├── Fan 4 current 0.00 A └── Flow sensor 0 dL/h ``` _Changed in 1.12.0: read virtual temperature sensors as well._
## Programming the fan speeds Currently, four optionally connected fans can be set to a fixed duty cycle, ranging from 0-100%. ``` # liquidctl set fan1 speed 56 ^^^^ ^^ channel duty ``` Valid channel values on the Quadro are `fan1` through `fan4`. ## Interaction with Linux hwmon drivers [Linux hwmon]: #interaction-with-linux-hwmon-drivers Aquacomputer devices are supported by the mainline Linux kernel with its [`aquacomputer_d5next`] driver, and status data is provided through a standard hwmon sysfs interface. Liquidctl automatically detects when a kernel driver is bound to the device and, whenever possible, uses it instead of directly accessing the device. Alternatively, direct access to the device can be forced with `--direct-access`. [`aquacomputer_d5next`]: https://www.kernel.org/doc/html/latest/hwmon/aquacomputer_d5next.html liquidctl-1.16.0/docs/asetek-690lc-guide.md000066400000000000000000000101301515166127400202500ustar00rootroot00000000000000# Asetek 690LC liquid coolers _Driver API and source code available in [`liquidctl.driver.asetek`](../liquidctl/driver/asetek.py)._ Several products are available that are based on the same Asetek 690LC base design: - Current models: * EVGA CLC 120 (CLC12), 240, 280 and 360 * Corsair Hydro H80i v2, H100i v2 and H115i * Corsair Hydro H80i GT, H100i GTX and H110i GTX - Legacy designs: * NZXT Kraken X40, X60, X31, X41, X51 and X61 **Note: a custom kernel driver is necessary on Windows (see: [Installing on Windows](../README.md#windows-system-level-dependencies)).** **Note: when dealing with legacy Krakens the `--legacy-690lc` flag should be supplied on all invocations of liquidctl.** ## Initialization All 690LC devices must be initialized sometime after the system boots. Only then it will be possible to query the device status and perform other operations. ``` # liquidctl initialize ``` ## Device monitoring Similarly to other AIOs, the cooler can report fan and pump speeds as well as the liquid temperature. ``` # liquidctl status Asetek 690LC (assuming EVGA CLC) ├── Liquid temperature 28.7 °C ├── Fan speed 480 rpm ├── Pump speed 1890 rpm └── Firmware version 2.10.0.0 ``` ## Fan and pump speed control Fan speeds can be configured either to fixed duty values or profiles. The profiles accept up to six (liquid temperature, duty) points, and are interpolated by the device. ``` # liquidctl set fan speed 50 # liquidctl set fan speed 20 0 40 100 ``` *Note: fan speed profiles are only supported on non-legacy models.* Pump speeds, on the other hand, only accept fixed duty values. ``` # liquidctl set pump speed 75 ``` ## Lighting modes There's a single lighting channel `logo`. The first light mode – 'rainbow' – supports an abstract `--speed` parameter, varying from 1 to 6. ``` # liquidctl set logo color rainbow # liquidctl set logo color rainbow --speed 1 # liquidctl set logo color rainbow --speed 6 ``` *Note: the 'rainbow' lighting mode is currently only supported by EVGA units.* The 'fading' mode supports specifying the `--time-per-color` in seconds. The defaults are 1 and 5 seconds per color for, respectively, modern and legacy coolers. ``` # liquidctl set logo color fading ff8000 00ff80 # liquidctl set logo color fading ff8000 00ff80 --time-per-color 2 ``` The 'blinking' mode accepts both `--time-per-color` and `--time-off` (also in seconds). The default is 1 second for each, and whenever unspecified `--time-off` will equal `--time-per-color`. ``` # liquidctl set logo color blinking 8000ff # liquidctl set logo color blinking 8000ff --time-off 2 # liquidctl set logo color blinking 8000ff --time-per-color 2 # liquidctl set logo color blinking 8000ff --time-per-color 2 --time-off 1 ``` The coolers support two more lighting modes: 'fixed' and 'blackout'. The latter is the only one to completely turn off the LED; however, it also inhibits the visual high-temperature alert. ``` # liquidctl set logo color fixed 00ff00 # liquidctl set logo color blackout ``` On most models, alerts are always enabled, unless suppressed by the 'blackout' mode: the default threshold and color are, respectively, 45°C and red. It is possible to configure the visual alert for high liquid temperatures: - `--alert-threshold `: set the threshold temperature in Celsius for a visual alert; - `--alert-color `: set the color used by the visual high temperature alert. Note that alerts are reportedly not supported by the oldest models, the NZXT Kraken X40 and X60 (see [#477]). [#477]: https://github.com/liquidctl/liquidctl/issues/477 ## Save settings to device _New in 1.9.0._
Use the `--non-volatile` option on a `set` command to save the current values of _all_ settings (pump speed, fan cruve, and light mode) to the device's on-board flash memory: ``` # liquidctl set logo color blackout # liquidctl set pump speed 75 # liquidctl --non-volatile set fan speed 50 ``` Flash write-cycles are limited so avoid using `--non-volatile` on every command. *Note: non-volatile settings are only supported on non-legacy models.* liquidctl-1.16.0/docs/asetek-pro-guide.md000066400000000000000000000052051515166127400202220ustar00rootroot00000000000000# Asetek Pro liquid coolers _Driver API and source code available in [`liquidctl.driver.asetek_pro`](../liquidctl/driver/asetek_pro.py)._ These coolers are more commonly known as the Corsair Hydro Pro family (not to be confused with the Platinum or Pro XT families): - Corsair Hydro H100i Pro - Corsair Hydro H115i Pro - Corsair Hydro H150i Pro **Note: a custom kernel driver is necessary on Windows (see: [Installing on Windows](../README.md#windows-system-level-dependencies)).** ## Initialization [Initialization]: #initialization _Changed in 1.12.0: the firmware version is now reported after initialization._
The coolers must be initialized sometime after the system boots. Only then it will be possible to query the device status and perform other operations. ``` # liquidctl initialize Corsair Hydro H100i Pro └── Firmware version 2.10.0.0 ``` When (re)initializing the device it is possible to select the pump mode: ``` # liquidctl initialize --pump-mode=performance Corsair Hydro H100i Pro └── Firmware version 2.10.0.0 ``` Allowed pump modes are: `quiet`, `balanced` and `performance`. ## Device monitoring _Changed in 1.12.0: the firmware version is no longer reported (see [Initialization])._
Similarly to other AIOs, the cooler can report fan and pump speeds as well as the liquid temperature. ``` # liquidctl status Corsair Hydro H100i Pro ├── Liquid temperature 28.7 °C ├── Fan 1 speed 480 rpm ├── Fan 2 speed 476 rpm ├── Pump mode balanced └── Pump speed 1890 rpm ``` ## Fan speed control Fan speeds can be configured either to fixed duty values or profiles. The profiles accept up to seven (liquid temperature, duty) points, and are interpolated by the device. ``` # liquidctl set fan speed 50 # liquidctl set fan speed 20 0 40 100 ``` ## Lighting modes There's a single lighting channel `logo`. The following table sumarizes the available lighting modes, and the number of colors that each of them expects. | Mode | Colors | Notes | | :-- | :--: | :-- | | `alert` | 3 | Good, warning and critical states | | `shift` | 2–4 || | `pulse` | 1–4 || | `blinking` | 1–4 || | `fixed` | 1 || ``` # liquidctl set logo color alert 00ff00 ffff00 ff0000 # liquidctl set logo color shift ff9000 0090ff # liquidctl set logo color pulse ff9000 # liquidctl set logo color blinking ff9000 # liquidctl set logo color fixed ff9000 ``` All modes except `alert` and `fixed` support an additional `--speed` parameter; the allowed values are `slower`, `normal` and `faster`. ``` # liquidctl set logo color pulse ff9000 --speed faster ``` liquidctl-1.16.0/docs/asus-aura-led-guide.md000066400000000000000000000150471515166127400206200ustar00rootroot00000000000000# ASUS Aura LED (USB-based) controllers _Driver API and source code available in [`liquidctl.driver.aura_led`](../liquidctl/driver/aura_led.py)._ _New in 1.10.0._
This driver supports ASUS Aura USB-based lighting controllers that appear in various ASUS Z490, Z590, and Z690 motherboards. These controllers operate in either (a) direct mode or (b) effect mode. _Direct_ mode is employed by Aura Crate in Windows. It requires the application to send a continuous stream of commands to the controller in order to modulate lighting effects on each addressable LED. The other mode is _effect_ mode in which the controller itself modulates lighting effects on each addressable LED. Effect mode requires the application to issue a single set of command codes to the controller in order to initiate the given effect. The controller continues to process that effect until the application sends a different command. This driver employs the _effect_ mode (fire and forget). The selected lighting mode remains in effect until it is explicitly changed. This means the selected lighting mode remains in effect (a) on cold boot, (b) on warm boot, (c) after wake-from-sleep. The disadvantage, however, is the inability to set different lighting modes to different lighting channels. All channels remain synchronized. There are three known variants of the Aura LED USB-based controller: - Device `0x19AF`: found in ASUS ProArt Z690-Creator WiFi - Device `0x1939` [^1] - Device `0x18F3`[^1]: found in ASUS ROG Maximus Z690 Formula [^1]: Support for devices `0x1939` and `0x18F3` may not be sufficiently developed so users are asked to experiment and provide feedback. [Wireshark USB traffic capture](./developer/capturing-usb-traffic.md), in particular, will be very helpful. ## Initialization ASUS Aura LED controller does not need to be initialized before use. Initialization is optional. ``` # liquidctl initialize ASUS Aura LED Controller └── Firmware version AULA3-AR32-0207 ``` ## Status The `status` function returns the number of ARGB and RGB channels detected by the controller. If the command is invoked with `--debug` flag, the entire reply from the controller will be displayed in groups of 6 bytes. This information has not been fully decoded, but is provided in the event that someone is able to decipher it. On ASUS ProArt Z690-Creator WiFi the following is returned: ``` # liquidctl status ASUS Aura LED Controller ├── ARGB channels: 2 └── RGB channels: 1 ``` To display the set of 6-byte status values, use `--debug` on the command line. The following will be returned: ``` # liquidctl --debug status ASUS Aura LED Controller ├── ARGB channels: 2 ├── RGB channels: 1 ├── Device Config: 1 0x1e, 0x9f, 0x02, 0x01, 0x00, 0x00 ├── Device Config: 2 0x78, 0x3c, 0x00, 0x01, 0x00, 0x00 ├── Device Config: 3 0x78, 0x3c, 0x00, 0x00, 0x00, 0x00 ├── Device Config: 4 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ├── Device Config: 5 0x00, 0x00, 0x00, 0x01, 0x03, 0x02 ├── Device Config: 6 0x01, 0xf4, 0x00, 0x00, 0x00, 0x00 ├── Device Config: 7 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ├── Device Config: 8 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ├── Device Config: 9 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 └── Device Config: 10 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ``` On ASUS ROG Strix Z690-i Gaming WiFi (mini-ITX) the following is returned: ``` # liquidctl --debug status ASUS Aura LED Controller ├── ARGB channels: 2 ├── RGB channels: 1 ├── Device Config: 1 0x1e, 0x9f, 0x02, 0x01, 0x00, 0x00 ├── Device Config: 2 0x78, 0x3c, 0x00, 0x01, 0x00, 0x00 ├── Device Config: 3 0x78, 0x3c, 0x00, 0x00, 0x00, 0x00 ├── Device Config: 4 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ├── Device Config: 5 0x00, 0x00, 0x00, 0x01, 0x03, 0x02 ├── Device Config: 6 0x01, 0xf4, 0x00, 0x00, 0x00, 0x00 ├── Device Config: 7 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ├── Device Config: 8 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ├── Device Config: 9 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 └── Device Config: 10 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ``` On some ASUS Z490 boards (controller ID 0x18F3) the following is returned: ``` # liquidctl --debug status ASUS Aura LED Controller ├── ARGB channels: 1 ├── RGB channels: 1 ├── Device Config: 1 0x1e, 0x9f, 0x01, 0x01, 0x00, 0x00 ├── Device Config: 2 0x78, 0x3c, 0x00, 0x00, 0x00, 0x00 ├── Device Config: 3 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ├── Device Config: 4 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ├── Device Config: 5 0x00, 0x00, 0x00, 0x06, 0x07, 0x02 ├── Device Config: 6 0x01, 0xf4, 0x00, 0x00, 0x00, 0x00 ├── Device Config: 7 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ├── Device Config: 8 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ├── Device Config: 9 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 └── Device Config: 10 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ``` ## RGB lighting The driver supports one 12V RGB channel named `led1` and three 5V Addressable RGB channels named `led2`, `led3`, and `led4`. Because the driver uses `effect` mode, all channels are synchronized. It is not possible at this time to set different color modes to different channels (`direct` mode is used for that). Nevertheless, independent channel names are provided in case a future BIOS update provides more flexibility in `effect` mode. ``` # liquidctl set led1 color static af5a2f # liquidctl set led2 color breathing 350017 # liquidctl set led3 color rainbow # liquidctl set led4 color spectrum-cycle # liquidctl set sync color gentle-transition ``` Colors can be specified in RGB, HSV or HSL (see [Supported color specification formats](../README.md#supported-color-specification-formats)), and each animation mode supports zero or one color. | Mode | Colors | Notes | | --- | --- | --- | | `off` | None | | `static` | One | | `breathing` | One | | `flashing` | One | | `spectrum_cycle` | None | | `rainbow` | None | | `spectrum_cycle_breathing` | None | | `chase_fade` | One | | `spectrum_cycle_chase_fade` | None | | `chase` | One | | `spectrum_cycle_chase` | None | | `spectrum_cycle_wave` | None | | `chase_rainbow_pulse` | None | | `rainbow_flicker` | None | | `gentle_transition` | None | name given by us | | `wave_propagation` | None | name given by us | | `wave_propagation_pause` | None | name given by us | | `red_pulse` | None | name given by us | In addition to these, it is also possible to use the `sync` pseudo-channel to apply a setting to all lighting channels. liquidctl-1.16.0/docs/asus-ryujin-guide.md000066400000000000000000000043431515166127400204430ustar00rootroot00000000000000# ASUS Ryujin II liquid coolers _Driver API and source code available in [`liquidctl.driver.asus_ryujin`](../liquidctl/driver/asus_ryujin.py)._ _New in 1.14.0._
## Initialization Initialization is not required. It outputs the firmware version: ``` # liquidctl initialize ASUS Ryujin II 360 └── Firmware version AURJ1-S750-0104 ``` ## Monitoring The cooler reports the liquid temperature, the speeds and duties of all fans. ``` # liquidctl status ASUS Ryujin II 360 ├── Liquid temperature 26.0 °C ├── Pump duty 30 % ├── Pump speed 1200 rpm ├── Pump fan duty 40 % ├── Pump fan speed 2550 rpm ├── External fan duty 50 % ├── External fan 1 speed 990 rpm ├── External fan 2 speed 1020 rpm ├── External fan 3 speed 0 rpm └── External fan 4 speed 0 rpm ``` ## Speed control ### Setting fan and embedded pump duty Pump duty can be set using channel `pump`. ``` # liquidctl set pump speed 90 ``` Use channel `fans` to set all fans at the same time: ``` # liquidctl set fans speed 50 ``` Use channel `pump-fan` to set the duty of the embedded fan: ``` # liquidctl set pump-fan speed 50 ``` Use channel `external-fans` to set the duty of the fans connected to the AIO fan controller: ``` # liquidctl set external-fans speed 50 ``` ### Duty to speed relation The resulting speeds do not scale linearly to the set duty values. For example pump duty values below 20% result in relatively small changes in pump speed. Speeds of the fans connected to the AIO fan controller depend on the fans themselves. Pump impeller and embedded fan duty values approximately map to the following speeds (± 10%): | Duty (%) | Pump impeller speed (rpm) | Pump fan speed (rpm) | |:---:|:---:|:---:| | 0 | 840 | 0 | | 10 | 870 | **390** | | 20 | 900 | 1200 | | 30 | 1140 | 1860 | | 40 | 1470 | 2460 | | 50 | 1650 | 3000 | | 60 | 1890 | 3450 | | 70 | 2130 | 3870 | | 80 | 2310 | 4230 | | 90 | 2520 | 4590 | | 100 | 2800 | 4800 | Note the minimum speed of the embedded pump fan is 390 rpm, meaning the fan may not start spinning at duty values below 10%. ## Screen The screen of the cooler is not yet supported. liquidctl-1.16.0/docs/asus-ryujin3-guide.md000066400000000000000000000031701515166127400205230ustar00rootroot00000000000000# ASUS Ryujin III liquid coolers _Driver API and source code available in [`liquidctl.driver.asus_ryujin`](../liquidctl/driver/asus_ryujin.py)._ _New in 1.16.0._
## Initialization Initialization is not required. It outputs the firmware version: ``` # liquidctl initialize ASUS Ryujin III Extreme └── Firmware version AURJ3-S5F9-0104 ``` ## Monitoring The cooler reports the liquid temperature, the speeds and duties of pump and internal fan. ``` # liquidctl status ASUS Ryujin III Extreme ├── Liquid temperature 29.9 °C ├── Pump duty 30 % ├── Pump speed 1260 rpm ├── Pump fan duty 30 % └── Pump fan speed 870 rpm ``` ## Speed control ### Setting fan and embedded pump duty Pump duty can be set using channel `pump`. ``` # liquidctl set pump speed 90 ``` Use channel `pump-fan` to set the duty of the embedded fan: ``` # liquidctl set pump-fan speed 50 ``` ### Duty to speed relation The resulting speeds do not scale linearly to the set duty values. Pump impeller and embedded fan duty values approximately map to the following speeds (± 10%): | Duty (%) | Pump impeller speed (rpm) | Pump fan speed (rpm) | |:---:|:---:|:---:| | 0 | 800 | 0 | | 10 | 840 | 0 | | 20 | 1260 | 0 | | 30 | 1710 | **800*** | | 40 | 2100 | 1620 | | 50 | 2460 | 2229 | | 60 | 2460 | 2814 | | 70 | 2760 | 3471 | | 80 | 3090 | 4026 | | 90 | 3360 | 4569 | | 100 | 3600 | 5100 | **Note***: the minimum speed of the embedded pump fan is 800 rpm, meaning the fan may not start spinning at duty values below 30%. ## Screen The screen of the cooler is not yet supported. liquidctl-1.16.0/docs/asus-ryuo-guide.md000066400000000000000000000026071515166127400201220ustar00rootroot00000000000000# ASUS Ryuo I Liquid Coolers _Driver API and source code available in [`liquidctl.driver.asus_ryuo`](../liquidctl/driver/asus_ryuo.py)._ _New in 1.16.0._
## Initialization Initialization is not required. It outputs the firmware version: ``` # liquidctl initialize ASUS Ryuo I 240 └── Firmware version AURO0-S452-0205 ``` ## Monitoring This driver does **not** report status information (e.g. temperature, fan RPM, or duty cycle). ``` # liquidctl status ASUS Ryuo I 240 └── No status available ``` ## Speed control ### Setting fixed fan speed Use channel `fans` or `fan` to set the speed of all fans connected to the cooler: ``` # liquidctl set fans speed 60 ``` Only a single fan channel is available. Speeds are set as a fixed percentage (duty cycle) from 0–100%. ### Duty to speed relation The resulting speeds do not scale linearly to the set duty values. For example duty values below 20% result in no changes in pump speed. Fan duty values approximately map to the following speeds (± 10%): | Duty (%) | Fan speed (rpm) | |:---:|:---:| | 0 | 810 | | 10 | 810 | | 20 | 810 | | 30 | 1110 | | 40 | 1380 | | 50 | 1590 | | 60 | 1830 | | 70 | 2070 | | 80 | 2250 | | 90 | 2430 | | 100 | 2580 | ## Limitations - No telemetry (fan speed, liquid temperature, etc.) is currently available. - Only fixed fan speed control is supported. - The cooler’s screen is not supported. liquidctl-1.16.0/docs/coolit-guide.md000066400000000000000000000023311515166127400174360ustar00rootroot00000000000000# Corsair Hydro H110i GT AIO liquid cooler _Driver API and source code available in [`liquidctl.driver.coolit`](../liquidctl/driver/coolit.py)._ _New in 1.14.0._
## Initialization [Initialization]: #initialization The AIO does not need to be initialized prior to use, but it will set the pump mode to `quiet`. ``` # liquidctl initialize Corsair H110i GT └── Firmware version 2.0.0 ``` When (re)initializing the device, it is possible to select the pump mode: ``` # liquidctl initialize --pump-mode extreme Corsair H110i GT └── Firmware version 2.0.0 ``` Allowed pump modes are: - `quiet` - `extreme` ## Device monitoring Similarly to other AIOs, the cooler can report fan and pump speeds as well as the liquid temperature. ``` # liquidctl status Corsair H110i GT ├── Liquid temperature 32.6 °C ├── Fan 1 speed 1130 rpm ├── Fan 2 speed 1130 rpm └── Pump speed 2831 rpm ``` ## Fan speed control Fan speeds can be configured either to fixed duty values or profiles. The profiles accept up to seven (liquid temperature, duty) points, and are interpolated by the device. ``` # liquidctl set fan speed 50 # liquidctl set fan speed 20 0 40 100 ``` liquidctl-1.16.0/docs/corsair-commander-core-guide.md000066400000000000000000000075161515166127400225120ustar00rootroot00000000000000# Corsair Commander Core, Core XT and ST _Driver API and source code available in [`liquidctl.driver.commander_core`](../liquidctl/driver/commander_core.py)._ _Changed in 1.11.0: the Corsair Commander Core XT is now supported._
_Changed in 1.12.0: the Corsair Commander ST is now supported._
Currently, functionality implemented is listed here. More is planned to be added. ## Initializing the device The device should be initialized every time it is powered on. ``` # liquidctl initialize Corsair Commander Core ├── Firmware version 2.6.201 ├── AIO LED count 29 ├── RGB port 1 LED count 8 ├── RGB port 2 LED count 8 ├── RGB port 3 LED count N/A ├── RGB port 4 LED count N/A ├── RGB port 5 LED count N/A ├── RGB port 6 LED count N/A ├── AIO port connected Yes ├── Fan port 1 connected Yes ├── Fan port 2 connected Yes ├── Fan port 3 connected No ├── Fan port 4 connected No ├── Fan port 5 connected No ├── Fan port 6 connected No ├── Water temperature sensor Yes └── Temperature sensor 1 No ``` ## Retrieving the pump speed, fan speeds, and temperatures The Commander Core and ST currently can retrieve the pump speed, fan speeds, temperature of the water, and the temperature measured by the probe. ``` # liquidctl status Corsair Commander Core ├── Pump speed 2356 rpm ├── Fan speed 1 810 rpm ├── Fan speed 2 791 rpm ├── Fan speed 3 0 rpm ├── Fan speed 4 0 rpm ├── Fan speed 5 0 rpm ├── Fan speed 6 0 rpm └── Water temperature 35.8 °C ``` The Core XT variant of the device is not meant for use with an AIO, so parameters relating to the pump are not present. ``` Corsair Commander Core XT ├── Fan speed 1 2737 rpm ├── Fan speed 2 2786 rpm ├── Fan speed 3 0 rpm ├── Fan speed 4 0 rpm ├── Fan speed 5 0 rpm └── Fan speed 6 0 rpm ``` ## Programming the pump and fan speeds ### Speed curve profiles _New in 1.14.0._
The pump or fans speeds can be configured using a speed curve profile with a minimum of 2 or up to 7 curve points. Each curve point consists of both a temperature (in celsius) and a duty (percentage). ``` liquidctl set fans speed 28 0 35 50 40 75 41 85 42 90 43 95 44 100 | | | channel | duty temp ``` ### Fixed duty cycle _New in 1.9.0._
The pump or fan speeds can be set to a fixed duty cycle. ``` # liquidctl set fan1 speed 70 ^^^^ ^^ channel duty ``` In iCUE the pump can be set to different modes that correspond to a fixed percent that can be used in liquidctl. Quiet is 75%, Balanced is 85% and Extreme is 100%. ### Device channels Valid channel values on the Core (non-XT) and ST are `pump`, `fanN`, where 1 <= N <= 6 is the fan number. On the Core XT, the `pump` channel is not present. The `fans` channel can be used to simultaneously configure all fans. ### Notes - A channel may only be configured with a single fixed duty cycle or a single fan curve profile (independently from the other channel configurations). - The pump and some fans have a limit to how slow they can go and will not stop when set to zero. This is a hardware limitation that cannot be changed. - The cooler's lights flash with every update. Due to limitations in both the device hardware and liquidctl, there currently is no way to solve this problem. For more information, see: [#448]. [#448]: https://github.com/liquidctl/liquidctl/issues/448 liquidctl-1.16.0/docs/corsair-commander-guide.md000066400000000000000000000163051515166127400215600ustar00rootroot00000000000000# Corsair Commander Pro, Obsidian 1000D and Lighting Node Pro/Core _Driver API and source code available in [`liquidctl.driver.commander_pro`](../liquidctl/driver/commander_pro.py)._ ## Initializing the device _Changed in 1.9.0: the firmware and bootloader versions are not available when data is read from [Linux hwmon]._
The device should be initialized every time it is powered on, including when the system resumes from suspending to memory. The initialization command is needed in order to detect what temperature sensors and fan types are currently connected. ``` # liquidctl initialize Corsair Commander Pro ├── Firmware version 0.9.212 ├── Bootloader version 0.5 ├── Temperature probe 1 Yes ├── Temperature probe 2 Yes ├── Temperature probe 3 No ├── Temperature probe 4 No ├── Fan 1 control mode PWM ├── Fan 2 control mode PWM ├── Fan 3 control mode DC ├── Fan 4 control mode N/A ├── Fan 5 control mode N/A └── Fan 6 control mode N/A ``` ``` # liquidctl initialize Corsair Lighting Node Pro ├── Firmware version 0.10.4 └── Bootloader version 3.0 ``` Passing `--fan-mode=':[,...]'` can be used to change the fan mode from `dc` to `pwm` to `off` if the connected fan type is changed. The `--fan-mode` option is persistent across restarts and can only be used when not using the hwmon driver. ## Retrieving the fan speeds, temperatures and voltages The Lighting Node Pro and Lighting Node Core do not have a status message. The Commander Pro and Obsidian 1000D are able to retrieve the current fan speeds as well as the current temperature of any connected temperature probes. They are also able to retrieve the voltages from the 3.3, 5, and 12 volt buses. If a fan or temperature probe is not connected then a value of 0 is shown. ``` # liquidctl status Corsair Commander Pro ├── Temperature 1 26.4 °C ├── Temperature 2 27.5 °C ├── Fan 1 speed 927 rpm ├── Fan 2 speed 927 rpm ├── Fan 3 speed 1195 rpm ├── +12V rail 12.06 V ├── +5V rail 4.96 V └── +3.3V rail 3.36 V ``` ## Programming the fan speeds The Lighting Node Pro and Lighting Node Core do not have any fans to control. Each fan can be set to either a fixed duty cycle, or a profile consisting of up to six (temperature, rpm) pairs. Temperatures should be given in Celsius and rpm values as a valid rpm for the fan that is connected. _Note: unlike equivalent functionality in other drivers, this driver takes speed profiles using angular speeds in rpm, not duty values in percentage._ _Note: you must ensure that rpm values are within the min, max range for your hardware._ Profiles run on the device and are always based one the specified temp probe. If a temperature probe is not specified number 1 is used. The last point should set the fan to 100% fan speed, or be omitted; in the latter case the fan will be set to 5000 rpm at 60°C (this speed may not be appropriate for your device). ``` # liquidctl set fan1 speed 70 ^^^^ ^^ channel duty # liquidctl set fan2 speed 20 800 40 900 50 1000 60 1500 ^^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^ pairs of temperature (°C) -> speed (rpm) # liquidctl set fan3 speed 20 800 40 900 50 1300 --temperature-sensor 2 ``` Valid channel values are `fanN`, where 1 <= N <= 6 is the fan number, and `sync`, to simultaneously configure all fans. Only fans that have been connected and identified by `liquidctl initialize` can be set. Behaviour is unspecified if the specified temperature probe is not connected. Passing `--verbose` can be used to see the raw settings being sent to the cooler, after normalization of the profile and enforcement of a (60°C, 5000 rpm) failsafe. The `--unsafe=high_temperature` flag can be used to modify this failsafe to only trigger at 100°C. ## Controlling the LEDs The Commander Pro and Lighting Node Pro devices have two physical lighting channels, specified as either `led1` or `led2`. A third `sync` pseudo channel is provided for convenience. On the other hand, the Lighting Node Core has a single `led` channel. The table bellow summarizes the available modes, and their associated maximum number of colors. Note that for any effect if no colors are specified then random colors will be used. | Mode | Num colors | | ------------- | ---------- | | `clear` _¹_ | 0 | | `off` _²_ | 0 | | `fixed` | 1 | | `color_shift` | 2 | | `color_pulse` | 2 | | `color_wave` | 2 | | `visor` | 2 | | `blink` | 2 | | `marquee` | 1 | | `sequential` | 1 | | `rainbow` | 0 | | `rainbow2` | 0 | _¹ This is not a real mode but it will remove all saved effects_
_² This is not a real mode but it is fixed with RGB values of 0_
To specify which LED's on the channel the effect should apply to the `--start-led` and `--maximum-leds` flags must be given. By default the effect will apply to all LED's on the channel. If you have 3 Corsair LL fans connected to channel one and you want to set the first and third to green and the middle to blue you can use the following commands: ``` # liquidctl set led1 color fixed 00ff00 --start-led 1 --maximum-leds 48 # liquidctl set led1 color fixed 0000ff --start-led 16 --maximum-leds 16 ``` This will first set all 48 leds to green then will set leds 16-32 to blue. Alternatively you could do: ``` # liquidctl set led1 color fixed 00ff00 --start-led 1 --maximum-leds 16 # liquidctl set led1 color fixed 0000ff --start-led 16 --maximum-leds 16 # liquidctl set led1 color fixed 00ff00 --start-led 32 --maximum-leds 16 ``` This allows you to compose more complex led effects then just the base modes. The different commands need to be sent in order that they should be applied. In the first example if the order were reversed then all of the LED's would be green. All of the effects support specifying a `--direction=forward` or `--direction=backward`. There are also 3 speeds that can be specified for the `--speed` flag. `fast`, `medium`, and `slow`. Each color can be specified using any of the' [supported formats](../README.md#supported-color-specification-formats). Currently the device can only accept hardware effects, and the specified configuration will persist across power offs. The changes take a couple of seconds to take effect. ## Interaction with Linux hwmon drivers [Linux hwmon]: #interaction-with-linux-hwmon-drivers _New in 1.9.0._
Commander Pro controllers and the Obsidian 1000D are supported by the mainline Linux kernel with its [`corsair-cpro`] driver, and status data is provided through a standard hwmon sysfs interface. Starting with version 1.9.0, liquidctl automatically detects when a kernel driver is bound to the device and, whenever possible, uses it instead of directly accessing the device. Alternatively, direct access to the device can be forced with `--direct-access`. [`corsair-cpro`]: https://www.kernel.org/doc/html/latest/hwmon/corsair-cpro.html liquidctl-1.16.0/docs/corsair-hxi-rmi-psu-guide.md000066400000000000000000000120231515166127400217660ustar00rootroot00000000000000# Corsair HXi and RMi series PSUs _Driver API and source code available in [`liquidctl.driver.corsair_hid_psu`](../liquidctl/driver/corsair_hid_psu.py)._ _Changed in 1.12.0: HX1500i and HX1000i 2022 re-issue are now also supported._
_Changed in 1.15.0: HX1200i ATX 3.1 (CP-9020281-NA) refresh is now supported._
_Changed in 1.16.0: HX1200i ATX 3.1 #2 (CP-9020307-NA) refresh is now supported._
## Initialization It is necessary to initialize the device once it has been powered on. ``` # liquidctl initialize ``` The +12V rails normally functions in multiple-rail mode, and `initialize` will by default reset the PSU to that behavior. Single-rail mode can be optionally selected by passing `--single-12v-ocp` to `initialize`. _Changed in 1.9.0: changing the OCP mode or resetting to hardware fan control is not available when the device was initialized by the [Linux hwmon] driver._
## Monitoring _Changed in 1.9.0: OCP and fan control modes, as well current and total uptime, are not available when data is read from [Linux hwmon]._
The PSU is able to report monitoring data about its own hardware and basic electrical variables for the input and output sides. ``` # liquidctl status Corsair RM650i ├── Current uptime 3:43:54 ├── Total uptime 9 days, 11:43:54 ├── VRM temperature 50.0 °C ├── Case temperature 40.8 °C ├── Fan control mode Hardware ├── Fan speed 0 rpm ├── Input voltage 230.00 V ├── +12V OCP mode Multi rail ├── +12V output voltage 12.12 V ├── +12V output current 7.75 A ├── +12V output power 92.00 W ├── +5V output voltage 4.97 V ├── +5V output current 2.88 A ├── +5V output power 14.00 W ├── +3.3V output voltage 3.33 V ├── +3.3V output current 1.56 A ├── +3.3V output power 5.00 W ├── Total power output 110.00 W ├── Estimated input power 124.00 W └── Estimated efficiency 89 % ``` Input power and efficiency are estimated from efficiency data advertised by Corsair in the respective HXi and RMi PSU user manuals. These estimates are not accurate at load levels bellow 10%, in particular with the HX1500i and the 2022 re-issue of the HX1000i. _Changed in 1.11.0: temperature sensors 1 and 2 have been renamed to VRM and case, respectively._
## Fan speed The fan speed is normally controlled automatically by the PSU. It is possible to override this and set the fan to a fixed duty value using the `fan` channel. ``` # liquidctl set fan speed 90 ``` This changes the fan control mode to software control; to revert back to hardware control, re-`initialize` the device. While in software control mode, a minimum allowed duty value of 30% is enforced, for safety, by liquidctl. ## Appendix: differences in efficiency data HXi and RMi power supply units do not report input power or current to the host. Yet, the efficiency data in the user manuals can sometimes result in more conservative estimates that the input power and efficiency values iCue and CorsairLink display.1 We believe that this is the result of the use, in those programs, of a different set of efficiency curves, based on internal and unpublished testing. Additionally, the manuals also do not match publicly available data submitted for the 80 Plus certification of these PSUs.2 Unfortunately, the latter is only available for 115 V input. At this point it is important to remember that efficiency, and consequently power draw, are functions of more than just the total power output. Thus, the data in the user manuals is probably significantly less precise than it appears to be, and we believe the same could be true for the values displayed by iCue and CorsairLink. Still, we encourage Corsair to make more of its efficiency data public, which would hopefully allow liquidctl to present more precise estimates. _1 See comments in [issue #300](https://github.com/liquidctl/liquidctl/issues/300)._
_2 Available at [80 PLUS® Certified Power Supplies and Manufacturers](https://www.clearesult.com/80plus/manufacturers/115V-Internal)._
## Interaction with Linux hwmon drivers [Linux hwmon]: #interaction-with-linux-hwmon-drivers _New in 1.9.0._
These devices are supported by the mainline Linux kernel with its [`corsair-psu`] driver, and status data is provided through a standard hwmon sysfs interface. Starting with version 1.9.0, liquidctl automatically detects when a kernel driver is bound to the device and, whenever possible, uses it instead of directly accessing the device. Alternatively, direct access to the device can be forced with `--direct-access`. [`corsair-psu`]: https://www.kernel.org/doc/html/latest/hwmon/corsair-psu.html liquidctl-1.16.0/docs/corsair-platinum-pro-xt-guide.md000066400000000000000000000106201515166127400226650ustar00rootroot00000000000000# Corsair Hydro Platinum, Pro XT and Elite RGB all-in-one liquid coolers _Driver API and source code available in [`liquidctl.driver.hydro_platinum`](../liquidctl/driver/hydro_platinum.py)._ _Changed in 1.13.0: support added for the H100i and H150i Elite RGB models._
_Changed in 1.14.0: the H115i Elite RGB is now supported._
## Initializing the device and setting the pump mode The device should be initialized every time it is powered on, including when the system resumes from suspending to memory. ``` # liquidctl initialize Corsair Hydro H100i Platinum └── Firmware version 1.1.15 ``` By default the pump mode will be set to `balanced`, but a different mode can be specified with `--pump-mode`. The valid values for this option are `quiet`, `balanced` and `extreme`. ``` # liquidctl initialize --pump-mode extreme Corsair Hydro H100i Platinum └── Firmware version 1.1.15 ``` Unconfigured fan channels may default to 100% duty, so [reprogramming their behavior](#programming-the-fan-speeds) is also recommended after running `initialize` for the first time since the cooler was powered on. Subsequent executions of `initialize` should leave the fan speeds unaffected. ## Retrieving the liquid temperature and fan/pump speeds The cooler reports the liquid temperature and the speeds of all fans and pump. ``` # liquidctl status Corsair Hydro H100i Platinum ├── Liquid temperature 27.0 °C ├── Fan 1 speed 1386 rpm ├── Fan 1 duty 50 % ├── Fan 2 speed 1389 rpm ├── Fan 2 duty 50 % └── Pump speed 2357 rpm ``` ## Programming the fan speeds Each fan can be set to either a fixed duty cycle, or a profile consisting of up to seven (temperature, duty) pairs. Temperatures should be given in Celsius and duty values in percentage. Profiles run on the device and are always based on the internal liquid temperature probe. The last point should set the fan to 100% duty cycle, or be omitted; in the latter case the fan will be set to max out at 60°C. ``` # liquidctl set fan1 speed 70 ^^^^ ^^ channel duty # liquidctl set fan2 speed 20 20 40 70 50 100 ^^^^^ ^^^^^ ^^^^^^ pairs of temperature (°C) -> duty (%) ``` Valid channel values are `fanN`, where N >= 1 is the fan number, and `fan`, to simultaneously configure all fans. As mentioned before, unconfigured fan channels may default to 100% duty. _Note: pass `--verbose` to see the raw settings being sent to the cooler, after normalization of the profile and enforcement of the (60°C, 100%) fail-safe._ ## Controlling the LEDs In reality these coolers do not have the concept of different channels or modes, but liquidctl provides a few for convenience. The table bellow summarizes the available channels, modes, and their associated maximum number of colors for each device family. | Channel | Mode | LEDs | Components | Platinum | Pro XT/Elite RGB | Platinum SE | | -------- | ----------- | ------------ | ------------ | -------- | ---------------- | ----------- | | led | off | synchronized | all off | 0 | 0 | 0 | | led | fixed | synchronized | independent | 1 | 1 | 1 | | led | super-fixed | independent | independent | 24 | 16 | 48 | The `led` channel can be used to address individual LEDs, and supports the `super-fixed`, `fixed` and `off` modes. In `super-fixed` mode, each color supplied on the command line is applied to one individual LED, successively. LEDs for which no color has been specified default to off/solid black. This is closest to how the device works. In `fixed` mode, all LEDs are set to a single color supplied on the command line. The `off` mode is simply an alias for `fixed 000000`. ``` # liquidctl set led color off # liquidctl set led color fixed ff8000 # liquidctl set led color fixed "hsv(90,85,70)" # liquidctl set led color super-fixed ^^^ ^^^^^^^^^^^ ^ channel mode colors... ``` Each color can be specified using any of the [supported formats](../README.md#supported-color-specification-formats). Animations are not supported at the hardware level, and require successive invocations of the commands shown above, or use of the liquidctl APIs. liquidctl-1.16.0/docs/ddr4-guide.md000066400000000000000000000113661515166127400170120ustar00rootroot00000000000000# DDR4 DIMMs _Driver API and source code available in [`liquidctl.driver.ddr4`](../liquidctl/driver/ddr4.py)._ Support for these DIMMs in only available on Linux. Other requirements must also be met: - `i2c-dev` kernel module has been loaded - r/w permissions to the host SMBus `/dev/i2c-*` device - specific unsafe features have been opted in - the host SMBus is supported: currently only i801 (Intel mainstream & HEDT) Jump to a specific section: - [DIMMs with a standard temperature sensor][ddr4_temperature] - [Corsair Vengeance RGB][vengeance_rgb] - *[Inherent unsafeness of I²C/SMBus]* ## DIMMs with a standard temperature sensor [ddr4_temperature]: #dimms-with-a-standard-temperature-sensor Supports modules using TSE2004-compatible SPDD EEPROMs with temperature sensor. Unsafe features: - `smbus`: see [Inherent unsafeness of I²C/SMBus] - `ddr4_temperature`: access standard temperature sensor address ### Initialization Not required for this device. ### Retrieving the DIMM's temperature ``` # liquidctl status --unsafe=smbus,ddr4_temperature DDR4 DIMM2 └── Temperature 30.5 °C ``` ## Corsair Vengeance RGB [vengeance_rgb]: #corsair-vengeance-rgb Unsafe features: - `smbus`: see [Inherent unsafeness of I²C/SMBus] - `vengeance_rgb`: access non-advertised temperature sensor and RGB controller addresses ### Initialization Not required for this device. ### Retrieving the DIMM's temperature ``` # liquidctl status --verbose --unsafe=smbus,vengeance_rgb Corsair Vengeance RGB DIMM2 └── Temperature 30.5 °C ``` ### Controlling the LED Each module features a few *non-addressable* RGB LEDs. The table bellow summarizes the available channels, modes and their associated number of required colors. | Channel | Mode | Colors | | ---------- | ----------- | -----: | | `led` | `off` | 0 | | `led` | `fixed` | 1 | | `led` | `breathing` | 1–7 | | `led` | `fading` | 2–7 | The LED colors can be specified using any of the [supported formats](../README.md#supported-color-specification-formats). The speed of the breathing and fading animations can be adjusted with `--speed`; the allowed values are `slowest`, `slower`, `normal` (default), `faster` and `fastest`. ``` # liquidctl set led color breathing ff355e 1ab385 speed=faster --unsafe=smbus,vengeance_rgb ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ channel mode colors speed enable unsafe features # liquidctl set led color fading "hsv(90,85,70)" "hsv(162,85,70)" --unsafe=smbus,vengeance_rgb # liquidctl set led color fixed ff355e --unsafe=smbus,vengeance_rgb # liquidctl set led color off --unsafe=smbus,vengeance_rgb ``` ## Inherent unsafeness of I2C and SMBus [Inherent unsafeness of I²C/SMBus]: #inherent-unsafeness-of-i2c-and-smbus Reading and writing to System Management (SMBus) and I²C buses is inherently more risky than dealing with, for example, USB devices. On typical desktop and workstation systems many important chips are connected to these buses, and they may not tolerate writes or reads they do not expect. While SMBus 2.0 has some limited ability for automatic enumeration of devices connected to it, unlike simpler I²C buses and SMBus 1.0, this capability is, effectively, not safely available for us in user space. It is thus necessary to rely on certain devices being know to use a specific address, or being documented/specified to do so; but there is always some risk that another, unexpected, device is using that same address. The enumeration capability of SMBus 2.0 also brings dynamic address assignment, so even if a device is know to use a particular address in one machine, that could be different on other systems. On top of this, accessing I²C or SMBus buses concurrently, from multiple threads or processes, may also result in undesirable or unpredictable behavior. Unsurprisingly, users or programs dealing with I²C/SMBus devices have occasionally crashed systems and even bricked boards or peripherals. In some cases this is reversible, but not always. For all of these reasons liquidctl requires users to *opt into* accessing I²C/SMBus devices, which can be done by enabling the `smbus` unsafe feature. Other unsafe features may also be required for the use of specific devices, based on other *know* risks specific to a particular device. Note that a feature not being labeled unsafe, or a device not requiring the use of additional unsafe features, does in no way assure that it is safe. This is especially true when dealing with I²C/SMBus devices. Finally, liquidctl may list some I²C/SMBus devices even if `smbus` has not been enabled, but only if it is able to discover them without communicating with the bus or the devices. liquidctl-1.16.0/docs/developer/000077500000000000000000000000001515166127400165165ustar00rootroot00000000000000liquidctl-1.16.0/docs/developer/capturing-usb-traffic.md000066400000000000000000000130351515166127400232410ustar00rootroot00000000000000# Capturing USB traffic ## Preface A fundamental aspect of developing drivers for USB devices is inspecting the traffic between applications and the device. This is useful for debugging your own drivers and applications, as well as to understand undocumented protocols. In the latter case, a possibly opaque and closed source application is allowed to communicate with the device, and the captured traffic is analyzed to understand what the device is capable of and what it expects from the host application. ## Capturing USB traffic on a native Windows host Get [Wireshark]. During the Wireshark setup, enable the installation of USBPcap for experimental capturing of USB traffic. Reboot. To capture some USB traffic, start Wireshark, double click the USBPcap1 interface to start capturing all traffic on it, and proceed to [Finding the target device](#finding-the-target-device). _If you have more than one USBPcap interface, you may need to look for the target devices in each of them._ ## Capturing USB traffic on Linux _and capturing USB traffic in a Windows VM, through the Linux host_ You will need to install [Wireshark] from your favorite package manager. You may have to run Wireshark as root to be able to capture USB traffic. Alternatively you can give the your normal user permissions to capture traffic by adding your self to the `wireshark` group and granting yourself read permissions on the `/dev/usbmon*` devices. Some extra steps may be needed, you can follow the instructions [here](https://wiki.wireshark.org/CaptureSetup/USB). Note you may need to logout and login agin for these changes to take effect. The general steps are as follows: 1. [Create and configure a Windows VM](./creating-vm-for-capture.md). 2. Start listening for the device USB traffic on Wireshark. 4. Start changing device settings using the application running in the Windows VM and watch the messages appear in the Wireshark interface running on the host OS. 5. Success! To capture USB traffic after setting up the VM, start Wireshark and select the appropriate `usbmon` interface for capturing traffic to your device. You can select them on the main screen, or in the Capture -> Options menu. If you aren't sure which usbmon device is correct, select them all then proceed to [Finding the target device](#finding-the-target-device). ![usbmon interface](./images/wireshark_1.png) ## Finding the target device [Finding the target device](#finding-the-target-device) Wireshark captures USB traffic at the bus level, which means that all devices on that bus will be captured. This is a lot of noise, so the first step is find the target device among all others and filter the traffic to that device. _For this example, assume the target device has vendor and product IDs `0x1b1c` and `0x0c1a`, respectively._ First, capture some USB traffic and apply a filter to the captured traffic (via the top bar) to filter out everything except the `GET DESCRIPTOR` response for this device. ``` usb.idVendor == 0x1b1c && usb.idProduct == 0x0c1a ``` ![Wireshark 4](./images/wireshark_2.png) Next step is to get the device address so that we can tell wireshark to only capture traffic to our desired device. Select one of the `GET DESCRIPTOR` response packets, expand the USB URB section in the packet details, and find the "Device: #" line. This is the device address.   Right click the "Device: #" entry, choose "Apply As Filter", then "Selected".  In the screenshot below the device number was 9. ![Wireshark 5](./images/wireshark_3.png) This will change your packet filter to something like `usb.device_address == 9`, which is exactly what we want.  Now only traffic sent to that specific device will be displayed. ![Wireshark 6](./images/wireshark_4.png) For convenience, you may want to save your filter for future captures.  Click on the bookmark icon immediately next to the filter to save it. ## Exporting captured data There are two main useful ways to work with Wireshark captures of USB traffic. The first is within Wireshark itself, using its native PCAP format (or any of its variants), which is useful for manual analysis. _PCAP files are also the preferred way of storing and sharing captured USB traffic._ You can simply File -> Save to export captured traffic from Wireshark. But for more control over what will be exported (for example, only currently filtered/displayed packets), File -> Export Specified Packets is generally preferred. The other way of analyzing USB traffic is through external, and sometimes custom, tools. In theses cases it may be helpful to additionally export the data to JSON (File -> Export Packet Dissections -> As JSON). Plain text or CSV dissections are _not_ very useful with USB data, since Wireshark tends to truncate the long fields that are of our interest. ## Next steps Once you have your usb capture (probably in a `pcapng` format). You may find it easer to look at the data outside of Wireshark since Wireshark sometimes limits the number of bytes shown to fewer then the amount you want to look at. I generally like to use `tshark`, one of the cli tools that comes with Wireshark to extract the only the fields I care about so that I can easily only show the fields I can about and can use other bash commands to separate the fields and remove some of the extraneous messages (for example Corsair iCue sends a get status message every second which I am generally not interested in). Next steps would be to take a look at [analyzing USB protocols](techniques-for-analyzing-usb-protocols.md) [Wireshark]: https://www.wireshark.org [USBPcap]: https://desowin.org/usbpcap/ liquidctl-1.16.0/docs/developer/creating-vm-for-capture.md000066400000000000000000000152761515166127400235140ustar00rootroot00000000000000## Virtual Machine Setup for Traffic Capture Capturing traffic between the source application running in a VM and your device requires a little setup, but once in place gives you a handy tool to capture USB traffic. There are a few nuances of which you should be aware to correctly set up a VM for USB traffic capture, and this doc will walk through the steps required using a reference configuration in an attempt to make the steps as clear as possible. Your configuration will likley differ from the reference configuration, but hopefully having a working reference will be helpful to adapt to your environment. #### Reference Configuration #### - Virtual Machine Manager: [virt-manager](https://virt-manager.org/) - Guest OS: Windows 10 64-bit - Host OS: Ubuntu 20.04 - Source application: Corsair iCue In short, the reference configuration will be running Corsair iCue in the Windows 10 guest VM, and capturing the device USB traffic in Wireshark running in the Ubuntu host OS. ### Basic Steps ### 1. Enable Virtualization in your BIOS 2. Install a Virtual Machine manager. 3. Create a  Windows VM 4. Install and run your device controlling software in the Windows VM (Corsair iCue in this example). 5. Capture the traffic. ### Step 1. Enable Virtualization in your BIOS Ensure your motherboard enables hardware support for Intel VT-x or AMD-v.  These features are required in order to run a 64-bit VM, or have a VM that supports more than 1 CPU core.   In most modern motherboards these features are disabled by default, so you may need to enable them in your BIOS.  The exact setting to check is motherboard dependent, but should be something in the "virtualization" universe.  [This post](https://forums.virtualbox.org/viewtopic.php?f=1&t=62339) lists a few of the common settings, but to save you a click you can look for the following: - "Enable Virtualization Technology", - "Enable SVM Mode" (AMD CPUs), - "Enable Vanderpool Technology" (Intel) - "Secure Virtual Mode" - "Intel (VMX) Virtualization Technology" If you poked around and can't find a setting that seems right, and your motherboard is somewhat recent, then it might be enabled by default and you can just move on the next step.  You will know for sure whether it is enabled if you are unable to create a 64 bit windows 10 VM in step 3.  If that's the case, then you'll need to look harder for the setting in your BIOS, or get your Google on. If you do make any changes in your BIOS then do a power cycle (turn the computer totally off, then on) to ensure the BIOS changes are enabled.  Sometimes a reboot doesn't do it, and the extra few seconds turning the computer all the way off is a good investment to eliminate variables. ### Step 2. Install a Virtual Machine manager There are several capable Virtual Machine managers that can be leveraged for running the Windows 10 guest VM, but [virt-manager](https://virt-manager.org/) will be used for the purposes of this document. [VirtualBox](https://www.virtualbox.org/) is another popular choice. Install virt-manager via your package manager of choice and start it up. ``` virt-manager ``` You might get a warning about a missing daemon running.  If so, enable the daemon. Reboot.  ### Step 3. Create a Windows VM With the hardware all set to go and virt-manager installed, its time to create the guest VM running Windows 10.  First, download the Windows 10 ISO:  https://www.microsoft.com/en-in/software-download/windows10ISO Start virt-manager ``` virt-manager ``` After Virtual Machine Manager opens, create a new VM by selecting File -> "Create New Virtual Machine", or click this icon in the toolbar. ![Create a new virtual machine](./images/create_vm.png) If you see a warning message on that "Create a virtual machine" screen that KVM is not available, then this is a sign that virtualization is likely disabled in your bios.  Please see step 1.  ![Create VM 1](./images/create_vm_1.png) If you continue forward without resolving this, then you are likely to encounter this scary message at some point. ![Create VM 2](./images/create_vm_2.png) Assuming you are all set, then ensure the "Local install media option" is selected, then select "Forward".  ![Create VM 3](./images/create_vm_3.png) Choose the ISO you downloaded previously, and click Forward.  ![Create VM 4](./images/create_vm_4.png) Allocate sufficient CPU and memory (I chose 2 CPU and 4 GB of memory).  Click Forward. ![Create VM 5](./images/create_vm_5.png) Next choose as much disk space as you deem necessary (I chose 50GB).  Click Forward. ![Create VM 6](./images/create_vm_6.png) In the last screen, check "Customize configuration before install, and click Finish. ![Create VM 7](./images/create_vm_7.png) This will take you to this screen: ![Create VM 8](./images/create_vm_8.png) This is the screen that enables you to make your attached devices available to the guest VM.  The reference machine used in this doc has a Corsair Lightning Node Core, Corsair Commander Pro, and Corsair H100i RGB Pro XT attached, so all three of them need to be added.  To make them available to the guest VM, click "Add Hardware", then select "USB Host Device".  The right side of the screen will list off the USB devices attached to your motherboard.  Select the device you would like to add and click Finish.  ![Create VM 9](./images/create_vm_9.png) Repeat this for each device you would like to add to your guest VM.  Once added, they will show up in your VMs hardware list.  In the screenshot below, the 3 Corsair devices that were added are shown as the 3 USB devices. ![Create VM 10](./images/create_vm_10.png) Before moving on, please note your device's productId and vendorId. These are displayed in the hardware list, and you will need them to filter your wireshark traffic. Write down the product id and vendor id for the device whose traffic you will be monitoring. Then, click "Begin Installation" in the non-obvious upper left corner and follow the on-screen instructions to install Windows 10. ### Step 4. Install and run your device controlling software in the Windows VM. Once Windows 10 is installed, install the software that will control your device.  In the case of a Corsair device, the software is Corsair iCue.  Download the latest version from Corsair's website and install it.  When you run it for the first time, it should auto-detect your devices, allowing you to control them as you see fit.  ![iCue](./images/icue.png) ### Step 5. Capture the traffic. At this point you should be all set to start capturing taffic between the guest VM and the host device. Follow the instructions for [finding the target device](./capturing-usb-traffic.md#finding-the-target-device) on the Capturing USB traffic page. liquidctl-1.16.0/docs/developer/hwmon.md000066400000000000000000000064471515166127400202030ustar00rootroot00000000000000Interacting with devices with Linux hwmon drivers ================================================= The Linux kernel has being gaining drivers for the devices that we support, and these drivers generally include a hwmon interface. It is useful to detect the presence of a hwmon driver and, if possible, to leverage it for improved performance and/or to prevent racing with the kernel driver. This document presents some guidelines on how to work with hwmon-enabled devices in liquidctl. Defining some terms ------------------- _Operation:_ a method call like `initialize()` or `set_fixed_speed()`, or its equivalent CLI command. Detect and log the presence of a hwmon driver --------------------------------------------- This is done automatically for HIDs being accessed through hidraw: a `_hwmon` field with be present and not `None` when a hwmon interface has been detected. The value is an instance of `liquidctl.driver.hwmon.HwmonDevice`. Detection has not yet been implemented for other devices. However, at the time of writing this, all liquidctl devices with hwmon support are HIDs, and using hidraw is the default (although its available depends on how cython-hidapi was compiled). Delegate to hwmon if possible ----------------------------- This generally improves performance and/or prevents races with the kernel driver. It can be acceptable to slightly reduce the feature set in order to still use the hwmon interface. Especially if the lost features are minor. Delegating to hwmon can be done on API-by-API basis. Log (INFO) when an operation is delegated to hwmon -------------------------------------------------- Example: ```py _LOGGER.info('bound to %s kernel driver, assuming it is already initialized', self._hwmon.driver) _LOGGER.info('bound to %s kernel driver, reading status from hwmon', self._hwmon.driver) ``` Warn when an operation is degraded while delegated to hwmon ----------------------------------------------------------- Example: ```py _LOGGER.warning('some attributes cannot be read from %s kernel driver', self._hwmon.driver) ``` Allow forced direct access despite hwmon ---------------------------------------- Operations should accept a `direct_access` argument, equivalent to a `--direct-access` option on the command line. Warn when directly accessing through force ------------------------------------------ Even if the operation does not (currently) cause an access race, we want to encourage users to rely on hwmon, when possible. Example: ```py _LOGGER.warning('forcing re-initialization despite %s kernel driver', self._hwmon.driver) _LOGGER.warning('directly reading the status despite %s kernel driver', self._hwmon.driver) ``` Do not warn if hwmon does not (yet) support an operation -------------------------------------------------------- Logging in those case is optional, but not especially encouraged. Useful resources ---------------- [(linux/doc) Naming and data format standards for sysfs files](https://www.kernel.org/doc/html/latest/hwmon/sysfs-interface.html) [(linux/doc) Hardware Monitoring Kernel Drivers](https://www.kernel.org/doc/html/latest/hwmon/index.html#hardware-monitoring-kernel-drivers) [(linux/doc) `/sys/class/hwmon/` ABI](https://www.kernel.org/doc/html/latest/admin-guide/abi-testing.html#file-srv-docbuild-lib-git-linux-testing-sysfs-class-hwmon) liquidctl-1.16.0/docs/developer/images/000077500000000000000000000000001515166127400177635ustar00rootroot00000000000000liquidctl-1.16.0/docs/developer/images/create_vm.png000066400000000000000000000025321515166127400224400ustar00rootroot00000000000000‰PNG  IHDR5/ÌÉÚ!IDATX 혋OZWÇýר²nMF:¡øëT. PP¤€¢Ö""j¡«­]kÕv©ÆmUÒnØà`_ ®Ãއ bÅŽ7—÷].ÔÛT×íH»Ädœßû»ßÃïÃ÷$(°�íQŸí‘çû°óÉç—S~6›-»ïŒæ—çËéX±Mÿ£ü‘°%š‡Cw#�A8Ð Há  öÀAœ€ƒO"ám,@ññò‹ØQ¸à 8 �øÙ°ŸšŒiS ìo‚Ü åm8ø ³�ò�ÆÉɩᑑ¿�jõÐÌ#᳟æµz—­Òç)… I" òþÜ/u¼$¿0CÖ-9ÖP€òMLÜ·lmÅGã­J$ñxÌ ÏEC 8À‚}•±pW*¹�dF*¹ _‰øk¼Œ�U fåT*£ÑèeáUž|rR™Å qA[ƒ·$‘%{wM¥“»›Ï¹Xc@Ê'…Â8<ùÆøƒ›ß<¼qç�f|Zs{zôÖäð͉oõ..r^lÖÁ¡{ïb½½JÅŸ>_­ÄÂl |ýý×ü~O–�ÜRŒŽªïÈGn÷)oö(4]×®ÏÌ]}<ß¼±VåÙ+‰Ã o¡ŽT2¶ñÖm¬Vc�(_o_ßáá!O–ö�Š{‡E=J¡LÙÞ¥hËy¢þ¼²²"1*w¶KÂ^J:?{óñSÂÞ†•_þ3¾n™ÌívãðäN™’/à ¯²Úet^W[ÔÀ¤SÎdtn×Ùù›¹$ðš| AŸ ¼fêuµ€±a6Ðü$©ÓéÄáÉm¢kA/£µ»™#¦0…5P;¹‘‡ ‘T\Ÿ€ÇƒÞŽW;­(_:–ˆêâðB:BÄiïö{„�¿£b�(ŸHtÅfµâðä¾ âJ©,Q½£ª¹µ¼árqm ‚ ©¤#›÷¾|¾qù`Úå¨v;I{N’ý�ŠÝ�qÃÏ\�[qÿ.  ³�òuY¾Fz Õ4~%•[ZË"]bV4g4ùL¯o üú×§æç ODç÷?îO�Ý;“r9k (@ùÚøü,_mæ@Ëë9E5LB%íBYÓ—%Ÿß/” �#^ª¨/ãv�ºû.G4„áë…Š(é!²ùEÛŽ_ùím€X˜ ”�ËåY,ž\ÑÀ)©m¹X](oÆ—RΓêÏjˆ•Ð'ª²ŸÛçIeu¥Í¬b¯˜Î-jdU—}N¬°ünáryXc@ÊÇfsÌf3OÎö©î3Bͧ_UŸü.y_Ål6³Ù@,ÌÊÇd¶¬¯­7±:ß×þŸëMìÎõõu&³k (@ùètºiyÙd2m½Ü²Z­‡Ãåríí¹^ú|¾`0ÊŒ@ àõz=Ïþþþîî®Ó¹m·Û———MË&:�ˆ…Ù@ùh4È`4ŒèÃ`4ÑÅ�¨F‹Ø�¬ÏˆúÐ"jÍÜ7i4k (@ù¤Ò®©©i½^¯_B—̺ôFg hiéhÉxÐe)ëAåÔÔ´TÚˆ…Ù@ùffgÅb …BÍyŠÅ’™ÙY¬1 å;ùr›››:�‚ ÂB± A�N§[[[?¹ë´•ù´Zm‡@ —¨T*µZ=666~4ÆÆÆÔjµJ¥ê´ÚÓóçȧV«étÆ¿N�Fs¬ßi/sä;m›œýy¾œ£ËlÌç—ÏïÃøH»Ïèÿ§Ø»ËóaQä$ Nþ¨>S•<߇ÇYÏï/ªâC´óT}¹IEND®B`‚liquidctl-1.16.0/docs/developer/images/create_vm_1.png000066400000000000000000001227401515166127400226640ustar00rootroot00000000000000‰PNG  IHDRø4ìG IDATxì�‡_Ùúÿýc~»{w÷~÷Þ»¢îºº*I½÷.Ulˆ€H°�(ö‚‚ˆE¥H/‚ ½÷Þ!ÉÌþ^3I&“d’ÂJðÉ+/8™9sÎó¼Ï™Ïœ9sòdKWWW{{{FF†¹™™ƒ±çï¿ÿܱcÛÖ­ð@e!°CEåÏ;þÞµ‹Å`˜››gdd´··wuuõööö÷÷oéèèÈËË373SÝ»w‡ŠŠ²xv €-Õ={ÌÍÍóòò:::º»»{{{·ÔÖÖž;wnßž=´ÀF €P:ª{ö\¸p¡¶¶–¯õ[²³³uuua,¯t  dØ¡¢¢««›““ÓÖÖÖÙÙ¹%%%eÏîݲrÃv €PFïÞ�’’ÒÒÒÒÞÞ¾%11ž¾*c+‚Í@9þܱ#11±©©©µµuËýû÷åd…]@  Œv¨¨Ü¿¿¡¡¡¹¹yK\\œ2ú6 ¾šnµýûwÛ¿×ÛùûJý�‹‹«««kllÜr&"`¥C~ €XWšn�×û½Übk§Ý6òýÞrk´Öïš.÷{NwïÞ­©©©¯¯ß|þȺš … €Àаþ×j«Bê»D¢ÕV%LýË)ðÎ�;ÕÕÕµµµ[®^‡ýr/�Ë! y€_Cà®îïÊNû1RC±Öߺu«ªªêãÇ�[¢b=¾Æ&8 ÖŠ@ë´²N»Ñ�©@ëoݺõþýûêêê-—£Ý×ÊD( VM€¹ãw±ûí4úNÙØj«ÂÜ!ï í�7***>|ø°%òÊÑU›�u$°ÝðfÍ4†Œ—Ä:ý½M…‰å“>‹aܾ§ûwn[›ª·í ÌB1l¶þ¶É¢XO_là ¯?ÞM•í—9‹bèLõyã¿D•î´xÐ0ƒb¼º[Ž;T`ö¬�ëÚ”á¼ýv¤®dô¦?UëGoú#u%�­—?�sýúõòòòÊÊÊ-—‹ú.­‡_è1 å ¼8iÀÓµú­[YÉ£<ã6GYîœ *Û¬¯Tr1ŒÛ™d·s»UžÆ0¤+Õ{ÿ’£¢¢}2cA1 N÷ÛÑ7N·QfKª-ÅÖØŒÞôÿ²¸0v'˜¯õùk¬ä]`®]»VVVöþýû-ç/¡‘€Pèq‰�¬¹d³oÛÖ­’B¿ƒu0âYeÇÈìÌT_cAœ¿åîm*Û¶©†e�¡Òçú‡ŠÊzg?Î"£Y{TT¶íõÊ›àa¼Žëv”°»¼ìãb¯ö¦ã|ÉÞa|·~Ãx wœÿTùãhb7‚ =†N¿Ñûgõ‡ñ�Úi”Ø8UzIs»èV`#’Tfíû~xêí¤yKŠ;™ ðùi9«-¯^½ZZZZQQ±ål„Û÷ƒÚÛU¶ž)à ØTi¤Æömê¾éSÆíN²Û¹m×þÛ}<”Û—ìøeæGå�ƒq͆qÛ¬‰¡¿¬bÛ¹(Æm¼d¾k›Êî ×(† ôöóP¤ážëŸ**ŒC‰ƒ<Þh_ß‚Í6Å™Qæ|”‰0\6‹]4Bßi·�/ñ_$¦qHÅ·Ø%sš>66¶¤¤¤¼¼|Ë™ó k��H@ ôœ‚‹μîF0¤#ÍÏØO4G¿CãTé$‚Î|¸`‚�ãõ³&t²(\}»Ê†êfQd,óÈž¿<ãqNm¸Én³ðR.†ô=?!1Ùò—å•V.ŠñzîºìݦòÇ�{M†N–GélWÙ¶]+ªl ÃfßDE�ñxC™GYçóFQnÛÝðû�<”7”êL½ll$íØˆÍ |d°ý{í…>&&¦¸¸ú�s.ЀÀF$@ ýyã?T]SÚfQÞP~ÞŽðaìžCIãø,¹Ø •ÿ¹mÛã;u3¯ó†“ýƒæYîøØo&+Ø<$kEÆSO°%ýÝ®}¥lÅ�Î'írJíæ`Èø+íí*[·í0�k˜ÅЉ§Ç4<Ÿt!ètñÓ”2QvYßìbý,ŠNg{ìÙ.Y Œ“²Y4ÿ› çØÉ2AäÉ„œ©›˜˜˜¢¢"\èOŸq–U1lß’Eè·«lÝ·ÿzË,ª\°êfÏ‘'“†L7¤Ý¼výšà{î�úv•m*ÛnÔó0nå³§u³³Å×.åŒpß<Ëä"¹Þ,©ËTQÑôKŸ@PÞÈ›àà”Q|z'Íu>½£ò§ý³Æë½ë¼G0ðÇ0Œ7úÜGs‡fÐû›)=¥þÇ·•MA`ç¶­ Öb߆•w‰�|¡¯¶”÷06&&¦°°°¬¬lKP˜ôQ ° ˆ ý6•¿\oä#xþòÊzgªgŒ7ð*Ôòoâqè_ªšìÝ‚É÷¿¬¯¶s„ÇC8 ‘¡oG�‡¢#o‚U…‹5żÞíô¼›ƒ¡œÉ)|ÑäÇ›fUvz3Áøí±Ö»¶mW�(G1ŒÛ‘d·kÛv†OÑ4Šq>^0Ú)VÔ¦ÐðèŸ'­E™½±ßŽÔKÌËK/¯¼®-ï;SÑÑÑ¡qøçý��€bB¿uë¶ÝöI-³¸Îò×ÑoÛwüI _âˆÌŽ �Nñx#‰‡öòKVÙav¿iðٖûlÓ |;�`2þÂWŸ�‘Öb•íÖQïùd²$@‹X]³uë¶}' q5¯¿hö×6¦ktvþ»G&;T¶ªì>–;�bܶkáºLéba X6Í?Åõ”õòäD u½Â/L]¹r¥   ´´tË©Óûi:ý²-ƒc�Àz�zöѤ~|^Eø…©ìß–· LqxÜ™ÑÎ�ï.;3:®² _ÿŽ"ÍqþPQÙÎö/™Dxƒ/î•9Ÿ¾�u€Ø|@è7óýÚæë¯à« BB€Øä6œÐÿäùà_^þåµÉ¹¯âš ‡ VG`£ý¿¼ü×ïÖßaÑšÃu#/è\ºÀ�Øy:ö7Ÿ;?y>X�op@l”‡±ÿñ½­~ÑâjˆËÝ÷_¯D¯DŸÃüo˜ÄœÙ{&ê×qÐZß1�„½·«n–V«y'üã¶Gæû¼,Þw⟯nj�ÀšøÆ#úŸ<l¼n}Æ-îä©§^¯Ž^{ëv'×õVÎ�جƒç_õ}ìíx'P7òÂo¾wþñ“|Í(o6Ë=“ìò'¦&ûì‚þ#®=t,ã-ÍXùþójûЦpvq~ØÁŸ®êštH °JßXèUNÝ0�9ãñÐ7<ýÈýw./+ö¿«µí¼Ý;ú0§Æ.¥ÌáVÎ�ÐçÇÜâNê^:ÿï÷V$+¿œ|áüªõÝwznq~îSWßЃ¬ÕSk®M�lrFºGÚ´�ÓiÁ¦üš±g²ó§¥…™àˆD-²¶L6¬Ð+ä°ÊÓRU( ¬’À·úŸ¸§ùÜÑxßÈW‡Ÿ–87Ø´öXLŒ;,-!_–æFÇ\:-s?ÚÆç»„=ww¹ v!ò_^Ë�¯ÿíLaÊèüÒÒÒÌäD懎GU½ECȧϳ!eiÓ* þè‘äYûi�Ó¥ó &Vmó×øë©šÉÿ’y[[&Uè=âqøZΠø@`M|K¡ßsæŠã�À3iîIENMÖÃ#æ¼»9ìõâõy.™¶èê·xWk{/ÏÕÿ©—åÕ�ßýo.ÇíŸN¼Šê�[Z@RS³þO´€'AålÚožk~î­­¨­¹yߤÀµe²q…~9½ò�oN`B¯|ïxäÍkׯ¯ÉûæÍØÔÔàü¯šJ×î6»éQkŒsb}¹´´Àú/_–æÑ4lÖ}|ȶ­qváÁ Oüç/-YÂÞG=œÅ¥Æüœ_臜 »oTÅ×�¶ÍÌ¡ K(Â{•šñ‘óÿB²Ï¾îæ}þ4÷©¹½ãØå§üí?zÄÿv¾äY×ô0úùóÂÂØØX|Ú[á55¡Í_¾|YÌzšª°4ª²K¦jtã~}Zëx'aóçÏs�ÝÝ'c“Ió~ôˆ—aüC³¼é…ÅÙ°HÁ­ÌÞ™÷Æ&kJ„p˜És‹¼¨˜$ŠU­ fg‚ÂE7@*W‡Þ<}þ“uæš& é[Ÿ¼ß$N/pëËø–Èæ Gèq,/ÚXæ>¡µõ�V—²¼r»+ÇPtaarb<îÙë_…WwÙUà¨ÿôúTñ@Ëìü§ÏŸGÇÇŸ¼xºˆ~ìœ@>ÏKbã°Ú¢¶2¤�ÀºX�Ð{E\oliA1lqiq Þ‹3 sóØý9äÜâBç—/Ÿ)Z)‘\XZè9›üÚKÿò¹_¼­Àñ|æ×ôiiaÒûŒH¤(ÿ#_§–>ÕÔwÜÈk¼QÖuîö³Ÿ<â Î>¹ð�I+¬Ï묞]\ÀÆ�ŸòaEq5×sê³›3?-.Í¿~ú‚ÐY\Ô?MÝ{õ!èŇ U¶�TTÕÙ%S›œÐ”E¬¢¦ýz~ó�ÊÁNlqinÒ÷Â#~QrŒÿãNÛôâBæÁåçßg*>Ì/Í�·¨ *.Η`œÐ‚8ÆŸƒŠ ç[ò³‰ë ÕjZx,iP´BOÇaùB¿ízóøâbZb²€­wÆ�‘ÏX�‚FüÁûõý‰…OýõRÚš(AÊ; vëâs6ñ‡ã¯®ÍUd_î�ï/ËÿÙ#~oR/¶@¿ioR/º€Þ¸�ÏDý�ØÍ[à^Šæ�”©òGM“Ó0Q(ô²9¬@èÿYÓ±°�›’&¸ny¥…÷ÌÏ 5î"\V?Ì-MVIݽIzGÅ._è©95É @`]¬Rè=üÏ{œ§#O/ëpöü�ûÞé¯VTØ÷tX¢3fŸ?�òJ&æŠ&GÌ0ŽÇ'^Dî›cº—Îÿrü>U%iÒž)§Ûç¾,Œ»‡È�£Ýïãd*.š[âv4Zßʵ ¼Íb_þÛ3þGïÌCó Ÿfž¾©pº›gû âÙðg9B¯ 4ê}†¼’©M.­8/£>óo8V÷{T]÷ÂÂÛäç¿�{_3Ç �J2Í�ú4Ö¢z<éH5:7Ñʤ›æú%¨8[ì)}÷³çÏZln¢•%ÈF5†š& ¦úcµŸxÝzÂu¨b#zyV$ôÕ­ ïRù�Oâôz~¶k^p{'» >À‰e ½»"¡åTØ@4ݘÚI ¾ŽÀ*…þð‰ÐCÞ!�Ÿ>äB¼C{‡ò=x<ä€gðrÞ‡½#®Kxä’�mW÷ÑrdÀ|a¾ŠÔw2±ø¹¡§Ãã|B®g¾òÞwöò2N‰­ôÑù¥Åª7YR4¾ÑhÓ'Þ>žYø4Ðð—äÍ;~Èÿ.}ì\X¨ÈÌŒ=Ÿx7Ì …þÑÑšO‹h�å[òòK£º ·dR7iGô"QXÝÞ™wÆfßë¥ Ó�ZÞ Û®5 ž ‰~÷lf¡­ ‡”ç��èç™.ýзèB]Îa6*@jš4˜†É��*�¥ÏÃ΂)5ªÐËå°6B/§ þÔʧþú?$[_Ò»Ž‹°/_è6µK@¬9�U ½Ë±@g÷§£§�úï?|Òþ°ŸÝ!?»ƒ¾¶n>Òo—WXV%½Ýó¤û•«Î�ŸÚ¾{gÙXo¶ðyèË—/KKœyìÕ<ú|ii _«¸È­®2ûÄ‹ø„$¦&Ÿü�ïíå ø9 /uzai~önÂKêS¸û?ý “Jž½D™I.ÜÅEäQ¹Î„”­øÿFV·.,Ö’J'&ô­ f¦O] Þ@È+�ê‚Ü’EHÛ,®8 «{hñnúóÜTùÀ|EÎÄ7ûÉôç–®ñ©‰…•ÔJãwÞkŸZø”Ó0‚~¦:HHM“ÇÒ2I`¥ Î-Í¿z"nS…^.‡‡ö%ÜÅÏ£‡‚¤ºHÖN”C?¢—[E’s9gqyø@¢õ%ËÇNÝKMãÄs*l $€ÀÚX�Ð_¾…~ú„}Â,�½ì…²nsà„µëq+—ã–Î^掞f&ûÝ%ÞüáykG·ÄvK—#þ!NÑ×l?³ÌÍ5çpªf&ï�ÙLŽ˜MŽ˜�XOŒÞâqß¼µÄxw1Þë÷O/?’åöèêrÎ◥őÁᔊ¶{e�íSóèµë�¥E“¯¼ÿV”9½°´8WßÔy=·!¶¨ãmO¯Ûi"d‚wƵÁù¥ÏHaeÓ¹ŒêÐ̆ìñáˆ>~ÇÍ–áÅ/Üñ¡»y�·Þ÷¿x•õ±’OfiÔ»0¹%S. òu_8(¿ºß/×v.,}YÂîÝyBûȱŒ³øåË>�#- Â®æ“•0�¯XävTo-Ë¡CM �ò gòKà»—3 KŸÑ’ê¶ØÜ†«%ý]óK‚uôò8ð¯‹=­­öçËI…d$k—#ô?Ê«"þß!é“ K‹Ÿê:®æ6\/ëÉ~—ÿ³Ô˜@\¾©µSÓ8ñœŠH葈!lkE`B12AxÊ㯺±p(»éþc&öîÆvG mØÖ·>$ñ&ça ˪$vY¹ðµ�еJxdñ*Ó¬ À¬²Â´æƒiõ³Šr³ü|óôW– ‰6(÷%Â}9*|EnÿòædAï‡q”·°ôy~~`xìeq�IØ#YB�+*ämHé@ÓÌܧÅE„Ç«nj¶ÄÆùÏ™wW>Ž÷#øúQûÔ72™WZ¶�§ïùØ8­£zêÓÜââÌôtÚ‹7üÛ9¥Q‘W²è’ @Gä�Wçõ"²o~�Óm@¬¢Á×ÿÝh]\ú�õZr½�¨R|ÊÈðíÄç¥ùä‡)”lTc¨iŠHÉ`ò{xÑ­ÆÉ ÇÈC�¦žÁûÏ2ù3Br8üË÷•ÿûÑA„)ö­.š-yBï/§ âgoCË[gç禦§sóòÿÏSÒ;qù¦î¥¦i„^q‰a§�„í@à« ¬@èÃ#"8økÖÒÙËØî¨±ÝQ#Û#†6‡õ­éYÔ³tÓµtÓ±8 mî*ñ&…þË—/­ÝAçc¨,�¼lÎGZ^¿mŸhö,ÅüyšÙó4óädó„DËk·¬/^qärª8³ãáT}„4@,‡À „þüù SÄËÌᘞ%¡ìt,\µÌ\µÌ\4M�5L�ÕMœØFŽoªÐùòennþÊÍxj= w[Ÿ «Ðó–á—,"¯X\ж¿lvÁÆ7Èî°÷ÁÉɱ©©©óç/,Ç%È€T+ú3gÏŽ�����ÙÕ4uÆ•ÝÄIÝØ‘mì¨fäÈ2t`:0 ö3ôì%ÞBÏÿ˜ú*›š�e¸_ÇÜÎÜÁÖñˆÍAOk7k§#vz–NÆvGøõž9{–j:¤�@`9Ä„>**ª¨¨HÖa!¡¡CÃøKÏê )ëúûúûUqq·cèÙ©êÚíÓ±•xÓ ý—/_jê›MìÝù™UuñÃñôìD™Lƒý,C5C=«ƒÃÃÃCÃÃ!¡¡²lƒí@ ‹@QQQTTT~~~qqñ–˜˜9B|ºŸxi›¹¨êÙão:Y—Pù}:¶²„¾º®ÉÀæ°t~Rúùµh™¹ðë >-Ë Ø€²ˆ�èå }@@`wþR3r”¥Î´Ûi…þéó×,ÚüÙFŽ===Ý==�²Ü€í@ ‹À „þ¤¿ñbèÛKh±ü�Bÿin.ìâuù‡P÷2ôìùõžô÷—ål@YV ô>¾¾-­­-­­T^Nš*ôZœÝ–s5¿^__YnÀv €�E`Bïí}¢¡¡±±±‘*ÁËI“Bÿôùkö §}øå766644z{Ÿ�ål@YV ôžž^µµuµuµËwj¾Ðlh¡n\Qº¶®¶¶¶ÎÓÓK–° dX�Ð;v¬šx­H£÷éØŽOL­z,ϯ‹_ï±cÇd¹Û�@@�ýÑ£G+ñWÕJ…þëóWVVUVV=zT–° dø®„>ñ· ôßOJ„?üFÑ£Ž§î¹^có´Ý9¥ÍòZ†0Îû72æ«C&Éê^°��@`s ý¿ßhÜ­³{ÖáœÒf›øQûrúÏñ?x½ÐNj3¸øŒ…q „õ—So ’Út/à¿··ìwÂö+õމ•»C_ü/0íwÿÇT“~òÉ2yÖé’*x;%â?qµ‚Â!3@@ŒÀ „þðá#åø«¢•îÕÞÞÞÙÙÙÕ…§ª¯¯o `pppxxxdddtttlll|||bbb|||llltttdddxxxpp°¿ ¯¯¯§§·««»£³³½­]ú]^^Q^^~øð‘åèÝO'2 ·Û=(Ý}ö•JÈ«�¬üD×\èòNÞyù½~9i_‘Ðÿàñ”q¿Í,Zø»¦â"þ¯“9æÏêö…¤þ' û?¡^–Cò ¨V ôn–””–à¯RyïÒÒRYJ‰ñ2D%3‹m¤f Òø^·ƒ©¦ËJÿzºÈ.¹I5HGžÌF}»p¤Ü®y†øA(Ï'\®0MlvLnµŒ+û3€?±óxgt•Yb³Cr‡Sr‹Å½Ò��bƒn¢Ì„ß/~°~PþWè½Ç2Fôž�w\*7KjuJn³~P±;X(ÙžÉjñ¤%†‘ÉT)ÿ%ð�õÓJá«’öC °:+zW×Eø«¸°°Hú]TXTÈß‹g(&ÒDö¢"âcq!q`QQ1^‚ ?]THl$v™ ‰(ù»\],ÇÉùe›=ë0»šñ‹—ØÍ Doýê?§’;õìâ7wD×9<ªÚöâ¿A¯·�•þ÷xÂ�¸·YßÎÛvŸ+Ê× IDATú…Jèµ;�NOkw�¢þR  dâF!]—^èn‹ªu|ZÇÏØüjïõ:‡guð¯.xù×^–$ÿû„Ø5é×�bû'•;üŸü,nÿr|‡<@i+zƒÇŸ ŸÀ „^~AÒ{õ®9rÄÀÀ�ö}äȽ€kÒG­õ–‡[#«’ëÿ>õÑ?[uóKP�Mr3ûlÊoþÏÈ÷¯Þ‚©ʈ;aGÌ*„¾à«„ž�¶‡•îO®ýËŸ¼ZÀà °bë%ôùÞZŽÐïõ»µÖÊ.‰àç€wVÉmêa‰?x>×Ll3�J=ù<ñÚèi‡ÉeÊþÈQbÄ�Ϻ´ÛÝ$f]¤†–²Fô?®vê† „žJÒ@¬ŽÀ ½–ï•ÀÀ S'Oúûùùùùo¿“üÿ¢¿¾~~ÄÆ“'Ož  Ôò½²:¤�ú5(GójþÎ3é[ƒ_l;“­×ìüôÿ„=í¾Õê˜øþ¯Ð[C³¶&ýè‘øGL½Ó³­KY*Ái[C^ï:—&œCoߟP±÷|ÆÖÓ¯ö\«uHnP ¦ÿ¦•L¡÷<ŒU õ{ð«=×$ÆRî('ϧFæî {ù{Ћ Œ’Ú÷ÇåÁÔ�t+à –O`�…ÞÇÇ7)))---###;;;??¿¤¸¤¬¼ü½ø«¼¼¬¸¸8???;;;##ãé³g>>k‚ø×€,õÛ5V�ÛœR:œž6›Ý-ý+H°8ò瓯µî7:¤t8>iÐ '5z>Ùq©ÜôQ‹#¾±ÑøêëŸKÛmã«M[œRÚmªö…Éüš•l¡�ÿQÞòÊ6BŸ²÷F5ßøý�ë ®åþ׿m(B©;ªå÷uÈ ¾[›Pè× -%¦n@\€ÊL`�…^õØù£GÝWñV=v~ z­Z„~­HB9@lk,ôH¬¿.ý×Ѓc�Ø`@èaþ °É €ÐoòÞ$÷Xl|T�€r¡¡@lr ô›¼�•kÜÖ °@èAè�›œý&oàõ@™@(zz €À&'B¿ÉX¹Æ`-ëA„„ °É €Ðoò^�Ñ” €€r¡¡@lr4B/øIoø€›…@LLLqqqyyù–˜˜ ^@ °é€Ðoº&‡€â@èÅyÀ' €À¦#B¿éš@ˆ¡çŸ€›Žý¦kRp N„^œ|@l: ô›®IÁ! €€8zqð  °é€Ðoº&‡€â@èÅyÀ' €À¦#B¿éš@ˆ¡çŸ€›Žý¦kRp N„^œ|@l: ô›®IÁ! €€8zqð  °é€Ð+{“¢ÃUiwæõ#¨²{ö °N6—УSUù¥Íc"ÍãÔDí×·¿\8#Ú´N$¿Q±ÈÐããºFA¯§7«ƒßˆ+T 6�¯zd²-óæéVl†*SÃÀîHàýüîo¦9œ÷aÆì£šEðÚúôO¨á®[£!“í¯o…´6`3j:¦®¾—_Ö @†yjí{1Å5"6žÆf].·‹Wwÿ(‹é’ÜEØËk¿î¤n|&—b<¯êºÃä܇Ya /ŽhêžÏňº4}ž ŸÛœ¨Ï6=÷ºAÆžû0ÌÃk„Gñ+�®¼fÂÔ=Ÿ‹Û°,{Äm…O@( �¯zd¬ò²³¶ª¦•ÔÃô·9ÙÉ·#b³úD:ûc�úu6{ÉI›¡mwúúãÌ윬Ô{§2Xæáo{p„ø²^-~O¾ªû¦0 mOòbìÙ«æx£…#¢ÅÈòÒUÝð¸U=ƒ®XèÑÎg'Ôô‹'q¡ç¶½:cÂ6>�Ö¿H gŸÕf])�¤ðà]²a…”O¡Ëµ‡r0$�P"_#ô3ÅQöªêÎñÇiæ æß v0Öd25L�üãKz~&dàU¤§½¹�KU•¥iêð¤j„ÐDÛ1 ãôfß t6×e«iš¹�N©H#o¨èAˆ“‰6‹ÉÖ5s»_9…áBÏ ™Á™ã¯åªƒ†}Ì{¿öZ… ¿ 2×¶¿øN8L–ptºð’­ªÆ�¤zŠ€rº’¼�þï†yââK=–÷>Ö�ehaª®š5 TzNE¬£º©¥)K'< Ï­Pè‘þwmÓз¸y¢=·-㬩ºQ`JGX':YhÈ2?›'šÂšyf¢fu±˜È³<{„¥Á ”‹ÀWýtÑ)}¦ÙÙ\‘vˆ\Ÿ©¸æÊR·=÷èmYin|¨›mw¯šPC\yÕMNÜ}W\Z”“rÁMŸatºt!™n;6]íÄ6t¿“U^û!ïÖ 3<ÿ8‚a3ïoº©©Û„=È,./ÍË|ýa€G=ÛåJnCSSSSsŸ XRèWl2œ{ÊDÓ&B†ÐÌϽ“ 0]}ÓŒÁöOëGEâ+BC¤¸ÙgL4=f]Þ¯îx£�‹K=o ÓSW7äyF¨±úÉ´!<›"¡çu'P×�È'.´‚ºžÖ¼ 5Q7J©D‚¡:¿ré©ʈ~5V‰|¢Iñ ø¦’Cražé< &~Aˆ¯ðÿ¿W?¤Ÿ(ŸLñÕÖ |=Ý›vXÛðbþ†ñjn»±m®4LÕ_±Ó<|¿ G§@èÑÖGj†!eøÜ‹`DÏÐÑ×aª¹WGŽå…6a8j¦Î™·ÃÄ–©7afjN7Ûy|®Ë³‡, @(�¯ú¶G,–O²@‚©^O¸aÊ2½QÅ-bÆ-‰²cZ]®ç ‚ŽŒde³ÃÞNÊÚ>ýᆉê>USøbìÛËôM韒¬‚¨_®Ð¯Æ*ªWRi.AÀïù ä¥næ�¯&sl%_èÕßúP/x54÷L!†ôÝ?¬e^ÈE§ó­µÝ{G‹‚ŒµO¦t£H×7-Á\“|¡GºîÔÍÆö~ŸG†î�ÛÅROJx�wÜ4u}Ÿ�"(2–㣫î•Ô.°|™öH€ @(�Õ =6•ï§Ã´ /œ•rWg沄Ïò`³C²$…žÜ>]uÝ„ip.½¾UôjëçÛ©UF(ú[%åšØ†©ü“:L«IøØ™¡v2UöÔ qŸ±ŸxrÀiMtа 9¬av¶r Å�¡D-Ósïð‡¨¸èkèœÊ L q‹.Û0-"kgQü~‚mp¹Høx@8M45Ó‘bÇbÛDåIÜl¡=/üÕÕ§õpºŸŸT×õÉÞ-Ó1çáJCà+„�È 3WÕ:’ÒJŽÜn#cÙÞÚ,þ:B|·í¦‹†þ©té©RÐ%Fôävd8ÓC“érSr}$2üÚS“u(®A¨UDÕœšK¶ãµ*ÑF±©›•[¥ §rÎ[©jIi%Éð3óúRüMUµ½ßÈ~Ë©¹`Î>p§ŸŸAFSOîÝˌݳgkÿµÖÉ< –O²Ô4:^7ï¼Ûí^� ¤:Pù4ôˆ�.›ÁPÓ6w=õ ÿ2§)ÞVÍ8¦œX…Éoa ¡Ç0d¢*ÂN]Ãåf3å{R¼Þ´ÃªºÞφ¨!fÞ-ÛùÝ ö ° |­ÐoDŸ¾�M¼šÛ˜ºG$¾°¾6 5·\YfáÕ_ß ¡t ”™ýšµ:Ùø0ÀŽ­Ê6qt?W4A2¯Y%DAܦèýê6—J)¡Ö¶( �ME„~m›m¯|�ü þm³ðùéÚ–�—†¯êQ3½^)ù |ík‚�Ø@è7E3‚@Ù@èe³�=@�MA„~S4#8€�M„^6Ø€Ø@è7E3‚@Ù@èe³�=@�MA„~S4#8€�M„^6Ø€Ø@è7E3‚@Ù@èe³�=@�MA„~S4#8€�M„^6Ø€Ø@è7E3‚@Ù@èe³�=@�MA„~S4#8€�M„^6Ø€Ø@è7E3‚@Ù@èe³�=@�MA„~S4#8€�M„^6Ø€Ø@è7E3‚@Ù@èe³�=@�MA„~S4#8€�M„^6Ø€ØÖFè³_¾ºqÜ/ÜÖ1ÜÖñ¦·_ΫŒÁÁÁM�œ@(7�¯z�—•ò<ÚÌ6ßɽýBìpÜãá¸Ç±®Çb-ìߤ¦!¢Ü„ÀzZèdW]ãÀ J·™çˆï’—Ÿ® úm¼‰Á¾Q‰’ésn²­ß­ã›¬¿™;_%ô<ïQÌÕ¸¿Õët-Xúu»Õjwî«ûKµa»YÝ ÉÀ&~ŸfRìµ ¨õ¼žîÆ.9ß ¼ÜŠ×Ö<„Ëካ®ÜÊåí$ CF3ŽjLíáÒäžÊöÒr}Ö)¶K^~š"dl¢+™4IÆ1ʺY¬ÕèWVÇÀîoAà«„>+åùí?öÕíÕ¬ýKµöϽu;÷ÖïÜWÿ×¾†¿TÿRmú›ÙÂÒ½¿›ùöù‹ÕºÆ-ºd£{òÅ4�NM„kŸ©œ¥Û§¨>tª1åÖãêQž¢Œr÷sJõMbʧñLÈxqÌ]‡ÈÊ‘Á§'ô,/ÌŠåVÄ:h{>B¸ÙgMuÜû‘ͼ®7MƒËÅD!ÂCÖÆ<¢4^ß‹C:¯G¾ÎS)Ãä 7�*ÉË/,\ôŸ×qËU}�øKÓ;yb’沆¬D|ë”d«Ñ!U`ãºuNõÂî I`õB?88©gúq¯fÝ_ª¤ÄO¦fN>ÏlÚ¥Ú´[µy7£e«IM7ÊÈbhhhUî£}ÏýÔm¢ù#Òé²3V&g³øE!�Žh¹' QDsUU|ÅA¢si¦öÑ }sÿìn.†¡½/üÕMÎV‘ÓÜú˶:~)½(:þì„ÖUãèÒ a­ÓyÖûö²‚3Ç…[Öø?¯7å€Ö±µzÒ8yÂM§Jòò“…ŠÈôØÐÀÀ@Ïû[6‡Ÿµô �Í t%‹ÚD)ÉV[…ãÊÐ97Q‹mtWV/ôÙ鯒·ÿ]ÿ7»N0Šß×ø—êäóÌ©ç¯q‰'Þ­3Ú™šé»Ts32WGbúà SMÏ7ÄÐ{ª4Ê€¡j˜I ðg2OÛ])ã"Ã/BluÔ™ uC·³i]ãÔÞ>îh¤¥¦ÊÐt¿_‡Ì~ˆ=bg ¥Æ`¨éÙO¨ƇÓä™C»æÛÞ†»[i± u=K·K¥£¼ÙºøýúöqgDŽÎ¥ñ–§��Ž¥6Mñw!ƒ¯ÜµL¢KgkïXj{d ð0^çí:ΜŒŽ?$®O¼¾—G �8jy&uŠùóÐéæ'!®úlCÝÀëÁGѰ\†ÙS­¯Ï±Ð`©éY{Ý-èA0 — Ö^bpÌ8ú YT‹$·Éô#û+åÄ„ :”¤í|«“3$ÉVÈM$Ü’å ØTöq =['KmKËìPtV+ÃDù1l¢éUØa+6ÛÐ!ðy=yÍq%SœÖ‡û5)W)¼d #S6“¦)—ÃÊØ%äæµP3m55;߸ºIâ’¤ SéAÆvQe|mIž:žO†Éñ…<}i´JV�b”rDÝRè¹d«Ñ:N[‘°lý:'Y$”‡Àê…þúqß’¿Ùõ» ü¹š]ªM»T'S3§žg¶ìf´þÍhÛÃlßÃlßÇ®fjÞñ;µ:&èDŽ·ŽéÕ÷ÓÆ-‰ÚïêdT2‰`¼ÖkNºÁ™#Æíokêë¯}zÌ@÷ÌÛQ\h´ìn–vöô sˆ�ö7K;û{[Þ^qÓ°¹‚ß‹~ïLM¤�¶Óùõ==5œ5½èãñº³Ïû^xÛE™zÆÏ%#¿ð@s·„jÊ�Mõ3°Š("žð>\wÖ÷IEPŒ[icz9ëõ)“ýf1Œ[}ÓÕ24óÕ9 —›5"§ýHVˆ–͹â®Ñ‰Á޶^Á•'‰û(åÔLÍE[×È̦ޮªäP�ÃÏ;¸ÄØðhzÿÔì,‡+ö\\‚ÛHwŠ�¦ë�nŠa³¹ç-÷GWðèØòçß)Â-QÁ_Ó8èQqKwWÕó3fZÎI-Qþéª Öº‡¯æw´g]rÑrºÙŽ×Hÿ¢z-›Øüæ¾¾öœ˜ƒM)ŸÕ�ŠžÁ¾º‡¾&,»³y ݽÍÙ§­4�?æ__%\é{ íp£�‡bèDš¿‘{|‹ÈD‚¼¼Ò蔨‚ßK¥ZPˆA²ÕðJ¥§¯HXÄúuNa ð_‰¬^è/Ú8Ö3´vÓñ»ð‰šæÝŒ‰ÇÏ'“RÛö0ù*ß±—Õ¹O­MC?ÊÁy•Px�·]µ=u œºKvûãjêo¸˜EL coÖÙêü»éÉ’`3»¸ºÉ÷±ŽVá…” ˆè†c,ÿ‚žá±G•ýb{)W èf—L¢„ %zèyÐÌQ`äýðÁIC÷‡ý¯!î°aPõ’%² -K<ãh¨eìòüã(u\Ižù´fc7眹ͥ’YBOà é¾wHÏ7¥g¦æ¦¥ù¹3òØ’BOSE 1Œû&ÌÄæR G(ô#�̽ª &ÿÅ`¨Ù%È^û$GèI¯WÄjª8ÒÀ6ªäëºîlz&¨"Ý…�±§LÜ©�ª¹ei�w3Qï¥xG[­ƒ4UPÊù"¬FŽÐ“™i+€ñ§nÖ¥sŠê€”ÒX½ÐßòñÏÔiaj·24[Zm ­v¦öhäµÑÈk�j:]j:Ýl�¶n�¦~­–Ñ�“«F2–{VÇê|\„�ëÍÃ8ÍñöFþw£“õhoÚIM» %½S(2ù┡¡Ïòà¯ü#O32�a¨pïTa„®Qhñ(@ш_uƒN·&ž0Õu»Õ ZÄ)޲3ôO~yÎÊ*¼�? D†^Ò:„`‘±&L¦nXÖŠ¡mIžÚ'R')b"/‚:Ó›å¦aÃW(b�ÙÓ¥Q’#úûÍÜþçnZ‡_ö‹.Bü"i¸ahû“ãúž³¢‰jyl…BÏ¡)‡b†ôÞ?¬}ôA3O(ôSÅ‘z¦ç>P¥SvÏ�'ôÂÆZ«©’HCI¡§sÃ&Š/›Ø„'E;[_äOÁ ­¤xGWFç ]”rÈŽ'¬ãI´]fºŠÈB¿.�“R $•…Àê…>çUÆË]Ì6uCBâµ:˜Ú,íN ý. ýn¶N7[·G]·W]·_Ïô5CcÕcñ1õpæ1M umâVÿÜuç žººÆÉç}(†ö¤újØž/î�™`´&B�Œë½šÛ1ÐWÿö’¥º`Žþ‚Ÿô½`y%2þᲓŽÍÙl|.žxÍ6Ü·ÕÐÕÕ±¾ûQ°t’×ùÄIS°Òq²*á„ßÝZü€¯,Ò:œ0 <?ZxbsûªÛ‡¦¦Ç[^„蛞«"õQ˜£\ŸÐéê‹6:®—^7÷uW¥„šhLiçb3Å�§×ôõ¶6t�÷tÜ0 H?¦£o oW7‹Ée‹Næxk™^Êëë¤ã�??(ëìoϿ璘}øy'—Ÿ?2¯Ÿ;Yf¡w$:«¡gp°·µ¦y]wgK²%®Hè—ÊNšéQ`Ü–ëN:jêüçCü&%þRÈÓ•†¡4ÒUA)GZè%[�.3]E;ñ©›õ霔J ©,V/ôƒƒƒ— -Zµ�ÚÕtq‰WÓîRÓ‹¼6y­‡�K|¯†^Ÿ–A·�y´™Õj—W‘�‡Zl·¸�¢O½Yj‚¹]d¢î¾¿£žcCMËÐ*,­SrÝIB*©(AQL C+â}ŒÕYl{k]õc™Ã¼Ùº2VÝt|¶õÉm£óÙý¥Gzãݵ5Þš�qïÛhžx7%öHðÑ×Á‚‰ca·ØÌéɺ`©ËÞ·—¡mvàrf›hXNë†M6gœ=l®ÁTÓ³ö¼�ßMäçÔ'Ÿ¶ÒQc¨é¹]I–@à ¿ˆŽ¿ 6Ö8×M ¦ÉCÖ‹ŒæFÒ3 *ø(ÉöCì!k=uæ>†šá~Ÿ%½8aþ’it¼áeè! -–*CÝà@lÑ,†Ñ°%H¬Dè—ÅŠVšiÜÄkG»S|4쯶H|ÙŒ$€a´¥a&í M”rh„o5™¥+v шž¿e-;§¨H) �Õ =†aoRÓâ÷¨ué™u©ës5ºœ×¹œ×¹¸Äkèõk [%25s^¤+ �¡3ý�#㣽ï“N;H�íÊæØ»ÜɉɉÞòèCÁé=Ôµ•y�À"ðUB� HR쵄½jº&½:&=šú½ú}úýÚ†úf=†�˜šO®ÝØ€!´·áÖQ m6C•¥eî’VGY:©àHØ­ü¸ ±Z SÏ«ïF¨óiÊïxðÝø*¡ÇïÈämÚË3ë]“fûý‡¼oqp{g`zÕÒ&çEºò©üwÛÀq 6)�¯z>–¡¡¡ÜŒÌ;~§®8¹^qr½w2 7#ó«æå7)np  ðÏX¡ÿçíV\#2ÞZYÝÅÿö�âÜ›7˜L(ö�-U|Àòrl¤X»ëÝ=V@{yðð\rÛe]j\¾m�sCؼBOY¨°†-°¶AqÅBÑ ­\i´… ™®|—üŽ-™S”à¼35¿V)PS´w%)1ÛÖ§EVbÌã Õ IDAT%ï:³Ú£$å¶ËºÔ¨À •íë +;r-ú•\ฒ¡h…†¬¨ Y… û–B/iÛ*´•²|mAS—Õ’¬Ö0±.²«ÌB/ÙÖ�5µ  ôË€´>Y$¿æ¾ªZB*™P\�\AQ|¸0‡¤m_%ôkzÆýZÎÿÐ^Nqüœ†ÿF�TÐ×™�—ìt\"Òë»ûºš{§�зõ½=¿ßÜçI7þC£ÒGÑ„#ÆäG „ü ¸’Q‘W@XXm,b‰z‰óœ…XÒGòü'´¢“å!f:Gb²[º;kr¯;kËz:G;)q¡…ÝUÒ¶ k—™Ú=hÛ·™âš 7Ї¼¦;PD[HƒßšòâÓ±¥mBOg�D·!�¢9)$\¦+Mt8-:G$;ƒ¨Hý”@èÉ0�üYG¨¿ž!Œ+;AÄó*£®±Á» í©ÓŒ\¢?òƒGŠx BÅNÐ…#VýU¨ÂË ŠK†Ÿ¥ 7&'€°° ÑM %±D½Ôs^äžøHÆ&¥‡ÖÁ©’H=£�rþJÙS´ŽHÆœÚ!iéÅZc„ð¿Ç¿^� %º½%›q«(E�Kx™¤-ò…r,}|cé˜tš'‹iÚ… –H‹�èi‘è6"«D)šøÉx7¢óNtÅ):G–.[T*¤Öœ€R ½0æ-W*®ì%°°€1Q ­©fu:£Ÿ8,*–zqfâqçD%{öº© Y%„2&^/W< ±´�ÒBOë 523&[èŲ #!s)vR;(U�ðí”lß>Ö®T÷ ÅBµyE.ÈzYñ�ÉàØd”éAjǶ læ0>#-ôôŽˆw2®ƒt‡‘ˆòM_ÙÌ2ÚTÚYá²É’ ±®”Jè‰Ó8ר-šx¢8RÏð´ÄˆÞKËõQiV€…ÎÁÓ(M¨ØñšpÄ ¢¿Rz6¾°yíS‘R—DÜ+²Þº®TJb¥…žÖAü·V „qó…‚"ÝóhFô÷›%¤�¯ªíp&¥¶{p =ÃÇ_G�ŒeºkÚP_‰ÞŠ�b½U"B2%éŽÚ”å•ëšìÃMxaJ[ð[¶ ¢°Ì$ʱ´a/éÙÒµ Æk¹æ¨í‘ÕÒ?Ü_sÏ^ŸºÕHçˆd·Ä»V?ïxt¥‘>QïxDmº‚pÙ¢’ µ®”Aè‰_šÖb24MÜ¢2[9FôÃ&ÓÃYh2j:VQyøor '÷‘æ¤ãZç*z¥êÒ…#¦ 3+jA±Ë ŠKv}l%„E–‹\ …^º^±x¶é Íd|à©a~`aÚ@ÁøllÛ›pwkm–ª*KÓØÞïE+‡×—z@ópºø�–ÐDB¦Ø)…§ÄlãQ²QÉ|›X»"cÝ£r¡±D”�ðŒòQ� $vò Æ”ci…^F'¡i CG«ûØé³TU™êz–£«¦Py� QTV¼kšS‰b'¿5i°�ÍLÉLBÓI$:Y$þJ ôB½^ŽXÕ‰¢Hc—[²¼[ÞÁ°� CàûzG,¯#¢cõYiü/.ÈËû€Øè6¼Ðot€`@`£¡ßè-ö ¾’À†ú¯ ¾*7¬«¹åç;lã~ø*nrÜÚH¡†å˜ùýìZ¯†þ~~žnt¡§Y�¼üv‘½\²Œåç”ˉN¼Šø®_ÅMŽO”Ud.9–“y”-�¿�÷²Ñc1X†'S7ò ®WC+[ƒ�½ò €Ð|d =2ú2ÐLß'eXðÛ¡èàÛ3º†#¢¨Pòù.¯¬èÄ«‹ïº^ç?�Ð˲|ù¾o¸œ¼ÖkNºî·ÊúÇFú'Èï‘n8;1Qê h˜´q€Ðm!Kè1l¶%ÑAÓî~Ý ž�ÛvÓUÏ=¾ ùP2�Àòªþ'…~y)U®é\om§Çíœ�oôz5ôÆ÷,\ ez騧4AVéº~]`ÞÉœóÖ†¾©CÒÿ&ÌÐêBÕ$>“6†ªÈäÓ¥ƒ¾­3™`d¥œøµ't(#HÛùVç¸ð^â¡q%SƒC‰j‘ 6Ksþ+ “+Uñ-*ÉàÏÇ54ŒL ØL5Qfr˜O©B´—.Š¯Ì¨¹”ècùJ9•dlUÆ'Ù–ä©ãùDxû…Ñ¥‰qMg�d3MegïÛƒ¿öY]*áÒ5·ä! -'OKVI÷(Ún&Q¯0ÄŘ<dÕ�ø^ (�ÐÓÅ>•²JÖõ«óâáDÒ�é™EåäG؇¾&âÓC/ôA_ý íNñÑt½Ó�i6÷¼åþè ÑGÅ!Š"¦¯E*3�Ðeå…É•*£ þ|\Ë&6¿¹¯¯='栆͕F.Jý*ïq-{ÉÍtqneFÍ]±‘#}/´n´ñP �Hó7r�oÍ´¥Ý,�qMg�d¤eü@çÇ-“³³.%âCè¸Ff6õvU%‡šè~ÞÁ¥;Ä^.^¡ÆÐZE×£–S¯°¡9ò8k†ÿß-¥zšHI´ñŠéº҆Z]f`^¢gpk㎨«±õÝzˆ¯‰ÒC?Ö&G»â]Œ×ýÌEûð‹^Æ©¾`iS>E•Kê—�©Ê. buì5ñ�€Ø…Ç9¡”-�X´‹b m˜\QNaˆcÚàϤmdXZZËɽ´ðeFÍ]¹‘ÜáL]ÇÄ6[jnG�Ì#2 ÃÈד´qw)õâÄ?Ò6·dpfÊ! ðRrЬ¢ í;I·Q¢^¡Ðs9(M Éï“€Ò=}€\ùñŠ…3ï´¡VÅ æ”Õ ÐÉü“zúáïÆùÄŽFëåb•+!¢ò‘î{‡ô|SzfjnZšŸû0#6.&ÅTBÙÉ�µH›ÞÑS~ œ¢/´ar¥ ¡†qXN)„ 5,ò‘n/-|‰`ËÔ18éû2�D�±§LÜ©�ª¹ei^#×EØK±ƸÌdîUe0ù/CÍ.¡‘#r�ï§Ø�msKg¦Bk¹¨é)9©VI‡ö‹Q,ìfõ’B�Éá ªRß)¥zšQÕý&šxÅta]i·.30¯ _pÊNG•Nó?ÒÓÌy%P¯RCx‘G„¡´Í-œ™R�墆+œ´Jzð~¿™GUÂÿ9"ç© Ð"¡—Ã�R9$¿O]èEÁWibŸrhâÓ…u¥µJ—“×�}ÁïÂÛ.Ê@˜ß/Ä…ž>¢,]ðX±³Z¼‹!éÇtô ômãêfñ=¤R� ~~‰`¿4µðh8�щÉJ)ÅÒ)mÄZYÁŸW ô´ðeDÍ¥@À°å‰¯†j¹î¤£¦nzõ½àJ,pz*[*Æ5‡Ö|þ‘Vø%�¦ïQ.oR‡ÐYN6î#�UtU,§^Ñ "ÅAfg¦ØÉï„ÀFzjðU騧4AVéÂíÊŠ<,˜w¶îÁ~}û¸�ÄbJjzeé‚ÇŠKµH l¬q0®›¿HŸÌI&¹ÅƒýÒ…¨¥á°ò0¹4…È þ¼Ü= |ÙQs©‚K+—´Fbþp[Ãþj W4 „ÃÃFJÏÖÉ’ãšÆêU–Ï\² 0é¾G5•_—hÒ‰æ†IЖr¬¢©‚6ºµ„mb -ÆAfg¦ØÉï„À†úï¤ÀÍUàNNLNô–G²Nï—y±ûƒU¿‡I(õÚT!—ÃÚT¥(1z%n<0ã6Ä:h14L=¯¾£ T°.’úÕÔ×Ã*ù¾Úd(@Ù €Ð+{ ‚ý@@è‚Ý@e'B¯ì-ö ¡Wv ”�½²· Ø€P@„^ Ø €Pv ôÊÞ‚`?@@z€`7@@Ù €Ð+{ ‚ý@@è‚Ý@e'B¯ì-ö ¡Wv ”�½²· Ø€P@„^ Ø €Pv ôÊÞ‚`?@@z€`7@@Ù €Ð+{ ‚ý@@è‚Ý@e'B¯ì-ö ¡Wv ”�½²· Ø€P@„^ Ø €Pv ôÊÞ‚`?@@z€`7@@Ù €Ð+{ ‚ý@@è‚Ý@e'B¯ì-ö X¡GFËž\½“Õ†(¨}=woÖÓ?e#}¯c#Ršhš,ztía~/J-BV~d 3Ê'$©ž¦êáÊ’¦ºIM˱ÿ;ïHrÈÀ.å!°>BÏk¹ê aóž÷ Al¾¡ûÜú˶êŽ×ªhš€SsÁ\ýP\£˜vSósj¢öëÛ_.œA1luÑ©ŽªüÒæ1±k‰BÔzf¦fX~uT7©i²4é¢VG€,ðŸOH»°j°kh¼´UkX8¥ˆÀ× =2Ù–yóô+6C•©a`w$ð~~7ºÎ��`ƒ"ú븟VÅøõ)z^ÛCÿƒþ 5\lµBÏyfÌ>ú yeBO­wEh–_ 5MV']”Òu$( Jzú'¤­ú‡ ø¾«û*¡GÆ*/;k«jZùG=L›“�‘|;" 6«„þÛw*Z㛥Pè©Ö¯Næþá³zùÕQ±PÓ¤ËÒE­ŽYà?Ÿ�v៷AºÆ�i•´�›tË×ýLq”½ªºsüÇqI8ø¹¡®ndaªÃf°4M]žT�w¼Áü{ÁÆšL¦†©“|I¯hAÖ.tª&ù‚«™6S•¡®o–Ö.(ŠÓ›}+ÐÙ\—­¦iæv:¥fTlü¸2fsÏ›³ìbš¹D³¥Á†l¯Ç]Ä´/ÍŸ¥y"wŒoéÌ›0Öþëm<~mHí�L“sfQL–ýâ]œ×õÔ™mU:-„¶¼ªWZ¸¸Š¡3éW¼­ôØ 5ëCGl´Xò¦n¨ÒFI#ã.;iÔÉA1ùðq—{/fp&ÑCd¹ !6M„ ¼Šô´77Ð`©ªR»mg ©iJ²ÐÓ úŒ�ïµÜ~{Q±PÓ¤ ÒEÉéHò!à÷C2z;2ð:긃…�:So‘#aÏ*E½—¶Xd(÷Æ)+u&ƒ¡at:­ÅdøHï‚p*UX Ã�á’„3®f:,CMËÈÎÍïéÇY FC^Ö¹0IsÂJ[…aô½ˆo¡™¾:ÞôZÖ—ž<½îçj¡­ÆR×· ˆ+GD¨DæAJ.�¯úé¢SúL³³¹øL®Ä‹87 Üc2òŠKóÓ.2`�.�@0l¦âš+KÝöÜ£·e¥¹ñ¡Nl¶Ý½êIâh™»8�÷mÔô}ïæ|¨«­,È,jæKätI´ÛÐýNVy퇼['Ìð*ÆEW B5Ô—oÃÐëÓlöÑô|N{¶áž5cŸApáÚlÎ93�£Ý Ê<ÍVsKë%f¿‘á$/mý€ŒiT¦ýÞÅEóRB�)¬zYyáTC'ò"lšvß¿{~ë”9›¹R¡çζ?ò6ÑvŽ®ça˜"ø„Ë.Wršššššû4½°÷P.*üæ39q÷]qiQNÊ7}~¢ï 4Õ¡£�Å9Å•?V¾¹ïoÄÔ ËÂû) 5-4�ßXb–ËìÌŠ ÈéíD™Æ'î俤Fy˜1Õâkåvlþ!^·rKÊË‹r?ts1L†�Ò4–ÃfÞßtc©™ÝM/,+{—aÍT?“Í?7q:täéÏ…1ÚVÚ*Y½ˆðÔÄ÷~AYEÉÛoSÖ>-‡ˆG¯‹J S/Ö`˜\-'Id³AB�Õ =·=É‘Å:ñL|ñ¿:jǰÙÚ;–,£è²id,Ç[GíP\ƒ@�¹m7œ5ôO½šD19»¦Ë®è3­nTŠÝ7 £o¼´4^öó¯2¼ÞdW5�ðw¢~)6<\† c}Ï©kŸÉÅ0´ãñquM- óˆ�³(Æ­»d£~ðžÐf C†2Ü5Õ}SÇñ«�ºOr�û =¯?M~Õ\ÙÜdNQ1d8󘦚{B‹àЬpê†Ú|ütTFZ¨�†uha?~yS Ÿ8«©sôòø�]Tº^áó|² Ñv dy‚¯íº“†í•rü‘‹XšÈ¦÷Q ¾ØµJ¼ìLõM3–éµ÷‚&–zzòtç}N)«–ééHfSÍãÍ(18ä6Ç:¨ÛGWðE€ì8�PH`õB�Måûé0-à )ÓxÂêÄ;:žåÁf‡dáBo”)ô²vá…¢SmÅÏ"<¬ØªÚîw«fPŒ/ƒséõ­¢W[?>« |­Ø^}Ü!5ËÈ�#ù'�\·ô<ôÐ=–ÐÒöä8ÛêR=@!(Ì ÕÒpÕ?[w×MÝéf;�8?e¸†q*Ïš°Éa�Ðcˆüªåp“Y8UèùØ+…×ו ½¹W¨—9[Û9úÃNX1|Ú³Za‹ÉÑ#² áy¥:ƒ´ÐsšìÙšnÉ¥›jsÎÙ±×JèIKB�×jâ�øE—lB�_•é:¶ä!˜L¥à/ìtÕ5c¦ùMáh€FèiÉc4çÂ2ÛH&@qO'߆2Yî¯GˆS›×~ÝIÓöJ~͆×J|…УYaæªZGRZ… BV,ÞTä¹�Œe{kSrÛnºhèŸJ'¦ndî"KŰ©Ò+Ž Ã°÷³(2œé¡É$ï4)y„É•ÛÀi}hÏ6�¼~ÚÐ>¦™‹´<<¦}(êÊQ�ýÿ¿½ópkZûøï?»Ø¦“²¡€"ˆ2Dp/\W½r�×�ƒ½Q'Š"lK�B¡P† A™…Î4 ò¼ï“t�B[‚TKäÛç>×Мœó=Ÿ“|rr’æÜ“¯Ü±4Í—B¸‡ ê³¼rºP sQ5Ì8�¾‡|±ZC\}:=æºèŸÉÜ,úøsôæÍ÷fY®Ê1¢'Ò;ôÂüpU²�x¬tXO¾¾ãÆvù)~WU°¶˜ÃrͧnÛ.dKKÞ°UÅMãÝÀC; £IÞv¢7W“„h9ÛUYÙE…a¶HÖÜ]UÙ~çÄŒC™q\¿3¯ñÁÙŽ½b sZG×U°Ïg¹:¯÷s—Ç÷‹Þ‚iù0Ä¿Xu,,Ã$°«ÛˆbMAô$ž?¿¸Ñc˜q´öL(›és9ûÙûzñ‡ºÊÇÙÿݯXñx¥mgÂ0msZ<›yµ´¿›‚ߌÍmWá;]¥—½¨iéèR¶Öe aEÞíÅŸ�™ßÞ�°ÃÎe¿l�5Këß”¼’Ï“îÅ:;>]Å`ü”“Àc"ìâwFÆ¡Ç1„ÉÚ‘ÛiôXælPdƱüý8Ñ�úô®ãÇ0cGvÂÞq©ø�¤©éË«aù©bë5Šv Çiæèç¼}<~ümñÀ¬ Ó¶¤Ç³ØÂ3™åššeu…‡üØ+oÆ’Ó“]@ZVwäGó¸‰Ù �i-øè̋ӬГ¥"™TôªªmÊäªé­XIe9k>Ç;êâ´]y?ñæ‹F…R¥¬¿͵ˆž\Mò²5lUVÎwæµ ¸¨2^S./âTÎó÷I ~ a÷e3DN²%Ã!ÒéœÖq|ò¶äeÒy CgÞ] g bï<«o‘xqï¨/ƒcw3Öñaˆß÷Xq,Pl#“³½È>B½mßÜȆD�7ò„¢ä¿“Ñ!“�p}ÂbŽÜ~Õm°o*’è1Ì8Þ�{~wA¸!1§‹¤äÇ+¯šk+JÚîÇbx1Ø‚ð„ ÏÚ­�QêÇD¹cB}X [²÷J…õÁÈÏÄ`úôü$ÙY "Ü�~ÎKäsöæ [ž¤´ãl­8Ègp Gm{9¯šI;ôêæ‘0_c“ë™ð÷«^óéÁ–çZE¯;sÓ˜8cŸÐ'Ú|�kœj|x%!Ü�ED½ÿA튻è¤ôdtäeÌ *>ÄáDvi1×ð1L7X•²WÈe2Ø>áçoPp^ rYäe’�œí +‹³< èƒlÛÆdóü…‘§Š•ÄÅ©šyÙÖ«"w ¾ÁZœîíxž\¿]Iña>“í¿óHÚûþåÂa¶öaáš;^]G—U°Ï‡|l¢s½O®‰ä#lߨĘ@&ïJíòÓ ÎÈã‘Ú ÎR®l#gí#Ñ/ïšXÚ¨è7P4Í7Õ¶_�ðÿ»b….i^)ÿ÷°wÙï)s]¥è?GqBIÏM¸ÜŽ—x6ÃJýz[A;¬êèîj.KÙã“Þ£·<²¸Þ\ ý–&°Eoì~_úâ]CS›¢¹áåI�ìˆ[Jóm%§MÇ‚S4›mˆ~�-bèI�0ïo5 /_m¯3H¾µ lBÑ£3Õwn°ñŸÅÇ%ß­\õ�ÅŠFƒca�Mü'ˆ~7„€p½;(B@�MLD¿‰B@¸ƒˆÞ! €À&&¢ßÄ�¡ ÜADïŠ�@`ø¢7ÍÍh$ÓOîΔ¥Â@x–Àô³ûóâצ9ó6±œ 4÷øå¢7ÍÍÌ<àÙ=J@`%�çÀõîéfÏé—‹~¾áåLYê|ÃK“v~³Ã€ø€À `š›Q‹žÌ”¥ÎÕ¿ØÕ…*â~¹èÍ#6Ðw€Ý l&í<ÞÁö`ó„‘üR¿\ôæ Æ_ZÈ�õ€s½Äh�Þ⟯ɭÎ=˜u3ôúíÿeíK¯Îy?18Nk¦<Øü@ô›¿�Ü¡ÇD¯��Ï;”s#äÊõ`»ÿn_¹r5;)C;ûÛÇôÑÑw÷ÿ¾ñ¼—<‰Y;ÍŠ\.yÙé[�NHJÒ6üô –5mO2ž·…÷vn¬~ÃÖÚž·9%[ Dÿ`óáÑkgçSwÞ\¡ø¦FÝþÝ®'ͳºÜBúŽ;Ñþ»n‹µ—åt«–LóCm ²¾™µ·#—K^^•¥{¾ O%¸þÚÍwäDpBS%Sk×k]á®?’ue¿%ëÚs¹ÂK²ió„Œv @ôv8þô?<#z¼/oß‘_aùëÁWn_ÉØ»êf:UrÄ›òå/Êþ¹fs(YãÀÃ3ûÎ['\¥žóê9š�mK.—¼ì,ý¿'‹~½µCÇK�ù�}=�âÓ›’ÚÂôUùòòÁ(?.Â`rüÃcÏdÖMZçÞBçú+3/í‹à L¶�0>ùö«öUÝÌõF²AîÞ�¨Ì¼¸wG‡É@xQûÿ.h1¡Ó¯/„²^^^^L6?p{\òõ|ñ€uÚ&tƶ–�pýÃcOÝzÜ1¹­ñŠˆ~�?ûOˆ~bpüzðÕÕfwðMÈÕѾ/v `'»5nøÃ½’¥…è×IMßWÅ>�£j¤¶@§jOú1}ö\,~]ó¡¡æåÃû7Kä:"sôkó{¼‚¨‹é�+kj«^ä]ÜÈd ¯V�¸ùš`�uq8½ª™ IDATcrt¦õv¬€ÁßqæÎÊêÚš·Ï²oœ»_5j"qîKZäÍ�õoŸdþÀäì¸Y3‚›×²öž´µMÞ$®zöà€�ÅÝuG9�ƒY‹›i°ô(ó//öžŒ�¤ÙoŒãUG}1óÚÍ£ÝùI¬°ëº•°AônÜ6VýÛ{+œžy«êÁÛªoïì¼µbUuÎ{;ˆ$¹Ø}oœhÈ»°;˜� rðÕÚ–´x7òJIu“LTt)†Ã‰Êk7›E+ÏL`sw¦VJ›eu•ïãF 3M÷Hk¥­Jeëû‚3AˆOJÕ$~¨8”,Y@ø27äDn½T&©}~-ÁŸtQ¦Fõ=;ÙþɹµŠ®ÎÖ•’>ÂwD�>.UÔÝÛÛÛÛ7ªF)•ë4nHrÁ‡¦–ÆêâãBÖ6ïÝ7JÞIÅ/n'ñ˜!,†Õ4Þ�áÌ©jîTÔe�ÅÛE1“ºîF$“uíÑ{©´þeÖÙ0âHôN°,7ÀÜËS¾‚SåD�ÓÒ!5£‡žÄr�è+U_Vô5’³~Høµ†w8´Y¡LΙò1«¡0l5çµëë,`¼ÑYì°ó¹⦦úò÷ßš9 sÂg¹‚Îw$¢éƒ�f‰››%"ÅÈò ¦‘œõGB/‹VÔÏÕÑîªï+Žb!GJ†Ìý}ò8$�…˜’{mn†šCøGVÝŽæîÉ0à �ã•G|}ÿyùöR0÷tù¤¥ZÄ~xøÑùX®)¢'Áøó= úÿB¯“»íUé•fË›ÿ_õà-yí�ˆ›v�àèÈAgj�û°ó»-‘†�ŒXžÿÙ7s&Ì4S{’XEê:Úå‡Òcx‘©Íø�ëT²¼]÷äxda˜®3g;+èn“FÓ”ê�ìÈhµïйºqVîš1`hoÑÄï|“Y©ZÙ…@ö¾<¼îèôû£Þüs¯-ö4~yÏö¹^?‡NUâ³´XÕnŒþãƒÝÖÚ‘Á�ó}oʈåGÜj´Hή-t=¯®E ˜lÿÝgï”È†Ôæ² ƒ¥{X¬S/l]Nk^šº“|ÄBÕü™-yÙy}­yÿ’6ÍÖ�ôaÅeZn« “Il\ôÎøØòq±#­hzÛ&ø^CÔñÄSGO1Ù!²n¤o<ï�„]–ךŒºÙϪú‡‚˜gê'�ks3Í=OøýýNó¥i2Ž7äžßÄGnHÌé")éñJýX]î…=!þ0e䕊a“åiHdÛ6&›ç/Œ¡O41biòN^&õèçÚŠ’¶û±^ ¶ <á³vËC�ºÁª”½B.“Áö ?÷X…R*w­œ‹X?&ʽêÃb0Ø‚�½W*ÆÍO^§^I÷c1¶1¹>aÑûÔ7íj4ßñìZ|èj,ËG‚¾·(’f¹²Ü£7Ív½¾qro˜—éµ áì:˜RÖ²|U÷U¤��ßî�ÿ`Ê;8öø�­ãöíj£Û.*§C7æ4`t®÷Éõ#�|„í•È$eqÁÇVEg;’}H¶ä¶Ģ俓Ñ!“�p}ÂbŽÜ~Õm0ÿ`jþƒ)‹°òS+ûû¦yÅõ�¿ãOͭ抛¶þ$�uòÙèr�Ä f¨»ÊIÈûŒ7=~ëžz­}Õ#A úe`[`É¢ÇïøO|M�ºíÚõw"njµÖû‡[ %èQEt¬ä¨_ð¹73¶'÷7}Üú�ÅQŽ$ßô�»#@MÛÕí¼}ðËXw°¤už=†aÓãSYIéŽ"r5÷`ÖÜé'6´füg?מ¹ƒvOf¹jÙ”•3v¿/}ñ®¡©MÑÜðò¿¤@vÄ-å/yiƦ¬ýrPú޼$®ðb#¼ëf™É]ò˜èñ‘c­ö“j°"õUÖ¾ô;;oÞÞñ_Î�̪¬w#}#ЗßÄûã¼¼ôÁ“Vw¿ÔÌ�FgªïÜ(`ã?‹ ŽK¾[7¸ê6©‹Û¼YiT¯3 ?,�¡‘#…¡2�?~Ù“¢Çï8¡¨V«U«Õ³ÄG­Vët:“ÉÑÀãßPA ð €è#lÏõëEOÌ Æz¾©! `%`žJpúÉ]ëðïNà—‹^#©0OClœ±¾|ãG Õ›š>9xMéLYªºî馂s�_.zãÌäLy¦ù:þ€Àf!ðü�inÆ}&�œ65�_.z|öƒ¹¼_OŒál–½¼,"[“Àô³ûIX~S‹ÙÝÁýÑ»;fÈ ÖAD¿X� @G z:¶Ä €Xý:`AR € xXôjµº§§G*•ÖÔÔÔÖÖŠÅâîînµÚüâI:ò„˜�›Ž€ÇD�¢¨J¥‰Dýýý:�niiiqqQ§Ó ‰ÅâÎÎΕï­ÜtèìBÇ+ïœü§Tµò¥Œö©~í_èè»ûßxNÌ!G^^Yª¦íIÆóvbZó•«ào�Ðö¼Íy(™€_‡{¼%þ¤<#zE›››ÛÛÛÉóš——–– …\.w§ëMóCm ²>|ž¶_òYë5¶?_(õÈɳS‘—íËžïÈ‰à„¦J6ñËjìÞbéÚs¹ÂK2Go"Ûb( ºn#àÑ«TªöööÕŠ·}cv}GGÇÊŠï@÷Ž»×1KšœH'9#`)ýäJâ«&ö[™óÿ^SôËoo_gIÔ#'Ë�¼L./=ætö5>+…£�fª."¬ÄWŸG ’xöïý'þbx3ê|Õøäë ¡,ñúu„ã¶çä�âÖ1=¹üååßZºé«òååƒQ~\„Áäø‡ÇžÉ¬›tï›–‰êØC’Ÿ*ò�atÎÊ4ßz9œ—èèÝÂËô` ¬‡€D¯V«ëëëöåm¢ÿ¿ÿû¿ÅÅźººÙÙY»ê˜'¯m!ÉO?›g×Ä0 DofD–;y™DPßWÅ>�û¹Pí¨æ‹JÞ„¤E§…HÈ™RþW‹jR¯s¾j²äˆ7'áž´µMÞ$®z–q4œ‹„ýÛä°súKG§jOú1}ö\,~]ó¡¡æåÃû7Kä¦x%�Z÷"QξR¹íÓöqbþ§X¡ÝÄL^晼Ö lVð€è»ºº>}úDvº³åÁÁÁžž»�‰Ã‰½¯/o_¦ÜòŽñ¢×©Éú;6Ì—Ãæ‡&\|ÞA¼9ï3­.äBå„èj+ê^Ÿùl¡“]ä}ÖŽ”òA|û•‘ÏâÓ=;îÇ#’íLN�‰‚Èr'//D{ “XÂkí«æ´%±ôèGmLé��HÄ�nÛiÕ–[µŠ\G"™F‘ÊäþSåè§ö«ã3Ò˜¯'Ü]ºFvÇ ¾ßLùeÅÔÛÝFÃQul+±u²Ò÷?ܵe'K!QƒEwð€èÅb±Á`p&wò÷:�N*•ÚU•8œ|ξn¸)ä¯×S©Ù‰^Óx7†x0§ª¹SQ—u"”tQ6‹ºäÄ¥Šº{{{{ûFÕè介Î�ŠqÜhºî¼æ¶€ UÄ„kºÚ+¡¼'PmKZ<‹y¥¤ŸŠö>m^;1 ®unðÑ,Qcs³D¤1ئ–5èKއbïÚ .s€–ñ¶LJlr"·^*“Ô>¿–à�©Fõ=;ÙþɹµŠ®ÎÖ•’>BLÄÐ 9r 3M÷Hk¥­Jeëû‚3AˆOJÕ$nz²ÜÉËËç^žòœ*Ÿ7Ÿ€Ìn:ñì«V«³~&Þü�ݸIµúž‚„uöõÔr¶¥ßXºqèI,‰¾Rõ…Ry=í¾¢:'_ÌŒæj74´öIÑŽÑè‡gz[°~–€D_]]½´´Dº³åÅÅE‘HdW5‹èßêMÚÖìDnÀ±Êa=yè�~Ô›îõ˜YeÆ/ÏâÙ>×ëçÌ¢?PØgþÃ0ãXy"WðoÍ4†™†ãò½ya7ði¯ ]·vr÷åufj�û°ó»-Ò2byþgßÌ™ì'85ÇgîÑßy[~i'/â’xÌÖ#¶†oöÚÉ—øU©û�Ÿf:s¶³‚î6i4M©þÈŽŒVûÑ*â˜'GnÍ‘ø×8�ËLm6P½q(#–q«Ol=÷X¯rHÿnPôÄ™C3;9Øþþî� Û,áæ2—ÿO!•j]ü%¥ëz^]‹0Ùþ»ÏÞ)‘ ©m»Ár<Ö%t]ínÝjõlÆö—ANDq(+Ž¿ó–ÌÒR¶R`ü�M-ú¥¥¥êêj»zÙD��i ò÷=PôI-¶ÝŒÕ(2BÛLÄúanóB’Ÿ�™VëÉÛÇ¿.Ö£3/NËÊ?쳫¸Go,ÝÃ�ÈëÒjB–Ð26„¡ñN²ã¶JoZaj|%ÑIgóùL$"WéhˆÀ¹èѯop8)Õs˜îcáQ!“ràßìêΠ˹buä˜~ 6+9>"@À„øq™á7Ä”DoèN�âî~ÐfÉ™‰“˜Ö¤XþHr�07¦Z«°ÿúË‹éy¢@bï²kHÌlÆßY:ªmy“))ŒÍô;’-SÛõ¸—ƒ[_»Û¶3ÃLÊ�+-ŸÎ¾/¤¹‹Þ)+t¬ð€·ðJ=ˆÞ6BÀ¢—H$:�ÎY/žüýìì¬X,¶«Yôf©8äç}8'/ÙúÔ�¦-= ¸R¡ê_þ ŒÍW÷è1 Uå'²·ßT~m8÷øã燇}(;ÆÙqK¥3áç d}¢;zéhG{W1³Ž½i¶ê0‡óO1(dš�>½qx‡!8˜Û†›b•èõ½Å»8ü„ÏdÊžÞÎÚ+Qª¢7®îÑ[F“¬”7>JÎILknïPªú†'ç]ýª€|æû­¥k:òq�ˆü.Ç·c××îÖÈ>Âd[élŒÞ)+ãPV<éÚ‹”,�Ÿ àÑwvvööö’…îl¹¿¿¿««Ë®Vö¢Ç0ÓpÅy_.�Ã@Ì�W¢S•‡ùH\fÇÊ®�¾ãÆvΞ4kg–È”¸åv3ýbà®{}ôãÃC‚Ä;©|¢ïÉ †ÎÔ°ó{lC7™q<ÿ³®†nîÉ燫’…ìÀc¥Ãä;±ÖqÒ=o×=¹ùl`'zKmçe©{˜�)r� [ùtåy„}èÝWbkt´ ÉÛNôæ»yŒÞÖy7gkR¿8å+8ýÊrûרvřîùÈx®t|¬ŒÉÅ/¡}Ö×î¶UǶҙè�²"Îî0FO‹"àÑONNŠD"*�WŠD¢ÉIûy©VŠÃб''ƒ¼þbZŸ£ŸßÞ�°ÃÎe¿l�5Këß”¼’ãKtæÅéVèÉR‘L*zUÕFü\Èø)'�ÇDØ1Ä À8ô8†ƒ0Y;r;µTmsZ<›yµ´¿›‚ߌÍm'^Ï`?ÈŽ'&}£îÈ�æq³¤+wËH…kÑë‡Äe/jZ:º”­uGCX‘w{ ¦Õ‘k»ò"~âÍ� ¥JY=šk=ú9o�[<0k"//ï!hñÜ~+bŹǚfã=zò2t߉â¥ÔÚ�}™ñ—”ŽaóŠ’‹—ÓŸ¾Id� U�¯î °Ü9p¶žv·rû¹½VD††�GÑaz«£1@[‰°(ð€èQíìì”ËåÎ:òæï …R©\ùãØÕ¢Ç0ÃðË$Ë*z Ó�‰r/Æ„ú° ¶ dqb4V7X•²WÈe2Ø>áç›ßU`úôü$ÙY "~Ôƒ~ÎKäsöæ ›ŸVÄõ=Þ�{~wA¸!1§‹¤Öáf’Ö-¨í¾1¨Šq8Ñ…]æ‘„ì5»Ä˜­G?×V”´Ý�Åðb°á žµ†bØÊÈ-Oaú Û¶1Ù<aä©b%ѽ7�‰3ö }¢S› yyywÐ÷ErÂ,7È!Y“üÕê;®‡s–ï ˜Ëúm¥c¦Ù®×7Nî óã2½¶!ü€]SÊZÆñs�ÃÀÖÕîVnn=Ú[t€z­Ý®§`+ €Àº x@ô†ÍÍ͵´´Èår‡ýú¥¥%¹ÿµŽVK庫8"€Ž•õ >÷fÆÉ­HGÛlô;t¦êßïz½ýÓDÍÕ ÛoÒÀ4mW·óöÁ/cÝÐÂ�……€gD�a˜Z­îè訯¯ïëëÓét‹ÄG§Óõ÷÷×ÕÕ)•ʹ9ÇC¨Ðt$0מ¹ƒvOf¹\Ø`nT6WËî†F\SXžÞ§²ÅoJ³)Ówä%q…þœø7��bþ4=†aZ­v||\©TŠÅb‘HT[[+‘Hººº&&& /ÿ+w´yyéƒ'­¿õ¥fFêÇ�~e ©ç½ùÓ¨^g~ F–¨WR—<)züv ŠjµZµZ=K|ÔjµN§3™\üœÅem`%@¬"àaѯо@7Ñ»(d€Øl@ô›­E  €€› €èÝ ²@l6 úÍÖ"@ÀÍ@ôn Ù 6ýfkˆ àf z7…쀛�€‡E¯V«{zz¤RiMMMmm­X,îîîV«‰7Dn6T@€ž<&zEU*•H$êïï×étKKK‹‹‹:�nhhH,wvv®|oå&狎WÞ9ùO©ù¥˜›$VMÛ“ŒçíÄ´ãn‹HÛó6ç¡d~»ì6¢�øõ<#zE›››ÛÛÛ�½½R¡PÈårwºÞ4?ÔÖ ë›ùU†²óð¯o8 [«Fó9œÐT‰{ßi£kÏIä /Éà•[¿£�¡ àž½J¥joowñ>ú¥¥%…BÑÑѱ²–ÄK̽ãîuÌ’^’¥“ØæŒ]™Þö÷ª ùlkܳ°¦èÑ™·W¢|¹È6/¯mL¶ xçþ¿Óêú7ð†N×5BÇK�ù�}=�âS—¼¾Êbxyyy1ŽØž“7Š[ÇðWðϵçDrx‡Šº­S‚˜¦›î‡²§ž êåIMñ%&>ßÖ|ëåp^"¼D×=û ä~ˆ^­V×××;ì˓տ¸¸XWW7;kÿs³}¼¶…$?ýl°öÎé!ú©’#Þœ¤ô&…BÞ$®zžyl;—)ü·Eíj^UW»€KÑëûŠ¢8Âòy<'áž´µ /úYÆÑp.öoÞ+×µe'²yq¥½ø«ÿMjùÕNàɧcøé�xß©Üöië�Ç0´›˜¦ªÃgì%|ÎØ¼vb°×:7øh–¨±¹Y"RŒlsÆtƒ%ÇC±wí—¬Ýj‹èMúé‘ÖüäPvøÕ6|®qç¹XµªF$Ps/Où N•[¦ú  ‘•­ï)ˆ@Xg_O™7Ñ~,ÛëÍ�M>ʸTùÙr¡´j«åü‰¢aêêe °67ˆ¾ººzii‰,tgË‹‹‹"‘È Eôoõ&mkv"7àXå°ž,ztúýQoþ¹×cf[¿<‹gû\¯Ÿ3‹þ@aŸÅbf+Oä þ­™Æ0ÓÐãc\¾7/ì>k¶¡ëÖNî¾¼nÃLíqvb~·elÅ0�Ëó?û73©ÿn ÏüÍ�·å—vò".‰ÇH·Ì)ˆÈ½¼¶á/¯¿þúË‹‘Z�Ÿ¨Pç¹XµºFË ŒC±üˆ[�–‘w³²O<ûªÕjf'Ûßß=d™Û½*?âå%8Z6i›b�ØÊz „ÿëåÿO‹ùÁ8”ÇßyKfÙ_.–€Ø„6µè—€�?» IDAT––ª««í¨ÙD�Ïìf":¡dÑcèHÞ>~øu±�yq*øXVþaŸ]Å=zÃ`énD^—V£È²„¤ Cã�(dÇm•ÞäDô\6ŸÏD"r•»˜Í‘óåuöööö¨²÷)±goΰÑzËÖ8Þ�{~wA¸!1§‹¤Öqm—¢Ç0ƒªø‡]Øe>aí�μ½Œÿ` ÿÙ“í¾÷ĵ²&ó“Œæ¬ üñJ'1`˜£Yö-}oQ$'ÌrƒÁißÜ4üò �µ3WIjµZ§Ó™L ‘_Üì�=[‰€‡E¿•PC]�ž!¢÷ w( ðÛ€èj( à zÏp‡R�¿�ˆþ·¡†‚€ž!¢÷ w( ðÛ€èj( à zÏp‡R�¿�€‡E¯V«{zz¤RiMMMmm­X,îîîV«‰7Dþ6P@à�&à1Ñ£(ªR©D"Q¿N§[ZZZ\\ÔétCCCb±¸³³så{+ÿèfð@åÐ IIÚÆ/”~…ŒŽWÞ9ùO©ù•ŸŠ@`#<#zE›››ÛÛÛ�½½R¡PÈåòÍåzÓüP[ƒ¬o†’]´‰¾ãN´ÿ®Ûb§où]]К›¸(ÎÙ*}ǵ0®eZ•5ó_ýZæÙ®™ÃŠôð'¿‘€gD¯R©ÚÛÛ]¼�~iiI¡Pttt¬DáôÕê+ºÿoS÷­«0ãÀÃ3ûίšË–Éê‚ÖÜĶ-õ²è×ÌMѯ™õÀ %î&àÑ«Õêúúz‡}y²úëêêfggíªüˆÞ®>ŽþX-zG©6úYôk浦è×Ì à9}WW×§OŸÈNw¶<88ØÓÓc‡,ztüÍÍ#»Bý¹,ƒåqøVÙ“ôSñá6‹ëy._6kžswçØîð.Â`²}"ö§Ü�GÔ}gršhÜ6±—³Š8€L®, à˜€D/‹ ƒ3¹“¿×étR©Ô.p²èq¹pC’ >4µ4V²¶yï¾QòNÒ(~q;‰Ç yÐLLjJ$ >‘#’Hŵ/îE¸»‹:Íó�j[ÒâYÜÈ+%Õø¬°—ðYaóÚ‰ OÌ[Í567KDŠá_N\ª¨»····oTm™3œOÓx7†x0§ª¹SQ—u"”tQ6‹bè×7Ã8‘·•súž’£üÀäÚ1#Fr¢¾§`'Û?9·VÑÕÙú¡RÒGDEôèí "mBlÎ 9‘[/•IjŸ_KðÇ˃ÑÊ3Xì°ó¹⦦úò÷ßÒä-&uÝ�H&?êÚ£÷Riýˬ³aÄ2FOÊßqHÖÝ`ÉñAìÝŽYò,ë¹R–×lÌ4Ý#­•¶*•­ï Î!>)U“ÄËYEœ@¶Û?à ð€è«««—––ÈBw¶¼¸¸(‰ì¢^)zk×C{‹ ~ç›ÌÓakeÙûòºq[%e1“¶ëv'èü;� Cgj�û°ó‰d†2byþgßÌ™Vmeéhsö-_ X#C§ßõæŸ{=f^eüò,žís½—,:):ÌÝ}îR¼ àŸÊÏxR<š¦TdGF늋yJ°}A¤MÈ›c¦ëÌÙÎ ºÛ¤1ÍÖ�ôaÅeZ†þÑÉŠ$¶�èÑ©ÊC|öÁâ�–øÉC7¤ü‡dNpçmù¥�¼ˆKâ1{ËÛWÊ>Bçíb¥‡ÿkH�áE¦60ÌYE\@&çË@¬&°©E¿´´T]]m´SÑc_+Ï#ìÃï§‰Ž¶¡ïþnî®»-¸�H#²2ˆoî`í¼Ûc0iB–Ð2ƒ6¾ÎÐx' Ùq[¥7­ÚÊ<¢bï_kdEFcƒ‰X?Ìm^Hòs³÷MŸß^lóò>üØ^I6—œn°*e¯�Ëd°}ÂÏ=¶€~L”{1&Ô‡Å`°!{¯TL †Ž¬vØ•VËó9zùƒX$èoñD�íñʹ¶¢¤í~,†ƒ-O¸ð¬}Ú|§teAä`Èˤ=~&šë}rýHD aûF%Æ2yWjIOÝàýî©Æ‡WÂýXŒmL®OXôþµÄ+Hy:‰”à ªâCNta—u¸ÿ§zôf~´ÔÙ¶�Éæù #O+ÍN+² ²å¶‡µ�à_ ð€è1 ›››kii‘ËåûõKKKr¹¼©©I«%©ÄaøT¾´“• þ„4ú�ÅQœPÒ}fºVê�©]âþ#xFô†©ÕꎎŽúúú¾¾>�N·H|t:]]]�R©œ›³ï�þ4î­"zc÷ûÒïšÚÍ /ÿK dGÜRj,ÏRþ4Y�váæ«�ÇÝ:¾¢xˆnRÑ×|”¾uN}wð°ŒÛ¾¢ŽhÜ7s҅馲Ìé$õ]‹""xêÆó²ÛÊÐRôßúîFqc2;7ø[^Їè&ý·™¦§¹OG¿¹Íê2¢Žh3Û{±aªÿ¹I…ý ú­lÅ?°îý‚~ø}ö¥„ˆ.“�ðv¸P$§~œ¬ã ´%¥·è }õO òr233³²s –½ªišEXÖõW4ý¢ºì¨÷_vätùÔ¢­q=»¢ÿ%U° Š~AÓq7·Á�8{¯´RÔPWõ2ïÖù´Ú¯¿ö¸¥·èuÊŠ¼Üòæ/ããc_†ûU-oKs³‰F�냡³è9‰éÍí¶Oǧ̳z_.DVü# lLôƦ»Ñ ^ÜÃníò¡bYZxya»a0¹þ‘§3¦¿òÿþµêöÑèð‹Á`ñ…ñçŸ)ç,g……YYqJ¬PÀB8¾aûŠÚ xNØd}Î…Øp?Û;lߥrÕ<ž˜þ¢Ï«êµ½ ÍÐ/ÊÍ.S|žOwU—åege畽kÒÙÆe¾ë†¢ç�òsrr JÊÛÆÐ’è¿Æ¥Ïò‹ßv¨±už-\_4,,¸è†èÑóOU8xíÆÂ´´ðŸ=Á|á cÏ=j±”/Ì6dŸ‹�ä"L&/èÒ›Oõ×ÃY»Ò¿;ŽIþO çøÓ1â"rqªâ,‹ŸüAóÍñî·2+b+ôó»{'wøq˜lŸ�I"½Y0tóGºnKWjC¢74ýí�„^ý€®Òü�‹óÍ ÍíÝÝ¢âsÁˆÏåÚYü¸ü>”à I.7Ë›>”ߨçÏ ¾$×.þø�¶gïcó"/?|ßÜ&ÿð¾¦kúÛ�Æ–û1œ Ãù5m=�âÜä0fð¥ÍŸ#úï˜an¬íÝ£œÒú1w´azdpdlbbl@ñ¾8;_4 #TŒ�5¿ÌÉ+«S|ùòyècÿ„öÛ²è±ÙŽÊ‡Ï' n¶ü¯}ò+Ý·ïæÏ‚yœUdìe󢮕ÕÉå �þ�árvtéñ= ßg¸ÁÇs>´´µ5}èû6[ý‡s°r¿GcúXÁÜðO-±š®…ò–Nw±ûÙeõcQ÷áf“¿ëÆãÚæñëÜsaD¿¥�øGV~#¢ÿ6RÃb%¿˜´tÉèžøêûHf,?ê^Û7«è£ÓÚÍ÷QM=yÛYAZ�‹š†d_öþÂ�äû« óµÇ½ùçßZ‚¾M¼ÜËöùO¢ÿDŸ™™••••iþä>nü¤Y)éï³ÍÏòžH¿à}zÃ`eAΫ֯¶þ=ns�^ú±»¶,ï±hXk·r­ž:Õõ¿¨GO¢GvÞûømqa¾þ¤¾Xîî|ÉŠãüýN¿héØö™?~,LU$qWêæüXøüôÏÛ›~³Û´øã[oj$/±Àš‰y‡t¾ûáY©«�ðÙ‡ YÊ…¡›?RsP© ‰~¸l‹uê¥Ã;iØpCîé½;|A€ÐŸÇÜ~S¶Zô sU9œË"½±3;”𥴻 7vf ÛLÄúanó"nÜýC7¯[§¾~ýúujüó@[ݳ¼œÒÆýÂ6;(¯zù¸¨ ¿ èaa^Vé‡áo ¦ñæGÙ%Íã&;=¢ÏÍËÏÎ~Ü:i¿Ê.݆þøE¢çìÏnï¶|z'Ñ?VíßZîE!©¿-š¯É¢ÿñ}¬ Ñ{û�Ø‚öÕ™�ã¹EG|£õcßFÊöpwöš~ü ´ûýøñè̲²;­¥ zpâI`#¢ÿa�œöA¶ÿ×hZÕ—ÇJ¢9ü}7_Ê»ûz®íâ8ý¢¶ö‡“R«'Ž·U¢Wf ‘€«•}Ÿ–?ÃSÚï@�ž¢_ÛŸæä—P}™øúur°þIŽEôcMÎD_ò¶îmInÁséø/·ù…C7«Æèñ“ºÝ™Þ¥è,ô&±wÜîž“ž Š24^zÄïHÉÐð³܈;}Ø"Åݽ¹ÜkDÿGj*µ!Ñ/êj.‡1Ê?Y�«ñçß_D؇«çˆ‘˜ï“Åû½]‹~A]}Ô›µr迬Fâ³U+ŸÉ zô{Ò•äqkÉëø—zwuC½â•ãOÝØ‰­{”],ÔõUgçT|Ô£8ß5Šò<³è¿ëúßä;ºi5Íõ¿{”SüV9çî;±¿Sô óu'¬ý¶Ø¿�dÅóüÏU:ºÁïÇ*‰æ„Ýμ�6øíûPéaAÒ½{}v?Ä´­kIDAThÿöãÅݺ!ÊMÈí¶ìc zpâI`C¢ÿñãÛTý¹06Ó7öj^¹H"küðþiî­ôwÃÆÞ‚–wÒ�WÍ]=}=âÿvs]‹þÇ}ÓÝ„³ãRÁ[ik[Sý[ñGÝ�úÆÔ=;ü|îk©¼­Yü®ìm;qä�$òø{Se#š5n¸Ô¾EŸ[Þ42::úyx°·½®üaVN©ì‹Á4Õú8;ûóøäÔ䧆§¹fÑ/, Ã’§Ù¹�k[{‡¿|ìš2.ߌ]X0N´=ÍË+o·=ɳòäò³SGä’4i¥Ó§nŒmÄÍØëOêZ[?<ºŒßŒ-ìÒá[7ðí†nð/Góöñ™;–øÝÜ·ÏOc9“QЃ˜¨í~DX¨"3�Å=—SÑØªhùðð°?nÆþ‘®ÛÒ•Ú èñ#n¦«ìÖ©ÝB“�p}Ãb�¥¾éÿöàzù_B˜²m“Íó�<[Ò�wÀíZÛÐ ~È}›ü#°L^@äõw£øý±oSò/ņú° ¶@˜píñ˜æâWYvb¨Ïîû­ø¸ÿÏ~¨[ìg=ép;C_]YA^6ñƒ©ìü¢Ò•º¾Ì÷RÑ Õ‡—%ÙYYÙ9yE�ʪ:&,÷X¿i†Zkž?Ê7?yYß§þNz¼raáÛ×öŠÜœ§Š)7ÖSGDµœŠþÇ�…iIÁEâñJnHìه͖¤öûŒµ …ÑòSl$²ø#Ñÿ>^¸ŸÏIÈ5?ÅKm÷³dµ n)½¶o»‹±�Éõ Û}0½a­ç ¬Aüøñƒ""x–ö¬Ç+¿qÑ“öyš-RF¢_s‚n' “ÉL¦Õ瑱ÙÁöášL&©TJ…§L&3�î~B�ù�Fêˆ`/r½/Ý¿¿±±Q.—ƒè]ƒ‚µ¿„€J¥úüùóOˆ’ŒŒ(•J*L»»»GFFh fw‡8<<ÜÙÙIìEkRZýƒÖL €€{ LOOËåòÏŸ?�+_LFw•;‹ßd2�ŽŽÊd²ééi*05MKKËÈȈÁ`p·K7i~F£ñË—/2™L«ÕRA{Ñš”77×uRX €t$�››«T*U*ÕÿòóóéXˆ \ÈÏÏïìììééù_AA�뤰 èH   @¥Rõööþ?Lù7:·&¥IEND®B`‚liquidctl-1.16.0/docs/developer/images/create_vm_10.png000066400000000000000000002621101515166127400227400ustar00rootroot00000000000000‰PNG  IHDRO°@�Db IDATxì�XTWÞÿý?ÿçÉûß}“5êªÙ$o²ÙÍ®»ïf³»°Ë03t”¦,ØK,±�½G�½&Vì *¨ *v) HŸüþŸsg€a�2àwžçÂÌÜsÎ=÷{>÷ÎùÞsîï6hÀ T€ P*@¨ T€ P*@¨ T€ P*@¨ T€ P*@¨ T€ P*@¨ T€ P*@¨ T€ P*@¨ T€ P*@¨ T€ P*@¨ T€ P*@¨ T€ P*@¨ TÀd~Û Aƒ/4hðï ´jРA[.Ô€ �2@È d€ �3f@øá_„�~¦Ú_ÿGl¬qãÆý[·j•¤´±É··µ…ƒ�j@È d€ �2@È€Ù2 |‹ð/m[·Núøã�ûéM”ð7Õòÿã__}ÚN¡€uÇŽhÓª,[¶äB È d€ �2@È0kZYXHþ¥cûö°U(ðϯ¾ þ¦AƒÕb ¾ÆI.“Al˜¦‰¦‘ �2@È d€ ��ºÊ€ÜÚºÀ@‰i|UúúmóæÍûÛX[Ó4ñŠ d€ �2@È õ‚a 7nܧªï�ú¢]›6�9âÄ+ uõÊëMvÉ d€ �2@Œ�¦òµió¨Aƒ¬Ê¡§·mÝú…ñÆø™’2@È d€ �2P—>G…¯ÊüS«ÖVV¯ë²(¬;j2@È d€ �2@Œ>Gÿø¥*3Om�7ÂÏ� �2@È d€ ��ºÎ€˜º§6ÍS]oLÖŸ'$2@È d€ �2Pœ§6-Ñ«ã7ÒâÚö›·^AóÄ(o Òâ)õ d€ �2@Ȩ=„aÚêú .û¶Ä}?ËbKx·–Xîü DšÊ´ÍÍS¥À© lÌS¹ƒ”ºQ72@È d€ ˜ÆÀÛÿàN/‹b†ÉØ@‰Ï"Í,‡ÿT¸LóDóTahxðšvðR'êDÈ d€ ��šc`CçoÊ5MÆFj‘cÅ ÍÍÍ u��V6î8r"fMò‡ÒÊ‚mXÛ�ªšëPQkjMê?bÄÉØ™úù;¥éŠæ‰?¸ìt‘2P“ tðÃÆðD¤=<‹]ÛWZ{Å·�­Õ"+j5<[Ñ<½#‹vµã>ÔZ5îï‰öl÷w¢ÝkòüÄmUúœLkל)[}Srª^o«²Í”Ñ:1…O”aJ;Ò<ñDa(¦ÀÄ4µ{â þuCÿÖó�­�V“…c“�`eQ¹z›­y²hç�?"<9¹wÀ¯�eÑ9¦M'LX{·Ó‘�‘ŒØ3[1Æ£cÑú<[µïŒ1Kvábìc<ÏÊFfÊcÜ Ä‚¡îÅM‰•ÖDfB«Õ–\²Îbœ¢•TûïŽ![£…&ë:æviW|ŸÚúbKl4Z¢×öC+‹–°h;GSTÐjÒ±{¤Maz‹6þØŸ� ­6Æ) ¿—Žï8’˜ ­ê16ôÐ×+a‹}¤2--;bÀÊ0¤«µP§Çà§þî˜z4­Ù1ëеuq³Õ¦ËBÄæh U%`k€Ýžs*wìR7êFªž�Ÿ\ŒF�z[A})k&•0Pâ;±î¾‘�2uúÍS þXó`©úƒ…šRÓ:Ç€¥ úN[‰�ËÇãƒ�±¨à¹ÈìÌ“…¬; Ä¢=W‘¢RKF£˜y²´Æ¨_n#W£…:7ié9Ðh5ÈyxC”:RSmieÝ ëÓ¡.Í©Sq~Y?t(Õ)4Oäf¥#55µpIK Âhy+XZX¢ûÒäJå©ñ`ßXX[ê�Š…\&ÅsµZ­O'™³Ê˜'åˆ=HQi�{;zuð42O­á;óžª4ÐäÜÇÎo]%Ce;*Pʣͽ…¥Ý F:-,Ñc™®Î¹÷wÀ¯­U…÷¡¦Ú‹Ûáyž ��ò¸Þ­dT=a’�Ÿ‡ÔõÓ TißLí‹ìnšÎ4Oì°”×x\oxÔ‰:Õ,嘜 �V�[›¢µ…Z»ÎFT¶)AS`-:á²18ý\­ê~ê?B7â º�Õ½;²•'f†"êö$§d ';‰·/`Û´žèXÐoÙVÖ>˜½ó<î=ËBvFnÞN�:ÿŦíY)1pÞN\ŽOFVVo�ÇÖ½a#Ê©h=ýdèÄóìd¦$àö•m(ËèXuÂ�W2$C”�••F[lä©U癸–©†&÷6V÷SÀªCl�ɆV“ƒ ½t#'Æçã7í�Hk¢vÅX³h‡¡[â$íÔé7±}Z_8ÛXÃÖµ/ŠCŽ=ʽƒ•~ÖºQŸBód0Âc\O‹ÖþËÃB3¦É Ç÷®mtù[wÁú™Òè�½Ê[ '+‹Š�›¾œæ‰0WÌüa¥Az'°°„Çg¥NwFØ"8ZYÂaÂad¨õæ¡­%Ú÷Y‡'bÄàI úÉŠ™§¢5²R‘ø4j�Vššµy�Bw|ZÙáûãO¤Î¹F��¤'ÉÈT‰‘ ƒ{ž,;`ð†(©ZM.ÒSŸK£íQ™}x'Žoã¶ægöÈ€Ù1àÛ¾ló$LQ�i£Pâ}�Q*í¿(«¼sÍ‚r!)"®§Iz×(¸�I�z ìÛaÔNý(DÎ ÌïÚÞóÃ�«UãÉþqhß¶ óT8åˆgu#Y÷~*uÀ[»ÍF”èçÞÅÆAvÒ}Röß-0¢•ÓT\ÊèÇïŠÖmÐõûHUi zv Ãl¬P‘zÊ»ÿˆø\ Ôéç1Ù¹­tž°jÕªô"£óhÇ�[ŒÌ“%|]–¦µe\XÐÂnߟFŽV‹Ì«?¢³QÐ Sö§Ðx¾A;c6Û÷ü „ñÌ�Ãa ënÑ ƒ·ÄKF#óÚ ¸‰:š'ã{žŠî_²´rÆÒKÒ}J'–.ÀùTTÉÇ0ÜÖsO§@“� ó7ã¾h‹ä}èßβb#OpžxTg¾nnЙÏõRãîžoKšÐ–-Ñ®Û2ÜFIõÈ`iу6ŠÑ7 Ò//E'Ñ•؇bÚêÈ÷Ź¢Ôƒ T+½:ÒÇ½ëÔšL\ؽ·sÔx~i ܼ"&[Mf0FY[q`JÀK%~I‘N\]é§Û¦a½²³¡‘‚UÄc×x�â£ib߬\°ìRº42v×(´kï�}s U§áÈ$]Ð’JìC�¦üÏs* µÉ€˜jWÚ(’ᨓ¸ï©`Êð(ã|œ¶WðƒÈÿ4¤d€ T'Vè»ZLAËEĞ݈ÎÎÆ…U‹ò,I'ö 8)êç§0Ö¶UQ§ù æ©çò«Rþù‰©zó¤7FÉ0@oŒJ˜§!&˜§ ÔSü¶–wô5G›,"ʼnn7°¸‡¼æÉßC–FLÛÓ�œHu&±ôi{Ö&ìOiæÉX;ãôÖîúh‡ªDl (Šr'¥³èˆ)‡ŸJ÷m¥Ÿ�¥˜JXhRʾçÉ¢Moìy”#�úmèo]4Ò#H¨R°¼Z9MCx–Ú¬0Lvh Uœ§ÍFÐ程G"DÜ'1]ýZ9NFXºÚœh,ðÒ�Öëòª±˜{ôžtŸ™&ë63Šâha§ïëÌõ³˜>}¯.ðÄ“h­3Ú•Ùcmù™h2@jƒ�¶–-Ûâ„�*Í,•ö]��A'L©?§íUg‡Še›¡) 2�i4uª=�ÚõX‰»¹j¨U*¨sb±È×3O¦HŸU ž�˜¹¥Á½.0OÁ´ªdšâ©»—Æè9O­œ¦MÛk-MÛKSi N Â+éx4µž–­¬ak£zÐÞ«ÃE¸î\„/ïQîÔ½#Oˆé§jroaU9¬ÚwÖh]Àˆ‹ ½K”iÊþTÆá+ûê‚´l SëÙ¾ç*ÜÏÎ@ÂÝXDFÞ³l5´êÔÂýx“¥™'KKL¼'Ã0 Užû膖ÁÏ„ý1I;ãs¼l1vŸtO–V£Bbä1l^µk9�Û©*]´À»»Ñ_o6‹FxJ†*OMMƾñö°´‡s’1ŠÁBïv°´°€ràr‡žÁö)]%chÑa$N‰4¹ñøQ, Ø ÞŠ‡9º°îÅž#¥Qáî¾ñú‘/g, K‡F“ƒó ¼ G¨ŠêU4"f%÷Ç®8ÝTËŒè�èa ß =–†ë˜�F/bгÞ �*³ÆÚò³I¯7;\Çß2P9Ät»£OFÏq*a’þ­ãCryç œ ��šf àY?²|�t߉•ý$\LWC•tƒeº‘ã¿ñçR͓ؗVö¾8áñIÈÌU!'3�n_Gðú1°7üKiì0tÑ^\»ÿ 9¹YHŽ¿Œsü¡(X/Ò˜XOk¿y½ñiY*¨UYH¾�½‹më ú–jžD¸õön˜²éî$g"'ó)âBÆØ.ú�ॕ×êÍûc²vÆe[¶GÏï÷!^L…3|Ö“F�§Q�ënH¢p„Ç8`„øœ�£“ÑÊiºnJ^ÎuÌv×O«3Ú¦EÛQþT Ø8@¿Ï­Ðià|쿇¤ôläf§ãÉ­0ìY<Nú±Â»¬p|ßÙÀìÖ«È< :v[‚qŸ›&76 *z^•Ðßö[œ~&¦ ªqoÏht,gÞ²eå÷Áh?Ùñ«\Ç�ºQ72ðö L±5zP®Ÿe‰©|Å ”Áz‘×Ô6àÈOü&Ãb*TL÷ö'jH É@õ3ÐÆÆ¿[�pa(4¹ˆÚ2¬¸Ñ¬íß Kt[|¹bjß¹ùº(…µ]'nŸ¿™d€ ˜1‹+n 6t.?<¹áo2Í“`ØP|_ý)jL�ÉÀ;È€Ekø- “€‹{�’nG ôøZ *m*aMÿ^Xy`mT&´šLœœáZ4e¯¦ëÁí±³LÈ@b@Œ"‰ixe�2|/ÒTdÄ© �@óT‡`(h4þ;xä”?\d ú°ìˆnã–ãà¹hñ÷‹¿_d€ Ô®m¿ÁšNÿÁõî%ØŸ÷i `”°ä¥Õ•æ‰?üA&d€ �2@È õŽÆ\)ßöß@~ü$Ø ‘†íS;íCÝ©; d€ �2P4O4Oì¬W3ê¬LZ·¬/}'Ö=ݼ±C»ãz_ˆ¼ÔÙ4�©u"d€ �2@j‚�zažN\ÙŠ Gãö“µXwx¾ßä�›÷¯°ãIU« ósÉS�[† iÍ<š1'÷ãéðxÖ <™ -â½øNZ7c¨”öÖø)/ jâ‡€Û gd€ �2@Lc Î›§Œ¬4L^ã†; «ñ8u ’ŸoDøíù˜ºÞ£V;Îõ@õ_1 öÆA-Lšñçwܸ©²2q©§bF À£¹“?´;â‡wýÑ=ñ`¬L胇ûJ‹x/¾ëD‘Vä‰Ù—zy@•�UY6wnŒëgüùç¼ÞŸçؾõ÷ÜöeÛ’2PIê¼yÚsz1v�…„´ŸŸ4�S—"äÚT¬Ú7¼¡È‰ÄÒ>nè½ä²4¦9Ýjé¨h2pïj(Ân¥BSˆrc°¤—ú­º •Ègü¹¼²ÊÚ®¹èR^ýËYë§å¸Ü« ÌžŒ¸~^ˆëç‰Xÿ.êæŒèA^’Iº;¼;Ä" SÌ /i]l?O)mœ¿—”÷r/OÜZ³Â¼Y.G‹7r[Qn*»­²x+¯<ãú./YÛ­'œ¿±mËÓ†ëëïqͶeÛ’2P�¨Óæ))õ!&®uŃäÕ¸ÿtî&OÁã”u˜¶ÑoV\u*ŽÎñCg%ld2Ø(ìàÒ¥'†M]…ÓwÒ+_®!Hªxü¸Õ¿‹´ˆ÷ÁCzãÙ�ëîë#¥ybtí)ß⤣5rÓÒÞŠ;uz<Ž­™�AÝÝa¯�Céè¿aS±9ôaÅÚ½ªõ{“!çoÕæ46µxQªª�–Çc� �2`6 Ôió´þàDº8�R–àNâ8w*ßV3ȸg}=qëÛ¡ˆôqAT·NˆîáŠìè(ˆ—6#'zãjOW\ë銓½¥ïĺ¬è()­È#òŠ2B}+*¯ CelžÊË«É@dà< ôv�R®€ƒ[wÌ:pWW®Ô¹SÀÚÚZ¿(1ý˜åP#.p|]õyzbªSHTitûn܉4þ\^þ²¶k¬‹ØgUB7NGß.NP*áå? [/>ÖÝk%Ö—·ÿºÕÐÿÐAþ¸Ü·'¢zûâZG\÷r–ŒP܈x‘þ\g 234¨7Ž÷ï õsÝw/³2qkL€”Väy£úøâr¿Ô¿’�É,\XÚr‡þØUÖèU9mmоªdœßò=ü»ºÀVi�ÎÞØ‘QþqR‚ƒ>97kΫó‡‰e5tÞ¢æÔœ �2`uÖ<-Ý€ Kã÷x&¢îŽÄ�„ùØxdöŸ«‚ûCŒÍ“&)#°i‚7ì|çâjº0™¸¸Üö#°>è2n\;�µã¼¡ðœ�°412•…ð5°µóÁ´ ‡qîÒ%œ9°=”ø!8½¤y’LƒºŽÛ€3Âp>d/æ¸éÊ3é2îT–“7çæfô´sÄ !¸}g�áü-ýs„ôWÆ,;…ظ8ÄÅÝÂi{¤Ü¼€� ˆŠŠÀ‰Í“à©ì„YAÉ:ÓeÜé5þ¬-'YÛ-až²peÕ@Ø:ôœí'q)ì¶Îô‡½½6^×O¡,gÿkúdpÀÑ×üÑÅánvˆðpÀUOG\ëâ„Øaýñ"#]2P¿feB,âõ"#±ÃûKiDZ‘GÊÛÅY*ë “}åÌSæyLvSÂ{ö©bŠkRN[•«¯Žu;‡ž˜µå.\ÃécÇq-QUþqR‚ƒ97k΋3dÐnììWîX¥nÔ� �2P'0[ó¤Ñj±'¯l-ñܦë·C1g«âÍÇÕ;#yo<ÂnN—F�2³ž¿½ðúN›Lfé¾'12#³ï�egtÓœÔ)'0ÆÙ S%Ž ©b ]'Ì?“MÚiŒïd‹kŠîiR'ÆP»7™'ƒ‘(­Ù7Ö£›­'–_2z`j©�ʲóf^Z7ew¬Ž(eäAobʽçI�ŸüÑkÙeÝ=ZÆ�^ãÏÆ'ãüem×È<©SC0¶“†lŠ-iÊ�ÇêþŽp›|éâž/£<¢SW¦vÆõª†ÏÛÛ·Ãõ\rQJËåζwµÓ™!w{\ÔÚŒ É4‰?¿ffâZ@_D¸ÛKiDZ‘§ ¿(kG‡v•â:÷îô³µÅ¸=� 9-·ÓkÜVåè«I Áx}IÁC 4-ï8yc rnÖœ—Ë‘LKsIÈ õ…³5OG.¬Åü_|±<Ð ·÷GJz¢ÔyTkÔ˜¹¹N\‹«wÆ!,67îÏÄÒÝ=±£RÌ�©ï´9ŽÜˆb4æf ®…�ÀæYýáhçƒåçŸ"ãÚjt•Û@®PB©,X°‘)1ao2¯¯�·­V…ŸŠš'õ³£no�Y'�‚T˜Ð©,–7û6¶Œñ‚¾+†ÿ°'o$é¦ ŠÎMY&F›ƒø�µ˜0°Ü]œàâÞ® ø.8g¢y*'YÛ5ê¨g^[ /[/¬¾Z¤£V›‹‹Ký ì¾19šRÍS±ý¯áNÜÖvmÞ·.8ȥ墓az#uÖYŽƒ=¼ M×�> ó¤ÍÌÄÁÞë„aiEž‚ü¢¬­íÛVŠíÜøíèkk‹ñ�E&¿ïåµµQ›ˆü†ú–ÞFº ±îMljæM¦›œ›5ç%9bÇ€š�2@È@ýgÀ,ÍSÌÝ‹˜²Î c'ãê�iØ<“Öº!öÞe„^ Ä¢ÝqõÎTœ‹€K±£pìÒHÌØè]b„ªÒë;mÆ÷<é®’ÛÃmÚq¤^ý ]•î˜s8wîÜ1Xâ‘�¦BæÕUè¢ôÁškEÏ詨yÒ¤a”½=¾ª¸y*‘W“�ø {°`TwØËœdG) IDAT]0bÃUÝ4®2LLNÜ6ô¶wBÀ‚@„EÝDÜ�Ìñ³7Ù<•›¿Œí�"I�oeÅÍS‰ý¯Aõ‹­Î{uÁyÎÙZãœ� çíe8mk�}Þ] NK“F�^dfB,â%î{ëD‘Väy¥2¼ºâ;‡J™'mF(¾ë¤D·ùç�]†å¶U)æÉPßLéX0n#ÝÉS·®ìãämGž ë!ïä¼rœ”ÁF¥Ï¡,�í@È õ”³4OÓ7tÅÑK#qáÆHœºæ�°˜q8ta&­éŒ «;áÄ•Q89§®õÃ¥ØïðÃV/DÄW¤e™§ÌpÌò¶…ç¬d?=†QNÊbÓò ;ê¤Cæ`‡ÛnN—ªUóTp–õƒÂc³5ÐæDbA7û¢ç5éÓ¥›¥ÝH&î[Ñ=wóPç’æi¥ÑsžôŸËÍ_Æv�Í“:5c]l1dÓÍbÓöÖ Óö—9m¯D§ºpÿ«ÿŠÈ�>qÔÑçmqƦ=Båíªè€]< JM•ÌÒ¯éˆèÓὺáW½™Ò¤§ã�OW)­È#òŠ2Ž::â`ßA•ã[óA³| w†½w GïŠt(·­Ê1Oê§Ç1ÚI´Qlш¦^ou9ÇI¡y*àȰ�Ly*»�ɹáùˆï‹x§Ô‚ �2@Þ†³4O?í�å�=p6r B"ú#è²Î\Š“WFâç}p.r‚.÷™kC°#Ø‹vøW®ciØQ3|¯ï´ÙY‰ áá¸vÁ·bö�.PØúbeX*´Útœ[ÒJ;LY·¡a—qáÌl?Ž µ0©8>Ó —þXxWÂÏbß�cÐYnÿ†€Åï[*³cXÁNeνsص/W"£q«Çt…m¯åˆËÕHõÜ7ѶÞã±ãT.œ:ˆ «O‘½=”N²h.^‹BLÔÌïãPdžÔ�°q°#œ.Á¹ø4hŒ>—Ÿ?¥mWS¢£ž…Ë«ÂαæîÖŒ˜¥ ±áºþþ¶y´(S;Ãv®¦÷‘;ñ‹Üg�Ò¡-NY·ÅiY;¤] ×§çé¸ÒÃg„A’·—Þÿú\7�O¤iE‘W”ñ‹Ü‘»öVšqÕ“Lò¶ƒ¢³?f¯ ĉ3çpöô1ì\·+Ç—ßÖåê›�óâX°ïŽálØeœ9„Ó±bÄ´¼ãĈ#Ã6!çRÀsåüm~x˜—2@Ȩ« ˜¥yÊUecÓ‘©˜µ¹+Ž_†—àð…î8~©N_‰ca½qäbO„„—¦÷Ý~xµÒËRN<$w¶î!¹2™ 2…œÝ}1hÜ<ìºô¸èêzNNm˜Š\.‡�KW šs‰j]8ouzvÏ�NPÚu†ßx(1'¤¬h{ÕcžÒ¯nÅÐn®°•Ë ·s�oÀt^/ ©ž}7³yÁA!‡]'_LÙuaxóNPÚØ@aç7¯^øn[”~ÿ5H8·ƒ½:¡Ï²KÈÕ}.7¿¥n·”ŽºV•ˆÐ ÓÐ×S„*w@Wÿ‰ØzÁ Ty)yjÓ^’1æ¨`߉u"�H+åéØGí°¢µ ¢ÌRY54oxŸ›t ÛŽGJ\<$ס|üGcÉÁXä–×V¦è›“€Ó¦£Ÿ(_ ‡ß s?Ð�º¾ñ81âÆp*hžÈ9ˆßæa^òCÈ ¦0`–橠⧯®ØÒÇÂúc¨öŸí†}¡>8zÑ«tÚýcߪSY°­šøŸs{üì½�‚Ԛо¦·ºä'¬i«Ä¹=µi‡Ã­Ûàh›Ö8Þ¶5‚Ú¶Æ £E|'Ö‰4"­È#ò®i§ÄÙåkë ã5­3·Çó d€ �2P“ ˜�yÒh4P©TÈÎÎFff&ÂcB0qµ+Öꎃçúb÷)/ì9åƒ}¡}1a• âÅàùóçRZ‘GäeÔ¤ˆ¥oK…Ø;°ïx(.]½†Ë¡û±p¨ìz,FT¦9Ô�ZéíV5ºädeã'‡.XÛZ�=í•ØeÕ{¬Ú!ЪöZµÃ¾Vm‹-â;±N¤‘Ò¶WbM+V;vEnv¶ð\5ºT§æ,›mDÈ d€ T7fcžÔj5rrr$$ÌPJJ ž>}ŠÄÄDDÇE`Úz/,ÚÞ�§zaÏ©X´ÝMÇ“'O¤4"­ÈS`¤DY¢Ìê°ÌòÕ©8¹|ºy¸ÀN¡€�s ˜°§ï–~Ó~™åNcâûÚkÏ jŸ››‹Gq·1×R‰å-åØÚÚ[-dØÚ²#¶µìPê"ÖIiZÛâÇ–r̵Râq܈²È È d€ �2Pû ˜…y#EÂ줧§#-- Ïž=CRR’dŒ>|ˆ»wï"úf$l€Y›<°áPWŒ[å‚7¯IëDa¢D‘W”!ÊešÇ(Tí74¶šiÁ›1f^0}9 ¬]1çßr¬ø�k¾QbÍäXó¬ù·L·ˆ÷â»o”Xñ[Ìþ· dnR^Q†(K”I–k¦ y¬Pg2@È d ,ÌÂ<‰Ê‰«ëYYYÒÈ‘á¨ÓãÇ�!Ìѽ{÷pûÎml<8cW:áà©õÒwb�H#F¨ GŸDY¼bOðË¿º¾76O‚Û˜¨ØöÝ,Lþ§5f|mƒÙÿ°Á‚¯äXôO¥´ˆ÷?üC&­i~žøƒ”Gä¥y"ÃÕÅ*Ë%[d€ �2@*΀٘'Ñx¢ãY`¢ F¡„‘£IÂ%''[Äwb�HS0ÚT`šx•¾â0ðª:ÍÇb ©`4!!Aºs-–®ÅÂν1å{Œÿ{i™ÒÒ ;÷ÁÁeë Òˆ "�È+ÊàE€ªk2N-É d€ ��·aÀ¬Ì“ñŽ$î[A Ä<±ˆ b)ø,Ö‰44K<Œù1§Ï÷ô s_pa 55b14þ‚ëZ½W¯‚÷v™“Ƭ Ïd€ �2@È@u3`Öæ©ºwžåó#d€ �2@È dÀThžx¥�‘ÜÈ d€ �2@È0�š'D2Õ‰2¯Z�2@È d€ ��úËÍͯ2�2@È d€ �2`4O&ˆÄ«õ÷êÛ–mKÈ d€ �2`*4O4O¼Ê@È d€ �2@È€ Ð<™ ’©N”éxÕ‚ �2@È d€ Ô_hžhžx•� �2@È d€ � y2A$^=¨¿Wضl[2@È d€ �S y¢yâU2@È d€ �2@L`€æÉ‘Lu¢LÇ«d€ �2@È d þ2@óDóÄ« d€ �2@È d€ ˜ÀÍ“ "ñêAý½zÀ¶eÛ’2@È d€ ˜ÊÍͯ2�2@È d€ �2`4O&ˆdªe:^µ d€ �2@È õ—š'š'^e d€ �2@È dÀhžL‰WêïÕ¶-Û– �2@È dÀThžhžx•� �2@È d€ � y2A$S�(Óñª d€ �2@Ȩ¿ Ð<Ñ<ñ* d€ �2@È &0@ód‚H¼zP¯°mÙ¶d€ �2@È ¦2PëæéüùóàB Ì‘S"¦ã — �2@È ïfažÀ03„™ãIðÝ8 ²�ÙÎd€ �2@È€© ˜�yÚ¿?är9>ýôS4iÒ 4¨Ô"òŠ2 D™|Q�Š(@óÄ“¨©'Q¦#+d€ �2@ÞÌÊ<íÙ³ï½÷Z´h�îÝ»côèÑ7n\¥–Q£FIeˆ²D™���é;3í;®ÍÓ»säÛš �2@È0•³2O:t@Ë–-‘——We]wQ–(³cÇŽUV& ªÿ Ð<ñ$jêI”éÈ  d€ ��w‡³2OÍš5È#ª¼g>|øp4oÞ¼ÊËe�õWš§wç$È<¶5 d€ �2`*fež~ó›ß`Ê”)UÞ#eвù¢¦*@óÄ“¨©'Q¦#+d€ �2@ÞÌÊ<‰àS§N5µkr:Q¦(›/*`ª4OïÎI�?xlk2@È dÀThžLíM×vºáøÖò XŽ‚¶¶ëòlŸæ‰'QSO¢LGVÈ d€ ¼; Ð<•bò³oaûô¾�}ý~ÿaC4ù¤Ú{ŽÂ–ËO‘_JúùêÕ-,ö–Ã{Ѽ¬‘ ¾Û¡yzwN‚üÁc[“2@È ¦2@ódäòÓB1¼õ§xÿã–ð›ò#vìÛ��ëf£wÇ?ãƒF-0x׃Ú3PFuåÇêS€æ‰'QSO¢LGVÈ d€ ¼; Ð<ë«ql„~û‘5–Gæ[ƒ_ïc¹[ ü×½q85�ýÿ‰ßYMFÜ«×út¯ñ`µ'ÞÿoËÊ^<Á¾éÝÑæïÿƒ&�?Â߬ý°îÊsH©óŸáÀT_´ûçhúáïаٟÐ{ÓMì~S™Ïc0±õ'°šp¯ jVæ6´8ðo|Ðrb^èë§=¿?7Cç÷õæï57uÃïþà�µ6žV°'f÷Ÿæ©”“ ú ޝ˜Š{ã Ö–²žß�?žä‚ �2@È@ýf€æÉ°Û® B·?6ÁWƒ�–z_‘æò ü½aølJ³]}ñûß˰áQÁ$ºllöm�OÜÖ"=_…àqíÑøÏ˜µë ". ·à¿¿ì��Ì|àÕMLlý1¾ì<‚Cq&è.>x�”Ýo(óE¬‘yR¿qÏvöA“¦vØ–¬³ZÚÈ9øúÃÿÆŸüvC#í³}�föK‘œW` Åx·ß×+ó¤ÉÀ½«¡»• ME NN$–öqCï%ç�¥ÑB›ƒ%½ÐoÕU¨*RÓÒT‘2@È õ„š'�ðâÎ�hݸ¼6$ëFˆ ÖIoÕ‡áùI#XŽ?�);áôq3x­OÐ¥Í B·/šÃý§ûxõ|:òôØšTXΫÇkѱé'z8GožŒF‘ä¿¡Ì|ÉpåÉ/gy‰› oþ1ìM%#~…;š~ô4ùÇ0„ÿúxy£ÿó1lfG¡êIl,XÝýlæI�ŠCÓ½a+—A&“Aaç�n0aþ&œ‹O7ý$œŽY]ì1|Ë­Š™'U<~ž4“¶E"Wœðê�yJ¿¾½ì1rk¬®îÒ [ƒ”K+àmë‚ïöÄK£giÁ³`¯ðÄ’ó)¥è©Bôæá°U@àƒ\ÝzõSlí §ñû‘) e=ù!à~°-É d€ ˜ÆÍ“Aÿ^˜§V&™§sÈËOÃZÏ¿àS�uHÏ2��ħÍí°-ñÔaSÑâƒßâý† ñá‡ê—ßá·ÿÕ]Ö%൑*¬Âë²ËÔ�V™§r·‘÷säŸá«¡Çñ"?ë½þ×sàü™Ýø’Qlö/Ì¹ÆØ}…ú¼1ó¤ë¨Û¬Àù+á¸|ñ Žî^ƒ©ýÝ¡°ïŽEÁM›>WYódl ê�yÒj³quÝØ9Àޏ,Éähž‡cn{xŒßƒµZ­wwŒ�ÂZ»~«q;G|WtâT%aLg9¬¾X{]W†–橘F†zñ};Ô‚Z�2@ê/fežjý!¹¹Çàóyc|5¤Œi{Wfâ ›À{C"^ã5’vôFÓ?8cwr6öü>u]�Ô|@6->ü#n½Ž¸¸8ƒå63_•9ò„7”YÒ<•³ äáú\;üH;Ÿ/ÛaÅ͇Xâôg8-¾‰Û+ÝÑèëQ¸.F¡ø*¡€9™§£9�8ÉòÎßâD‚J×™ÍyŒàµSÑß§3ìíœà0{#St#M’yRÀÚÚZ¿(1ýX´Z5â§Á×ÕJ¹n=1aÕ)$ªô&Bu+û:¢÷�áºizÆæI“�ÈÀyèí¢Ï߳ܭØè–�Y©òšì[Xà§Aëp'ë9Î/é ¥û8œx¬×L«BøŠ¾°õð…—ƒ+f%Ô=WVôƒƒW7xÙvÂüÐ �Î4O4OÕÉ,Ë&_d€ �³gÀ¬ÌS³fÍ0|øðÙ·ýB”Ù¼ysŠÉÅ¡!øíäX�[<ý‹‡Xéù7ü¿Ïº`ÿ3ÝD·×ÙÇÑýÏ€ÇÜåðþÓgè·+Eš¦—ŸºÎh„ÓÊ+^ÖÈ€²Ê46OånÀ‹¸%°hú¿>ÙŸ[ˆày¸¹ÄŸÈÇb¬Ýç°ŽaÏ‹·rá'³6OZ-rnmƒŸ­£·ßƒF›‰‹Ëýaï1ëƒ.ãÆµÓX;Î ÏKSC«y°ìb%3 Ož«¥‘—”›r!QQ8±y<•�0+(Yg"Ê1O977£§�&lÁµèˆ8{ çoešÕI/ëö. rv@ÿ cám玙Ǥ\ÿÐN£FÐ’>pè·ñ¹:ã¨J<†Ñ�;ãûýG1³‹&HÖíÍ“Yµo•nvZؾd€ �2Pfež:t耖-["/¯êîÂe‰2;vìXØ1~Ó›üÔ ¶ü|b‰¾3V#ððnš�~6Áþý·ß5¸GH‹£­ð»Æ�Ñð¯þÍ-ˆZ—ƒc£Û¢a“ÿE·q4ä4NÚ†e›Ï!G ô¼Á<e”Y"O9Û;ùêfÉþ ?lŒ¶“ä(}/ãW mÓFø Ñט}•SöÊbÁÜÍ“6ç"¦¹)á3ÿ²SN`Œ³¦J(4ªÇ�h× óϤš§rïyRÅã'GôZvYwŸP9æ)óÒ2¸)»cu„Å2×áyb6 ƒR&ƒË˜]H–¦ëÔ5{'¸Àuêqd>>€¡.Xš ­V…Èu°ï¹ ±1Xæç„¡›õižÌ¸­ Ú•ÿÍ÷xdÛ°mȨû ˜•y Ä{g-Z {÷î9r$Æ�‡9sæThyD^Q†(K”)Ê6õ•Ÿ‹­“z¢ÃWŸ£É‡ Ñø_¢�ëP¬¿�d`œt¥½ˆY„–�¢ÝÔËE!ÄŪ— 88Ëmþö ½ÿ>üt´ I"²] #T¼f¥–YZž7mC*2÷×vE£ÿƒù‘¿ê6’÷s•Ÿ¡qÇp¿0ÌzñíóP—ÌÓók«ÑUn¹B ¥²`QÀF¦Ä„½ ДyÏSâCÖbÂÀpwq‚‹{W¸:(à»àœIæI›}[ÆxAaßÃX‡“7’Ì/ _V~ä;( î’~¼ÔO°y¨³d@s5™8=¿\Fü‚Ç)ç1­‹ &î}�úÖ8M]¤y¢y2Û u¿CÂN%Û� ��ºÀ€Y™'Ñiß¿? >ýôS4mÚ 4¨Ô"òŠ2DY¢L¾¨@E0wó”·½”ºi{WBW¥;æŽÁ�;w –x$¤©ÊyʉۆÞöNXˆ°¨›ˆ»‚9~ö¦›'щÔd þÂ,ÕörŒØpUÖÜ,:˜YˆX;çÁØsã:V p†ÓÀµ¸•]üž®>ú{ºrîü‚¾Ž¾˜öýP8zÏFD†Zu2~å ¯9gt†’æ‰æÉ,Øf«.t°XGrJê'fgžÊëà–e¦ÊËÇõT " ˜µyÊy€Ý¼ F¨ŸÃ('%¬Ñ‡7îÜåDbA7ûÏgJ96 J»‘8þL@A?SîÈÓÊÒžó”�°eý ð˜…ðsb\�þœ¹½ì�ñíö[ÒˆXfìÏèçh�!¢tF('ó|ì1h}´.j¡:û&z@&Sb覛úH†Ø7¡\&E¶¨?ÍÍS sÌÎWýì|±]Ù®d î2PçÌÓÔ©SQÚR‘Ž1ÓR�ò0'ód?h9BÃ.áâùÓ8¼ó'Löwƒ¼X¨òtœ‘äì|0eÝ~„†]Æ…3G°ý`82Ԣߊ}Ýaë=;N…ᩃºúYÑÑCé„!‹öáâµ(ÄD�Áü>e�<©aã`G8 \‚sñiȹw»öãJd4¢"Ncõ˜®°íµqú  µúÃ�sk:Ã)`îÖ'W×@é8»ngC›†éîv±-¾ð^±Œû1oöz\~Z‘/Ǧ»Áqô.¤ˆû¥ôæÉ~Ð2œ>.,aˆKÌ¡± ± d€ �2PϨs橼N/×S�ªPÀ<Ì“þ!¹6º‡äÊmá^ÖCrspjà ø{w‚­\;—®4ç0õ²ïaÖ /8(ä°ëä‹);c . 5Þ J(ìáæÕ ßm‹ÒÝ»d0B«A¹ÕìÕ }–]BêÕ­ÚÍUzˆ¯ÜξÓx]½VOœ<Ø? ޶=±!Jb\_Mz8fûÚÁý»ýHÎ8ƒñ޶ø¤Ð<•4|¹8=×öñÈÀ<…}/ ÿ."òiju¿ëîU¼’ºs_¨  d€ ˜'fgž4 <ˆž={¾Õ=O�5B§N�°yófäääTEše¼C ˜…ybGœWïÈ d€ �2`V ˜•yòòòBãÆ�+ ¢¬{¡Ä÷¢LQ6_TÀThžÌój¯Â±]È d€ ��ÚdÀ¬ÌÓ› PU¬3µãÌtT€æ‰'æÚ<1sÛä� �2@È€y2`Væ‰]v*`. Ð<™ç ‹?$l2@È d 6 y2—Þ:ëaV Ð<ñÄ\›'fn›ü‘2@È0OÌÎ<‰ÚÊåré·Mš4©ôýO"/’kV~¤NU†æÉfÉ>CË1gL4[ÞBÕd(ËÔ‡ �2@È@娨I¥y*ÖEWãØ+üö#k,�Ì)¶¿ÞÇr·ø¯?zãpjT§¾Åg~‰ïBÕÅÓ•öéÕMLlý ¬&œÇ+±>/ ¿ŒtAË¿ÿÍ}€5Ç_ÛuÃÊ‹iºéoRú�‹ü?€bÎ HZyÉ8:Û­¾ü ?l†¿¶ñÆÂà'ºu¢ìüg80Õíþùš~ø;4lö'ôÞüùÛüÛçhÚè¼ßè#üÓq$V¬š‚®þ��›4BÓÏÿƒnsO!³px-ÑkzâŸ5CÃ÷?@ÓÏþÏI�üJ?IO2O2þ¿¢×ŽLÀx¥}.§Þõ+K“Òt­ÆïÄI¨¢S5V‡ES*@¨ T€ TƒíïÑ<6‚*ÝþØ_ >Zê½IšË3ð÷†Mà³) /î®B»¦�`1h7žh‹ÝñcX¢î½±™Ðþ«Çl>‚û×a°ì ü×—½q*+¿Ð||í¿‘ÑÑˆŽŽÁýTq·”¡“ehÔì Z¶§B`Qß6hòû–˜s9×`[ãËÎ3p 8g‚à⃅eþµË|?}'ÁõoMð›�Zaè²� >ŽõclÑìwÅÄP•~^#=úœ8�ððóØ3Ïnô1üw§èLž~ä©ý·%Õ3 õ/4‹&×û”©IIU«õš§j•—…S*@¨ TÀ, y*¥L�¶÷âÎ�hݸ¼6$€PP¦ú0EËoCuÓ Ëš¶g´­ÊÖ»˜&†õ¨�÷4O5 27A¨ T€ P�ZV€æ©”¨ˆyje’y:§›~' �ú Îþ<}”ÿ‹Æ ?ƒË÷†ÓÞô•12¥MkËOûöÍ›Â?0§Ló¤¾4 -ÿ S/N|‰�o[áý¯G#òÅë2ó–¶Íç;üð~SgìI×ÏÓ{ƒ ­>�帳úýû·÷Ï€g‡á‹�›ãã?þŸ5ýÿT!óTÙzÓ¤”v­Î¯hžªS]–M¨ T€ PóP N›§ZHnî1ø|Þ_ )cÚÞ•™øGÃ&ðÞ�XÊ“Wæ:£É‡ÿÂÜkFÉM0O¯3wùùïÑgÏÌSØTüµQÕ™§ì½þøà÷ŽØ™¦øê¦J#Kº@¿F/†EÓæ� [‹�+7¾[~TÜ<µ(-Ú^ñ{¼Ô•¬w1Mjøø¢yªaÁ¹9*@¨ T€ Ô‚uÚ<5kÖ Ã‡¯rÙD™Í›77¡Ü\b�ßþAŽUÑú{ˆ r½xˆ•žÃÿû¬ ö?3ŽE®K¤½ú¾jø{ÝèQA>ñ¿ŠÌS~ú^¸}*¦íéƒGˆ²_ÞÆ´ŸâsŸmœ¶”gžÒÅÈ”¡¹ÊKÀ|ÛÏ‹ÌÓ‹p ûú#´žV8'í¶ÑþV¶Þ4O†ñ= T€ P*@¨@U+P§ÍS‡вeKäå•nN*#–(K”Ù±cG“²ç§†`°å'øàKô�±�‡� pÓ|ô³ù >øð/è¿ý®t¿Qî¥eð0?ý²AÁÁ8²kÉþ„ÿúH‰M÷�žædd&J˜)ÅŒ‚qúškpFŒhþ –ïÃéS±¨Ÿ.`ÄìKúè€eå-åûòÌ“öÚ|Ýø#(F®Çɰ\?Œ¡V(2O¯Ó±Áû¯hø7O,?Œ“6a׿.±­ÊÕ»˜&…ÔÌŽ<ÕŒÎÜ  T€ P*@jS�:mžñÞ{ï¡E‹èÞ½;FމqãÆaΜ9ZD‘W”!ÊeвM}ågÅb뤞èðÕçhòaC4þ×hã:ë/$é5¼FƵ­êÑû¬)>øÍãÃæDK»~Xy6©øcÅF�Í„ñg“Í“(+ G~è«?‹PåMñ—6^XpÒ Ty)eKû]Ê÷å™'@…+k‡ Ãß?Á‡ÿýßø]£føì¯ÿ�×âð‘&Í�]è×ñohÚð}4þäè¶2ù¥l«2õ¦y2•X¦£T€ P*@¨¨ŒuÚ<‰Þ¿? >ýôS4mÚ´èYG Tè½È+Êe‰2ù¢Q ÆGž^«ñ8ê"‚ÂõgÒÓÀ*RÝšK›Ÿ�˜S°eí&œO0a­¹ZpKT€ P*@¨¨ê¼y*O…e˜¨òòq=¨ˆ5nž^\ÆT9¬åÞX{Ã(àHE*^JÚתh¬ð€S—Q8pï×RRTà«j¬gjavI«Tc³Û;Vˆ P*@¨@ýU Þ›'v¼´¥þ6)÷¬6¨Ró”—ŒÝßõ@'{9dÖ2ØÈmáäêƒ�cçb×Å'x!v°MÉ«‡;Ñ×Vk™-¦M+%Rd6¥žid˜jVÿÅ5ÌòPÂÚZ‰™Áº{ô^<‹À¦Y#ÐÍÍJ¹®>c!øžJרÆèM&¯ M9æIù<å2X+z`ÍÕçR0–Wª$D†ECT[zš %&ì×¥—©80¥+l¬eè<õ¤näNŸ¼ð_a¾"Íó4Ï8 Þ¶6°–)Ðwåu½–òžãÒϳ1ÐÛ¶J{¸÷‰åGnAòš¯³pà;W�þó/êóä#~Û0(¬epú R ÚÏP—25.g{…;Á7T€ P*@¨@u+P§Í“——7n\¡ÀeÝeø½(S”Í0U�ê6O@>î …Ìò.ó“«7OÖ2(ì;ÁÝÅ^7 #÷À’°,$ÌÊ^+q÷Õk ?ÛG:A&SbÌ®Çx•„QÎrXË”èìÓþ~Þèä=Q¿¾.Ű#ƒ6®˜uR¶×H>4IÒKÙãGÄKú§açhȬþóýRFߤqyÛ+¶'ü@¨ T€ T£uÚ<žêx_�º³èz¦@uš§¼ü_ñüþ,à,M?³ ØŒä‘ /]ÀˆügØ1¦Sáh“6ùÙÙÀZÙ;¼D~öiŒu’Cfë�ÀG/ñ"nº)d�9ŒÀ±§º(xù¯^éÂæ˜½áÉK=ŽNrXÛtÆäÀx…<5TZÝ4¶üü|äçi‘™ö Iwöb˜£Ö¶ƒp ée•š'¼Î¹eá ŸÂhcëŽ�SV"(&MÿHQ¯‚i{ÖÒ4G1ÕQ·È`ë;¥.Ába>cóäž�£Û¦íHœÌÈC^ÊQievý±ûžÂØ&šG†ïÄó<èÒ8Èa­ôÃ/w_"?#c„†úö06•oÒØ”íճÉ»C¨ TÀl¨ÓæÉlUeÅÞ9ªÇ<tü‹þË䘜\ÊÈE¢Öô‡ÜÚΓŽã×¼ìé"�4�øå>2/,€‹\»�‘˜÷ÐÄb‰Ÿ¸H¹} �¹¡÷³u÷™'õÅ…p²‘ÁÆm&®IÎÉ yóÓºz,ºH#NEõ´VöÆŽ{Ulž¤Í¾ÄÓAX;{4|�E@ kÈäî˜vè¡Îøš ¸øôÇàÁèßÛN 1õNŽ®ßídzÒüSa¾’æ)ç̰£n¶£œ‘‡=ŠŒYÑ~Ë»-Á-1âö:�ãÄÔI]y©ÁßKæÊ>`3’„þÐØ¤í4 ßR*@¨ Õ§ÍSõiË’ß!ªÇ<‰¨oJØÙ;ÂÕ«†M^ŠWŸêî¡1ê|yˆÛ8Xgž&…ùH:Á£Gq÷^<ânÝDÔ�H\ ¿Œ³çBr*GŽÆÒåK0tø0Lœ<óÎÇŠU+ßy0(@Å0+ó”—ˆ]ºÁQ©€½koLÿ%ªRnóùÿì�TWÛÇsÎwŽy“ 4±ELb×$o|c4&Q‘ª¨¨(Š{Ã{ÅÞElˆ]DE±"Eª4E± ¢b¯ô¶ûÿÎ�Ý�ÝeYÝ]Ÿ9gœ™Ûïï8ž{Ÿ[½Rj"@ˆ D€µOÌ[súà0rÎûùqôž?V& ž>{ЬÇYxð0wïfp¨«×R‘ÈYœ¢ ßóg±}çvLpœˆ!ÇråÝH¿Ao¨•OÕj9%&D€"@ˆP–€Z‹'ænœ­{š2}BBCÀ„ cWþdÖ§GY‘™yw2nãÆ�4¤HXŸüüà±{¦NŸ†‰“'qå={öLY~\:Av:¼–ŒÀ?íŒQW[ :õŒñ›é¬=á+ph=­¯Q«V-héÔ…Q«Žè;Ù‘�D®¢QrN� Ñ|ì±h¾úD;ýƒo[LDŒÌþ:| ºªOª1Ô "@ˆ D€Ô$µOÌêÄÜŽ3ïy¾¾¾¸{ï.7Mïñ“Ç`V'& ž>{‚Ç�ãÑ£¸wï.nݾ‰´´«HHºŒÈè\¸·mn;aF:`úŒáuäˆÒ̯#1³³¾«ßv³œqèÄ)øvÇò)ö˜wü!„‚gpµ6†A×yŒŒBD¨?¼ÝúM}Ôn3¡¯JAâIiÜ*›�Ä“Ê 5Œ"@ˆ �€Z‹'¶á-Û·‰¹gÓñ<È ¨‡ðøq·Љ§'O˜€ÊBfæ}ÎúÄÖ>%]IDô¥(nÝOL„íÙ³G�…ÓÒ%JÎÇ…™ñmý?±!þ�üµOܸ=¬àyø0ب[·Òqï^'¤˜§½ÇO²ðäÉc0ksq÷^ÒÓ¯#9% ±q—­ybV'VÛH78$D¹È „}S}´wù•å¨D<¦¬Ç¯ºº°?ø\iñÄòüW¿ lW�Ä¥„DøyÁÿjÙ¶›•µ€Â?OŸ2UAˆ D€�ÏL@­ÅÏnÖœYÜ^MÌ)ÄÕ«©H¿yw2îà~æ½²i|œxÊzÄY¦nÞLGJJ2ââbŠýösÞöþ�9ƒ/R©kÑM7tÔÓE?÷L©�1¥2óâ©ï.¼Ì/@îÛ§H¿tsÌ›áë¦Ø—Q¬´xÊ �cÝvXY‰•Kªbzø”H<}JÚTÐ`ÂwH<éŽý!™_Ö¬ÁKÄß…£1Ͼ¬~kð«L]#šJ@­Å“¤åi§»;"£#Ÿ�”Ôd\¿ž†Û·oqëœ>Èäö|bÓúغ'¶ïSjj âããv1 Û¶oÃP‡aÕ¶<¥oÁzºè¿ëa•â髯¾BÙY«ý·/Öd¢”½YÊ:Œ(HÆޭ ]·,ƬÀ‰„'(ÑÔ7SÍú¥ñâ©ø¶Ž²Á(·XˆÝœ¨ÙQs•&@c­4*¥V—gé=ìc…Q;RDÿ?ÈV"ÌÃÃÔ$ddKÿ¿SÝzdËýÜÏÅipl‰)o“xúÜcAõ" �€Z‹'É5O—b/qb("ò"âãc‘œœ„´ë×8¡”‘q‡sUΦó±ûôôe–§ðp‘xš=gVõ×<åøb@c=´›ì�ÂÊ0‹-OõL!4æâ“®"ãiŽôŠ¥w±ª[cÙ{¡@ªœb\˜ñ;¾k; ¼·=a.nîÄäž?C_«!,WEËä‘*€>�Ï*ž„ïà¿b0ÌMº¢k×nènÞý‡LÀBçC¸”ù‘¦u–ÞÇÑÅ“±øHšŒGÈ,x�È=‹1ÜÆf–}1ÎéR_srU\U¼¸y9·ÏbÎ+Ì;õTúƒS¶ùU•WE|é«dì[:ý¬Ì`ÖÓSVÅ�·ÙZÊžù™Ú³“†ö…¥© L{ôň©Ëàóøó}@~ÀX+ÓAÞ}\س“‡õƒ¥©),z ÂÄ[à—öª¼ÏRïtW˜˜ZÁÆ~<ºúàú+þOFB¼½î‹uÿŽ€�•LL-¹4N{¢ ùŠ0Ø‚—!˜Ý«;zN?†g¯7Â×ðžÕ=œý.Uªî²!dóKDq·ÕåY•x*JÆš˜vøn9/VQuë‘m§¢g®�Ö°¿×sdÞç¢X8Y›cö‰GÒíQTž¼¸� ž>éû'÷.]º@úìNPÞøRÐ j-ž$½í±ûÀÀî¼†ØØÎ)DêÕTnsÜô›é¸yë&Ø”½´´4$'_A\Ü%„‡‡bë¶­9fTõ½í ßÁ{Ì/øö{3x\¯ä#•Ÿ¶'ã0Bú*ÀÉqíðŸc.ù¡Up³oCw¼”ùÿ ÈEðœÎøæÇ1ˆ, P¥y~ú§Ï+žD–Ž;ŸœŒ¤ËѸpj–Žï‡îC±9ü3~ˆÐP” Ýs:,,†aÝñ0\ =‚ùöè3ã8žŠL¶UÄ¥Ù¸°Û öVÝÑ­›iâéë+}Ïé}Ðcäø'¦ãzÜ)8 ³„ͼSx!ûÁÎ>è³Sà6¾7Lz Ãâ­G�ð §±oÓRì}®Xä}ךɬLo’à2Æ&½F`…‡‚.F äÜA¬œÔÝÍì°1Dü®Š?L-w >õ*’czÚÿÚ™ÃräV\ÏBð: lº£÷Ø•8â11áð=º›½“e¾é§À¢O_ô6³ÇîT™ª²âG‰º¥Êæ—Š|�‡÷OïQ•ÒYÄ}ìÒµ.<�'%ÿ稈xúÔï/š-'»s¿w“““!:Sqç™Ì;¦4hJHˆ€:PkñÄÖ1ÅÅÇcÔØÑ8rä·éíÉS>ð÷?�а`DÇD!þr<’®$q–&¶Š�©©ÉHLL@Ì¥hÎa„‡Ç.Œ?–+‡•÷ôéS¥Ç®äá) je€Ú�;aÜ w?ç¿3G°uÙTÌ?”�ØU¹¬·=Ù r×ãõ´Ñ´Ëxl>t§�îĬ^mQG§æ^xÉ}HÝñÃV�“¸›€øÈ3pêÕµ›‹«Eÿ‘ÉLÏŸ„€*ˆ§²¿œó=.y‚Ó‹Á¤÷\„>½—<ÅŽË0npX˜÷Ä`Ç•8›öB l­ÌG¹ã~)ÿ> ‘uzL{/Æ¥·§ ^#îð*Œh 3S ôìÏñGC¥õ‚7QX>¸FnŽ®ÜÑ ëCQ2Ö´ÀH·Ä²�á·1.°1³Ç޴ªã!ÀÝ£³1pì2xG�Å¢>Râ©B;>°¾â /8˜÷…kl¹_Í·‘`m6'2‹ùQ_ ï6&Vãàu=G&NâQð1W`Ì€ž05µ‚Ý8'¹,±&Dð»�0~h?X™v‡i[¬8ÿaÒÎ8câ ^051…UßaX}þ�Ø2 @Æ™e°ïcS“î°´Ž…»"ð’x²ï•Õ!ÑL@™þàÒf˜ô˜„ã·dþØTœï¹¶0±YŒhf6ªD�äŦ» \ãò‘Ÿ¸6¦°ãŠ´½^ªYì!?«ízaá©d™Ùý–"›ÅY¼l]²Ïâ%ë–ª£’ôeidy²Ák\>º÷†Y÷î°°¶ÅÇE8u£§·´»Þ05ë» Kq2õ­HPs–'S k‡)Ve—å+›î'x� ®³1rp_X™™ÀD¶œªÚQÖ�rF–£¦aRŸpÜ}¥|¶…<ñTÕ{ËÊ.zˆÀ­s1ÔÆ¦æ½0|Ê48ô4“¶Ú(ø="Ù¼ÏñþUxo¤DOD€h0µO©©©Ø·?ì†ÇîÝ8}ú<=ÁçÄqøúžCPð\ŒçDsq9á2¸3žsɹ*ß±sFŒÉ•ÃÊ»––¡PòWÅo@ñ“¸Në‡ß›B¯Žtê¢UGkÌØŸŒ%Å @VävŒ4û�êj£Ž^C´þ{0Öûe”}8fGoD÷¶FÐÓúßé6D›.Ãá+VŠ[H±5M@%Å€â»G0Ò̳�?„¸¼m,,úÿ‹ý!I¸q5 û憩íJ\ÎâMè*Xš;Â÷ ?-*~N}ÑkÞd—È®Ã(DÊG˜[ ÇšÃAˆOJ@TP®½dy×ÃDË’�=1Ü%J¡x*¹w#Í{Á9ZâC;' s¬Ì¸þÝ;¢0ž3Ö "ÁPtËäˆ'Év|h}y©»0€vâ®$ë$Æ™÷Àú‰>°¸ü8,±1Å u‘å¡^ÒB\Ù5æVØp<‰‰‘8²z,,-GâPšX¤Š?´mçìEäå+HŠ‹ÄÕÇ%(¾sÃÍm°àÀE\cr.!6ƒB¼ËˆGD| ®_OA˜§lÍzaMèkÑǹìÇ~%uH5W™þäÇ©�)ì7ÆÈ]7W˜¶ƒ»[Àéü +$E×Y+ŽgÉÓoi†QëCð¬Ò? ñúû'wË©{qõ&[O-:oeÁoÄ‚Nð žS{~˜xR¢?@>"�‡Á¤çdœ¼#ã�¬ä1|æ€IŸˆx%Ïa„ï’=0ÌÜ Ó¥—½ÒýOoë.¶Ðä_Æ [KLÝu©Ì* ²ÄcÛD+ôu 9Ž�ý–}FuWH/Ó*™?<^`š¥9f-Ÿ²V-ñT|.C,0f×U kbE‘&û®U"¬ÊvHvCÜGIñÄ­Ó XŽÞ–V°41-sU®Ì{˧™´÷zùXʈ'¥~_ñmüï_Uãη�®D€hµO9¹9xùò%>z„%Ë—bõº5â©w›púÌLšìˆ={÷`˜Ã0ܾs›»²gÎâ]6oâÒ³|,?+‡•ÇÊ¥i{÷®×h‡TAÙ‡p¬Û˜Z Åʃþ\Yqýu‹­íQ\O/w•ŽŒØu¸¥œOEárÄ ,f…>3¼ñ„óXU¼DÁrÄSÅvTU^UñBd?¹�«‰‘8³w5F÷1EÇ]H“ÝGܬ’gá4ÈÝûŒÃú}g‹K‘AðÙ·;39IÌaDl8ÁFDáÈæ0b^¯¡ª0.¢ÂK]‚Ϲ‹H¾~×S¢°{ö˜;lCF‰E7a¨YOLq=‹øk7póFœG å‰Y"ªì󴘀 £z {ïÑX½—õ9á~‡±fòt7€µA̱‰ìº#~ ‘²ÛfVàs·ù׎cÅzœ¾�¸„ˈ ñÁ†ÉýЭÇTœÏ*Á›‹ë`mሳ’Î!¸¢¸wtº÷˜� æC^ö#Xö™Ë#]7ß"î*No9i"ãâÏŸ ¸ó¢¸‚ÕÂwYm�î½Æaë™($'_¹³ÑÇÄRÊa„äš'I‹Ëﻨ/Ì-À‰æyÕ!W_C(û.È>³ÆJˆ§*Û!ÙIq¥Å[àø§æÛrSË÷y*@•ï- qÅc"ÌÍíà´ç<.%^AB¤fؘK8ŒPü{D²yìþS¿ü{cé(ú½›˜˜þ¼r=K�#Ù–Ó3 êF@­ÅSvv6^¼xއ⼟–­\�•«W! 01—.aËV7Ìš= žž‡q#=�»²gÎâY:–žåcùY9¬¼ìOêö"îö~^ñô~ËìÛ$·+L̬ÐoÈx,�·InÉsDX‰qƒzÃÌÄæÖ1i}`¹›j6Ù)ËóÐ7n÷µò¿lËû+yލ+0–¹*çÜa;`C`–èãWA=L´,d]µ«r6¨‚ˆØ½Ø;c Œ]¼)e›¤*Ï¿•ˆ§ íø úŠ¼Òæ=ûaĔŨ~ò2^ðëjøvÈ\K_^ÃñÍ 0z`/˜w7�©eo ;[ün‹Ö ^ úÀrŒ¶¹*8n1¼âŸ–/²—7.L¾¦zaêP˜›tƒ‰¹5ìWà ç’ž5 @äÆ|po˜vc›*[ÁÆÎ‹�^�·l™²Ï2}�|¬²?lÈrïÂ×rLÚ¦¦0·€ñs]p.õEy¿ä æ¥ð\†‹öκÃ. &aPKtïÖ�Û`xä¿kpòÊ „ïpnQ_XMõª¸).ûÐ~t ãÍÙÆ®!�­Kö™ï`Yݧ¥~^ø�hYÇ]º˜Âéü«Š¢†c��Sγ0¬_˜Zôƈ)cÑ_ìE°*‹kNწ™d+S˜÷²ÇRŸ[œº(SŽ WA;ø~³ke≱ÌòÅTk³2Ë—­ª÷–%âܵ¯‡£}˜™t½û£¦a'ïÅ�¥Qð{„«GæŸO÷þ�ÆËÑÔÒŠãÞfR[>È4’‰P{j-ž ¹)vLì°év¯^½âNf=Röäó°ü¬6e�Y�JKeÖ(¨ýPSj’ÀgO5Ù1*›�'À­·³$×K�W.Q�ª´C¢ItKˆP9j-žTŽ&5è‹%@âé‹zê8¨&�RÜ ;�sÁÑHL½Š+1¾Ø4µ?̇mÁ�OêâZUÚQM|”œ"ð™ �xúÌ@ÕkOš1ŽÔ "Pã„ï¾í_ éß æ¦ÝEÓlGÔCùŽCj¬=ªÒŽë Lˆ¨$žj†+•ú… ñô… 8u—"@ˆø" �xú"‡�:ý± �xúØD©<"@ˆ D€¨Oª7&Ô"5$@âI �šLˆ D€�j ñTM`”œÈ#@âI #D€"@ˆ€f ñ¤YãI½ùLH<}&ðT- D€"@>!µOáQpÒ÷¼|öâ°Ïž>Y9¬¼ÈK!Ÿp¨*M @âIF‘ú@ˆ D€ÅÔZ<ý»h ¦®ƒI+F`ÂrŒ_îÀ]Ùý„åÃ1~ÙpL�8ÙsÙ¹tÆ/†qçø¥Ã1eùhÌ_9U15Š%2H<É¡G"@ˆ D€h µOƒÆöÀRÏEØìŽ�ç·Á#`vùoÇN_7¸ûmƒÛ)¸Ÿß —ë1÷ØLì ñÀö³®ØèÎ]Y:ö¼õÔ&îºÑ{ 훋QS(=ÔoNŽ…~�Ÿ03ड़<%H\o m½¿ážQ,'ž‚4…‰'MIê D€"@*' ÖâiÀ( ,Þ?þa§ásü0Ξ>oOxÚƒãGÀÃÝǼöb“ë*ôßÚað>rA�gqÌk?|¼áèá}8¸o'Žxî�ËöÕ˜ç>Ž}+'&#ÀM·>¨óµ ÓÑ ×‹„R±¥YÇÐÛH_Õiƒå±ùRqô YH"|þ_0hÑ-ô¾ÇßœòüEprétjÕúz в‹<â^Šò–fáðtk´oÙºµ¡¥Ûí¬¦cëöÅðw|¯¯ ƒ&ÿ…ýÚ¼”‰ÒÇ8¿ÚüÔÚ:õм“6=@)ŸDð§�£s»¦0Щíz?`ľë8>¦-êtXŒ%|ËKqy¥ ¾k11…|_]+#@â©22Nˆ D€Í! Öâ)¿ [9cÒ”Q=bF ‡!v:؃íúÁn€ ôëÛÖ°q±Ä¨1ö3r¨(í°Á.N;h`_ ´íƒÑã†âÀé=È/PÖJT„SãÚ¡�õ&xÏì½NN¸Q,¥��ÀÚ¨1FîõÄèæõ1hßSñ[“‡ 9AïGK¬<†ËÑg±Ì¦ ¾ûi‚™*IÃ‚Ž†hn»þ¡a¸pÂ}Zêã›`²ëQùc÷L3Ô«Ó ÂsÅe |QWèÖû \}|Σ:A¿n{¬‰‹6®ÜïñSïe8ް€Óˆ¾[ˆ§GFB¿n7ìÍO+>ƒ[¯`<Ä |éšóº×\OH<Õ[*™"@ˆ ªB@­ÅÓ¸cþΙ:j úô²D¯žæèieK‹î°0ï³î]нÛ?ènö7zo4‡M¿èÛ»'—Öº‡9zX™ŠÒš‰Òöس]§búÂÑJŽO6—]&ž:Ì‹D ׊R¤n´Â·M†#¬@l Ê�Ã�è¶:YTæ«“èÛ¸.L׈ž¹lÅépú«Œ{âË&eå劺(xê«ïëaÀî¢öä¾i}ØîÊ,kŸ’0¾èd$ž¾èá§Î"@ˆ _µO½‡tÁ¬]S|ÉçÎxsk™ü|}pêÄaø�;�CûÝqþ¬7vît�ãžqHHŒæâb¢BpæÔøûžÄÙSÇpâØAœ;}Ûö8c‘Ç\ ×S¹á/}ˆõfMÐv²?J�‡³ŽíÑÐÒ^`XsCØí¾AiVv5Âïs#81”ㄵ¿…–¶6tttÄg|ûµ6l=B(Gä¼<â-ƒž8þJcP»®޾¯`*¹ §Î�Ð~V˜¸L'4×}Oñ!�úõ-qøQV›BïÏ¥¸U¶J9_z*O_ú@ý'D€"@¾j-žz êŒ);&àtÈì95ÇýÆâÐYì=5 g.ŒÃÎg¯¡ˆˆœˆ•ûû#4|2ÜŽÚÃÇovû Åá³£àí;nGá„ÿDLØ4GY(7öE±plÛ]W&‰3_`�]Küçkm˜®M;kÈÁnÛÑx° žEφºø{I'|*T$#ÈX|UâIðÊ6�Ø´=¾NÅéXòw#4tHá´=®þÜpŒnÙ=Ö�ò®Fè¶JÜŸ �£€Ê�xªŒ …"@ˆ D@s¨µx²ø'ÆnqÀ•+kp&pâbæ!2r6BÂþŵÄ%8á7™i«áq|²ïºrWöÌÂY|Hø¿\z–�åOJ\…Ãv¤¹r#\‡ `å’Þñ]NâL»aÏy?w…82¼%ê[ï€hÖ]6üfü mýÖ°_¶çƒCqáì!¸î�@v%k“ªO@>˜Èú¿aâ–“ 9çÑ"‡«/e‹ú"G”•w²1K»B¯É0ªû;6_c2�Žê ñTZ”–"@ˆ êI@ÍÅS'ôŸf Ï]£±ÙÙw Åž­öpß2Þ#°qC?œÛ?KVZ#ÜË‘»²g~Üc—Ž¥?°}(—ßs×(ô�lÛ¦(.VbSÛüs°ý¾.úï;[�ûáìÄ_ ×u î—Š>?Ä™•èÔÒºZZÐû¾þ™pY,^ŽÈ©Z<1‡Yð]5~d®Ê ЬÓ@l¸ áª\N¹’Í-yx–ßk£n÷ xÀ·S2Ý+$@âI!Š$D€"@ˆ€FPkñ´Å}œÝVâ°ÇrìÞ¾‡Ü—âÀŽ¥Ø·c)¼v-Å®mKpl÷2ìps‚Ï^Ñ•=³pÏÒ±ôÝ—rùY9În+°sï&äç+ë®\#Þ ?“1ưƒŠ„ †ôµºAâ© R‘D€"@ˆP1j-ž?~Œ»wïâÚµkHIIùà“•ÃÊ{òäÉ"žòq')ɉ¡Ø6¦¾ï´)¼;t{QU½9$žT}„¨}D€"@ˆøpj-ž˜u(''¯^½Â‹/>ødå°òX¹EEENWÕK(NÁ¢¿š ¶N´³˜ß»´Öé}‡ŒÄÓû’£|D€"@ˆPj-žÔ3µTÓ �xÒô¦þ"@ˆ D ñDoøH<}ˆT D€"@Tœ‰' jžz ñ¤ãD­$D€"@ˆÀ‡ ñô!ô(/ ñD¯ D€"@4Ÿ‰'Ícêá' @âé@¦*ˆ D€"ð™ �xúÌ@ÕkOš1ŽÔ "@ˆ D€("ðň§âââ2½{÷ÆW_}__ß²0Éø²@º!J ñ¤$(JFˆ D€5&ðEˆ§Í›7£V­ZX¸p!ØÆºuëÖåÄS×®]¹ýœ~ýõWhkkãùóçj<”ÔôÏI€ÄÓç¤Ou"@ˆ DàÓø"ÄÓ²eË8±Ä¬M•�L\åææ~êT‹Æ ñ¤qCJ"D€"@ˆ@-ž˜•‰ ,(ML$5lØM›6…žžžTxff&g‰zùòeP@ ñ¤ˆÅ"@ˆ D@3h¬xJNNÆ7ß|ƒfÍšqSö˜Å©C‡`Iò8}ú4êիlj¨ pªM›6’Éèž($@âI!Š$D€"@ˆ€FÐXñÄDÒ�?þXfY²²²ªtÀÞ¾}ˉ&~JßÀ�If�ªò>ƒ«µ1êu_ŒÐèD„úÃ{×ônSÿi9á朗9UÖPž 2!Sž‚»¼ÇÔŽ� õ}{8,vÑ“§pÔc5Füó#jë¶À¤cw•PJÖ)Ó„/ò‘ÄÓ9ìÔi"@ˆ Dà # ‘â)""�5*BÓ¦MSjXù5Rß}÷ØÞOUbñd8ð ÔôµW'Æ@_ç7lH.QúçW;à�Ÿ@[§šw²ÃÆ (•¬ ª4œ�Ñ/ëÓWÿ§ƒáGÞH– ~Ó:àÛ]°åŠŒå«0[lZàkc;œ{^ ”>Æ‘Y}Сµ1 tj£Ž^#üb: ;"%¬S•ÕY’† Ña^$JøTÕþÒ,žn�ö­ŒQO·6jëÖGóÎöØýB4 Q˜ƒ¸]Žø«¥!´µê ^“Ÿ1zïMå…ߎÏt%ñô™ÀSµD€"@ˆø„4R<ñü† Ɖ�þù‡ªôʼëéêêréããã+M'!+ž…xu7 ëú·�v›IˆÊf–§„/ê Ýz¿a‚«B‚OÃyT'è×m�5±9ââ”H#¶ý5ë4’SS‘šz ßÊX¶r`o¬�¶“ÎK‰9¾Íù±ËÐJ[ƒöeA(@Íú®Ä™€ ð?¹3{¶Fƒ?°1A¼ßUeuVOJ´_œ§y¿Õ8w!�§<0©kS|ýÓ„¼ 0e=þ«ß¶«NâRB"ü¼à5�oºÊ_I<©üQ‰ D€"ðÁ4Z<±ézlÚEìãVÑ1nܸ2«NuÅS­Zß‚Y«Øº'V_­º?cö¹‡œÕDðê$ú6® Ó5Éå–¦ât8ýÕƃ=ñN(“b!£hÍSÑM7tÔÓÅÀ=�å;•È;‡þ†ºø}n$J+ ù‰˜ù¿†øqø1p²®²:eò*Õ~™ìö<*›¶'µn Åü÷whýwN¹x’W§ŒÊS¦ý2y*áoô¬_#�‹×g sq#p'&÷üúZ a¹*ZîôC³*]I<©ÒhP[ˆ D€"P34F<ÃÜÜ�;wÆO?ý$EËÝݽL 1Ë’¼“ +¡°š;(U&žr/bl+4s…¯|`ÓˆMÛK‘š¶·äïFh2è�xÚ^ÕiP�)?7@Ç…1 ,298ëø?|ÛÐÛSùõTbE÷°­KüÇȧž–rÄ J�q¶ IDATnbéß�`dw�kW¥uÊä(ÑGyõUOe£–‹à9�ñÍ�cYPÍ1)+ãÓÞ�xú´¼©6"@ˆ D€|j/žÀ,F̵8/Š˜b¥Ž;rL§L™ÂÅéëëKYš´´´Ð¡C‡²¼÷îݫވÅS=“…º�°`œØ¿cMšCK· „¼b ‰ÆFÔÿ ·œDhÈ8�9ŒX}‰÷ˆ§Dá+ì±kí–ý±åt.œÞ‡cÑÏ*¬m<Æ¤ß QÛðwŒZ¶'ÎùâľõÝ­jë4ÃX¯Û"Ç  ïQï[¬ð8Ž€€“Ø8º3ôuZc~Èk‡Êê”OJõ±BiËSÑ?lõ8‰‹± ˆ�<§^-¸éƒWÙôA58H<©Á Q‰ D€"ð�Ô^:::9r$Þ¾}Ë�vvvœXêׯ‡çÆ�`÷nß¾Í=·lÙ’‹Ÿ3g÷¼cǰ�qÙ´¿jÂ×8<®ÕÕÆjÕÂ7µuÑÀ¸5þ±™„í¡™å¢’,ø®Ž?2WåhÖi 6\�qU®Dšü›Ç0úŸ–0ÐÖ‚žaØo»RnÍ’h¸àí5\8 ·m}mè5ü �úLÆî¨¬òôbñdÔ¾;þnmí:zhòk,:~EeÉ«S G¡ªöËÉ#iyÊŽÞˆîm� §õ ¾Ómˆ6]†Ã=öeq(Ñ4•º%ñ¤RÃA�!D€"@ˆ@�PkñÄ;0‹“½½}8VVV¨W¯lmm+Äyzzâï¿ÿÆ£G�*Ä}1rÄÌÓ÷è(‰§€JE"@ˆ D@ŨµxbSöØT½›7oVÀËÅ;v¬B@þš'óÞH<½7:ÊHˆ D€µ! ÖâiõêÕœ@JOO¯<00�‹c÷è�C€,Or ¼‰§÷gG9‰ D€" .ÔZ< 6 6D�=*ð633ã6®mß¾}…8 ›‰§�M”Ê#D€"@ˆ€êPkñÄpvéÒ…³0YXX ..111œs¶jÉ’%ªGœZ¤‘H>>pqqsaΜE,^¼XáÉÒ°´,ËûäÉ“Ï<T½º ñ¤®#Gí&D€"@ˆ€ò4B<1á´råJÔ"@ˆ D€Ô8�OË–-ÃÑ£GáååõA'+céÒ¥5]í*(͂׬þé–„Rµkü§i0‰§OÙj!D€"@ˆÀç$ âÉÉÉ lÝ?’'›ŠçææVæ}� #æ]�…±8É´ìž•ÁÊú"Ž¢xÌú½)~Ÿ€‚ª:\’† Ña^$JªJû…Æ“xúBžºMˆ D€|Q4B<1—ãÌÕ¸··wÙ¹{÷n¬X±Û¶mãœA" €K·}ûv,_¾,�dV+KùCˆñ{0Îò7hCK».ŒZw‚�ÓY<“1Ñ”>9†^�µÑÀb3– EU”>Äz3#|õÕWòO}sx>ɹùå5Tø ÚAOëkÔªõ êèÖGÓ¶�aë¸~7Þ•ç(¹;Ø9Ç¡¸}¾¾¾àã˜G½S§NqaÌË›îÇÒó'KWñ$xv ý�uaØqœøàü9ìu^€i›#P(¾ k̠߸ u[cITŽ8¶™I9·ê¡¡°Ñ®5j7�ÀQXxž1ÙQY~©JDÂgpµ6†A·ù¼xaAçpxûR ù³)j×m‡é>÷ª?õ®šâ©äÕUx: Bëzuðí7Ú$ž ïMÎèQ D€"@ˆ€ �÷M§(쫯¾úó«�xü©¨2yqì/ü²L< «ÐV».ÆœÈr‚áЬ>Ìù!1) Iü™p³ÿ6„±ÝÁ2 •\‡ÕÊ/~+O…w±}@k±ÃˆâŠ#¤^ä\ÏéŒo~ƒH¶–KbŠ_nÆ1ض0@ÓÞnÈ�ul!UÓŽ´æIÑ–,.z&D€"@ˆPmоíäÅ©¤xbû9qû81Oz;wîäîÙ¾Nì FTTw²{>œ]ÝÝÝÁò°{V+KÙ#ç’+Æ-Ǝçßc[1¡ëøº�)öeãùÉ h`МC�¶ÉZ ¬pä1¿v¨¢å©zùÅ­‹'ƒ.sp>$AgpÈm1u2†–¤«r AÄZPtÇ[=Nâblâ#ÏÀ©W Ôþm.®2�$“ömìt¨o€îËco°Kâ‰,OÊþ0Q:"@ˆ D€¨yIQ˜JŠ'æ",,ŒI!!!œ…‰­qbBIÑÉÒ0kŸ†•ÁÊRîâuâALî÷Z ö7ßA§¾1Ú›�ƶ‹Y_b÷Àæ00ÝX¾)®DÁÅwv s]}ôv»%òL'몼ÚùÅ… _aÿðvÐýŽm’[ µuëÁ¸ÍŸè_a“Ü4,èhˆó"¹µMÙÑѽ­ô´¾Áwº ѦËp¸Ç¾9¿�OÌJvÅÙzú¿cC¢‚õO$žHûPˆ D€"Pãä $Ea*)ž%&z˜3æ ‚‰ ¶¶iýúõ O–†¥eyX^N5þ¾il$ž4vh©cD€"@ˆ(# H(É‹SYñTÖ#º!Ÿ�‰§Ï�ª$D€"@ˆÀ'& O ) #ñô‰ˆªS$žÔcœ¨•D€"@ˆøŠ„’¼8µO¹¹¹¸zõ*|||¸}�˜;s6M�MÑ;yò$·&Š¥¡ƒ| $ž>E*ƒ"@ˆ ªM@ž@R¦ò≠¢àà`n-S@@ÒÓÓÁJ¼zõ ÏŸ?ǃ8áÄ6Èݲe BBB�——§Ú£D­Sy$žT~ˆ¨�D€"@ˆø`Š„’¼8•O÷ïß/MìþÞ½{¸yó&nܸ�´´4\¾|‰‰‰Ü~O,üöíÛœ£æ4‚¥§ƒ¼/OïKŽò"@ˆ D@}ÈHŠÂTV<±MpÙÔ<¶ù-KÌ 9›¶Ç®üÏ (&¢ØÉ\”³Ms#""àââÂ¥WŸ¡£–ªOª4Ô"@ˆ D€Ô EBI^œJŠ'f5ÚåîŽ{w38 “¬hâÅ/šxáÄo¨Ë6Èe¢‹ ¨ÌÌÌš!M¥j4O=¼Ô9"@ˆ D€pä $Ea*'žòóó±cÇd=z€âÂ|<}ò¸ÌÒÄ‹&þ*+š˜xbÓø®\¹ÂY�˜ÊÕÕ D :HyIQ˜J‰'fuÚ¸q#'z˜ó‡W/_” (I NWSSp9>ŽPL4É '&žØt?f…Ú°aƒ’Ö'!^ÄïÁ8Ëß`d  -íº0jÝ vNgñ¬TzKŸC¯ÆÚh`±K…¢ÈÒ‡Xof„¯¾úJþ©oÏ'%\Z¹ù¥«�zd§ÃkÉüÓÎuµµ SÏ¿™ÁÚó÷ ¾Â‡vÐÓúµj}ƒ:ºõÑ´mgØ:®…ß�wååH¥«-®¶Ó·"îiqy:‚w7àµtºþÜuu´¡oØõÿbŸ@ ‘òÍɱЯóf¼”åoK�¸ÞÚzÃ=Cº|>}›ì�^ÍêÁfÇ}ˆiòQŸåJâé³`§J‰ D€"ðI (JòâTJ<1ÁsèÐ!ܺu‹sIÎÜ’ß¿w9Ùï8õìé\Ž‹Bü¥ܺ~…;㢃Ɖ$–_òd≠­½{÷r‚¬ª‘<;…þƺ0ì8Î|pþœö:/À´Í(”Ê\Š„5fÐo܆º­±$*G[ˆÌ¤‹ Ehèl´k�ÚÍÁ#0Dž„§ELT–_ª’²ÁëHÌìl„ïê·ƒÝ,g:q >‡Ý±|Š=æ¡à\­�aÐm>/^DXÐ9Þ¾CþlŠÚuÛaºÏ=pÚO(N×u#£êï� `Ѽ.tÿ7 ñ9"Ù"xŽ©AëûöpXì†#'Oá¨ÇjŒøçGÔÖm�IÇ7Ýú ÎÿÕ‚NG'\çúVÖl”fCo#|U§ –Çæ—GHÜ•¼º O§Ah]¯¾ýF›Ä“º%D€"@ˆ¨Yò’¢0•OÞÞÞÜ;ævœ 'þdÏY�áQæܽ}µÌŦô±óî­TÄÅF– '&šø“MÝ ä6×­ }nÈ,éü„ùáU앆Ñ-aàŽ‹péñ~°÷ÄIs WQ1‚fv€Ö¯³�,#* T~¾µù¸0³#¾­ÿ'6Ŀ᥯bQÔ°ÿ^Hm\tîvmñMã>ð~TT’îuÀ¿hRÇ3Yî<øMë€otÁ–+ÙÒõf`‹M |ml‡sÏ™+AÄ‚ÎÐkÚ-ê5Æèc�%¬F…Ÿÿ Z´E ½ï1Å—˜’E–⪋ šu‚Íç<`gl@âIÝ"@ˆ D€Ô(EBI^œJ‰'wwwnž¤hb‰?/dž– §˜è(°“‰'vÆ_ -L’‰‰§K—.�•]ÕQ|{;:èâ¼ñ  ²ÉcB<<ì€úÍG!ì])žŸqDãú&Ø{WvZZeâIÙüâÖæ¾©>Z�;ù¶T*ŠX E×\Ð^WÖ[nC ¶PÉŠ¬‚¸åh¥]Ne¹°7ÖGÛIç!ÏÍF~ì2´ÒÖÇ }Y¢§ÆµCëMðžÙz�œp£XÄ­ôñX5ÆÈ½žݼ>í{*¿@ ²ba¨1MÛ“‰B‰ D€"@j‚€<�¤(L¥Ä¿7O¼`â¯é7®sÓô˜Pb¢©wïÞÜÉ ¨Œ[©HII.P¼G>vMNNæöŒªxR8¢½¡6ôštÀ Y[|ë­„5…͸»‡µ¦Æøc~$8¹T‡)¿4ÄßKâ ZÍÄ×R‰xR:¿¨œ¢›n訧‹~î™Òíà«a×J,J\’Â` ÿAm'û£DJ< QRð÷’Îa�Usüç‡Að}V ¾¾�{$­H•å�CC]ü>7¥È†‡í�0v ¹™û`jø¦ù¾â,Rq+ºCç·ÙHξ‚Ùÿ3„麫¢©ƒEIÝ’x’ÂAD€"@ˆ 5O@‘P’§Râ‰9‹`žó˜ØáOæ9��W’劧K1ќ剉§[·nâÎ�;RgFF®_¿Î¹,W¿ ï.z®ÅHÓÖÐÓ6‚õò�²iyÉëðk½?àšÆ¯‚*EÂj3Ôn3qù’Ö*ùâIùü¢Ö¥oÁzºè¿ëáû‹§¦ÒâIÊ¡E--4ý{$¾âÊgâ‰ÕWµxŠ@)ç £‰H˜!gÛ£¡¥+¼ À°æ†°Û}‚Ò ¬ìj„ßçFȈK™Ñ ñ$„‰ D€"@jš€<�¤(L¥ÄÓÎ�;ʼn%^4ñWæ".&„JÌúÄD/œØsBlhÑÄ„;Ù¦¹ïÁ>qk{B_ç¬Md“Ø 4ë|ûr¼é}k„)ç˜Õ…?䉧êä—“ã‹�õÐn²¿ŒÓ ¾Å–§ÂÔ øMfÚ^=ÓeˆN¼‚Ĉ=Т.šôtE†xºrü0¨‰Ú:V2m/nÚhëÃnÏ#KÒ° £!:Ì‹ä„QÑuWüQ¿ †Ž4…~«ñˆÌ‚§ØÜ³)ZNðYê$š-uKâI ="@ˆ D€Ô<EBI^œJ‰§cÇŽÁÏÏ�sü )šxzÌ)³01±$yfÜLÁãwÁ¼ññ‚‰¿Þ»w/^ÄñãÇß‹~AÂ*´Õ®‹1'²�œ`84«³E~HLJâDfI 0ûoCÛ,³PrÄSµò‹›+|ï1¿àÛïÍàq½G•MÛ+¼‹íZ‹FË™Þ'ÄË‹‹ñ³¾,Ö^‹›œuü¾mh‚í©2NŠîa[ÿ–ø�‘-N=-ŠbáØ¶º®L{ó{�=v-ñŸ¯µaº6EÛ.fA |‰Ý›ÃÀtcù¦¸ßÙ�ÎuõÑÛí–XHȈ§jç—(@ñ“¸Në‡ß›B¯Žtê¢UGkÌØŸŒÁ+ì޺߱Mrk¡¶n=·ùý+l’+ÚçIZ<œK˜üß0²qÇcñ†¿‚·×ppá0üݶ ôu´¡×ð'tê3»£²Ê?䟃í÷uÑ׃Ê×c¡g'þ½®kpŸßLXºk¢'²<É£BaD€"@ˆ 5H@ž@R¦Râ‰qaÓö¼¼¼¸Mmy—ã¼pâ�HðW^4ñW¶¹îógOËTQA>üüÎ#  ‘SÑšH 22Š~päÅi"ê D€"@4™€¼o:Ea*'ž˜…ÈÙÙ™[§”––ÆYœx±Ä_™˜b§¤hb‰?y•y/;wlGn®ÔÖ±š<þÔ·�D€ÄÓGIÅ"@ˆ D@… (JòâTN<1¶L1·åqqqܺ'^4±+/œxñÄ &þzûömÎë^FÆìrw{¦ƒT—‰§ê£ôD€"@ˆP?ò’¢0•O {||<Ö¯_�°°0Î�s!)œØ3/˜Ø•‰$v2/{LtmÚ´‰Û3Jý†�Z¬ H<©Â(Pˆ D€"P³ %yq*+ž&&†˜³‡Ã‡sŽ"®]»V¶ŠOü¦¸L4±Íp}||°yófNXÕ,j*]“ �xÒäÑ¥¾"@ˆ D@D@ž@R¦Òâ‰u‰­Wò÷÷ç¦ñ1G죖Y ˜µ‰íátãÆ ÄÆÆrû8±µR���´Æ‰~>˜‰§FH"@ˆ D@å (JòâT^<ñÄóòò8ëÓÑ£G±sçNÎ"ŦæíÚµ‹Nl=KCøH<} ŠT D€"@T›€<�¤(LmÄ“jc§ÖiOš6¢Ô"@ˆ D€T$ H(É‹#ñT‘!…nz¨¼Ea„�"@ˆ D@½(ú¶“§öâ)++‹s! Õk¤¨µ*M€,O*=<Ô8"@ˆ D€|ò’¢0µOÙÙÙØ°aœœœ8—æ… B²<Ñ[@ˆ D€�/€€"¡$/Nmų4íÛ·«V­Â¡C‡°dÉn�§/`Œ©‹Ÿ€Yž>dª‚"@ˆ Ÿ™€<�¤(LmÅSxx8'˜˜ËòÒÒRìÙ³‡³B1׿t�%@âéC R~"@ˆ D€¨>EBI^œZЧ‡bÙ²eRSõrrr¸½ ˜ŠÖ?©þ‹ªê-$ñ¤ê#Dí#D€"@ˆÀ‡�'�…©�xb�qqqÁ� ¤ˆeffr¢*&&F*œˆ@u �xª.1JOˆ D€õ# H(É‹S;ñäíí ggçJ7Ä�ŽŽæÔƒÔoô¨Å*C€Ä“Ê 5„"@ˆ 5F@ž@R¦Vâ)>>žó¬ÇTDDDˆ÷ZÖô IDATïßçÂ×­[WWWVH£0@ø ®ÖMÑà¯yˆ{]*�´ ƒ×E/·;àì]\Zc4ì¿’«¬ÙéðZ2ÿ´3F]m-èÔ3Æo¦C°öü=Q>éR•*É™%vø¥‰të£Ó •ˆz*ÓFåKS>¥à‚7O†Eûa £ £ŸÑsÊÜÈÕl×ð$ž”E(% D€"@Ô•€"¡$/NmÄÓÓ§O±bÅ N<1×äì”=BCC¥â}||d“(~ ¢¯j}‹fýÝq¿XB (!ž¯#1³³¾«ßv³œqèÄ)øvÇò)ö˜wü!$JSÜŽ ±Å¸¼Î úuÆ8×ðóÞˆ¾­ë¡Q�-È,}ÿR+T#/@øç×NÃò�ÇäÏuh«¯ƒ¿œbQ"/½†„‘xÒ��¤n"@ˆ D@yIQ˜Úˆ'É>ó"I2ŒÝW.›®Òg±xªÿ»)þ1ª�nK."�O\¥xÊÇ…™ñmý?±!þ Ÿ«Ò«àù9 kÝÿ›ê‹>UéS¬‰NÍ¿‡ŽŽ>µì‚u‘9@Aƶ¬‡ÿÍ E‘8íKß©0Òmƒå±ù¨VY(Eªû0´1ªm­Ú00úýžÆã‘“[ß>v¾ÀÖÞMѰßdóº­²vKæS³{Oj6`Ô\"@ˆ D€¼EBI^œJ‹'~ž,‡ÊDReá²ù+}‹'#{OdøNG‹ºÍ1ù”ØbT•xÊ „}S}´wù•VP!x~ƒ[4ħœ‹§D,í½z¿`ôú#¸Œ3^Gqéq ŠÒ\Ð^Ï“}³Ë ¾õAŸ†ú°Þr%Õ( âUj NF">>Ç× Â�ºßcŒ÷3Î2V±]eU¥ÙH÷_‰Á~Ï-ñ4ÄÊÛ-‘SínI<©Ý�Qƒ‰ D€"Pmò’¢0•O•‰¡ê†+MQ,žÛ{¡yˆ\a}ãÞ8r·¨B<ÝtCG=]ôsÏ|¯éyÂ×§ÐϨ.L×ü?{çÕÕÿïÌügÞüQº cIì‰1‰¯FcLÓ¼i&¦½1¯Iì‰=öŽˆ‘"(öÞQAzEP±£ì(Ø¥×ýüç\pE¸wYñ.~væÎÝ=å{ÏyβÃ3çÜsO”Y—9ÍLß‚]löã®äîÇ_­ë¢ó´è2åuÅz ø]~"ftm„"‘W&óqÂÍ-}a^ëe¼ô¯:h÷Ç&\-^ÒX¡k=§úw”'ÕH$@$@$@OM@—(ÉåQžJ"BžäžÅܯš£Ñ.8ÿ H熹‰‹ñ¾™)~Z]¹{›2ÌD+³Ö°‰Ö.Ô¶,3r2šš¶Ó[žtÅr�¸k~êÖÍÖCæ-ÐØ²6Ú� Ö)O®âDì^x­œ„OšYàÍ~[‘Zè¾–¶ ÷†òdpCÆ“ � � �@… È ’®´%O.\@hhh…¡i+”–'y]ñu“è9Û?ëÚm/Ýÿ}Í íF¡‚{üI—ÏŒ™�–¦òòôhÙÞ¨ËöðÐ ½-Û{òiW€®X9qóñoËzødÔj„:‰¸Ø]Ò¡~¹ò¤e nlí3ó�±æRžÎk=®cxï(O†7fl1 � � � T”€.Q’Ë«QòTQXeÊËÈPˆ¤Í}ÑÈ¢.,j+oU®yˆƒÛãÕ†ŸcM|ÙÙ£2×*•PxË=šË.Û{´aDlj‘Ú #îŽÖnQ*tź»­Œ,¾ÂöÛÅÛœ\ƒóçM*$O7·õ‡¹ÙX~.OçµJ·Ë�>Sž i´ØV   ¨9AÒ•¦:yª–-É•ØÊÊ€‚ëXñSküßÿ«£,Oò¯í¯m,Qûµ.økö*xø!Ðg–ÎúS]ŸxÎSÙ]íÒ<¡+Œ-Ú¡Ÿýfî G°×Fø(æ¿pØéK˜[¾‡+|°Û{1~y»>}½— 42»í)ÇÊ>ꈷÍê£û˜µ�9Œc±~Ù©�VžÊ´+ë0–Ù¸`‹O("ÂCà±r*z47Cýîθ íЧ|-%̆�Ny2„QbI€H€H€Hàéè%¹<ÕÉ“èþ£‡áºººÊ.ÃËóBBBàààP¹‡á*1V’'qûSÒzô°2×)O"lÞÍ,ý#:¶´‚Y#˜XX¡Mçž·ñÄ÷ Iù½�Õ“[•ç]ƒ¯}_tnÙ&FuP·É;êšT$]ùÉð¶ùo¿fóÆèÜ{6¢n=i©b±2phõtkc“ZµPÇ´.·|¿Ì�•6ž(« 5 SzuE‹†æ022F½×ßÁ·Ã!öV‰ôêj·k•§SžT>@l � � � T9AÒ•¦JyvìØdfÊ/�Û¿?fÍš…«W¯V6† �' PžžäÁO$@$@$@$P è%¹<ÕÊ“hìüùó±qãF>¹%•+W$qЉ‰©‰cÈ>©€åIƒÀ&� � � �À3& 'HºÒT+O‚Óµk×$IÏuzôJOOÇܹs!–ôi4šGÉ<“@• é»blªNž4¸ï�(ÄÆFÁÃéW¼aÚƒw¤‰N±œà�qqˆ‹;�k¸€ïYÿÍQžž5aÆ'   �çO@N�t¥©^ž|}}%q»åÉíª'î�’{•¦’ïåÊ–MSšy*U2?3º6B‡ ‘ÈYrËöò϶[#4î½ÅU)y*¼ã�ï¬à÷ÍÉÚ !ò¯¬ÆG–Vé—¦•'ÞóTŠý3þHyzÆ€žH€H€H€T@@—(Éå©Zž о}{¼õÖ[8wîZ´hñ„@Íš5KyIa*ù^±ÂJò”ƒÄ]³ðS·öhÖ°6m�Æ–µÑnT°²€±y[ô™µaáõuÅ¢�û�&î‘ÒÜźÞ-aÜú',öÞ�Pï p�.Þ B¿Î°T%Pž*�UH€H€H€HÀÀè%¹<ÕÊÓôéÓµòôÑGA,á+,Ô—¹’ÂTò½~ã)/O@­�nm¬`R«ê˜ÖEã–ïâ—ù±Ò, ’á6ö¼×²Ì�k¡Ž™Þî>+¢n–xÀ­׃gâÓVVè41¢h¶)ï|ìú¡Kk+˜Á¬a |4ÔÉE[ g�uÇ �ZÃÒØfVo¢Ï²ã(žûÒ¯;,Ua”§ #c   08r‚¤+Mµòôã�?B”˜�ªÌ«¤0•|_™X¬óâ <½xcΓ � � ¼xt‰’\žªäÉØØrÏl’Û¢\ß4ñ˜4iLMM_¼o{\i”§J£cE   0r‚¤+MUòÔ¼ysôéÓ§ l!?•=D0³eË–eâ2�”Pž”È0�H€H€H€j]¢$—§*y:t(ÌḬ̀nÝ:\¸pwïÞ…xÖSE_¢Ž¨+b¬]»VŠ)bóEú <éKŠåH€H€H€HÀp È ’®4UÉSJJ :uê¤Ý(Bߥyå•1SSS wTÙòj'@yªvä¼ � � � T;]¢$—§*y´ÄŽz‘‘‘X´h¥£¢KöÕ1öîÝ[¡]úª}ÄxAU <©rXØ(   ¨Rr‚¤+MuòT¥4Œ*I€òTIp¬F$@$@$@D@—(ÉåQž hpÙÔê#@yª>Ö¼ � � � :˜š¢çâó(,%9'�ñ®yülï…GŽ`_àV�*––â²-~°ƒOp(‚¼Öbü7mQÇò}Ì;R¬heäIƒ»q!ð‰Bll<œ~Ŧ 1xG nns‹O±þJñ‚AM*–|û:šþ¶õ áË;¿]-Mñï¡;p5[F_ôiW©~ÙØgÛfuÛc�ó6„†‡Ágëv¸!îÔÊÄîIÂì�/aç�ÃѾ˜õý›¨Õ¼?ÂîÞCŠ)O%ÿ0øžH€H€H€j&9AÒ•Fy*ù=Ð!OÈ Cß×ÍñÖÈ ä—’ŠÌðIhjÚ3£î—ŒVô¾TY)1ë(Æÿ»ÞèëiΦŒ<• “Ÿˆ]¡Ã„Hä¤lÅW ëâ¿k¯Íèd„ O³zøyõ•R3<Ù8¹i:XìI'ü:a1ÂÎ=x\FŸv•*£¹· ?6¶@Çe6¶(¼ã�ï¬à÷ÍÉÚkä_Y��,­0Ò/­T‡Ôÿ‘ò¤þ1b I€H€H€Hài è%¹<ÊSIâåÉS3yyBöÌý® Œ-Zà‹Á³±óÈÍÇrQJ@Š.—‡àÑPû½ÉˆËÕÈ,ÛËAâ®Yø©[{4kX ›¶@cËÚh7*ù…·±úç°ú~n™f¢•e7¬J’ߺ¢0ó*ön™ƒ=ÚÂ̸1zþ³ÒD�>í*UFº–YkØD—] ˜cƒVµ_…‘±±´-¼ØÞĤ^}Ù?¯¹¦ª’¸Õüžò¤æÑaÛH€H€H€H jÈ ’®4ÊSIî:ä)'n.ÞSX¶'…Ðd !d%F~ó6Ì�àKûè¢mÌK HÑåò2¶#ŒÞ�$+O9qóñoËzødÔj„:‰¸Ø]Ò¡¾$OyÐà†û Ô«÷%Ü®gãˆC˜}`‹sÚ{ Jv¨äûLšó ÌMÚcÎÑì²÷mIEKµ«TÛ3cf ¥©’<Í@+“¦²ùâããK‰¸~_U°—„¢øžò¤ˆ†$@$@$@$Pcè%¹<ÊSÉ¡W’§œ‹Xþß¶ÅFä)ˆÇ£@›Ô¯¼1Qâ^£R"•Ê? Ûn�и÷f<·#/Ûë<-Zš±º»­Œ,¾ÂöÛÅ{Š\ƒóçMŠå @F$µ®�¯�ü0ë“ÆøÔþ˜^»f±Ç[Ƽ3M¿v•j{á-wôlh.¿lïÖv|ÓÀÝfVÑöí�p>§3åé9�çeI€H€H€H  È ’®4UÉ“±±1¦L™Rå¸&MšSSÓòãË“åÇ“°gvûÀuÉ üÚ¥)ŒJnU^J*r/bé/ì=x±Q>°ù¶•´$ï”X’'•mˆºíÆì5ö¼A]anÒS÷Ü+jSÁe8~öêu� Ä{È:ꈷÍê£û˜µ�9Œc±~Ù©ÁcyBbl?�Y“×ÑØ¢#ž.»ùxú�Eè÷× ¬pÛ…àÝ»áï¾C?y/×ï� b‰Ÿ>í*ÕO ÁºÂØ¢úÙoFàžp{m„ïqñ ¬4ŽûÆæmÑgÖz„…#Ô׋6îCšÌ~åÆó-Ayz¾üyu   ¨ºDI.OUòÔ¼ysôéÓ§Ê9‰˜-[¶,?®æ.6ömÓZâ!¹ÿBmÓºhúæø©ÌCrŸÜª<-zº¿ÕfF¯ –i¼ùq_¬:X¼Ew±¤4îÐÝÚZÁ¸Žš¼ó5¬=�«m‘׃gâÓVVè41ùÈ�¶>ïÖÆ &µj¡Ži]4nù.~™«½—*ÿš+¾lh ‹îsqµ ´�hpïèfŒüñ#´nl‰Ú¯Ô‚I½¦èðŸAX¶7¹h‹t}ÚUFžÄ,Ù5øÚ÷Eç– `"mËþ†º&ÅÌ»»~èÒÚ ¦FF0kØ uEr™öi;®Ú7”'Õ F$@$@$@UF@N�t¥©Jž† 333¬[·.\ÀÝ»wQPP¼t­ˆDQWÄX»v­SÄ~./9©Š†dÄÈöMñÇæâ]÷*óYµ«¢íPiyÊ“J†Í"   �*$ K”äòT%O)))èÔ©^zé¥*=DÌÔÔÔ*Ä\�PU*)Y¸pìN DzÁ]Ð°Ë œ”{†“>Í«ÒvésAÃ*Cy2¬ñbkI€H€H€H 2äIWšªäIt¸°°‘‘‘X´h¥CܳôèP«Gùâü¨žˆ±wï^)fe`VI�ª””¼“°þ° j›ÔG»/ÆÀÿbÙ{�ônsU¶Kï‹NAÊ“áŒ[J$@$@$@•% K”äòT'Oº:.: $O"�/¨*”§ª"É8$@$@$@$ ^r‚¤+Í ä騱cŠò$òø"�ª"@yª*’ŒC$@$@$@ê% K”äò BžfÏž�ñãÇ£mÛ¶Šò$òDQ–/xZ”§§%Èú$@$@$@$ ~r‚¤+Í äIi©žRºú‡‰-T;Ê“ÚGˆí#   �§' K”äò Bžž #�@ÅPž*Æ‹¥I€H€H€HÀ È ’®4Ê“!Ž2ÛüÌ Pžž9b^€H€H€H€ž;]¢$—GyzîCƨ‘åI�£Â6‘ � � �@Õ�$]iª•§äädlÙ²Eû̦GÏnÒ÷,êÞ¸q£jé2Ú C€òô 5;J$@$@$ðÐ%Jryª”§+V víÚŠ;ë)mQ:]ÄX¹rå üu`×+K€òTYr¬G$@$@$@†C@N�t¥©Nž®\¹ccc|ÿý÷Ø·onß¾�ÌÌL½G@”uDÝ^½zI±DL¾H "(O¡Å²$@$@$@$`˜t‰’\žêäiݺuÒŒSbbâS�@BB‚kÆ O‹^,”§k¼Ù[   �“€œ éJS�<ÙÛÛK“““óÔ#(bˆ¥|Oë¹(¸� EÓáâ…OÓÍìY> ³w$¢àiâ¼u)O/À ³‹$@$@$@/<]¢$—§:y²±±‘„G×HŠÍ$‚ƒƒ±páB 6 =zô@³fÍ0{öì2Õ„<‰˜ýÊ=ˆoÕGwÇ“e¥'7:6CÇqÁÈ.¯“ùg0­³:M‰B~ye_ð|ÊÓ þ`÷I€H€H€^r‚¤+ÍàäI,ç{å•W$Á*½AÄØ±cË rÅäIƒÛ±ëðח¥1ŒŒ-иmô¶ñEêóœªÑ%Où ˜ßû3ôv9„¼2½/• ‡<å§ìÃì>]ÑÔÒ¦õ[â³�óqøÎóì|©>TÓGÊS5�æeH€H€H€Hà9Ð%Jry'OGŽ‘ÄÉÄÄï¼óþûßÿbÚ´i˜0ažVž Sw᧦¦°êÜ.›<àç‰õ.Ó0zá><ý"§øVè’§Š„-OžòÏÃù?¯£^ÇÁØ~‡BVâ×·ë¡É÷+q½@S‘+|YÊ“Á!;@$@$@$@å�$]i)O½{÷FAÁ“³!BªžVž2öL@c“昩cw¿‚pè‡÷›×‡±I]´ìÒóv_ß°¾* IDAT}¼œ.g·¬‹ÿÌ=£½?)/iºZ6Ãİ   ncz¢C›¦¨kZµMë¡e×>X}Z=É:× ß£Ýk06kˆöŸöÀ; Lå—íÉ QA ‚� Kˆ011G£ÖÃ)*�Ê6„åëo¢••ŒK];'n.Þ3o‚±Aµ_´;ÞÃÐÀ¼ –&>W}Ô¶§ºÞPžª‹4¯C$@$@$@Ï�€.Q’Ë3Hy’“¤ª�§¼óËÑÕÒÿºW³µ*Sb4³iý L뾇¡‹<±'Ì.»ÀÜ¢¦•+OžŠe§å�ð CÈ®5þI3¼Ü¼?ö<(4á3²#êÔë€a w 4Ôkmÿ‡6æ&zÊS6öÙv‡YÝöä¼ ¡áaðÙºnäkå©Ù“±Å7a~ð÷g¯k¯�=-ÌÞÄ?³´}ÎKZŽÌëa¨wš6íExCyzF™}$  xÑ È ’®4ÊÓߘlœÜ4¬ŒaÖ¤~�°açhg„ ïzá‡×,ÐÃñÄ㙦¼DØ|ØMÿ·…oé)O%7mÈ>l‡·ÌÞÀäðLÞÚŽ¯Xà+—xíÌt-Û+5󤹷 ?6.jc™M!J•]Ï>bÿøÚw}ñߦæx»ßœ{XdâÒnk¼kjŽ�;ÏF=�¬†~ <ÕÐ�e·H€H€H€H ]¢$—Gy*ïÑÛÂ̫ػeôh 3ãÆèùÏÜ/2ÌD+³Ö°‰.¹¬/aÞ‡ÑÛãp±ÆÁ{OîløˆmM>Sžjòè²o$@$@$@$PD@—(ÉåŒ<-\¸P’$ñ€Ü   íxgdd`éҥظqc™íËE!ýåIƒ{G7cä�¡ucKÔ~¥Lê5E‡ÿ ²½É�7oÈO†¿}_tzClUn‰]~ÁÜÐ[•‹‹f�ÃÆ1=ÑÆÊFµêÀÒê ¼ûÉoØx*G�P�ŠÝó‡à㶯ÁÔ¨Œ-¬ÐúߟcÚ®«ÚÍ+´dd y×àkß�[6€‰QÔmò†º&¡P¦ì“ò”ƒíýÛ¬~3¼ûé/˜¼|7’sävÔ^½Æ¾¡<ÕØ¡eÇH€H€H€H@K@N�t¥Œ<‰ž:u /^ÔvVŸ7úË“>ÑXæE!@yzQFšý$  x‘ è%¹<ÕÉ“½½½4[”“óôeòäèèø"'Ø÷J � � � �€nºDI.OUò”ž‘އàîÝ»¸}û’““‘”t§NŸÂ¡ØƒÝ �pß±îîîˆ;QG£Ñè¦Â\¨ ÊS�±8 � � �  9AÒ•¦*y$1£$Ž‚‚äææ"++ iéiHMMÁéÓ§µn[Ýàçï‡ØÃ±ÈÈH7À¡b“ÕL€ò¤æÑaÛH€H€H€H jè%¹ï�Ú‡€@lÛ¾ ~þþ8�Vú›P˜–ˆ­3ûã£vMaal“ºMñ^�ß0'àT±¿å©Òc«oEÊ“¾¤XŽH€H€H€ —€.Q’ËS­˜âq ªØ×�òT‘!­TYÊS¥°± � � � 9AÒ•¦JyÊËËÃÑcÇàéåO/Oœ:‡ìœlé[“Ÿ¿pIIIˆOH�žù$–ò‰íË·¸¹IË÷ü±y³«ôŒ¨˜ –ýé÷ÊBèøÎxµÞ˜{_¹JÁ 8ôÃûÍëÃØ¤.Zvé�y»¯>¾ÿ¨ ncz¢C›¦¨kZµMë¡e×>X}»H¾4é8´z>lmc£:¨Ûäm Zöñ¬Vyñåä)÷*¼lC—6¯Áܬ>ZÜkÝQ‡ì)“TmåIµCÆ‘ � � �@•Ð%Jryª“'±1Äù ¤âŠY§Ì¬LéYNâ,¶+$N 8‡¨ýQݽþþX½f-V¯Y?_ìÝŽ={vcý† 8uú´~ÔÍAŸfæhó—”ïšÊF¤õ'0­û†.òÄž0o¸ ìs‹p73/àË– <•e   ¨i”$I)]Uò$îwZ·n5bÄàÒ¥K’eeeáþýû8xè`цÁÁ��6”›JˆcïÞ} �»»;Âöì‘vÙËÍ͕Η._B|B¼´Ì¯ÜÁÖ<ÄŽÁíñjÃϱ&¾äÌÒãš…w=ñ}#±lïäËöfvk„&¿º*.Û+#OÚ�›Ô¯¼1QÙè¿Xž:O‹–f¬ omÇ7 LÑmæ!äiãòÍÓ <= =Ö%   à  $IJ骒'!€±y[ô™µaáõuÅ¢�û�¦Š½ÕõB¯ªB”'U C$@$@$@Ï„€’$)¥«JžÄ,ÓÜy.˜çâñÏëNOO 88¶Žó1c¾+¬qÇX»ÕX±i§tŸ§:o€óŠm°[âkÇÅR½è˜hlذ‡Á¢ÅK0~ÂD½�çÝŒÁ¢Ñ?¢cK+˜Õ1‚‰…Útî‰qOÍìä'Ãß¾/:½!¶*·D‹.¿`nh‰­ÊË‘§´èyèþVc˜½‚Z¦ ðæÇ}±ê`‰mÅË‹ ®Ïħ­¬ÐibDQ›ò®ÁÇ®º´¶‚©‘̶ÀGC]‘\@{Ò{àK¤<•€Á·$@$@$@$PC (I’RºêäiåêÕX´x±ô [±ÍxHhüýý1Õv¸Eb¡ûAéXë{X:¯òŽÅb�¢´[÷ÁÆy¹´¼ïÈÑÃX¾büüý±déRücg_C‡œÝz(OÏ‚*c’ � � �€º(I’RºªäI<Ì6"2ë7lÄ?³í0sÖ,iÛr!Q3lÿÁìù+1Üzœ–nÀXÛÅÒy’ýRØ-Z‹Ñ¶K`=g)f9ÌÁÒåËáéé…Ùöv˜1s¦´½¹¯Ÿ¿ºFŠ­Q5Ê“ª‡‡�#   �*! $IJ骒'±lïfJŠt�ÒŠU«à²p!œæÍƒÓܹppr’djšµ5”޶3aïè(•uæÍ_€eËW`ûvw\ON®À òb <½ãÌ^’ � � ¼Ø”$I)]uò$vÖ¢sþœ>s'NžÄñÇqìø1½Qþø‰8uúÎ�;‡«×®âÎ�;/ö7ƒ½¯ÊS…p±0 � � � $%IRJW•<@44##<�Š+žÙ$žó”’’¢÷!ʧ޺…Û·oãþýHOO—â䈲ÑÏ…åé¹`çEI€H€H€H Z (I’Rºªä©ZIñb$ ƒåIf‘ � � �@ ! $IJé”§2ðìFÕ |€»wïâöí[HNNFRÒéyM‡b"tw(<=vTZî'f«žéKs{–OÃì‰xÆWª\7 ®aû”ß1rí)u¶¯r½ªöZ”§jGÎ ’ � � �@µP’$¥tƒ�§œœ\¾rûc¢ŽˆÈ'�à� "bo$Ξ;‡Ì¬¬g>ÿ ¦u¶B§)QÈvW©|ä¼cÿ^t±Ž©úöåÆbBÇfè8.Ù•o¡AÔ¤<Ä0±‘$@$@$@$ðT”$I)]õò”‘‘± _Dd$qòÔI$ߏޏÓqˆ;}Rú¼7jý±mû6øùûãL|<<|Xi�…i‰Ø:³?>jׯF0©Ûïõø s.¡ðE–§üÌïýz»B^¥éFEÊ“aŒ[I$@$@$@OC@I’”ÒU+O™™™HIMÅ‘£G¤ûšb�FFf:DGÒÓÓ} Qû÷#<"»¼½¥gAí C`P víòÆÞ}û¤û£„|UäUx/ ã»6F­zíÐ{‚ \wî‚§Û*ü3ª¦x\ƒæE–§Š€4ð²”'@6ŸH€H€H€ô  $IJ骔§¼¼<=v ž^^ðôòÄ©ÓqÈÎÉ–±5ùù ç‘””„ø„é™Ob)ŸØ¾|‹››´|/ À›7»JψŠ9pbÙŸ~¯,„ŽïŒWë}€¹±÷å«HòÔ–¯¿‰VV06­‡–]û`Yômm˜^€¸UàÍÆualT–�Ûã§éÞ¸‘_¼�zA2ÜÆôD‡6MQ×´6j—®_^¾hUîUxÙþ†.m^ƒ¹Y}´þ¸ÖºSt}]Ëö4é8´z>lmc£:¨Ûäm ZÒÓ² n`Û„^èÔ¶),Mj£ŽY#´ï1+¢nå‹ëʉcA ‚� Kˆ011G£ÖÃ)ªx÷C]í”§«šTÊ“j†‚ !   �gF@I’”ÒU'Obcˆó.HijN™Y™Ò³œÄYlWþHœp2.Qû£º{7üü±zÍZ¬^³~þ¾Ø»/{öìÆú pêôiý¨›‚>ÍÌÑæ/(Þ5U,O;˜Œ-¾¡óÛ€¿?{/7ï�=„†hp7.Þ!Qˆ��‚‡Ó¯xô!ïH-’›biù£üBòk †Òìqýòò‘‰Ý“>„Ù_ÂÎ=‡£}1ëû7Q«y„Ý/tÈSÎIg¼kÞ?Û{áÀ‘#ظA§2‹¾ŒÅ×mñƒ|‚Cäµã¿i‹:–ïcÞ‘âÙ»â2�ï÷ÊÆ>Ûî0«Ûƒœ·!4< >[·ãÀ q7X9í|fU˜òT5…H€H€H€ÔL@I’”ÒU'O’’°ióf=~LÚ=ïÁƒHIM‘DI,Ï[¹j�ì,^ºÛ¶oEP°ö„‡Â?ÀK—/Ãé3gʷܳKÐÙÌ?®ºR<‹$S¥Œ@ÙGìñ–Ù˜^,"%«å'bF×Fè0!²è>!¹ú‡í×/'¿ð޾³j€ß7'kÛ˜e5>²´ÂH¿4�ò”> MMÛaf”̬šÌu‘uãÿÝoôu‡4—TªŒæÞ.üØØ=O”Ùœ¢Üv–d¤Â÷”' ›D$@$@$@UL@I’”ÒU'Oaa¡Ø°q#-^—ÎÒ±|Å2ãÎ�ÛÒ<¥Îܽ{‘{÷bé²¥pžççyŽpž7. æÃÓÓ£\Ô¹‰‹ñ¾™)~Z}M+&e*•‘_xg+¾¨g‰Á;Óä q×,üÔ­=š5¬‡†M[ ±em´¬(O…·Ý×—‹_"?3Æ­j¿ #cc˜˜˜uðêËÆøyÍ5htÌ"""qøÈ\¼t ·n¥jëŠ{£Ä½SóÎ-Ÿwº?þûšÚ� ‚â]R2’¡¹¿ßÔ³À�4äÄÍÇ¿-ëá“Q«vè$âbwaH‡ú:å©d}¹ûŠJægÆÌ@+“¦²ùâããK‰¸~?_çÌ“@“�„�•ùÍÛ07j€/í£‹¶—é—�§�±aôî$yyŠ™�–¦JòTN;Ë�çZ‚òô\ñóâ$@$@$@$P-”$I)]Uò$îwZ·n5bÄàÒ¥K’eeeáþýû8xè`цÁÁ��6”›JˆcïÞ} �»»;Âöì‘vÙËÍ͕Η._B|B¼´Ì¯ÜÐ<ÄŽÁíñjÃϱ&¾ìlŠT_F2JÊÍÝmý`dñ¶ß.~„nÁ58Þ¤Êä©ðÖv|ÓÀÝf*l^<óÔyZôãY%ÙŽg lRW¼òÆ`De—�U*êëYØvk„ƽ7ã¡Øï¢Tß o¹£gCsùe{åµS¶MêI¤<©g,Ø   xV”$I)]Uò$„G,±Û¶mBBC"Ý«töìYIŒì1Çi.\æ/À’¥Ë´Çü áä<Žs¤%q§â ¤I•ˆã€I“'éÅ<ÿÚ.üÚÆµ_ë‚¿f¯‚‡_}¶a鬿1Õ5Qö9O%å)û¨#Þ6«�îcÖ"4æ0ŽÅúad§U&O@Ç}có¶è3k=ÂÂêëŠE÷!MNÁe8~öêu� Ä{O,?̽ˆ¥k¼°÷àÄFùÀæÛVÒ’¼SÚ%y Q·ýϘ½ÆÁÁ^˜7¨+ÌMÚbêž{EìJÉ�Žà ]alÑýì7#pO8‚½6Â÷¸xÆV9íÔk4ž_!ÊÓócÏ+“ � � �@uP’$¥tUÉ“˜eš;Ïó\\ þyÝé鉀€ÃÖq>fÌwÅ‚5îk·+6í”ÎâóTç p^± vKÜ`í¸Xª� 6àðá#X´x ÆO˜¨÷äÝŒÁ¢Ñ?¢cK+˜Õ1‚‰…Útî‰qO ¿Œ@%å È�¶ïÖÆ &µj¡Ži]4nù.~™[4T^ýòòE/ò®ÁÇ®º´¶‚©‘̶ÀGC]‘\ ìIƒëÁ3ñi++tšñÄÃlÓ¢ç¡û[�afô j™6À›÷ŪƒÅ[œK×mˆÆº£[[+×1C“w¾†µGr‘“i›h‹¯}_tnÙ&Òöçï`¨kRÑöæ:Ûù(¨:Ï”'uŽ [E$@$@$@UI@I’”ÒU'O+W¯Æ¢Å‹¥ÝŠmÆCBCàïï�©¶s°À- ÝJÇZßÃÒy•w,{¥-غ6ÎË¥å}GŽÆò+àçï�%K—â;ûªä\óbɉQÍë¥Þ=¢<é�ŠI€H€H€HÀ` (I’RºªäI<Ì6"2ë7lÄ?³í0sÖ,iÛr!Q3lÿÁìù+1Üzœ–nÀXÛÅÒy’ýRØ-Z‹Ñ¶K`=g)f9ÌÁÒåËáéé…Ùöv˜1s¦´½¹¯Ÿ¿Ájµ4œòôfÊÓ8ø�H€H€H€j$%IRJW•<‰e{7SR¤{”V¬Z—… á4oœæÎ…ƒ““$SÓ¬­¡t̰� {GG©¼¨3oþ,[¾Û·»ãzrr�ð*ëåé ””§'pð � � � ÔHJ’¤”®:y|¼3 IDAT;ë Ñ9áNŸ9�'Oâø‰ã8vü˜Þ‡(üÄ œ:} çÎ�ÃÕkWqçÎ�9àìÔ³!@yz6\•H€H€H€ÔD@I’”ÒU%O ÍÈÈÀƒ¤‡âŠg6‰ç<¥¤¤è}ˆò©·náöíÛ¸ÿÒÓÓ¥¸j(¶EÝ(Oê¶ŽH€H€H€ª‚€’$)¥«Jžªc�@U ÿÀ ‡««+øìmbýŠ¿%qÚ°òoØÙDï_zaìØ±°³³ƒ›››TOÔqD¼Êüó¬ª:ý?Æ�5Kq{þw†ßÙY‘òTÙŸ Ö#   Ã! $IJ骒'±[Þ–™£àåî†ððpI‚Ä?±â3KÓ¦MØ1cÐ뻯$yú¾××°µî�yƒ¥c`ÿ1kÖ,©¼¨/âˆxgt1léÐ /g!Ó»Ÿa÷Ã@ÄIˆ3åÉp~ôØR   ¨,%IRJW•<‰íÆ7Š "¤{˜Ä}LâBlÞ¼7nÄâŋѫ××xx}™t>m/½Ÿ]ÿÄÌ™3µuEoß°¯ô“ŽßâÁÅd‡�,U¾’w�Aá­m¸:°hÜåÓ‘—ˆ‚¬< ?ù7Žã¡Çp\êßIý?­ðs(ÈÊ4 ?ù·Ï"cß2$OèV*ö“Ëê.M›�¬;™x¸æ›Çå*(O²1**.z eg0rïg 0;YÑóqmÄû�Û¤G¼*i‡×y³„”§Êþ± � � � %IRJW•<‰ç5m]·��ؽ{·tx{{cÁgŒûÆ�„áâ×w_ãaòJé|"z^_‰‡É«àâ83fÌÐÖqD¼“ôœ±ÑSž.Ž…¬‡ùÈ?¿·–�Ä çQHݼ÷6öÅEñÏ~ÿOq÷dòN-EòÌ>¸n÷'n®^‚ÌYФºãú_�ÊHÈÅ¡ß#ugò³òMn¥äIgŒ IÈûHÞ Mö9Ü_? 7ÎAÖÍä·Ãe!‡åĪºv”­òÚRÙ|Ê“áüè±¥$@$@$@$PYJ’¤”®*y¼uwÛI‡³³¬§�¯‡5E8bѼÒ²½´kðÝw_!ÐË©I+pîøØLë�éÓ§këŠ8"Þê£Ëý‡_ú'[Oyºä° …ù×qû…Y¤byÊ=0¹H¦Šeãò"ohò‘:¥k©ötÂu×(äžóEªótd¥eËÈSò.Å ûÆ=hò3‘w%wæ÷*¿œ¢ >ÃM7/äÜzM^&òoÆâ–íG¸8|82Sï#+`XQ¼Á}‘q'™~ƒ´ñ/Ï݆¼‹¸móaQÛb%õ+¯�pmmò¤CS��ÂûgñÐs. x~¢$'X”§Êþ± � � � %IRJW•<Ís˜‰íÛ¶ÂÇǾ¾¾Ò1}ú4Ìœ> G"%i|vÌ�fœÒonÀwß~…¯¾ú#œ0qÜïøüóÏamm­­+âˆx gO-%+ ÿ¨ë)OÇÏF^n2CÇâÊ ™X¥å©g\û‚ýϲ3OIý‹Ó V�§\\ ÆíU£‘ìø7îFž†&ïnÛ}ú¸oºbô낞' É<‡û®c‘<{n,‹k#;ãâðȼ“ެ á’,]œìŒüüû¸ëTâYYCÆ ''׋M+”cI"¢³qyÊ Üpø×füŽ”­A(È¿�{ >Ü�rf¶äd§ªÓ(O†ó£Ç–’ � � �@e (I’RºªäiŽÓllusƒ———öpttÀÔÉCàõ’N­„³ýˆ�"2R\ñí·_ÂÉ~8’âV`âØ¾’8•¬+Þ‹xóìmôûÇ\OyJê××VlE^z ïžÂCŸp}\‰Y¨by‚¦(,(ºïIŒhö9ÜqþRw[å©Ô†zâþ…äÆ<9»%I„LŒ‹ÃF!;#in¿è¾~¿Ž¸d·yI¸e]<Ë$dfàÒlT†W_èK¦e$gÀ·xx1 ™¾ÊmW™ºÏP²(O•ý b=   0J’¤”®*y3O›6nÀöíÛáîî.[·n…µõtØLÿ Ç,Gß?~Ç·=¿BzÊv¬X<I§ÖÀÏÓCþü ¶¶¶Úz¢¾ˆ#âUõÌÓ£â/þù$/™‡´ÓW É¿…´íqQÚ0¢øž§ã.¸6ù\›ò3®Û�ÆÝˆ8hr.áŽCweQ�Ù #ÞÇÍ Ë(¸ºWŠ7±xÔ®$™—lW  ï nÏ,!y òQ$OåIïX2í�ÄÓe 2Ï£ - ù÷®¢ +YAC”™(´SÛßg�Oy2œ=¶”H€H€H€*K@I’”ÒU%Oâž§µ«–KÏtÚ²e S§NÅÔIƒp>nlm†ãÛo¿BFª'®ŸwEÀ.GØý3ÎÎs°nÝ:mQW<JÄÓûž§þ_áþÙlä½×§èôbQ¹±I»ÛÞ“ÿ¸€äm É?‡[Óºj7Œ(}ÏSÒÀŸ‘v-¹{Ç•Š_b韜p(ÉSÈU\Y£§<­Ô[žä—í�Ö.Û»d«g,™¾\œâŒ¼Ü4dY#yƸf=éWs(O•ý‹g=    �JP’$¥tUÉ“ØmoÕBgI‚Ķä�{{{XOƒð …8³.Nã�yÇS'ÿ…eKæbÙ²%X»v­¶ü£zB¦D<½wÛëש©Ð¤îÀõ!�ïKº8èg<¼š‹¼X›¢­Èef:.Z/F~AîÍÿTQž.þÙ·ò�½g”ò,‹Œp$ÉÈÓ£6åì_VÄdb\>ÙY¹z-ÛKz´a„ÏmìËÎ[µFèK¦W–@“»7†o{Þÿs܋Ϥ&L‹1À‚¹�}?_|ÙÚ2%Ë‹ú"Žˆwf@噞ÒòÒ¯®Ìš…´ÓçQ�“Mî}ä&ú"uÎ×Ú—§OƃأÒvÛbSˆÂÌdŸÜ�ÔYÅ;Ɖ‡äFœGAv^ÑfÙ(¸w™±[�2»Fôï�Ô }ÈM½ M~49÷�sj'Rl{hÛTž´ˆü‹?ÇÍí>E[•ä¡ð^"î-éY´Uù­�·*LÄCr=C�û šœ[ÈŠ^€k#:k¯§«üv|€ëk¶!çæ=h  ÉMC~j"lúŸ6ö1ÊŒO‰%ŽÏ0�÷²'–ÛMÃÂ…ó±dÉ,]ºT{Ìžý¾ý®'zôø9£ñŸ/º£_ÿþ˜ãä¤-#Ê‹z¢¾ˆ#â©áŸq¶¡z¤§ª8Sž æ7� %   �JP’$¥tÕÉSü€.ð˜Ð‹gAÌ6-\¸P:fÏž�þà§ŸÀ?¶ã�›vX:þŸ0hì´eE=Q_ÄñªêjÆ1,zšñ¢Ã´©ãâÙ0䦟À¥saÒçž=¿Áĉ¥r¢¼¨·eê_Rïiþ‰fÝ“åÉ`~óØP   ¨4%IRJW—<õïˆ ý;!q@gìö%Ü&ÆÂÙÖ˜;Ç^’§�~ǹø=ÈËH@^F<ò2ãqîLøMÊåDù­“aÿ°ÿ qÀûR¼$ñì%JTà;@yªôo+’ � � �€ÁP’$¥tUÊS€Î89¨b†~ïq¿bµõhL= öïƒýžÈ¸�üì$é¼?b'þìÿ?L= «fŒ–ÊÚ§u•$LÈå‰òXQy¦<ÌoJ$@$@$@•& $IJéê’'13пÎõ§vÅñÁÝpä¯O¥Y(÷á?`Ê?`h¿ÿáxlîߎ—ÎCúý“ÿøÛFü$mI.Ê ñ÷:‰8”'ŠSEÅI”§ÀÞÝ$Ñ:5èCÄ삳ÞÇù~�¤8œu¢3{£}K˜Z4E—_í°?¥bó^Ší¨‚Øúv£²å(O•%Çz$@$@$@$`8”$I)]Uò$ž×´Ã};°{÷néðööÆ‚Î?ö/Œ;Ç D¯ï¾ÆÃä•ÒùDô<¼¾“WÁÅqf̘¡­+âˆx!¡Áú� žòT˜º ?55…UçþpÙä‰?O¬w™†Ñ ÷!G\I“ŠE=›¢n÷�ŽÁ¾ð ìX=ß½Yÿ×úOD>,,Óžü»§°ÅæW´­[¯¾b\)yÒ£Ìu%äá°ÓW0·x-Ú‰ÀóðCÛºhôõb\)Ð*�bÝíxºØŠ­â ÊSe8   P!%IRJW•<‰Þzìp‡¿¿?‚‚‚¤ÃÙÙ ÖS‡À×Ç"±hÞiÙ^Ú�5øî»¯èe�Ô¤8w|l¦õÇôéÓµuEÏÕu£~C¥§ìÌ7cÛ¥[PÄD±%vcìÅMÄ®X»(¨t,PKD ¢ Uª€[ì-6LìèT¤óûfÏ… \Y¹(êÞ;s<÷¼w÷={ž=ÎðÌîÙssµÕÐmyœ$JØbh(¶Çš³ïÄgää*h‡,¹%×ôõ¾�<}=ötf"@ˆ D€|)ªŠèfì�GYåŒÄHËSA6RœÂúñí!j?§Þ¾?ò„‚ÑìLÕ,oÚ^3¨vúk·û#"✠~†²‚Ì�½*¹¶å@NØ †’ZgÌvþ Ñq±>à‡3ÏòPð2“Ú6ÅO‹Byʹ¹]•Ô±0¬dŠaᛌiªŒ‘÷P€wÜ\Bc>ÐŽŠs—\Î×üFòô5éÓ¹‰ D€"ðeð$‰—+yrr¶Ç�(Ù`¾Òá�k�tÝÎö ÀŠÈHöŨQðÞ~>’®yÁÌdº N¥ë²ï,ß&wWÙèË(O@®þ¹]ÕEPjÙM={÷MÉ3JEòT·n=Ô¯__xî©N�:¨«Ò f¡�Å’ÄkWž¤ŒÈ»»¾Í¡¡¿iÒþVNŽÂWG0NCºŽW*\t"3aZ)vÀºó¥ÆÍrNÁP[ ½,‘+k®rÚQQnyYƒä‰wƒRœ"@ˆ 5‡O’xq¹’'6òĆðóóFŒØ¨“++KØXâò™­˜>m*F�ÔCz²¼<–!éú„¬ƒÑÜ)°³³“ÔcuY–¯ªGžŠo—‚ÌG8¾Ï º:Pi`äšcx͆�Šä©‰ž.\»†kW/át¬?œfõ�ª²VD¾,­âdÅûr„å.‘‹(“îhø“®æHÙS992ÏØ¢­’6l9S ‹Ï 3a%4;råéíis•׎ r“<•êúJˆ D€"ðY ð$‰—+ybÏ<íÚµKx§Ó¾}ûP¼™››Ã|ÅlÜ»¶v6ó1j”2^àÉ=_„qĺ5fpvvÂÎ�;%uX]ön(q>ŸyÊû�- 1ù@™g•€\D/ëŽú–à‚°ÚžtfâœÓ(+t†ÓÅ,‰ËÃò±¼² ðôäV ùÍUDh¤Ô:}'ÁùhRÑhQ!^]Ü‹…ãúA[C ¿«…Æšèúëlx*^ ¢ðööê[·.¾k¨ˆ&š:è7v>¶Æ=üð‚ å GþSì7�.ZÍ¡,ª�FJêè4x¼N>/ñ‰òr0¹�b?½´šB¡A#¨µüƾIÈ{Š©íÔK–*geóž"Èf:µP�‚²zé¯ÅÉ神Hâä*30ÇkGE¹eï¬ÏV’ä鳡¥ÄD€"@ˆ�YYï�ž‘.Œ"±‘¨¤IØ·oŒŒŒ0tèPaÏŽïÝ¿'ˆVZÚdff ''yyy$Nen :¨ ’§ÊТ²D€"@ˆ¨žx’ċ˥>^(Çʳz¬> Tõ¹qå­¥$OòÖ#Ô"@ˆ D€T=ž$ñâr'OlÊ9 8„˜˜hœ9sçÏŸGTTvx» *ØR'&Ol‹ ²€¥ù">|X(ÇʳzBýØhšÂWõ÷X­ÈHòT+º™.’"@ˆ¨åx’Ä‹Ë�<±g–öðEhhذL†Øæëë‹Y“`o7 »¼ â´Û{1ÖÙÍ‚þ„1011Áºuë°ÿ~¡«Ïò°|ÕþS˜‚øm6p8|ùÕþbªÇ�Rjƒ­—x'â"à¿Ý£Û7Æ·Ús‘�Vð^{òR¯cŸÍDè¨5B½ïD%OÌñÞ?ÈÅßëõ ¬Ò †î‡qÔ߿騡ùp<Ì—(]¹ Óâ0û§Ngæÿ�ìw6@•†ho ñòŸ»Ü~¦ ÉÓgKi‰ D€" Gx’ċ˕<±Þò?ˆ°°0DDD›³ózX™!ä�ÎÅ;ÂÝe�0mïí³=ZG­ð"É w/o‚�ÅLXZZJê²<,Ÿ¯ïÙºHFyÊ8f …Ö0Oà¼OªHžÔ'ìEV©3§že….ØpEP¬R¿äãúƱhÓ{ ÜBw@_Sµyj�®ƒÑW§9DÊÐüq¬ÿƒI– r°rùɈ\o€ÞZÍ   ŒæÚý±þd: ^†bšNst[†tV.ëæj«¡Ûò8Iþ”°ÅÐPl�5g߉ÏÈÉÅ~ÌÍ)=n—‰ÓÚ¡awKÜÌ+”-·ø _õ_’§¯ŠŸNNˆ D€�/B€'I¼¸\ÉÓF· 8x�½ì6!!!Âfii[ËÙøç¢’“¶!ØßZqJ¾£GéAOo(ÎÆ¯‡Ù²©2d¬¬¬$uY–Ïs«‡lðe”§Ü{[ÑGUÝŒýñ(«œ‘iy*ÈFêƒSX?¾=DíçãÔÛ÷GžPP!šƒ©šåMÛkÕN¿cívDD‚³ÁÏPVÐ�ù±W%×ö¡È »ÁPRëŒÙÎ!:.ÁüpæY ^cRÛ¦øiQ¨ O977¢«’:†•L1,|€1M•1Òã ðŽ›«¤1EßòŸÀuX+hü± ¯ €Šs¿—á«Hž¾ v:) D€"@¾(ž$ñâr%ONÎö8pà%›££ÌW#

-šöÅæ+âQºŠrËË‚$O¼”âD€"@ˆ¨9x’ċ˕<±‘'¶0„ŸŸŸ0bÄF�˜üXYYÂÆÒ—ÏlÅôiS1j¤Ò“ýàå± I×w 4`ŒæN����¤«Ëò°|U=òT|»d>Âñ}N0ÐÕ�’H#×Ãk6|T$OMôpáÚ5\»z §cýá4«T•u°"òe‰h'+Þ—#>(wÁˆ\D™tGßÌp5GÊžÊÉ‘yÆm•´a“È™jX|~™ +¡©Ø‘+OoOË’+ —·OÃ÷�;Á$è¡D+ÊMòTª#è+ D€"@ˆÀg%À“$^\®ä‰=ó´k×.á�NûöíCñfnnó³qïÚnØÙÌǨQzÈx€'÷|~ÄëÖ˜ÁÙÙ ;wî”ÔauÙ»¡Äùd|æ)ÿì¶€ÆäežUr½¬;êwX‚ Âj{Ò}˜‰sN# ¬ÐN³$ò$ýÌr/ay—&h5ý xa é4ì¸ñáÉSä’®hØe%®É"O§­¡¥(›<O­[TjÚÒ1¦™xÚ^zbE¹rp}Ç´lü#Lƒÿ+ónªŠr—3¡±D ²Hž*KŒÊ"@ˆ D úàI/.wòTPP€ìì,Ü»!!AØâ¹.®byše0woCnÆ?È͸…ÜÌ[¸{3³ ¦rÅʱò¡¡ÁHJº�ìœl°|ô!•%@òTYbTž"@ˆ Õ�O’xq¹”'֨ם^áßÿàÄÉãðÝ»ÖÖ–02œ…S G�ñúò²’„ý©„@ÀÊÚ{÷îÊ?|ôÒÒÒ ËÏϯ~½H-þêHž¾zPˆ D€"ðÙ ð$‰—;ybÓìrss‘žžŽ””<þL…Љ‰‚�� æÏ7Ä勱x“r—/ÄbÞ¼¹°µ³FTT¤°$ùóäçxýúµð¬ËC#OŸýž«‘' yª‘ÝJEˆ D€�2x’Ä‹Ë�<±«aÂÃÄ'+ëÒ3Ò…Q$6•ô ûö탑‘†*ìÙñ½û÷ÑJK{ƒÌÌ äää //�ĩ̭A•!@òTZT–"@ˆ Õ“O’xq¹”§ê‰žZ]“�<Õ¤Þ¤k!D€"@ˆ@ùx’Ä‹“<•Ï‘¢µœÉS-¿èò‰ D€�ZA€'I¼8ÉS­¸-è"+K€ä©²Ä¨< D€"@ªž$ñâr'Oìy§øøxá…·ŽŽŽø”�½`7!!�ž}ª~÷ñWo1ÉÓWïj D€"@>;ž$ñâr%OÉÉÉèÑ£êÔ©S¥ËùâŋϟNPs�<Õœ¾¤+!D€"@ˆ�O’xq¹’'ccc())açÎ�HJJBjjêG�±Ñ+V÷þýûðññr²Üô!² y’••#D€"@ˆ@õ%À“$^\®ä©uëÖ˜™å?C„»%\á@¦ THž�<ÉSoP[ˆ D€"ðyð$‰—+ybÏ:ÙØØT9–“宲OÎy˜vo…îË"‘ÅKšs :4Á`Ç«Èç•¡¸Ü y’Û®¡†"@ˆ D Êð$‰'y*F_ø »&¶Å7: q.«°8*Ùgœ²‚–BsÌ JòþÁFýAÐw=‡\I ©/_Hž ÞÞ�ßêYЩTDPVo‹_Æ›`ï¹dɈWÚ™u袢†á.—Kµ·)ÇÌÑN©&l»�‚‚p©‰¦ãw!CêRjã!ÉSmìuºf"@ˆ D ¶àI/NòTêy`„¦�¾ÇŠØ·¥¢ìk6¢LºãÛÖ³Ÿ.ã$¼/ O©'`ò³6ëŠÖ›ñWàøípÀÌ~? ¡R;,<ü_‘@e!qí(6þ›¯e ×Vøæ$æÿØ­ÆmÓüB �ä©t§“<•¦A߉ D€"P3 ð$‰'y*u¾�ÂÔ”¡cRv:Þ»˜«­ŠÎK¢‘ÃÊçÝ„E/uôXuyÅõß݃¯éXtl¡‘R3t¨‹›*–�¶—ó�vSл] (+5�vÿØq.’q®ügw˜�ž­›@¤ ­Þúp‰yÄ™ö—‰“ž¨×¤?<.KÉ^v<ƶŷ­ôö²hÒ`Ö Ø ÔDãþkpë]"—ÿŒFšãpøQÑØÉSqO {’§28è€"@ˆ 5’O’xq’§2·A"–vÇ·­¦#ömÉÓ›¨eÐP쀵çÞ‰KKËSa‚vG£Æ]1ÏÍÑÑ!𱛄vÊ ¥ä)1+~�Òðî`<þN Áê±íQ¿õLľfçÊB‚Õ(ªu�±{ŽÅÁuVo(«t…ãÙô2­2¢0¹•2Ú‡–½¢’™gì -RÆÄÝO%r–uÓýš©¡Ïø1ÐVÖÄ쿊G¦@#OR„Iž¤€Ð! D€"@j ž$ñâ$OR7AÖ{tTT‡áá—E¿dàМNPøÙwóŠÆˆ¤ä©à¥†7U�žë-ÉsF�š¶W�r£Õ›bêÞ™É{¸ýTÕ±0ô- Rñ[ è:^)iʽ ›_šCsÒ>¤I†§ÄÍʹ³½”ñÇÎg9*s)™¡ßLÝW–C.­Ñ7uÑlÔV$—ø!ÉSxÉ“:$D€"@ˆ@ $À“$^œäIú&È»�u4Ðâ÷�H- R�`œFcŒÞ|§DŒ¤ä)ó´5´”´a{ºhdŠå”’§ÌÓ6hÛ°ˆD²élét…F¨÷�¿ïxŒŒÓ¶h«¤ ›Dñ3Iâfå"Ö´'tZ†Ë9eí)ç¶z*)b®çåËÓ»Pü®®ˆžæ§JM-¼ëþ-¡¤¢‚†�ûJžÎEÓöÊÜ $OepÐ D€"@j$ž$ñâ$OïÝ…øoÏd¨¨ Æžÿ²ñﮉPn1AÅϱòïÉ“ ´µasª”ø¼'OÖh«  £½—pëÖ­RÛmv[Ù…X–÷ä @þ Äl4B�PlP"uhw‹#�JžIÊ}Œàu3Ð[[Š @©Yô3öÅSöž%!ïS„ÙOG�ØRåªhÓ{6Dó–*/ªòâ,ÜŒB'M54üî|£ØÝFÎöãOŠž(Àý]“¡¦ôΗ}ýmáÛ0V¿ïÄ‹|ñ{žêÔ©ƒ2Ûÿ‰0qwrÉ5ˆO[ãÿ%yªñ]LHˆ D€ð$‰—+y266†’’vî܉û÷ï#55ùùEï)ªDç²:¬.Ëáãã#äd¹kö'çÖB£C±åüË’Å-jöE¶«#yúlh)1 D€"@ä†O’xq¹’§äädôèÑ£ìȇôHÈG³œ/^¼�›Nú\ )|{n“»A¥¡2´zÃLÇH¯�ú\'¬ÁyIžjpçÒ¥"@ˆ D ˆO’xq¹’'v HHH€»»;…�=³T¼•™RVJ¤Šgûâz,ÇñãÇ…œµçÉGê�ðóvƆÃ7JÞU{TÉ•’DàS �<}*AªOˆ D€ù'À“$^¼ZÈoª/.ÿÝD-”w$OòÞCÔ>"@ˆ D€|:ž$ñâÕBž> e •#@òT9^Tš"@ˆ Õ‘O’xq’§êØËÔæÏN€äé³#¦"@ˆ Dà«àI/^#åéáÃÿðçŸ{`4o.fΚ�9sgÁÍ}ÓWïj@õ!@òT}úŠZJˆ D€��%À“$^¼FÊSÂñx¬Y·Á!G�ÐÐ`,\4ÿc™R½ZH€ä©v:]2 D€"Pëð$‰¯‘ò+ DD†ÃlÅra³´2¯u7]ðÇ yúxvT“"@ˆ Õ…O’xq¹’' Ë ¨ŠmÁÂ?`cg…а`,X8§OáöíÛÕ¥©�r@€äI:�š@ˆ D€�ÏL€'I¼¸\ÉS¿ª˜kÜ‹–uù¤m®ñ@Ø®¶äÉÔl9òóó?3vJ_Ó�<Õ´¥ë!D€"@ˆÀûx’ċ˕<õí¯ »uý±Þí8lìõQÛZçžX²¼DžØ´½ZñÉ ¿US±Ðç:U”>®ªî"IžªŽ%e"D€"@ˆ€¼àI/.WòÄFžl×ô‡©EgÌ0l‡ÉÞæ›´ƒ•£ì\Æa�ËhX®í“Um1w^7ÉÈ“ñ»+~ÞºC‡BwØ0î6rl'ÌY¹óVoÅ¢5®Xlñ+™iaŽqWÉ3OÓgL¾Ï[`$ó�Qðö6ØÎD¿ŽšP5€‚š&ºèN�Sø¿(�9Ë fŸÀ-5üºáfÕäc§’–%éã4GæŸòîÀ¦�:´æ#·L¥<$ÚôC½¶óp:›é`!þw~' ‡u�†ª D*ÐÐé }›¼`Ãb…¯pÀ¨š«* ^ݺ¨/RF³~Ä�©–þçm™Ì’ƒ¼§¶ÕGç–ªPTÑDï‰ëp*ùóMÇ$y’�§/D€"@ˆ¨±x’ċ˥<�úígLš2Æó�`<ß�»uÿ¹úé¯ÂÀNÐ5Xƒ© b¡©fu�¥µ¹ðÌ“¡ñôÿ S¦N”©Ó ^�Äò>¨ß¸#ôM]á{øöoÚE“±êÐãª)ªáòTðâÆk*B½×L¸þ€ðÐìrµÀ·Èf½Pøî#5¡6Øq‰§q".þÛm1º}c|«= iÒŠš‹¿×ëAY¥ Ý㨿 ~ÓQCóáx˜_ecweî’§28è€"@ˆ 5’O’xq¹’§ƒTa³¶FŽýS¦O�Áì˜8iwëÖûg̳´ÇÊ ^Xåâ ëáX %OÓ¦OÁÊUf°´¶�¡Ãß!zy/Ôkü36œÍ/Ÿÿ á3гuˆÔ Õ[.1�ÄϱZùO±éHtm§ 5ņh¨ØZ}&Ã3ñbùäIuêÔoÿ§€é½ ’d3 }:¶‚ªB#ˆÔ¾ÇÌ=E£]�Sz¤Iú˜µ+çí¦ w»PVjíþ3°ã\ЏM:w1 Gž2Ž™BC¡5Ì2‹k–ÝÉ“ú„½È*õKêá9PVè‚ WÅ*ù%ëæj«¡Ûò8äESÂCC±=Öœ}WR® ¿‘¦NŸ‚ñŒãn=~î�cg¢çóÐò4L™ß ÍÊŽ<-[¶/_¾Ä›7o*(Ln¥Œv†ÁàÿIž…«PTëc÷‹ ‚ë¬ÞPVé dzéâsäÝ„E/uh�s@ht,¢ŽìÀü­ðMë™8ö¦(yúÅ4W®]õk7ð˜Å…zÍÐzôjÅ$ >2‰˜.ÈpNiY’>F&bVü¥†aÝÁxü�‚ÕcÛ£~뙈}ý¡s—Â&£<åÞÛŠ>ªŠèfì�GYåŒ IËSA6RœÂúñí!j?§Þ–yʹ¹]•Ô±0¬dJ_ᛌiªŒ‘÷ªnêc©K%y*ƒ¾"@ˆ D †àI/.—ò4wþOè7¨ ºôìýÁmÂ.ÖÂ<“60³ê‡�½a½® æv•LÛ› ÿ;ô'þ�9†³*ìòœ;›ÑKIã¶=äNÏ+H Äo-T ëx¥d¤)÷6l~iÍIû�Æ\¡Hžz¬:)^¼�éÏßëÐA鬌˔ÈÓ{Ï<•S�5Z¦sJË’ÔqAÊ!ŒVoŠ©{ŸJ®-ïávôSUÇÂзå¶ù=`2Ê“½«.@Wu”ZöÀDSÄÞ}#9oñ´½ºuë¡~ýúÂsOl®®J'˜…>~O†2V¡•b¬;_jœ*ç µÕÐË"QÂø½ö~B€äéàQU"@ˆ D€TÂñ}N0ÐÕ�’H#×ä*–§&z¸ÀFÞ®^ÂéX8ÍêUe¬ˆ|Y"Z2VBS±#ÉS™Î "@ˆ D€�O%À“$^\þäiµXžl‚ÃÆž°wí'·ÞpÜØ +m;ÂÁµ'\6ÿ‚¥«Úa­s8{ôÁ «ŽXd¦-ˆÓì?`šA‰“§’Õö/^ˆ[·nâÎ�ÛS,LƒÿœÎ¨×lvÜ*=²TRµ 5c›³i{WËLÛ³íÛ-'úr§í•‘§œóXÔ© zY½“©8=Gžd:g‘ �†ñmÛ9H`Ïh².ì{S¨�݆”RáâŸÙ>ë‚=:ˆTÄ#oÒÏ<Ì8޹íTÑfNPÙ6-ÑÝ,A²`DêÑ%´`D17Ú"@ˆ D€|ž$ñâr)Oö®Ý±eg_¬Yßö.ÝàæÝ«ì:`¥Mxï‹Õa¸èøì«µ�aa×v?Ãܶ7VÙôƼEƒ%ÓöÌV,¯ȼÇG0±�*¶è õÛp(4Gƒÿ–Ջaî{x‡x¶`Dã.˜çˆ¸cÁp�-^0ÂáLÑ‚åˆHy*LÅN}-ˆ´ÇÃ#(ÑA»q0ñŦÎÉpÎüÿà8¨÷]ŽˆÛ¯P(}Œ·8ºìgˆ”u0yõ.„ÇÆ!:Äî{Nà-ç9­òÀe\tF75Zõ7‚›o ‚ü¼a:ª)´ÃÊhñÊ}égÜ1ÃÐ^û� 2&a·ÀxÀ÷ø¦‰.v'åJFžÔY"æø ÄÇFàðž ˜;H ÛÃâXªÔ©ÙRåà¬Ú ¼‚ä� �š ùpwüGK•K±¢C"@ˆ D€Y ð$‰—KyÚáÛG‡ÂÙ£6yõ„è¸líË59[w÷Æœ…? $z$¼ÿìƒõcÞ¢®˜6SSgê`òÔŸ?ZžèÜç§á¾dºk©C©Q(¨¨£]¯‘X¶çŠxD$ï)Âì§£Çl©rU´é=¢K-U^‘<xwç f÷Ó†ª¨”ÔÛc²çe”SOÒñ�…xi‹�mÕÑÃ,¹ï³ {Œàu3Ð[[Š @©Yô3öÅS& :·¤ìKžžÜ ƒ!?¢¹Š�”šB§ï$8M*-*Ä«‹{±p\?hk¨¢áwõ¡ÐX]� ÏãOÅ‹A¾Â~ÃBýoëÖÅw ÑDSýÆÎÇÖ¸‡å/‘÷A6Щ… ”5ÐK-N>Ï+Ó²ª< #ª’&å"D€"@ˆ€|àI/.—òt4~þ¾9ž;{aǾ_pîÆoØ4vN�qáÖïˆ9­ölÓùãqììxxÅxýÖè?PMØôFtú$y’Ï®¥V}I$O_’6�‹"@ˆ _‡O’xq9“'5X¯î‡s×ÿÀÔ©ØõW_ì €ÿR¦ :Qö®]ðïÿ¦àö}Ì]ÐIÉ“p÷©>¼w�À¸ ­±pѯps_Ž+ç’<}�û¯Æœ•䩯t%] D€"@¸x’ċ˕<õØ–v}qõÞ ¼|g„¿Ž E@ø¯xùn:N_ WÏŸñ{„G�ÿÅ¿ÿÞý{ÿàöí¸qã ®_¿Œ›7¯âö�›¸ÿ?yˆ””ddd 22VÖðܺ¶«mª0%«HžjG?ÓU"@ˆ µ›O’xq¹’§ªê:6u/88î›ÝpíúÕªJKyj’§ZÔÙt©D€"@ˆ@­%À“$^¼FÊS­í}ºð*#@òTe() D€"@ä–O’xq’'¹íJjØ×$@òô5éÓ¹‰ D€"ðeð$‰¯òÄžcúçö-„‡‡Âgçv8»8B_ÿaÏŽYœýÎÊчT’§ª H9ˆ D€" ßx’ċ˵<½{—‰7® Ï/ùûDxxÆ¢Eóàâ`$ìÙ1‹³ßÙsN¬<«G"ð)Hž>…Õ%D€"@ˆ@õ À“$^\nå)9ù9bb£áçwGqòÔI„„ÃÔt\�Œqïòza¿j• BCC…ßY9VžÕcõéC>–ÉÓÇ’£zD€"@ˆ¨>x’ċ˥<1ñ‰OˆC``€°ìøÙ³gqñâEÄD…`³ëÜúÛiO¶{v¼ÍË ñññ`åØ2嬫OU}n\yk)É“¼õµ‡"@ˆ UO€'I¼¸ÜÉ›rÇFŽ!&&gΜÁùóç…Þ.ˆ ¶ĉÉÛ"ƒ,`i¾‡ʱò¬žP?6š¦ðUý=V+2’<ÕŠn¦‹$D€"@j9ž$ñâr'O왥ý|ö,“!¶ùúúb–Á$ØÛÍÂ.¯Å‚8íö^Œuv³ ?a LLL°nÝ:ìß¿_¨Çê³<,_­ýä?C„»%\á ÖBø¸ 'yú8nT‹"@ˆ Õ‰O’xq¹’'¶Z^PP ‚ŽA\\œ Aì�X¶±‘% ,]ºcFë ò4vÌpØYÍ„‹Ãa›5sV¯^-”gõY–¯Ö®Â—s :4Á`Ç«ÈgwqÎy˜vo…îË"‘õ¹îêÂtÜ;†Øë¯Pø¹Îñò’<}Èt "@ˆ D€|e�9ZjøuÃÍÏ>ÚõæÊŒj£†±^ÿU¹¨‘\b‰§VÔ ­|\ß8mzO�[èèkª’¦úe"fÅ/PúaÖŒÇ߉!X=¶=ê·ž‰Ø×@a‚vG£Æ]1ÏÍÑÑ!𱛄vÊ |ydªZ�^� ˜ÄG!ñANÅçBNØ †’ZgÌvþ Ñq±>à‡3ÏòŠäI ¿˜áʵk¸ví¿a×›…«PTëc÷‹ ‚ë¬ÞPVé dzéâþá¶Gªû Ä‚—ƒ©š4mOŠ"@ˆ D€ÈH€'I¼¸\É““³=8€ÀÀ@Éæèèó•Æ\ƒ¤ëÞp¶_¶PDF²/F�†õöó‘tÍ f&Óq*]—}gù6¹»Ê†OFyb"põÏèª.‚R˘hê�Ø»oJF€Šä©nÝz¨_¿¾ð܉©«Ò f¡�ߨÌÈS!ò²^ãßK¡°ÐÓ·ßODØ‹|¤Âhõ¦˜º÷©äRž*<×i[´UÒ†Mb9Ó9ò”y¦¼:¹ˆ5í‰�–árN!ÉSIÏÑ7"@ˆ D€�/@€'I¼¸\É{æi×®]Â;�öíÛ‡âÍÜÜæ+fã޵ݰ³™�Q£ô�ñ"Oîù"üˆ#Ö­1ƒ³³vîÜ)©Ãê²wC‰óÉøÌSþØl�ÉÊ<«ä"zYwÔï°„Õö¤{2çœF@Y¡3œ.fIäIú™'ä^Âò.MÐjúAñÂÅiŠäIMw5/^ÆÅ;ñG[´Ꭴ\ñ´ÀÌÓÖh«  £½—pëÖ­RÛmZž*:—µø\>>’òÅõ˜L±|2¯¶‡,vÄ·mç AxN§¨³.ì{S¨�݆©Ç•Š»8ë‚=:ˆT0çð[¾b�ºãþ ?¼{…#†ÁÙÙ¹LÙâ:l/γ]ö÷<ȸèŒnj"´êo7ß@ùyÃtT4Rh‡•Ñâ•íÒϸc†¡5¼öAdL Ân�ñ€ïñM]ìNÊ•È“Ú KÄ?�øØÞ³si¡�b{XK-{C¼'Oìç,œ°…Æ}±å{¥í[]ö3DÊ:˜¼zÂcãâ ÷='ðVœÊB‚õ@(*µÅD»Ý8z,±ÁÎÐk©\Á‚¥Vß“´ª¢s¥#Ò´D*1Ã~/Ž‹Cdà„\N S±S_ "íñðŠAtÐnL|�B¼C<[0¢qÌóDܱ`¸Î/áp¦èÝWôÌ“¤è  D€"@ˆÀç'À“$^\®ä)##‡àå½^^[áíí-Ù6nÜSS,]l€ML‘õ:C‡ †ƒƒƒ¤Léò¬>ËÃò±¼² ðôäV ùÍUDh¤Ô:}'ÁùhRшN!^]Ü‹…ãúA[C ¿«…Æšèúëlx*^¬¡ðööê[·.¾k¨ˆ&š:è7v>¶Æ=,3"#´«\y ÓÏ`áOM 1vžå¹�¼nzk«C±A(5kƒ~ƾxÊ~cŸüˆÙh„þ:- Ø >D*êÐî6G‰Ÿ±’–écqñ¿�+÷1Bì§£—VS(4hµ–?ÂØ7I¸þwwbv?m¨Š@I½=&{^/Gž÷aöÓÑã¶T¹*Úôž€ Ñ¥–*ÿP{J·­ø;-QL‚öD€"@ˆ A€'I¼¸\É»Þ7®a‡Ï6¸¹oÂæÍ›±eËɶvíŒ=ºº‘�–ˆ_‡ÆŒ™3á´~½¤ +Ïê±ú,ËG"PY'Ožï? /^ÙsPy"@ˆ D€�¯K€÷w/.wò”™™‰èè(xnÝ 6Úäææ&lk×®ÅLŒÿý7¬±[†œ· û!¿êÂ`ölØ;8Hʲz¬>ËÃòчT–ÉSe‰Qy"@ˆ D€T?aèСžß»O­´´7ÈÌÌ@NNòòòHœÊÜtP$O•¡Ee‰ D€"P= ð$‰—Kyªžè©Õ5‰ÉSMêMº"@ˆ D€”O€'I¼8ÉSù)ZË �<Õò€.Ÿ"@ˆ¨x’Ä‹W yÊÈÈÀ?·o!<<>;·ÃÙÅúú{vÌâìwVŽ>D *�ŒE‹æÁÅÁHسcg¿³r¬<«G"ð)Hž>…Õ%D€"@ˆ@õ À“$^\nå)9ù9bb£áçwGqòÔI„„ÃÔt\�Œqïòza¿j• BCC…ßY9VžÕcõéC>–ÉÓÇ’£zD€"@ˆ¨>x’ċ˥<1ñ‰OˆC``"##pöìY\¼x1Q!Øìº·þvDÚ“-žoórC||¼PŽ•gõX}¨êsãÊ[KIžä­G¨=D€"@ˆ¨z»‹sÎô{+t_‰¬ÏuW¦ãÞ©0Ä^…ÂÏuŽ/�—äé @¦S"@ˆ Dà+àI/.WòÄ–ß¿ßáááÂ3Lì9&¶±!öîÝ‹={öÀÃÃcÆ GÚOa%Ñ^øÎŽ]çÂÖÖVR—åaùîÞ½#[·äÝ�MuhÍ Fn™yH´é‡zmçát6S‚BüïüNë UˆT ¡Óú6!xÁ,¥ðõ@sUÔ«[õEÊhöÃ�2ÕÁÿ¼-“Y8(LÅŸ3:B©Á7¨[·.(¨ ù~_ºç’˶äýʈHËSÞ?ب?ú®ç¤®ï9*ûSö ÌÑRïn~¦Ñ®lÜ uÆäþíÑTYÊÍÛAw¶.¾ô°²­å–'y⢡ˆ D€"Pcð$‰—+ybïkò?臣GÃ#lAAAØ´ÉËM ±Üd6æÏ›…1£‡#í©·°¿’è„´'ÞH{º ®ŽF°¶¶–ÔeyX¾¨èHÙ:XFy*xqã5¡Þk&\ÿ @xhv¹Z`‰Û d³3¾€ûHM¨ ¶F\âiœˆ‹€ÿv[ŒnßßjÏEBšÔ$º¢òªV!êä)qyo ÕR�b7SœOÿÈ1iy’�§•úÌòT˜‡Ù?uÂ83wø‡„`¿³:¨4D{ãPTåõ$OŸvPm"@ˆ D€T\b‰§VÔžZÈÍ)=—‰ÓÚ¡awKÜÌûHÉ,•»ø+ÉS1 Ú"@ˆ D æàI/.Wò´Ñmd/» FHHˆ°YZZÀÖr6þ¹è†ä¤mö·FœÒŸïÆèQzÐÓгñëa¶l*† +++I]–‡åóÜê![�Ë(O¹÷¶¢�ª"ºûãQV9°KËSA6RœÂúñí!j?§Þ–?ò$-OYçÖ �H ÆGØT¿LĬøJ? úƒñø;1«Ç¶GýÖ3ûº(LCðÂîhÔ¸+æ¹ù#::>v“ÐNY�/O‚L5CëÑ«“€øÈ $>È©ø\È »ÁPRëŒÙÎ!:.ÁüpæY^‘<©áÓ \¹v ×®ÝÀã7ìz³�`5Šj]`ì€c±Ap�ÕÊ*]áx6]Ü?Üö| ûòŸÀuX+hü± ¯¤°~ V…?‘.¢Tѹ _Á8 è:^�`•¦Ë™¶W�"q‚Ì IDATˆßZˆëHžNʽ ›_šCsÒ>¤1å´§tú²ßspmûd´hÚ›¯pFËV�ùˆäIfTT�"@ˆ Õ–O’xq¹’'6òĆðóóFŒØ¨“++KØXâò™­˜>m*F�ÔCz²¼<–!éú„¬ƒÑÜ)°³³“ÔcuY–¯ªGžŠïŽ‚ÌG8¾Ï º:Pi`äšc`ƒ@ÅÏ<5ÑsÀ6úrõNÇúÃiV¨*ë`EäK‰ ¹ŠäI2Õ�My«Û­úâÏ‹©BÙÌÓ6hÛ°ˆDPPP(Ú¡Þ7"ü¾ã12­¡¥¤ ÛÓ|¤ŸyÊû�- 1ù@™g•€\D/ëŽú–à‚°Úžô½�‰sN# ¬ÐN³$ò$ýÌr/ay—&h5ý xa‰â4Eò¤¦»‰/ãâ‰�ø£­ ZŽpGR®xZ`æik´UЄÑÞK¸uëV©í6ž¼Î-EmØœ*%4-O�ËZ|.ž<µ}µ=IûÊÔùXyÊÁõSвñ�0 þ¯ä™©bžU°'yªˆ”‚"@ˆ rN€'I¼¸\É[mÏÇg‡ AlYòâÍÞÞVKᆋ§·Ãuý2d¦„Â|¥!<7o€§çføøøHÊ×c2ÅòɼÚ²hØß¶�ƒá9�¢Þκ ³îM¡>vR8ÏÕd]°G‘ æ~Ë—§Œã˜ÛNmæ•]*¼Ì´=vÎB¤·F'eU uú[(˦å�hªˆ¾¶å/3^�€±Í•Ñõù’Ü)OžëåAŒl¦\þ´½œóÿßÞ™GGu¥×Þ%/+î¶Ýé)¯“îäe¥ãç +yÉÊJòVw^lÐ,,3˜fp3Ù€qclÚÁƒìn°±™lÀ4M ¡ �h@HHhDóŒæ’ªJnö[§©Tª+ݺU’®J[k…n�sëÜß·ïù¾}'aó?|ÿ¶3sÌ%}Öñ‰ËölsJl¦ù>vÿäÏð£ŸéܺlïaÚ.üý÷žÁë±Þ?ãdß¿ižì$øN$@$@$@¾K@Ê$I-W•yçéäÉ8vü˜Å C$^G�ÅûkwÞÞ„”‹QU…Á®ËÀ¾}ûÆ´µ÷ïÖõœ�ÿwž ìÿ|÷ üånÀçºÄEöпÃ7ŸüßxëŠõÉvýY±jý.|‹ä«W‘tæ6þ¿ÿ…?üþ<ü®Ú½¯<ûc<þÔßâíkÇ*pœyáÆîgñä÷~‚#%âOÚöáâÖÿÀò –¿w R®ãJ‚Oß@ŸåäÔÒvýžúÖßàg{~‡‹×R‘¿�?ú“Iáðô½‘QMö]ýHÞöñÄ·ÿ«öjqñÚu$ÇœFÂí^àÑCüvé�ñÄÓ‹p(î*®Äýg2ÚðƒHŒøÞÿÁ«‡bpýZ<>]g}`ÄGY¶¿}%çž§¯ðià_â‡!ãfA! m¯Û÷ÐbpñðŽ‘mrï?4Oîñbk   ˜�¤L’ÔrU™§��œ?_û_~ùŽ;6ò:pà¶m{o¼¾Ÿí߆¡îëðx}ôÑHÇö¢¿X�XŸX¯üŸß£éæX3ÿñgß~ßü֟♟,þ‹Õ¶3:�ÐU Å/þOÿð;øÆý1žüÞ_àŸýÖáhz“õÞ›G]_ÿ¯–þÿãþô�§ðý¿x? Û„/®×�9#c—Kó<êÏÂ/þéûøaØq4ý07 þÃUø÷§€§ßúŸ�ŸnÔ¡I|&~¾nÃÕðŸÏü9žzü�ñÄ·€§ÿe>ÞŽ­·ÞcålNœ·®Åúïdßen@ÂÞŸãß~ü§xòñoâ»?úGlÔU[¶°ü Öýôi|ç‰Çñ­ü-–½m½´n¸ I{Žý+ñ¨òïà¯ÿýEì¿âð¨ò‰ÆcÛÐ,ÿÑ“£�B·?ý›‡s…ÉôÎÍ“w8r-$@$@$@$ fR&Ij¹ªÌ“[Rr_�<ŽÏ~†Ã‡ãÈ‘##¯>x¡ B0oÞÁØ›?ÿç°jõjüú7¿i#Ú‹~¢¿X�XHÀ]4Oîc{   ˜}¤L’ÔrÕ™'ƒÁ€+W.ãè‡!Î6}þùç–×|€ÕkÖ`Ñâðþž­0õåYÞçûÍÚuë°÷£�FÚŠ~¢¿X�XHÀ]4Oîc{   ˜}¤L’ÔrÕ™§G�¡±±qq18|äö²Ÿ|ò Þ|óM<;ïY¼½ãuÔ”§ÀÔ*R,¿‡„cûöí–v¢½è‹Æ¦Fˆõñ‡Ü%@óä.1¶'   �ÙG@Ê$I-W�yúýï£q•UHHˆÃ‘£‡ñɧVó´vÍJT”^ƒy  æ�R˜ ¥¨¸—‚µkVXÌ•h'Ú'&Æ£ºº F“b}ü!w Ð<¹KŒíI€H€H€H`ö�2IRËUižÄ`»»ºð ¶7n¦C§=�]»vbÃúµ¸•‹�îR U[Þo¥Å`ýú5xg×Nhµ§-íëêkÑÛÛk1a_ýõì‹"G<ãhžf< � � � L9)“$µ\uæI\fg6›Ñßß�ÎÎN´´4[ÎB]½z{ö¼‹M›ÖãvA z:ïãv~ ^}õìÞ³ —/'[IÞÒÚ‚îîn˽Nb=<ó4åšóÉ/ yòɰr£H€H€H€H` )“$µ\uæIl�0<Âø ¢ ßrIœ‰ª®©†^¯Ç† àïïoy¿WVUZŒVoo †˜L& Ó8�‘q‡Í“;´Ø–H€H€H€f')“$µ\•æiv¢ç¨}‰Í“/E“ÛB$@$@$@® H™$©å4O®9ré'@ó4ÇÀÍ'  ˜¤L’Ôrš§9! n¤»hžÜ%Æö$@$@$@$0ûH™$©å4O³/Æñ4 yšÈü    ˜aR&Ij9ÍÓ Œ_¯N4OêŒ GE$@$@$@Þ$ e’¤–Ó×å3hž|&”Ü   �$ e’¤–«Â<‰B•/2P›¤v©å’{%?    P%©ºNjùŒ›'©�qùÈ€ ¨j€ ¨j€ ¨õh€æiH=ÁàŽÁXPÔ5@ PÔ5@ PêÕÍÍÏpQÔ5@ PÔ5@ PÔ€ Ð<É€D÷¯^÷ÏØ06Ô5@ PÔ5@ PÓ¥š'š'e ¨j€ ¨j€ ¨ y’iºœ,¿‡GM¨j€ ¨j€ ¨õj@æ©§§%%%ÈÈÈÀ­[·ø"ƒÑ@VV–E‡B�œ´Ô;i16Œ 50w5ÀzÁ³ÉyŽ1` f{­îé~0ãæIì„ÙÙÙ¨¯¯‡ÑhÄðð0_d0#@cc#rrr@5w‹3æŒ=5 N °^ð¼>ò4ÏÙcPWWg9Èh6›Á—{ úûûÑÐР¸Ö` ÜãíJŸžÆ`ÆÍ“8ã$vBš&Ï'E2ôC¡Çââbž}â%­Ô5@ ¨H¬¼“ãD­ 4ωÔÖÖÒ0yÁ4 ŽJj ÆÀsód7TJc0ãæI\ª'Ž„°ð÷Þ¤H–ž±4 §tyôY�GŸÆ…˜›`½àYns¬ ”æ9qÔÞ^|ò]y!/j_%µc œ¹³^•Æ`ÆÍ“¸nÒq‡æÿ½79’¥r–B—,Ðæf�Ƹ3îÔ€:5ÀzAyNsU(És¢�sÊß•óŒ�rvÞÒ�’Ð<ñþ"šWP²3±àRgÁŸ0.Ô€oh@ÌË®L—)3UJòœèã­¢•ë1[ŽåîüÄx×p)Ùhž\Μˆ•MľÄMÉÎäîÈö¾QÐ1ŽŒ#50=ó²/å™™Þ%yNô¡éñ^ñÎx�¥R]*‰ÍÍ“‘ (Ù™X@MOEÎäL ÌM ˆyy¦ ‡/}¿’<'ú(-RÙo¼Q` Æ3™n�(‰Í“‹ÂÙ—&Gn‹²³hJv&ts³ cÜwj`z4 æeæ4e9Í7%yNô™îâÖ—¿�1 yzL81w“'CïM„®&G.SÆWÉ„æ®öÙ~z .r&gjÀ74ÀzAY>“ª”ä9ÑÇ—ÍÌtoc@ó4·Í“© YgO êVÌRg³ä´‘ê;ËÕ6ž©ØF…ëT2¡±@ó��qd©uj@ÌËRF€ËÝ7VJòœè3ÝcF¿ÏÔ�ÊÜTd–µÃä…¿íä¼-s>SÌ×™·«ß•Ä€—í),®ÇMÔƒÅøte^×–Ã$µN9m¤úNÅrµ�g*¶Qá:•ìL,¸ÔYp1.Œ 5àóò¸Ü«pŽçz†ù¤79fÈØ†¬âóšižäðr·Íóue–œ—)©÷hž$&^S[ ~æ‡ç·F¡Ùdž|–cD&jcîÀÙí °`g"ú�ÆÔ�²�[p¡Ù8ù8œúN˜ &�;ëñÁ¶Jv&h¾Q 1ŽŒ#5 N xlžÌ]¸øá úÍüyóà‚Å+_Å;‡¢QÜ>äÝü: ò¢’<'ú8Ÿ^ù}°ùé¸�Vmxb/¦âNm÷”˜Ùcžââ^U1p2>¦ÞJ\ŽÐ üRzŒStyÝó•g%1 yr9Á™PªÝ‚àE‹°'o÷M>©Ê1"µ¡yšœ±ËX¹©Â„†ÒöJv&\ê,¸Æ…ð ˆyYÎü-ÙÆ–gƒ7‰ìÛwP˜—‰”¸ãغ,Á/AI¿Œ¥Ó˜‡$·ÃKcP’çD9©;mLMÈJˆ€&<×sºÕ÷P�y¹U=^ÿ>wÆfžââ^-1ÏĄ֠ÐEF!R{ùMƒS‡)æ;~»Æ›@%1 yr5 õåããåaØ[€Èm/àÅ=Éè69鵸ttV- †PVoykž{Ùžœ6öï—mžL¨ˆ{/- �¿Ÿ?B­ÁÎéh5Ú&}S;ÒOîÁ««– $Àþ!K±7©ÁzÖ„ã1 ý“•\÷%*‡lë2äâÃ%Áx+ºÞv—ÍI»¸àm¤w )Ç`RO½��+"(hVlÞ‹øâ‡Ò÷ŠÙMã»’�‰šohŒ#ãH ¨Sb^öÈPHäÙî̃X쿇²ú­ëŸ(G™Z‘|ðWxyåb„úÁ/ðy¬Úvçc¾Â®×^BXP B¯Å{ºÜ±uƒ± ·´býÏ Ë7îFDN3Løö›å|å8ªíy|ØŒúØÛ�Œn†'�yQIž}ä¤òÛ ¢.+}ŠZ$ÖmBû½Tœ�ÒC£Ñ@‹”¼jôšl…°©™—w> z�]8Î%¦¢¤©ot}¦>ÔÞIGâ¹hµ:DF_Àm»!0v£:?‰ç#¡Ó…#úBJ[ú­}§¸¸WG Æ ³¡ég#�RÒˆ¢äœI-Ç€ã™)S/*³¯ ^0g u‘ˆ¹t÷šzGÏÊi3†ï ªÒÏ@Ÿ‹Î‘3]&´$A{ö&š‡L£ñt‹‡ÿWš§q�-—?Dز��ßcBÇ�O°0ôu$Ö;œÒ7÷àÆgká¿`>=s Ù97‘xjVù�š'9m¿Û>©¿‡Î †ÑW{òû—í™ñ°<iÙ·QRr×ô»±4 ¿Ni·šcޝÆÒ·N!=§ùYé(j°Œñ´_Ý‹àà­¸Ôj½<Ðp_‹Uþó±äà XÆj@ÚþÝ…6“Âq ÷#ç‹ zñ—8�’�{E7pjÇ ø/Ý‹\‘$™Ìàÿ•ìL,¸ÔYp1.Œ 5àó²G9žg�.�7ŸÂ ÿPìOëÅðd9Ê’cC°ì=2ò �s=;–`þóëqàìUdåf"áðõ_†ã636<€‚›²ûϦ"//o@pÐ:hïö¢#å#„mFb£ýÒü\ؽa;âðÐ4u9SIž}ä#E¹s¡k¨ÅõH ÎݨÁ óg¿´×¡º® --�¨ºsg´¸QÕk‹©¹ñ:œ½Zˆõõ¨«)CÆ…(hΦ£a@ÜChÌO„N‹ô;•¨k¨ÇƒŠJ4÷a6¢>;º³—PXÕ€–¦(¸zÚ³é¨}Ç÷2¶ÇaÌr8©".ÆÜS‘†ˆ³7Ðh0¡¿æ¢ôPÖ%xÙ ë(óšºzÔU—!ûò9hôñ(jµ�¥rˆ‹d'¾½iÐë. ¬Ûþ]}(¾ލëåêcd\öñ¹ñ®$4Oκ©Ú-aX¬Câ3C1>[‚M¿-†ÑÖÖÔqÛá—‘Õ£gKœ.É“ÓfL°MêÏ=÷\¾¤îy2ÖàÄÆP¬=šo¯ebÅËÇ GÆ+¾GÎxL-IØò<~“úÃÃfÔF¿…�Ï#ô¥ÏPb0cx¨‡×„`³æþø‡bÈÇÃkxëùxïbË;cS^ znŠÄåt†o†~W²3±@ó��qd©uj@ÌËåˆ1æÉ £¡�e7q|ÛRø-Ù�›íF˜&ËQãr¬ [á¿ðä‰<)rÖ€¸j#h$WšºÒ°#,[´¹s¨'_ Á¢ÝÉèn5E0vÅ7[ób_&ö, ÁŽ˜z'�9RIž}<)T�û;‹‘ Õâji·üõš:‘— GlvŒ¢H¶ézÄå4Žœõj)Äyíä4 ÂÜ_�«Z\¸Ý6òùÈ8ú+q9<©å£—»K‘¨�@ÆÃÜ4O¦.ܾaáiá;Ô‚Œóz$ä·ŒòsÁÜ<ØŠ¬XΤV —qmœÌ“©·Éz=RÊlzæ:J�wôá†q:P²Ð<9M<†û:¬Y�³Uƒ¶IÚ„RÍë\yÅÖ‰±ÿÎWX°'‹F'r'ó$§Í˜$`›Ôƒ·œ@^QŠ^Y§·ÃÄ< ¢&íÞym5–„-@Ø’eX⇗>ËœÐ<É�0ޝ/ÀK21hêB®¥øïS:láeD”bèÁ9¬Y m©Ãà ÇQtËüæÁÏ?ö—?æÏóÇÎøQC5†�SŒ¦ã3%; .u\Œ ãB ø†ļìÑüïê å¶ÝÇ<éxÜeàÐ^Iž}\ Ê—P™~šˆ‹(ípýD·þŠThµÉ¨è·=0ÀÔ�;Ãe›'S_%.ë]_¶'ÎP%ëµ–KÒ,—¨98{qŸÛ4zÉšs~WG  ‰¡igt¸˜W‹ÖÖV‡W=²uˆº~ßúàWæÉôù :D^»/}ÙžsW|-«Ð#ùv ò“‘TØ:%ìíšUš'‡‰¤#mžÞŒxLJCX>7[ „è6\¶Ô7 ¾¦Å÷m@Üÿ£GxR6ê:¥žè`>Ü4Rj‰�=–ýÕ7¡KBé¸ËäLè(J†FŸŒŠ^“í’<ÂcRPXV…ººjÝH€N{¹ Žg§&k㊯Íù‰ÐF�A”.ÎáòAåœíÛçê]I hžì�ù!v-Fèá.ÿ(®±.¯áWçj­7tš:�µ›_Zˆ@¿ùðÊWÞÄñ´¦‘! Ëi3òýrÿHnŠã>Åk+_@Àüùð Å¢åk±+²Äú€ûH²‘53êâw"0` ôe¶û¾L�Ðn Eðk§Q?ò(UÆ1Ô‚ôÓ{±qEýü¶ ¿Ø mÎ�ƒ·³™�w%; .u\Œ ãB ø†ļ<’Ï”ä—æiæ¾"X„E;b­yh¢å"ÇNvÙžeÌÆVÜÒ|€õKÅ£ÊC°l㻈Ènóð¥Áʬ ðÇ«'ïŽyàÓðDãQÂÁÖGIž}\ ž.3ö5¡83ñ–G‰k ÕG :á ²ËÛ`4¢¥4IÑÐjÄc±õˆ:‹kwm0puÄá²=ËØŒ=¨)LC‚X¿íqç7+º¬g4lŸ%ÚÖ¯‹8‡¤[åèµ]*ÖS›� Ñâ ¶T¸i�&b£¦˜ÍÖû�ôï¸ü£¸Æ‡÷� ÕáJI'LFëÓö¢â."é¼xü»Q±—‘WÕi½M0²ÄE‡ Û˜ÍpÅרs—Â5�ËDLÝýLI hž<˜x<šÄù½ž%Á)æ§dgb�æãÈ8RêÔ€˜—™w½w…†’<'ú¸[œ²½ô“YW†ÕÙTÊiãÜÇþû`32ÎG"µÜ�§0Úûºù®$4OS\„s¢÷ÞD?�,•ìL,¸ÔYp1.Œ 5àóòtæ_ÿ.%yNô¡’6Cî²™µ1�cŒä´ctÑÕÖ‚¶Ö”܈GdBÚíO÷ÓÎ{üE¼”Ä€æ‰æ‰ÉÈ…”ìL,Ð|£@cGj@�󲯚éÜ>%yNôq× °½t±?kc ÇÉiãhŠŒíÈK‡FŽ˜äL<wß•4GO4¦$4O. ç霼ø]ê<3¥dgbÁ¥Î‚‹qa\¨ßЀ˜—™3½—3•ä9ÑÇ“B•}ÇÆ`,�™Ð‡’Ð<Ñ<1¹Ð€’�‰šohŒ#ãH ¨Sb^¦y¢yš‰{ª¾SI­!úLÕxæâz•Ä€æÉEáÌÉÙ{“óle©dgbÁ¥Î‚‹qa\¨ßЀ˜—gkNQ㸕ä9Ñg.ØSµÍŒÏ<=&œ˜»IŠ“!�Н$wµÏö¾QÐ1ŽŒ#50=`½àÝz�…ûì,ÜEܦÊÌÍÅõ*Ùxæ‰gžx$Ï…”ìL, ¦§€"gr¦æ¦אָƒm³uLJòœè3 ì©ÚfÆ`vØ7OY ¥T‹‹IDATYY0Ä_õöî®�<•j@è1##,Ðæf�Ƹ3îÔ€:5ÀzÁ{y]iž1 �r|JœÂÿ ŽJj ÆÀ{†Ki fÜ<£®®Žæ‰æQ5¨©©AQQÍÓ�: (¶Œ 5075ÀzÁ{æIiž+))Amm-Í“BÃäxKÄàîÝ»n׌�÷Ì“Ò̸yjkkC^^žÅ@ ¨ôlûyoR�«,Å‘¸úúzˆ£:B—,Ðæf�Ƹ3îÔ€:5ÀzÁó<ïižëîîFnn®Å@õ÷÷ÓD)0Q¢Ö' D­ÑÓÓãv­Áxnž<�ÁŒ›'±#·´´@QB×òE3¡¡?¡Ãææf º=¡±àRgÁŸ0.Ô€oh€õ‚çµ�7òœ(øÅÙÖlÊâ!¸ ~JŒ“}.c ”±·×–žÆ`ÆÍ“‚(T…“îèè@{{;_d0#ú:¤qò�BËždøÎxR¾£Ö žÕHÌs¾³/p^›¹XªÂ¸ïf9{瓳;¦Æêµ†¸YK½TÝ+®Ûz>ŒÊ¥ýcűŸ²giZoŽO_°ûI§Ýq5:gø†ÅgÚ˜�‡‡ f͈1дÖŸY°ûvCOÆÃøËÖ¿y•w~„cYnøÉÚh ¡Iú£z�³5�ßœŸ•>3Ö¬§i}\zÞî’W®1[Û*Nm[˜§üIËÊÛt®ÚsbÏôÔo_š­§õq³Óâ)Yý�ã`kº¸¥ ;=1ŠÇhNY¸ñÄéƒ+s“ŒZ­)1sý‰ÇÝŽen™‘ªÛýüXn¼yæÒcuøÂ.p¶G…³(‚œ¹½œ_¡S"Ç_<î¦.ðcœe i�9)ëç×klmM²_ñqT{òHÇ×ÖñèôÖÜäh�Ö�0{Ùž«ÎN9N)Rº´B·›°QêË—/;¯h"==½¡¡ÁWPëêêÒÒÒ\ÆÃ@¬”ZÔ’ÔšââcŒÆÇ?<æ…Ýcë¼gž–$’6š�4¿aÈ;þŠ×8ÏÑõ\¦ýær³† 騔¹Ù)1ÉÛª†Y‡¬�ºØ¤´ôôôÌ�u0¶G…s̱‰É)I1 ¿�1g½Õ)Áˆ':…ù8v¬³™¨ÔNtæøøh=I„&qÏ“>ôLOÙ/sh’ éèÔÌì´8=Iæ•WqÑã8¦½dÕ ~ˆ”!.!VG‘üB‘¸NÍzç 3ÇÇšxTA�CL´�7@Eo»Û!ü ¦8R/C°WÌÖ¡Í>ߌýû¢¤Ôò@”¢#©ÔNSú¨ø‘-i.(ªãÿ=PøJ4×¹çßNfàÉ>þÜ£t1ÉÉ §¸q€ã˜WV)Ò¸¤¨�a"…ž„»JÝÜÜìZ›ÎÍÍíïï÷G´úûû]bm2™Þ¿ï�^|cÓ¹N­5Å%:>3óO¾ñPj¡7ôÚvôWì2Q$¿å…°²ÁöÞ)0hMÊ‘—C˜Jzú:Xó[†‘$HJ?cñ¦Ãe VR©ííeœ!Ì>©hç5Z=�{^É|Ÿ¨Ãè6g¯>4�—ãÕ7†X®ÿÁ/È(d•ºÿÁN#ER‰üôŸã°ujµ˜¶3ËLA//ja'|¸>Ärœš‘ÊÁ°¸Ç"/¯Îð@8ïÑQ0ÅÙ¿^Y¨# mÆÙ÷H¡_©…&Œ¿«ÿ!î9Î çM꯵ìB¤ä@EÔþPWj«Õêºï—žžîóÙ4ìîîn×2Hfffè>ºçuõÃ1§‡)¿G¼Z¦¢ÔgïzSºÍœXaíÄ�yêõÓs{9G1ó\“ãOøîû;¢)’ŠÎ-,¾þ÷Õóù9õÜ"�ë_XÀp?–÷uÝÆ'Îýå;x NØ"H°‚R ‚·ñ9/f¸R ªá�Óu~EAÐËÎ4¹MÞU�T~蹇n³=wò AÏ9]7Ìq òê>jÏè¨6Å17–è��b>c_Mêäñ<7D9&õs6ì?ô‡ósä܃v†uüÓ+)NÄn‡ºRŸ:uJü§W§ÓÕÕÕù;N z½^ìñìÙ³þînŠö§§Ôø°ÖÆK«øÉiôªr‹Ûꇻw¬­§£›—cv ñ�F‚ žxË =Z¥–nùåÆ6ÜpvMÆåÅ� ËYŸoN¤å”šs?ÖÆ«)*è6®Ô¶–óü²†&qÛÍæ�ÁŽ{»2(©ÕûÇ˹zŠ b×_áŸ"DŸ(PËAV©™F5#•‚õó£C[Ön?ùˆ…~¬•›øõÃÊËÕJ-ï¦fì>Àq¶÷WÖò‹`Q+Ë'Á$¾R MŽG|­.æðQ‹_wÑq#q¸ûK[?�X!R(›ˆÝi¥nmmu½ÞR\\,¤òòò)<Â0Lyy¹¤ÁsçΉJm4ÛÛÛ%Ûy§sõ{JÏ»åïNLæD/1¥v±} ³„‰®;ŠºGªøI§gcd¨ƒ/�$k ñ)ÙYéÑ4E�æ�7ÛX¦ýâOqÂíIsÂÌø¨9…ÏîIÐ�$iHÎY’¿,;^KÉ*µÇ±µÃø")æ>…d:®­OqûKZꎢãÆ#AÒæøñQü_Î;Šê8È*5×÷l¯÷‘ÊÁ±˜ãyG‘ãúïíH£ø» úØÄÄ(=Eºžý�µÆIG‡õfŠ )­9!1VGò7g3~}Ìß’{‘üjR'�G|ßwßÝ>[8÷H�)6Ö¬×PÑ» ë™Î[Ä‘BNÂˆÝ i¥.,,E3++KRŽ�=JÄÖ­[%¿• *˲¿üò AðlÃ0Œk½eÏž=ž ‚¿Ç¡Ô"×ÿµk®u²Ø•,x깇Ø«½âäæœ¤h-­�I]¸£è¹ã±3ÉÆÎ÷UågÎ4ë4¤F“’»éχ“!ß+ö¬˜£çhK^tàå@OÕ… Rcu’ÔèÌñ©9ù¿>øj—ügÀãXÕJÍqìà§²“»þ·|q^þêU I‚Œ^û·°ÈáôXüim-ÿsË‚ÔX=MÑzóŒôy?î½ë¸‰§†ƒ¼RsL¯÷‘bHÑlخʣóâL‰yGjÝXá˜Þ·çw,K‰5.ǧe-ÙYZÇÏ ¿®ŒGà ç»!³–/-Váþp&?–$4Ù«ƒðò�ï†PK˜èã=+|…7„ßF t•úüùó¢\fggKâpÓ\5b­ò–e]Óê .Hö;ƒL€é,.ˆÒ裓’âÍÂNcî…Æá {FÝ+ȱÂWa4ÀïËÕÐUjW"ÓÒÒR9æ*•W<|R�KJJÄ'rrräz‡ýÁ$`ÿXº}éì™±­FkŠËX¶åâ¿m®·ƒéX¸ô­ Ç _…Ëè¾;?CT©ÛÛÛIþ�4B«Õ*§^R©¿*›¹âÛÓÓ#fÝ#I²³³Óµ6€�'¢J}ëÖ-qJ»téR¯PX–ݵk—Ø^ò£ë¢ØFåÈÅ‹‹íïܹãÕh€ð�Uj×SÇ�W3x…)³ÂWÊ–ÅK‚(,,Tn ß *˜ÞwÏ˯^¼üüËwuw9D•:??_œÏÊ=õìyZHάÝfÓjî:º,—••‰>¬X±ÂµóûÛ`[®íùiV¼‰Öèb3 «û>–®ŸmŠÍ>Zé|vÊŸcöÌ4ÿ]¦áÍA…¦WÓ=ݦºÈîy*Nן¢J�’’"ªä»wïÔ�×súŒ>�7)™æ8®±±Qô!55U½áÖrèéÞL>#¥‹Iˆ�[x¬Årï'£† 4YbÊ'ŽG2Ó¼ÓðÛ?žûÿì0Iòzc’²–­?Tú¼S|ÔÏŸ#õ㠦ᶽr{�–í«<œg¤HÒ0÷peË_kH‚ÐÎ=Ø$¼”*ŽÀÚt6ƒÏ•Pø¨¯ãÆZ¾˜„~Þù&äaž¡ÚßçH™ŒLnàSRjÉSQ®‡ ìQ¥ŽŠŠUr²�3»Í¬E#ALV¦9Žëîî�ŽŽJlÑ©õå/):‚ŠÞz‡Oãɲ,Çôþ[¼ýÇU¿•½÷}q,·yfðáø/ ÿÄ»�¦(³Q+¾àHRq‹¿éóóc#þ”ÓIýê?¯0¥®»¸2†"I:iç�O ÇuÞÛE‘�þç×9Ƽ9¾�&MòΗCöÚü6A�I›ïö9^µg¿ÜX'dw"cÖI½ßäøÔ”zE\=ûu#D•ÚUíÐjÅR÷ªaá)ÖS�iŽã¬V«¨ÔZ­VM¿mÃôÔ”îYž‘h ù·ËV«ä_.“Kñ®�~~øÉÚ>I²øÑ$í|9Ð$”þÒ®¿)Ôn—ÉÖ�‹,žEÈ£bÀ«á~ÉÚ#ÎÞ%* (ä­—”l†~“ÎÞÿåÙ…Í):Š éÌ}Ïç™;·kÉœƒ–Ö™b“çÌÿß~þUL¥H¡¢6¹î$ª`Þ»PŸ|Ûü÷¶ZŠÔÄ­¾ÈgœâóÆô?Ù�ÈËrÖ�*GS[ÃþL=Ah2÷ýkcm~Iqä7Ì¿ü^hbm<�ewê�nuË”‚ö-ŠÔ'ÍN�1hõ1i+ ¯ÞU@!}*¢fƒ½ý}*µø²¸S&ýº¹”VêÁGóyõIJoŽ�6èøLIŒª¼øîùø§5=“¯0{É‘úAD©�©<³õ+œôŽ7ž‘ŠíVÉÚ# •Tä­÷(2 ›¡ßM©…(=þ�OíÄÿ5Ìrêºó[m\ ¡AŠBØåÓð³ý�÷:ªC˜âDÅô&Þ#…Wž�Ï#!ŒÞq�ñsj…lýj¯±šÇIfÜÇ�8Ù#½© J.C¿”Rs½eÛ $Iè–Ýê´«ìεœ„Ÿ11¿B~û—¿ùSb] ¿²‹¦ Ä!cò„E2ÝIV-ÀœwœEâD¥lýǹˆáh5T{"�& ÍŒý•ýg}ºg.E�ÆE'?3,Ç|>¹ØDÚ•ÇO/3k¨ØÕ�_ŠWÄ’têÞÓ…I’ŒÛü/V4ëÙ9(Ѳ­åÊ>UdÔª½Œ ü+Ü`hü¢J�šš*î(zž'ŽÁq›ÄœËbÕ)Þ±|üÎÓZ(Z(B”Z![?~fË_ÿ›Òµp#Î�"’1ÅA9-¹ÿt «?Ù{o« ÔËowÙÕv˜Úq JiøÅêq+…‰ë´•šïP¡;ɪmjR«&µºÔ7› b;æÓŸ‹Í$A¦l¿?8ø|óL-AšÖ^ûʧq±Õï�«'H㎲¶{ÛSIR·dëæYZÊ´øTKÝ™ -I~.¥b=º~Á¹¡y·ñó ;iñ¯\¶Bh#D•Úõ”žd%I~’ä¹­YOjf²Oé9Ò±;‹¶ˆ4T§xGÓ¹¹åf,¡J-Ÿ­_}ŠzþÞ¬LmÏLó¼È•6ÅAIžü’÷;a Qj¶OÌ/ªIÝýf˜UÛ�|v=¹‘¢ƒÂ¶ñ¤Û˜ãq¿RþòRº´�ÚHM¦;ž¥GM Ìy'êÅÜ>·&�/¦©MûýA+’‡›m½¹AHŒ¾²¤d3_z"aã3ñ¾®µjÛLšÐ$î¯tL½ù›‹Q›nµÙÄÂ4º¼ëmòÏJãA Ö( �>±!ù—Uj×›/ÇŽSCÈóù¢ëîâðÃUf A§{5Ä1_Ï.�æ §ì¬`™n¡D²£€/Ú²�„é}~x±ÎUR…䩈X úfˆ*µëmò%K–xe$9›F�šÚÌzÑ¢Eâ ÌÝ»wQkÁßfºþÞÌÏSø;ŠQq±f]ÔO¥½Œº¼ønÒ€žÖâÀטðì‡R¶~o)ê‘ a²÷=2Í»WP›·ýçG>C¿ch$Iëõ:ZÈ+ÃßxJú©¨I¼Û¥²;Y¥žfmüÌò c‘OÃÿ¹¨@¨ç 1Ä'Æòá]TÖ%˜LwÒU P÷Q¥æ8¦»rÇlI�†Ì=oú]k{ퟋøªAš–\ýìXqNo3ÎÔ[9ŽízrüÇåËw^i䟣¼ÿ³‘"è´c¯††ëOñ% ´9—ćC\½‹!)}tBbŒPÍ“4.?#Ô\W@!y*ºl†ÀFˆ*uGGGp34Y,–PÎÐÄ}úçØÆÜ>;¾Îœ˜³õÿÜ’š¼ø“RjÅlý^RÔ#J-›qŸã$2Í»IƤ%Ÿ¡ßþéüªY1þE¡ÄAZÞzÓ‹>ò¥¦;y¥–):(tÛ-¨"`Íœ_ȧá·wV[7?ѤӚ2Ò¨ ¥VW—`2ÝÉU-pz)±ÐÔÿæÔ\ÿ@döÞ§®‡@˜Ž»+¢5A¦l-p ¸ýKé¾ö-Oè?^ׂKØûlp¸öDMº%7ÝVBlMÅ›–e¤ÄµJkœ1wÅÞ+¯\÷3eOZÉSqb<Áß Q¥æ8Εõ´¤¤DŽÓ¤V6&ÕøòåËâ„zþüùr½GÀ~ÈÖ–AFï(†åT8Ý[¾ÃD‘ô¬=uþÅT…;~oºJíª$�••%‰aRÊ+ZPyZIàâÅ‹’½GÄNÈÖžaŽ¥¶¿8�­á«ü8ß� ÏH©÷:t•­ÎõèÑ#Ï!ù¯:׃Ä u¤Wç‚lýž§]8쉥þúòNÑ‘3ÏÜ–>Â!:Só1t•šã8× v»Äs9§N�’LH­ÌÂuƒñèÑ£ž-ív»«4WˆV¼õtö ð]i¥nmmu½-..– Dyy¹ë�<É’;†‘˧zöìYqBm2™:::$‡�@�@i¥æ8Nœ5ó�étuuuþFS__¯×ëE¥.**òww`꘮š;%þqüþ{�'P£ yåUZ@­Mj›ík©zx£äÊ¿_%þœ”%ŽiZzjÿ¯{ï6+ÖÓ¨}ð4{H Ô•Úf³¹Ö"ÒÒÒº»»ý§««Ëõ{VV–͆½þê¿~'kÙ-¼rt·Æ“íKe{eTñÚ ‹äSež&š)|åig {|h_�)‰(¨;ÐmpvÜZÀ¯'êJÍq\KK‹Édç¹999ýýýþ Ôßßïz.Ðl6øðÁ½øÄ&šÞÞs§À¨!äßÚB;ŸXõ‰F–…‹J Rh¦ðÕÄà¼o1½ïþ>º-/c†YOkôæ¤Ì¥ÛN”·ÚXü]Dïv”Z¨pU: *tëWÚŽ[#ø5àÂ@©9Ž+++£(Ê%Ö>ŸYwuu¹dš¢(¹%ì€GG¦C$¼÷Ì2HcsÓÝí݇éöà<‹J Rh¦ð•³C¯?íí�¶e˜Ä¼ÉâùI¤>÷ØG{À•Z2þäǸhz… á¡ÔÇ•””8¯"--͇kÖuuu®E’$KKK>!¹‰\~ŽëʉƑŒõiÌqÞÀ˦ç,ÊdÙ÷î7 QI€±”ü/–Ϧ¶³BX|eêNåÑiX|¦•‘j�§ñ˜±*"•WÞç”§EêÚf,76$ó-Lsw—>}×ÚÝÓùåíӛן~™H`BÒQ1Ñ:Z�²`çÅš‰p 5<ÊD =Y­!Ä×>­-g I‚ŒZpäíÄ›ÙÎäËng‚}i¤‰©ˆ¦kü°8a£Ô¢X»fÖ:�îܹs’�g·Û‹ŠŠt:�xzS2� –ãºrKÆ�"@”Ú{xÇ…Mz¤çç u<ÞãÈUo4ùt ¤!ïø++_NKÈ›£àg“ª$À|¾²JGŽ×̘ö¢ü(’ —œnd¤Ûã³Td\Âp%»p"•WÞC©åóô£<‘m¦ýzžQC�º‚≕%ÑC‚¤ 1Î ¿=ì (ô%U&Â5Ø­…ó´$©MÙTъݨ”Ž‚’ÒÄ¤í £†Í '¥æ8îþýû®5k‚ 233>|ÈWÿ›ä‡eÙddd8§ „ÙlõE×]×mõ ãº’_§FõÈ{xÄ2‡×ÀóÌa• ¼û SI@L�Ohù\�'} —Ÿ3E¤c**Ñiì=<ÖM%ê¨B:˰½w B“räå�Wdóëslë�õFŠÔçî=¼*ž$uùçšYùʘ¶b®Ê+Àá3P_YÈçiË8Û`uûJ!O¿Ua—`�"HÝ�Þ{J'n‡ù`§‘"Iýœ ûýáü9÷ �a%ËD8L‘Æ3£I>Oëšû_Ü!•ŽF óA.(ÒväÀþ@K¥á´··ÿþûï®—QÕV³m0öìãç'= IDATÙ–o!¢—Ÿ× èHcï à‘ÆnIîñÕ<©¿äóësÛ÷p]ÈVàA?Ý;Wx“LÞzOLR,ÛuÏþñøBþñ8R›ðÛƒ/‡Hæ•Ç-p²yúåKp\ýÅűBÞ~äÌ£6>íc”Z¾/Ž“,1øØõìÇPÓ…ù& A–ž|‹Í«%£€Ãÿµ�%&i'Ô/‰ïß¿°WjWˆ:;;ïܹSXXXPP�žž¥>QQQééé………wîÜéììt®Øå'•ŒÒØ{x¤±»Ró«Ní'7ç$Eki}LêÂEÏ»�9ø%  >0½Uv,H�ÕiÄþ©9ù¿>p¾cmÿpy¾�"µsN× µÆ8NU>~Žë­¿¾eqšÙ0ë8_ÆI¦ żò˜Žã¤óôË—&Æ8øééÉ�?f&ÅèiŠÖ›gÌY¼~oi}¯¢RËöÅ[”(�(5ÇÙjO/Ó“$i^rí¦ÕQP¨±�Ï©�žY‘³ýý(uäÄ F €@¤¥Ž´ˆÃx�? Ôá3ð�H#Ji‡ñ ~@©Ã/fà1‘F”:Ò">íñú;ÿ´ ~¨``ïn~òϵóUv9¹ññH§_v`ú|<¤ïÇ(õ÷K,Ѿ԰|“!{ð‹óÚ©”#Ž}žþLÇšgG¾µæi_iN k©ðÖÎý¹:¶S¦'|üp÷ÞUý>Õ¡I—ðP²]dì¥þ~âŒ%Ú÷–Ï2ÄãW£r§^Lì�ôgÊÖ&ì"[¾µ†V±‰SÂPø kçþ‹œROa˜’ðCJ©¥=D‘0_.oš—œmÐjHŠ6DÏÌ\ºþÄÝÆAñ½~û»CÙF‚ óN50Σ˜Þ¦›‡7/š�`ÔÑzsBÆ’�'îÖ¸¾æ¸á¯ÏŽoYšo¢5´16eáÊßnÕû¥n‰Ó£Iü¥ž¬PoŠ&Ú÷ðÕg™wÜ„F±S/&vHû3UkvÑ-ßZC-{Ýv£„¶Wø mæ±-§ÔÜä‡) ªŽMx:} N[Ò:¿å:´˜Ôšbã£ô›¢TÜ–Û_y­öPj{ûc�š|æÞÜ=-âjÒ`Íî9¾(IR I=û”ëm,´ë`lƒRƒútúTHÀ?0ñÎ1gÿxsÿ†Ås“£ ´FkJÌÙ÷²õïezGÝ‚ Äšøõ`{T8‹"È™ÛË…Wߤ3ͻϼ�‹³¿|‡�?Á'>º¬?šmÒv];Û:j ÖxH2µ 8åŠ.¼˜5oUø—0;�Þš›­Óf/ÛsµÖ1áRêNztJÓ®`ÀôÔo_š­§õq³Óâ)‚à‘Úñ|Pè0•\uqq¦—„/]v@΄Ugª9 rÑ”*p!}z }9´Xûóe¡nƒµ­tíL’ cÖýÍg8pSjÆrsc Ÿ¡Åœýûõê/=}]ª/lÍÖ“$¡™ñûc>±Äà‹‰’ ÓUvØ9ÎÖûéÅ£š?Ý@¢n”Z§jÅÊ&àG¯Xq›$µ¦¸ø£qÁñ�ùþ•Z:Ó¼‚RVΜ•žžžž–¯&'±?]ê`¤í8ºv«?€A¾v�S¥* ‘B¬y¯¢ÀÉg÷w”(° \ô`š ˜ö’U3øÜ&”!.!VGñL½(µ’«h”àOºôÁ„YG\$-ÈGS24Ò"]9µXTjf°½öx~çç¸R»j>¬@k>X›Í3’·îæË ןšMóµt–¼ÛÒƒUi@» Ö6(u°ÈO½_Ùüˆ0ázÊÚl6\”½ã;ÝæÔ*Òù»gŒ̲}O÷Ï×ñuI6V´ñg¼d޼k' dxö>¬v6:¼â�Ó�ð±æµŠ‚Bvåî$GçXßý!¬~Ä®¹�”æû`ú›Ï¯N¦g‘O´ß mƒR üôº•JÀ�_'Ø5#t&™!ÞZ¹)�/¾òòG¡Î¬ëŽ¢|¦y,…?Þ©ýSQAû!›iÞ-?ÒQÛ�ÍѼ:zfc1=}ÎòcU�ö$hH’4$ç,É_–¯¥ø± Véúˆ5¾Œ\í´®Y¤™÷* ²•ð�ðîd)‰]O«‚ÿwPÙ/sÄê æøñQü_ªî(ŠëÔ¸«É“Áå¦ÔJ¥P» ä£)IѾJMêÌ II3âÌ:á±#2®àüg¾§ûóÔ¶¯eëR…‡ð°•m]æÎ{â;Ÿâr¹ðŒMS¢1*mûý~Æy³Q›sé=–uÇßÛ Ôþ&ì/û øÑëÝvº ‘ižÏÚÿöüŽe)±!~|ZÖ’�¥uüÂ…|¦y,ÿDGýoÿ\D£—AhRv¿–Éñ/™±~šP{[®vÖ [ŽpŽUø‰4ó^EA!»?bÇCÂdFçƒ Â¬­ånY�ë(S�>ïǽwÝCÝC·”Ú;|ªÒe0ÞØ\Á³w™hÊ…Fòt�è�ù|i}V¼IK’üд1&%kÙöwÞ‹ JÍŸÑÝoÿ:°aAz¼AKkMqsòÖ½ù¦ÏùÞ`KùÁMù3£u›4 é 6üqûƒ°l4\{"�& Ý’›Âò ¸J@ØÐaH ·|‡‰"éY{êÜjWp, Ô„ ] ~ì/dkMöÁª ­}p(uø�8à1$`ÿúòNÑ‘3Ï‚·ôÁ�R0ÞÐ@`Š`N=Epp@ `@©†:„:’ÍI™àC(J‘ꊯKUÈžía”:¬Âå#gU½C1í¾™ žl¹¶ç§Y|fa]lfaußÇÒõ³M±ÙG+»ñ¼sÓ•”Ï‘N-»¿”m~Ÿo­yöâé¿g›)왢YìAÃ)të~ˆìÙîÞ0¤¥éðøÉ9Ùs×w‰÷Lð¾ÛÐÓ½™|4J“·ðX‹åÞOF Ah²Tù;ÉŽäH§�Ý_�‡o­¹u$é¿[›)ü:u³¾; E·eÏö)Œ*x‡€R�}ðz–=w}w‘xϰãÃá[_þ’¢#¨è­w:XŽcY–czÿ-ÞþãªßÊÞù°ISÒ#�|vIãŽ�¾µ†÷$í?Þf ¿MݬïNBÑmÙ³} £ Þ! ÔÁc?õže²×+f‘ŸDNúÀd‚²FÕ”îYž‘h i}LêŠc•BøÎ'gw,L�Õk q³–þz©ºW|‹LatÃOÖÆh\oGj’v¾hŠ3i×ßä“ÄsÖ¶ŠSÛ¦ÇéhZoŽOËÊÛt®Úêž° KPåYŠáÕpÿÃófÄhZkŠÏ,Ø}»¡�„˜õÍÙ}”D�©™ S'AÒ\gq2¶¦ [ ²ÓgDhZgNÊúùÀugÉä”–4+[9ÑQøB¶�Ì…À¿‡¯¢ÚiÈoƒR‡|ˆ$”ÎÍï8ÅI©üú“ÊI˜LðÜà‹#‹ù9$¥7ÇFt O¼e˜þÇ{æ Éîh£Ù(¤¼0äÅ'§Z’£s|åÈ72{É‘úAD©�Ù3H::53;-NO:ÓË)鑳;W)†�vë£Â9æØÄ䔤ƒ†$HÝœýõVÖa$dJ"H&æçäë$Hú¯†Œ>*>!š Aš ŠêÜÞ ‘0k—.z’»Í©åKpreTžíh§!¿ Jò!’rP1{½�“Ï"?•œôn¹ä}� ÞÞv}©ICP1«/Ö 2kèbðŒkX¾ylª…�ûJÄåL´¶þ¦Åþ©$×@š»î·³x2 ïzäHuÄ—b—’’‰ùê$àg¾ŸS£JÊôV\¤% *~ãóìÞ-n�7«\ô$Gí{;JòBP{¶£�†ü6(uȇÈÓA™Üü¸`áyÜì4Räärһ咯ØÅçJ–Ì=¥LðŽ„Åq›ÄäËâ(•òÍc06:|à‚%D©Yžžc‰‡p5‘×#Ñ9ì¸g´o§8(§%þ'bÍkIÉ ¥$ýÇw*‘±½²PGÚŒ³ h9碒¼_‰ƒÜ`9Né(™ˆ¨­À€vòÛ Ô!"åróc×3>yœJNz7 å•zJ™àÉé�Ò/ŽR)ß<ªV¸oøÀK¨R—ïàÿ•JØ"TNÁ”Z¡�‚§M9ìÒ9ïo§8(4îˆ5~rªXA²�B)IÿÕ“ÁÊÙ >{šUâ€èF^á(¹ˆ¨=ÛÑNC~”:äCäî ºìõ¸–M%'½›lõËë?µLð¶÷rt¡IØ|­y˜£­·oÐ&ß ~c‚‹%ðB”ÚÖrž¯F¨IÜv³y`°ãÞ.>C¼£ Šl!|Ë›”Ç.™óÑVü¯~ î9>(4îˆ5iÚHcÉÃ. ´ã×]tÜýîþÒÖ/”å‘ôß;™ûŸpœíý•µfŠ$£V–÷àu¬<ÌZ‚‹øÏá¥*äéÙÏ.£ ¸¼¸“a9ëó͉´˜ú\íÙŽvòÛ Ô!"½d¯—Ì"KF�´Úœô¸R+äõŸb&x¦ëïÍiB¹:JkÖEýTÚËL©z"dZˆRsLǵõ)B]oçó.¥æd )àÊ[•Å.™óuI>‰>Þ‹*¥–¦�œ$Ò ê$Húï• ARZsBb,ŸÀŸ¤3~}ìV̳RÄÛaùà"þsn¥*äéÉGD]´Ó�ߥùy:(—ãU7�ÒäO.'½§ßf‚ç8vèÓ?Ç6æ¦ðiòuæÄœ­×Z–“éEIÔ°� ¼P¥æ8vðSÙÉ]ÿ[¾8/õª‰$AF¯ý[¨M(_HÁÓ¦vïYù¹© �;âŒ\Þ}WsÙò¥$söË–˜�!õI³Ò¢õüã•…7>Š4]Nfå‚‹ˆ•ªàÿÜj¯8¹9')ZË÷¶pGÑónñÁMùˆpj*0à�†øo Ô! poúXË—�1üð‡3ù±$Ÿk¸Úßï.Nßïµ€ü³¢~�n�R�Q…1¡˜Îâ‚(�>*1))Þ,<«m̽Ð(¬�£Í`[%Pj• |Ú ”Ú§8ÁX°,ݾtöÌXƒV£5Åe,Ûrñß6üæW:Â.�R#8 ÔÁ } &C”z2´ -@ @©ƒAÝ}N¿Óþ´ôÔþ_÷ÞmÆ^6ó‡³>´©6O¼¯óÓûp` x%JíQ(6�ÈÑ>ýÕÃé[*µ9-ÃstÁ }†"PêPŒŠ²OÒ9Ú§¯DÓ· ì·¾¥öW°Z@©C+j¼Á³ç8�˜¾ÎN߂ӗ@þ¥$mè+X@©ƒE~êý:”Úùj4–º^®€LyÌ T©­-g øwù¢©ëí*ù_,I�);+„l¦îTM�†ÅgZ‡/òIå£ ´FkNY¸ñÄéƒ+s“ŒZ­)1sý‰ÇŽwÉÐnlMj‘Í/›'ÿ7L)ï‘,™Lüè(`–(u`yû¢7‡I¦®—, ŸEsÇ¥Ô/Z+ çiIR›²©¢ÕÎqìç+«t$AÏÚSge9¦½(?Š$è%§ñ!»¬‰©„ Rcˆ‰6ðy6¨èmwùrYØGå! ùãåóÄOF©žìãKPº˜ääÞ]*nË­/,ÇÉdâÇ¿�¥0pt‡ë‘Ó Kg«9·"­×òŒRŸSÜ8Àq̇+«�i\RÔ.&Opp&ÖH(X�E‘š„‚«Mƒâ—bzB›q¦ÞÊtÝÎ7kmæ¹&«ó¾vc©X“@¤nÕ•6ÖÞV¼"†$ȤÜJ�¨<Ï †•PÈ�“QšS+dÖ—ÌÄï‚@ (@©ƒ‚}Z�âzä4…*µ[!µ´s±ÄñS“úkí0>ß-ˆß“Q›oµM|Ít^ø1†$輓õm·7™(R¿àÄ';‹Ê.Ç´�Yf"zyQ ;áÀu÷Ô=¨Ÿò‡(ä�WÈ�“QRj1ë±4©ÂNÊð‡(up¸O§WÏí¼5Tñ4x Yä17D ¤qÆÌh>‘eÒšû_\b¶õÆz#Eês÷^O’ºüsÍ¼Ž£�2]çWD½ìL“[,‰^ÄÔ¬ò‡(ä�Wȯ>ÿ½2¯©ú±Á/@Àÿ@©ýÏØç=xähwM\©í YäQßœ²{°¢rÏ<3Ÿ4ïd‹˜‚ŽãÓS¯‹§IR«¥IÒ\p§]HEç<ä�êAN^vÑNTŠ;¾ú�eßWʯ�ÿÞ-?½<ÉLüCŸÚ²vûÉG|Òzø�€¥8òéw(™úM\©9…,ò¨3ˆ…¡¦ óM‚4,=ùÖ9¯~ºw.ů�É[ï9ª›"‡øV© pJUä+¸å§—g"•‰ÿKÕ¡y‚ ´ÙçÃêN4¼°Ö@©Ã2|9ÚQÑtSj¡Œ@Å©m Óãõ4¥ÑG%g.?ù¬Û}rˆY°Õž^¦'IÒ¼äÚ'‡VÛ?\žo HíœÓuΔ¡è!>�SóQ‘˯XA6ÿ=ǹ秗ɬ/•‰Ÿéª<:/Δ˜w¤Ö½´IXž?àtØ¥»��Ã@DPêˆ 9 �°#Jv!‡�ˆ8 Ôr0aG”:ìB q@©#.ä0` ÂŽ(uØ… @ â€RG\ÈaÀ@„Pê° 8 €@ĥޏ�À�; Ôa2p�ˆ#Jq!‡ v@©Ã.dà0G”:âB@ ì€R‡]ÈÀa "Ž(uÄ… €@Ø¥»��Ã@DPêˆ 9 �°#Jv!‡�ˆ8 Ôr0aG”:ìB q@©#.ä0` ÂŽ(uØ… @ â€RG\ÈaÀ@„Pê° 8 €@ĥޏ�À�; Ôa2p�ˆ#Jq!‡ v@©Ã.dà0G”:âB@ ì€R‡]ÈÀa "Ž(uÄ… €@Ø¥»��Ã@DPêˆ 9 �°#Jv!‡�ˆ8 Ôr0aG”:ìB q@©#.ä0` ÂŽ(uØ… @ â€RG\ÈaÀ@„Pê° 8 €@ĥޏ�À�; Ôa2p�ˆ#Jq!‡ v@©Ã.dà0G”:âB@ ì€R‡]ÈÀa "Ž(uÄ… €@ØÀ”šíï|rÓryÏ¥}¡ÿŸ¥ôàÀãlOØA‡�“"0¡ÔlOÏ•C¡/Ðî^9b=©�Cc ÂŽÀ„R<¼ÚsißÀëìÐ˲G� ¡Á0­wnøõJ#ƒøÄö÷ô•_î¹´¯¿â/d7l ¾7J-.zˆóS–e ‚ð‹X³jV6õ°^IZ_ïÍŠÏÜóxˆå8[Ýž ã¼?jìøQìÐ?Å.=„ï†ß€ß� ¥WÄÁ‰JíE¬™ž›Rt’$IZoNLŸ¿j÷©Ç-ý^ðX«¶Í4,;Óä]©í-çÖ.^[ôÚÆÉ*5Çq¨Û^º†¯�áIÀ‹RqàÀé¡1]çWD|ò¢êßg·.Ý�›@f–}F×(Ü�U¯Ôè‘2sjPjl ð½ð®Ô²b-(µyåÕA×ôØú¥tmŠ&ö§Ú„U ëײcrSc zsÊ¢ÍW^[ø†¼RÓ„ã£Ýt»—ã˜ÆÒ�iq&­†6ÆÏYõGy»]°hw(Û”y Š·…*5;ðºtׂ”h¡ý¬Êƒ¿X.íû^Ãã@p§J©¥ÅÚS©9ÎÚT4W§]qþË >ÛŸcH\~â/û_ =cse/#(µaþ¾òúÆÆÆÆ¦Ö>†ãXKÃÓûO«ß¼©þçôÚÚ˜mw;y©–QjkÃé9úøUÞù¶¶úÑí–S¿÷€Rù €ÀwM@­RKÜ]”RjÎúlc¼6u÷ãaË??F™×ßh'Üö¯¥ ô1»+úE¥–]§¶·Î1eìû—_›–QêÁçûâµ³ŽT÷Šq�uêïúü„Á ÀP¥Ô2Íqœ¢R÷½<’¤¡4´Öù¡)R»êJ+±Nmm¹lÕ‚Ù Ñæè„¤8#�öëc¥æ†ß�ù1™6$-Û~ü^m‡ExI‚ €øŽ xWji™–Qjkã™ -¿ú1Ps8I›°óf]óħ¥­×î9§¶6eÌ‹~-­|ÓÐX{ç\ƒ¥æ8ŽhyZòkÁ,ƒ&ºâ÷­Ý°úñŸ¡04 ¼Î©eeZR©­Ÿ.¯Jï(2]· ÌÚùG…gìPÐÖ׿¦Ð'£-·7jõùwº…›�Lëé%Q²J}Èíyê�Ê}ón¬ZþáÂ^´Ø@|g”æÔJ2íTjÃÂý+Ÿ?{òàæÅÃërâ5Oéõ?Þ“­Õ§®?~õaå¿O+þ>½j€á8¦ç¯5 º”•Ê+Ÿ–_¿[Ó5ôöäl­9¯ð¯g/ßÔ½©Ø�e”PjæËÉÅ&ó‚=�[z­_ú«ìÅë·oªù1éæº?_¥þÎNKD©…¤ìпº æmrñÍŠóE£3%x¾ùbm+ÿssNJŒN£ÑG'-Üy³�áï/¿¿»ma²‘ÖècÒÖ_¬cOÝÅh)ŠÖ›â“3V½á'ØèEŽm{|dqrLÖ¾ç=5g—¤Çé4¤F��·á퟿Y.ïÇÆ¿ ¾/J=øä¦˜CÃÞÓcäó~”]è¹´¯ïAIX8 N ¦F`B©í=�=׎н…Óÿ!—ÞÔ"G >&”š_ôòS‡KîSKéÁÁ'7!åiøœlà)S$€)õmÀa@ àO Ôþ¤ ¶�¾ Jí Š` àO Ôþ¤ ¶�¾ Jí Š` àO Ôþ¤ ¶�¾ Jí Š` àO Ôþ¤ ¶�¾ Jí Š` àO Ôþ¤ ¶�¾ Jí Š` àO Ôþ¤ ¶�¾ Jí Š` àO Ôþ¤ ¶�¾ Jí Š` àO Ôþ¤ ¶�¾ Jí Š` àO Ôþ¤ ¶�¾ Jí Š` àO Ôþ¤ ¶�¾ 0¡ÔOà€!I`B©Çá€!I”:$ÃN  Ô Ø@„$Pê� 8€@€R#0` ’@©C2,à@!J�À€M €@H¥ɰ€S@„(56�!I*ÔãùIDAT”:$ÃN  Ô Ø@„$Pê� 8€@€R#0` ’@©C2,à@!J�À€M €@H¥ɰ€Sj|ë¼÷ǦÂë-£jC Î@©Ã9zîûHÓþ¹Æœ£µß"œ ?€RG@�È£ÖOÿߺhv‚‘ÖhM ™Ë6�}Ú> Jþ‘…¨$J­4 �ÑÁ×ûçÇh̳׸p»ü჻WOþ¾ñ�ûÝc ÔA‹ th Ô�&ýM’€ýùþ,�iþ¹ú!÷Ý”zÔòôÌ–y3ÍZ­)9w}ñ‹NÇúõ˜µîêo Sb´Ú”0{ûÍÏŽý\gʼnM¹iq}Têâ­×êÆÜ;€ß�@¨¥•H€ÒlÏ7ÄkS~yÄx~�)5óòÈB½iî®KªªoÏ12O¿µŽ��sÍEúøÕ§*j_=û§ò½]°dq0Ç0£àTYMCíã?W¥Ò3·¾„{“ž”aOH¥‰0€rF>_ÊÑéVýÕ)1áE”zt beŒ~é™w­ù|l¾)aÃëØ¸½ú@‚vÖñWØ”|tàþÏQæ�·ºE³#Wêc~{Â+;|€@¥Á €KF>]š§Ó­¾Ú¥¬ÔöÚã)º”coÄùòøøøÈ‹sµ³÷½g?œû9™6$åï:yÑ®;–oØ \ÎØO”:ðÌ¡G €Àä€ROŽ´@ž(uà™C�@�É¥ž/h €<PêÀ3‡�“#J=9^Ð x Ô�g= &G”zr¼ 5@ ð@©Ïz@LŽ(õäxAk €@à TUU1 óCMMMàû†�@@ �šš^©kkkÇÆ é�bÐ Pcccµµµ¼R777³¬Dà€º� €€†aZZZX–ýÁb±|úôÉ£ì@� øôé“ÅbùÁf³5440ŒDYÑ ûÝ "˜€Ýnohh°Ùlß¾}û�ã¸ÁÁÁ7oÞØl¶fC@„›ÍVSS344ÄqÜØØØ£££ Ãôõõ½zõJ\³†Œ!.p�H"ðßÿq×ØØøòåËþþ~†aFGGy¥ûöíÃ0CCCŸ?®ªª*//¿wïÞmø €@ Ü»w¯¢¢¢¦¦æË—/CCC Ã|ûöMœ:ÿÀ—oå8În· õõõõôôX,–nø €@@X,–žžž¾¾¾¡¡!»ÝÎqœ8›ÿ¢à•Zkqr=22²,#|ìð@�€U—eÙ‘‘q*�.D;”ÕkqŠ=  €,�1çGÔd×ÿÿÒÛ(ʦ“IEND®B`‚liquidctl-1.16.0/docs/developer/images/create_vm_3.png000066400000000000000000001114701515166127400226640ustar00rootroot00000000000000‰PNG  IHDR÷)´Ñ§ IDATxì�‡[ÔJû÷Ï_ðœóœöûÞÓÏsŠb/ÀvzïMº(ЀЍ`¥PPÄ(½#Uºvé°»ÙHõ½’mÙ¾ ",÷^¹`6™ÌÜ÷g&ßLîÌ&_ÑþÏšúVüÅ’ò£…æfš?˜jü`Â]Ô0Æ#õðå{Cuþ²ù{Cþb°ùû¹/¿7ØHØ]ìëlKÞD(Š˜–_Žò9å—CØŠÁÙô½�dÉR×p½–ÜD(Pœ0·pÁ_©97J3@�sN^jÕR-ì(?ÁõB¾aòKØü½�úÆš?˜(¹hHäÔÀwçÿU¶%«›U6IÛfµ»df’„³Ä<¤L$3H®!î¢0ÍÅÈÍ6[w$«žm Í“•aÁ*ҔƜhÕ|Y‚Ã4ÕüÁ”„-f¤ÌÈ?š‘4%ÿhJùÑ_,¨?ZPÄ”œúV4LÛ­¿ÂôýGKî_ò�æ}w\ÖqAç �þæïõ7I_ô6}?—e#a¯�ßë¿Î­ÀYíµþ;½õßͱÒ�ßëmøŽ·(Yé†ï„ˆ¸ûnü3`=a½’E)̦ IAí‚ÌD V!+Ãz‹`«d³rÑ 2H$ y îðBÑ_�Œ4äæÑ”»uVuIͼù{Å‹©D~©ñVÊØ]S‚ƒH¥JC˜/\’�"ËA�‚„<÷•vD²eZJr/ùk$Ý$æx¤°jANâîêßr¡iü`Ì]§žâ“4#á åGsê�ø_\ØÿÏ SyÊ�dlÁ$~ó÷†k¿e¬ú/iå5W|£¾âõ¾Qÿûõ¿ÙÌ_6ýõ5¶üóͦ¾ÙøÏ7ÿþZlÙð÷×Klùëë Üe– öýK9¯Å*û:¸»Ë‘•–U87¿’öË*Dáz¢Uó�K­T°ïrêÿbÝOñÂí®Êä\©DiÊ”#‘g³ÄžÙÄW⇕DNîñ¥ØM‰¥T!+¬Ç (FMl/%;áÊoÔE÷šESJíºÜ•’ñŠ4V~ƒ/ÿÕ\ù_Mµÿ’Ëšoi¾ÓÑüÚãƒz êÿY~Eý?K*.ñ?˜¬ýVëß®]¿rE“D§R4,@ °$ЩTŠ&iƒÚÆ?lÜð�Ž@è¿¢þhAúÑLãÓÕßRWþ¼šF&«oÞ¼nÍšU+W€K…À5µukÖlÞ¸‘J&¯ø«×~Ëàë¿"ÿh®ñƒéÚo+^MÒÐX£¦¶T\;�@@*’ºúŠÿ·š;¢ÿJã“Mßüýý:Muu©¹a%@,9$uõ¿¿Û ñƒÉWê?¯ý–¾AmŒâ—\+‚Á@YÖ¨©­_¹iýw:_©ÿ`¤ö_Ò†5ëde…õ@ ° ¬_³nõ·TLåW|£±võê¥èØ €²¬]½Zí¿¤¯Ô¿7ü÷›Í²2Áz €X¢Ö¨©­ü¯æW›¿7øT¦� +íu+í7¯°ß¼Â`ýŠÙžoV~£ñÕÆïõÿþfÓl÷„ü@ ðY h¯[™d°¢Újå3‡U‚¥Æzåi�Úë”ý=ÓÊoÔ¿Zÿ�þß_oü¬¶Bá@ 0+AÔŸÚ« Ä],ñÔ^-œñ¯2®ÀU^ﯯ7(“ò €ÀHÔ_!&ëR¿žÐR,ôÿ~£þÕÆïtAå Ù  €€2‚¨ÿJÕt©+÷Rý¿ßlþjÝwºÿƒ±üb½ë¢LŸ€<@¨ Êš"�š-«¥ˆ;aåS{5Êy·dÿýfÓW¾Ó•W™.¢jެ6ŽkA‘�г.›Wñž°Dõ¿;†¢¬×iŽëWÍ�¿«4‚ï¿ã èX˳µÂç8­3=ÞÊä ì7I$úÞì1Êm8jJo®·ºÒ:ÊAÙÍñÎkÔ”½6?6øDE Äèò[V#Í}q�D¡ï‹ Dš+ž„^~ÜSùu˜Ê¯‡ž#®Ê£(‡Ýs{ŸWIç_åW®¤z§÷±9(«#Úš?Am•í©Zвž¥:¬_m�¥Qyžé§Î=ߨ©éî»?ˆpP”Ó{wïFxÌŸŠÊî Ö"3júâ?NOõ'„r…^ì+we£�¼Æ?ßlüjíw:‚ÊC]œø*�éëPãI;ÍU+WŠ«üê¶È›µÝïÇF‡_·•\ ´Þ´JmÕ*Rx^?E:.¹¯US[kpøñÒ—¤®¦¶J÷p��²»cˆ7m½óš…¢ì¦8çµ\½^cšØ2†¢ìÖ×ujkw^{�`*�rFjà�YkšÐ4ÂÁWWžÔ^-¼X`]€êT†€Áz)7]Ê.H‡öÜ´œ‰•½á«õßéü*¿85¬â©<ÒóüÅ(Â}rÝ…´FDåÕ6z\hdrPd¬·»ëõ0›ƒ²ßfúë®V[e|¨„ÉA‡+Oh­^Ÿ;Œ ¬©ëWmt¼ðšÍa½NwÞ@ø¨­Ýv©AQVW²-Ú`s¶‹ÅAYm'-7®RÛ’3ÈA‘žWoؤõ¢û:55òökoÙì¾×¯‡t¬ý’!Ô£2¢Ž,0«�RTþ™Ã*®¾œž‹ÞäÞj£ÌÐü?_oÀÆò±Yà¶„ê”%ÀSyfÉñ­‡r^ (Ò�µ×t¯0.¿Fkå­?f†�à ‚s‡ÎPYcµÚZãcÍc¤?{‡úïëøHœÙa¶É"¢’…"¯o틱l°>õ”ÅAÙ/Ý4V©­Ýz±A9CÕÑz«ÕV­Ö‰®FѱÑ‘eýlö»ì�T­£…}VgbÄåglû]¦+ñœ§g 0'ö›ç_å±±üºï´ÿü<�R^`KYIšS»BáòTþ¨éZ’{Fç‡ý®¸°žÉ¿ûª¾=u‹Œ‹|°ñøºU«Ö˜&4�¢ìg±.[®tŒ±ú‡Ù£¹¡–sû8È@æºx½«uOU qPäÙ ï ]2_0Qdà^ îjµ•«Ö˜_jC9ƒi»´|nŽsZ‡ß‰U[¿ýÁ eu�µÝ¸j5#²d€ƒ¢¬îT‡�«V“ýËF8(óñ1˜¨&OkD8›Ò¢Në‚6[V#Måb±xÉ™”1ºò~õ××ë¿Z*/Jºã"" ¦ò+W®Ú´%õÉ&²Üùò«4wßxÂÂf3"cïÞõ ³Ùï¯m×ຠ¶ÆârûŠ¢cO.[­]¥üpAQdàv€6‡‘lwµÕ¶Ñ5ܳ2T¤Ã�djî)Ť¼å¸Å†Ujj÷ÓyÅE)AfkÔVªmÚU0ÂAY�glùS0%‹…5@@iÚëD‡ó„yñ‚ø q²¼Â_Ea*¿ö;íÿ}ÍïÍJ›"å�}�À¼�Ty55úÎÔ7X8…ÿ«¨5tÏãiÕOz†™lÖhß³ÇEQ®žˆ«­Âæ¹s�ŽK[ת©­¦V !ì·w¶iÈŒ¡¯¦î.|ÏBQ¤û¦Ïfþø5Ú¡XX†ÙpØH|À®¶Þ#»Ÿ�²ß\tƒ×&K;qÎ{—XÎê ATyùU+WrÇòZp÷NZ@�ÅCà„á°„Ç ‡óøÊD}™(¾ðTâò"�@, Ÿ<¬pÏõT®1�‹”€Áúqzÿ6؈L¯,³œÝ[D@åië.†¡Ø€Àb °~ÕJƒõ+¬6bo”3/^–© ò ò@U&*¯Ê­+ëÜë�X>@åAå�ªL€§ò0“rùœØÁS –žÊU«ƒ³@,0–Wå+µåÓ�ÁS d••@¨2PyUn]YçvX€Àò!€©üÚoµþøÏºŸþßÿƒ TŒo,ÿÇÖ•Á TŽ€ˆÊÿì� @¨ �²²2Py8± T–¨¼Ê6­ÊŒDÀ >…¨<¨<@@• €Ê«rë~Êùö@@5€ÊƒÊ T™ÀâRù_|®üê{åW_U&®£ð�¥B`Q¨ü¯¾WþÙ¿9ü´öñýÇôN£GD®?pö/ÿ„_|®,”`'@`øò*ÿwÀFÄq«s݃¼’|¯ùû^ó÷¼²×ùB�Ù™C‡¢ÿØsi‚“Š@²Æ…º¸Êš_òBÕ(¸”L^}¢ØÿN¹æž…¯Z`$€À§ø’*ÿ‹Ï•ÕÁ1&§y\Ú·?Í7òÞÎó= Üãó·žÍÝvôÎ΀ë~Î Áú'Žý�°àGø§’UYƒ}RЇ‡^;„^]¯:W±g&zl^j¯Ú•ŽMOô:J«z¡9@‡s$ð%U^m¬ù™CÞW"îî¸\ävç‘cQ“ýó·^õ]ÍotȨrŠÏßvk—Ç¥}ú'�þ¹çâ¬4å÷}·]ï=-êa�ŒOOŒxþúÝ•Ü Òþy¦»ü÷/Þwêî–&*ùCbŸôÀŽ3S£¡‘×d´Èü2Y´*¯�Ã�IT¡4 0G_LåÿÜsÑ0êÈΤ€÷<Ó*œË[íž¾´pš™A>ÎŒ÷õ»·>³.xlŸTì~ËË-1ˆvìį¾ÊÆèÿ:TšÑ71333:4˜]ß�R÷ªìòarìàqYÂ4G|?{§ú4}˜b>×ûñ„9Ûü©;þ±ÿ¶vdú¯2ÏaóËd±ª¼w’"ŸÊäÌ �/¦òê‡N9'ÊòJ-syÔnÛûÞ’=ê0Žæ|Ä?“ãùȈÕó7VEMö ÝÓ|­Ï\§ŒÏ¿ì¹ýj|f ÉÌÌýŸpºN²Úᬿ|æýÀ›_E›wó¾H�óËdñª¼2½ò�/N@Y•×½¸ûDÜù˜˜yYââÎff†çû6Öº¿èté³E™{Æ9wff¦¸*ÿñãÌ' óxgßÙæ˜WºíØ�½ä£'•à•¬‘ò’9=ÓVœÿ»ôÁfò¦Øº¤–¾ÎÑqÎÔ aß˼ÿ žóó×ô¾`O~ÿÐÑÕ½+*�»þg錄ŽVÜ|>ÒË™œœšêïïOÊzÈ?a`ŠÆ·ùãÇ�Ó¹i™ K#z!»d¢@'“/·d=x†Û<99þìÅ‹}gÓæýì�$Ãø«…#SÓcá'x1?ùe_˜j¬àÃI¦¤÷ŒO³£Ï¤¬ºjS2:5=!¼ôQ;×Ö;=õ íÖ/ÞÄhµT˜R˜H^ôüä÷àÚÈ«¥Šk‰lrTÃr»“‡eü§©¥Íæd®oÁ‹Ú~gjjhpàÒÍœ?ø§vÙU`¨ÿ ÉÙ_ÞódlâÃädßÀÀµ÷xžNs?îA&'ı‹p˜k[Ò@à³(++ûß×ë¿Zƒ?_¾¬¬Œp¨‹ÔçÓöä E§g¦ça™�/™@/�#G¦§ž}ü8IJ±äÔÌÔ›�÷‡Ós| £Žüî§h¾�Ïͽíf¦†ü JÔ)üàœùÐØÒ[Ø[õüÈ…›¿x'ýZ|khj’3šUÚQø¬alz Ø}”WÈÿÂË.5vÇä7GäuÜûazf"'í6.²˜¢M¾x¯>äv}Èí:ûÈë?+*�h�ì’‰üq›§ÑG�]1Å µoŸ¡Ó3ãCÇR¸EÉ1~mBçÈôTö Þ¹çÏC�ê'f&ž�x7R44w�+jOj|›x�>›™èìz�TÚWý¦“CÄŽ×λ7;÷"vH�ÏA ¬¬ìOeTþÌÙ³™œžš’¾LOMOOc›¸ñl3Øßéé)ì¬0=55ƒÁþNMNôMŽç�sâ? û§ÆˆéºØ×é‰ ”VRèe~æ�Â{°?ùå& OMwÑeÞ%œ%Mq(�š :ÎÒþs¼¾ybúyy¡dôù×}ùiÃSœî†±A¢¸xá�4‹Òˆ�*Z²À¶$QaÅÖ¯>ßörjº£è!nž¼ê~ .+Ÿî­)ý Wº�ÉÏÙ3?N x‡á'0¿ûú¦ØOjÿæx¹öüº¿$�|\Éÿä“y°kb¼¯CÓ7YÔ©0¥2_)¦ò²9(Ryá˜kæùC“ÓÈé³¼FüëhMÃÄÌ@C9×wÙU\³*žšF®\â� ù9Ž[}®õ…;q+1=»â×ElnH�ù$ ŒØü‰¿EDVŸ;uúôøÄÄøÄ„µ«¯µ«¯�Ûn[w?»­{ì¶î±÷ðwØà¸c¯ÓŽ}Î;]¼‚\½‚Üv»í v÷ñð õð= \|BݽCöàqç®Cí#ëÞ×–SãùbÊ.ø:5^ˆŽy ¬%;,΄ÿå¯`JåO{ò3ÙÓã½m›0=’JJü€üÙ;é§=SG§8Ïk†¦¯ Á—°üKï§ÐWM« åüâsõ¯Àø¥ù·��÷uh`›ÄÅKùÒˆæI+™h¼„Í{¤Œbêü—�"ã}oz6Á¼_s(g"½ÃO''Ò’nbÃÛ#5 SewîñÇìüJ}ÒÚ>L±_šøc )/Ÿ~Rœ‡ŸTˆÆÓü}¥1‘%Uå¥qP^å“VÅt LOg]Kç±õ»û~}© ò˹<8õáMË:B[ã%HxGÀ®àlGÈ©dï"öH�y$ TydMTùÀðèÀðèàç�DÅ?wéøÙ‹³]Î'œÍº\ZæÕÞêÒ×cÍužš|)PvAbjò2b…Žy|`…åïTr,udjr¸sVcùßC+Ê'fõ |qLú;¼ðTóÐÀÄôÌÇ�3S“¬É�üMRT^aiDȲKˆ¦”±üO»ïžy;‰¾hZ哤¨ºdƒ,ØâøÚO»ï�{7þ(·<êÕÄ›ªâß¼“4R_¡SÒ§i¤¾âLqbc±Ôæk/ØS¬“§¹cd¢öÓƒ¥0Q¨ò²9ÌBåÿ9ÑØ=5U�‘Å;iùfE¼œ×¶—oYUü\^2>3TW&qÝ&î»|•'æTÔ@n�Ÿ…À\TÞ;ð¨÷¾#»öÙ¹÷ÀIÿаÅÿÀ‰=¡J-A‡�&\ö»{oÛ£G[^v[sF-&?”´U�˜/zo�2½?°# ìÒ?yô÷Ý—‰)%í“q küãÔ€×A¹qyáe>†õ·�ò²ñVw›m|�a±8{çOŸ¤Ÿý²cßML}M{ðÈ%±ÐþÊ£›½“rT^AiÄ+ y%Û[RnîD÷Lr/5V·"ºùÅÔÔÃô[©igED§š èBÚ�º£�3>ø”"-ºõ{Hy1:ý²²è7Ÿ>MèøàS*/ÑbZ`°t•ßÕôaŠý€?åTd,/�ìT¾áéÔTQ&÷–IÒϾ·?Ÿà]ØÉ®‚ pP)•bW¤òœ HJ7&vH�O# ìÝWâXÞsOØv¿ƒÛvØîw_Â<ý¶û…mÛ}p«O¨2‹§_pä©]É)nyyÍ�­ß÷XNMÔ Ä]�˜žl}Ùm޲ƒ> 1Ù÷ü4G)q<$ëÜ훘™®{�+14ãÊ�aúiÏÃë£SzZ7ˆ_³c»ü{òñ³©©GÙÙ¼¢Ï ¿Öq¾Ê§ìlü0ÍyiDø¼üÒˆ.È-Y šRÇòBQXÝO~Ù ýS£m5=ÈÈ3¿äUçÛ{'Gž.º9:ÕY’/”Ï ïÇœÉÑç†a¥9SÍùøÙˆ‰i�ÁR˜üì}Õå23ÙëÄ‹¤U^.‡ùQy9Up#*Þ´¬o}qï~Ú-Ä®¼Ê+l b—€4˜wsË»í võ rÙ¹ßyg £ç¾-ž{¶ïuØ`ïá/¹0YìÒª:Éõ>û¼N�s½žf_TdÝÖb15ùîãÇ�33Ì ôÞçÖÌÌ06-qšÕPgñ�ù¹–™¾ïï€ Êøÿ[PaæÈÔÌÄXbòâm·?ÓþÂF£â‡.^fªÛ#Öô4’’,˜U"Ь¤N4<�šnÈœˆÊ_µ-›žÙŒxé ¯4¢ rK i³¨Ü(¬îªUÑÈäøpuÏÄ›G%“€¼#“Ož O‰Í¡$Vš´þb×ðÔ‡üÖ÷œI¢ƒD€Ä´`_©L’©oÇg&îÝà ´‰*/—ÃÕ-¬éɾí!’7ZÄkÇË‘>–—[Eªk5sz¹zE¬õÅËÅNÜJLcDs*l :H�ù' ¬ÊGEEs>|@? Ö®¾[øšn·u�­ûn·ÝÖ®¾–Î>NÞfŽ^b w`þ´û…Øzk·�]NŸ·¿~Óº À’ɬº<ðÎnè½ÅÐ{‹¾ÛÁ¾x6«íÁCk”�ˆ²s®\> üó)WŸn¨fNœ™~ÿ¶7ãQçŪg÷»†'8çc®K*&Wvÿ^–=253=ÞÒþ,¦ õlY÷ׯ<àODð»þíÄÌ$RZÛ~ä~CXvkÞÀ,Ÿ´&îIïôGÖÀ»Ä¶øš7·ïåþ‚OÚ“YñâKnÉ„ó�|ÁæʯnETÓ³©™�3èÅ„x±)ÎUÌé�DZ¸�¤zòû™nò 69‘ÕݰR8 ‡h 1ÍßË[:“߃‹îŒNÍLr*:Ï´ž«xó|b†7_^îéaúåÓ§[ŽðfŽòɈ×.Gå–WEÒŸKîMÍLhní>WÐSõ2¯¨ø7‰�¨vk'¦1¢97ß#!CXæ‹€²*üÄ a#6wŽ�• OÖÍw™mñ2uØilïidçih»]l„_J«êÄ6Ù¸m Û}Ö&9Åê^¶EI‰Eí#óÆzó†z‹GÕÅÅ–wïY'_³ã°î ¬š¨èˆYùü×ÁûJ^ÕpØS3“=½ýwÊÍÂSd©<öÓ§ƒVö´�Ž˜žFØì†ö«ƒ¼çÞü}¨èÔã�76U”ƒ~xý~¨°²j÷ßçºiVwÃð‡ñééÑ‘‘¬Û¸rJ#:"¯dáù@�ˆÈ7«Î÷ö‰×SÌFøœl.flGßôL}nŽøìa¥X¤ÈøáàäÌDúÕ B6¢1Ä4A¡d0YQß6ôÅ0²¤ýåÛË7³¹� 9~ ¸XÓ÷a�ùé–”@–<•÷N’Sþ³²‡aUoŸŽMŒOM �ŒÿÏGÜ;Qí&n%¦¥¨¼âÁN ë�À'P6.ÉÄ>cÖ®¾¦;MvšØï0¶ó4´Ùn`³ÍÀÚCßÚCÏj«®¥»Ø"Pù�?>í~rô 1ƒ•³‹_�ÝÑÖ1¬’®YṴ̈¼•eq+Ë2=Ý2ùšõùxÛã§œYÌ:æØ@Dd$Q! €ÊPöWQG�Æ?N» ¬qY·Úªgå®cá®cá¦mîªeîÊ0s¡›8‹-D•ÿøñãøøÄ©¸$b+'7/{ÿ›°£Ö'­Nœ²:yÚ*"Ê&ü˜]@ˆƒ§ß¶¡¡þááá£G�)ãä@"eÇò‡èè7qØ©mîŠÉº™ ÃÔ™nêL3q¦;Q��(FŽdƒ-b‹˜Ês¿fÞË#f£;êY:X:Ù;ï°Ûæcëámë²ÃÁÊÉÉÀÚÅÔa·ÞC‡í†4@(C@Ù¸üÁ°°w½ØÇÀfM é†ŽdCG¦ìd’¾ƒ¦ž½Ø"Uå?~üØØÒa¶Å‹›™¤�펕`°…Œ—I1r¤;ÑŒ� l¶õöö¾ëí=¦Œ?� ˆ”UùÐÐoð�®…É` ¶HÓt1‰×Ô³—¥ò ÍíFvž’ùºÏ­EÇÂ�[ohè¢Ý�@e(± ~ñûÐLœeI³ÔõRU>íVÕÈIj~±•tç—/_¾xù2((X @ («òû»ñÙp‹˜Ëÿ*¦òÆÇÃ�ÇÈß…¸•l°…[ï¾À@¢Ý�@e(±ñxòôé“§O‰¬Lš¨ò�[Ÿ¸z)³1·^ÿ€eü�<@ @$ ¬Êûùíimmkkk#ê¯2i�ʧÝÊ¡Ï2ÚÃ-¿­­­µµÍÏoÑnH €€2”Uyߦ¦æ¦æ&e”�˜‡«ò�[ŸWÎ*ÝÔÜÔÔÔìã㫌?� ˆ”Uù]»v5àŸY ´¦žýÀàðœGñܺ¸õîÚµ‹h7¤�@@ÊÞ}ݹsg-ö©›­ÊzþÚÚºÚÚÚ�;w*ãä@"eÇòK_X$V IDATå¯ýrwÅ>±‡~¡ÇBíÎT�i´KërÍè´>ŸÿÜö/dÌ'? ‰ØŸ €Àb# ‚cù?ƒh%6;ÜìvÍè´¿öX7êîoÞI?ùÞÖMí4:~“ðlÅyPÕß÷?4JíÔ?†½6Oé%yõ©çkµ›Ânÿœµ"ð:Ѥ_üsÍn>sËä-.É¥ØËªfQ8d@ˆPVå==wTcŸGO¥}ºººž={öü9öéׯ_÷¼éyûömooïû÷ïûúúúûûúûûûúúÞ¿ßÛÛûöíÛ7oz^¿~ýòå«çÏ_t?{ÖÕÙ%¹TW?ª®®öôÜ¡ŒØý²'Ûèz—ÕÊM‡ï©¼·>²„‰½tÞUþ¿ôõQ56ع¤kV*ÿ“wùr§Åiþ»IEü×}ù–7›5fþ”�-�7ˆçe@ €‘€²�mÛ***+°O¥¼¥²²RV†J|G¬ a üÌ"+‰ð4¶ÕcÛ6¢Ý²Ò(sHo'…ðž /Ȇ«|ŒÜ¥}µ“Ï�µQ�̯u8§?µ¾Tµ.ˆϹ¾þt�ŵ§ôn—ô'V+׋ ·ñ2“W¯·½R½!ì�ÁucyŸëkNV[¤>uIï´½òhS(_¯}ÒiIKº�O¤uü÷à"Û´Z5þËQöC 07ʪ¼»ûÖ2ìS^ZZ&¹”•–•r·bÊñ4ž½¬ ÿZ^ŠïXVVŽ•ÀËÃM—•â+ñMxæR¼Â_î&w÷­ÊxøëÞ<‹›Ýçîÿî+rÍÂË›ž¾÷÷þô¿ößü5àšÓÍN)uêá·ÿ ¹G¾Ðæ’RùÏîäŸ1î´½P¸êÀmµ°´„6—´¦�û‰/ü㕌_"ÜÕ—®òWWE79§5Ó#î¯ ½§Óìt³ys÷Ô‚•ou>·$ýÏ="'¤?–o¹Q»&ðÆo¢ö+ã;ä@HPVå�¶î¾q#­¸¤´DÚ§¸¸¤¤¤”û·ËÃËV\RZ\R‚ÿå®ÄÖã 7ÁûËÛ—·‰›Að·¤ôÆ�4£­»%­—¶æê¿G+¬Òº�¯7éžÎûw/ïv«”ˆÍžl“´Níü�ú/-n>¡¼ÆUy‹SüW€úf2’»ìbù¯ö °üä+Cåý²�ot Çé>7©W:ícs°­øYDX¾h�ÿ /·NépLïvËxjy¡øß‘s€4ENf� F@Y•_³ý˜¡ûn×/²ºï^³}6oñ½±òp¡öÅ6çôƒ“·•—ÿ=¤Ä6‹ª»¤s—n×Ì.½£×%T8yíÙ6gwAe©üï!ÅvémÁ�N^}ºÕ9¹ »•*WåyÍã“ò÷�‡úW;/ýw_EO„b=¾ Ÿ€²w_å—"¹Õ èüŽ;ŒŒŒ¥.;vì0:/¹×|¯¹ºòDƒSzËæýW±±|ŠÈ›ßCJìÒ;è‡3þ ¼)XþðãElcíä5gæ ò%Ÿ¤ò¸®ý^é˜Þ´!Ppª€a;@`Ö>‹ÊoˆWFå5öÆÏ·¬‹ûÿ[P‘Mz'#üÚO>·´¯ušGg ouîÉ1Ië6‹"¬áŽÅÆÚX°¥Ë!¶H *e�åžkĆTžHÒ@Ì�€²ï}U¦t�€SÁÁ!ûƒ‚öí Ü»wïÞ|Ù»�û_ø7`ï^|å¾}ûöëœR¦|eòü’¯}®xý¡»+Co¯:”§u©Ã5­~ÍÞ䟽S6Å?u¾V³!ìöʰÜÕÁ©?{_[{¦Ååf«ÎÉ\µÐ¬•s6ÉâÇÍ»“i½¿òÀ=õóMNé­¤Pé?§’©òÞ¼»¯´ˆ{+B著¿ûJ¸V œ™|ÒÖ�(X~gEÈí5ÇJLR»/BÄF™v‡<@È"0Ÿ*ïï�ššš••uÿþý¼¼¼âââŠòŠªêêÑOuuUyyyqqq^^Þýû÷ÓnÞô÷Ÿ·§ ÿ”˸Ðhs½Ó%£Û%­Ã"±rCoäoûrt.·9et;ßhÕ‰Àç/úÜXs²Ú<å‰3¶²Íô\Îo¼»£]öI fמ¸dtÙ'×i†Ëü-•l•OúYÞLÊN*Ÿ¡ÛÀ5Þñz‹Ñù‚ü!\C8 J\KÉêÖ°USy�csOˆEl@Y€K™À|ª8 €€ê€»¯ªßÆà!Ë™¦òð„ƒåÜÀw T›À_ òªÝÀàËœŒå—y÷�Pq<•‡·ˆ,ÍvæôÖe%\-|ƒp–¦ý`5Ÿ�€ ©[Û!C]9ñaÛl�è2MÏÜ= êNã;žHoŠ�ŽºÈ‡¼ýR‚¢yát²ITYŸ¨]ìæË;©·ô總쮆顂ñ캲ّú1~ =·whëÍïCñº´ýoñåžÕ‘lH7?’ó Aúo‘-#ù{q+©=oFÑ?Z€Ù ”=¢¶Â7 – �¹«<Ò_åªKÒ¶ Œ¾z÷a~Þýô ‘Ags_ Ev�Hªüg6é¯9é¢KÖu8s=;/?7óâ�­ÆdªeÄ×\yéÛΕ×>um¯‡Q”Ó•êKV× 9Ç>a i±{r}õIêd«ø†QÌpÅ*ÏyvsÍ0¸|UyVç½CftÓYO¸gˆÞ¼Ãºd“S•C̲“vd“ƒÕÃeí!ì I –�9«ühyôÃ5éñ€oÙo‹/†:™jS(Zæ.�I¯n&¤çÞ Ÿ-–FZT‰ªmît£î=.ˆ2Ö£(Ê|•ìj©O§i[xÈhìãé"û]Ù•ƒ.fºT ]ßÂãrí0Š©<™?t¦„f ì'眴¶œ©askŸ¥UHoQˆ¥î–ãEü²˜£#¥'íIZ[S[êÉ|žêgB6 ,êe‹*/q_vÍY'ª±•9à ,·‡/óÌGg�æÖæT½ˆâa,·B•GÞ${隇=ÄÌŽåY�÷›3L‚3Ú™ü:9CeÁÆTËÃ…ÂÈÕhM¸Íæx9žG9{ø¥Á –�¹ªüHÙ~CŠÅá¡pý}tÞ�ʰ?’ò°ª² )Ì…Nw¸Ø€K!&» ³=‰Eå•eùÇ< É&*\Ž¥­GG*N»Ð�½r«›ê ã÷X`ù­‰ó 1ì¯d—WWfçÔ÷°q•§»�*hmoooïxÍ+V ò³¶ é-Øo¦m)Cåq–GŠÄŒ4ÄY�é�Yo8Bå¢ÁS¬¼CfÚ>Ws£α�,LçÙ=Ù>úúoÝ3eìËz‡eS¤òìé[†‘ÅøY–WWZã�03†iH¦PâñÇJNØ‘�B*†xgÛÁ²ë �#³°Ï €Xræ¨ò¬®Tg*uÏÍWü¡¨Ðq¤?ßO�¶ýR+OQX�±®Z†ûï qP±ÁõXS‚5ÕätÕˆ¬õHß_í ;o¸µ°_¥»Óô"І8ýùþx¼A:·rɈ a,?«„>IIq d ãü<#…þZìW^þµö_Ãðà#,8>” kœ3ò*ËS×øxq?в/xÐíNµ·œrÐö¼ÜŽ¡S òœ§)Þ4ãƒUXÈ…7–'ëêQh;.6 Fñ|›P 5EïÐÃ^|Íðƒp šK\›ËU9{eA�%ESù5ßjÍv&%«3ʼnJõOçé/Ñå‘úXsªylwœˆ¢(«"Ú�bÕÂ䈩9òþþN:=üá�¬õ#õ±f$M™Âÿ�55(o†Å«Àë—«òs±Šè•DšK`ï­·âç¹Ñ¢mŠãÙZ®Ê3<ãë[xŸÖŽ—ÃŠ"¯/{êXF”²8#…¶º^×^õ•…˜êîËxÁAž'xèðBLòUyž¸M[„ÁÏ(tGÿ g=²þÖ åwGØÏ<´õnõ!¤?ß_Ÿá›Úų\I{$À –žÊÏúùòÃÅ{õ(Ö¥c^bÒLQJå9¹ÞtúÁ\q•¬©‹1£¹ÛòTøé|3ÀÆ×«À�P¤ò³¶JÂ5‘ÃÅûô(6‘â°Q3™¶/SvÄ¿ÂpÄï0Ÿ^sÒ² 9è©eq¸v˜ƒ"ï®yë˜)ÂîšbН¥·ÿ>!"Ä*‹²£X�hã`Wt£¨2þ-~thx´;ó •n](v™Åyy;�ÁðÌzÉ|qkCß¿ —!¤¤="Îà – LåW«5k•ç æ†[’tvd<ŒÙy>#ýy~ºTî”Al«3ÎMËpÿ]Ɉ�@ÍÅÆò‚õHo¶·6Å-N|*$Ò›ã£MÝ~©•/TxÕÌÆHkºóù:áJ‘ˆÍì­RЈÃùGmHº;2žâSb¸™Ù¯3ÍIº~{dß}e6³¤oMhÆÂ2H_æ>c Š'>ÃE‡3ôt÷ßÇÏ�£y‡ÌÉæá�y¡/t¬õ”#]×/½AÚ.{RMÕ î óU¿û./Ò™J³;[&Mâ –Ó¶ÆÞ�qÓ¶>F¸� ¬= pÀf '�9Æå±¸ñëü@ Yßåð…ôE¥%…Ù×/?{·“ƒŽVŸw§iÙMÍÃcw_1ÿ ²‹¢¨@Íe®G‡J£œ(4Ë  ·Š+«Ë‹î¥Ü®Á‚èpY”…ns ñNIeuYþ�ÂÖ!éÏÜgDµðO-¨,/¸�[×Ë©nÖV)šcƒ"ïÊÚ0(†nÇ.ß)ª¨*ÎI�ð² “MÞí›/O÷8]RY%ø�¹«<&&oëSŽû;šéRÉ$ CÏÒÅ'êv+m`÷'†8™hS( 3—}Iåü™”"²«ŒÊ£(óMAâ =*‰DÓ5Ûzän÷×üÌ7…‰¡ÎfºT™ahäîsŠŽuå†o5g�I4=« ë-ˆhu³µ é- ¶Ðu�9“‹ô6¤DøÚj‘544©ú޾ÇÒ½á�½qå%Þ}UWW§:ž:Tè¯EõO—�cå± �ZÐ=.¾ä=±€ÓS›¶ÃNŸN&Ót-Ý÷_)Á~1ÅlO²§™ž©Æ'\r›WLåQ¬‹t`h¹Åu~ Å~•å©EÒ÷»ùŽøD„Ñ"¥í‘ß—`+‹‘/boù´Æa7^ØJÑßyý1>ýÿÓÊR´7ÒïNµˆh È·¢]`;Ë—Oåg;Çfù“á9g¨íj��D7sö:p©l�8X–±ËW³ÚO;2ìNVž|0Ç’`7 –Pùyle¤¯«6'ýJÒÃþ Óy,œW6‡‡fS+~Ó{þk‚�P ˜ÊÏa¾¼JøN TŸ¦ò«fÿ«(Õ T‚DlT¢Á €€ 0–—V T‚¨¼J4#8€�AT^X €P  ò*ÑŒà@@Py``5@@%`*¿fRªD[‚@I0–—dk€ªCT^uÚ<@Hà©<<“R ¬@¨Ë«@#‚ @™@åe¢� @ *¯�. d•—‰6 T€¨¼ 4"¸€�IT^&Ø€P ò*Јà@@&žÊÿñŸu2³À €X²`,¿d› @(AT^ H� °d üo÷^²m† €±¼bF� °t üþŸõ_­‚çË/ÝË�r ÀX^.Ø€Xâ .¿ÄÌ@È%*/l@,q—_â æ 䀸¼\<° °Ä €Ê/ñó�r @\^.Ø€Xâ`,¿ÄÌ@È%*/l@,q òK¼Á| €€\——‹6 –8Pù%Þ€`>@@.ˆØÈÅ�Kœ¨üo@0 —¨¼\<° °Ä Àsl–x‚ù@¹`,/l@,q òK¼Á| €€\ òrñÀF €À'*¿ÄÌ@È%w_åâ��@�%NT~‰7 ˜€�KT^.Ø€Xâ@å—x‚ù@¹@ååâ��@�%Nà3¨<ÒWuã\Bn'òÑ,¾¤û¯sÎGf´KiämYÊù«Å¯8Dóù‘žìhÿƒ©-RÊ!î¾TÒD7‰i9ö/óŽ$‡ lZ:>ÃLJö“sNZ[ÎÔ°¿ …Å`ÃtŸÕeÏp>_'¥ ˜�Ç,Û/µ‰71?³1ÚÑpKTé(E熑3Ü]W\ÙÑ/r"QHƒX¯ÂÌÄ ÊWGt“˜”&YÔÜ \ø„¤ s;�ÆKZ5�…CQŠ|’Ê#C�Ùq¶ÚÑÉ$Š–‘ÃŽàËÅ/8‹áÀX 6(Bÿ·K•0n} UžÝy5p[`r# �«Ê3kÂMé;¯tÌNå‰õÎ �òÕ±Ó‚ê$‹ZrIŠ „xºÀ I«Ø€å]¦òjßjýúŸu³å€ô×F¹ê’´m£¯Þ}˜Ÿw?ýBdÐÙÜ× ò³%9ÿù¥J·…*O´fn·À‡´òÕ±Ó—%‹šA� Ÿ�taám�¬qqZ%i§Š®™ó»¢FË£·�®I�ÄÉ`ƒabe®G'SµÍÝ‚nÔ½ç ëØo‹/†:™jS(Zæ.�I¯„qY›8Ã�éÇÜ-t)$2ÃÐ&<«‹WóU^|°«¥>�¦máq £±Odä8;Æ ŽZRÎt°ð2Æ*C�é¾×Ÿã_8¯³©Ú{ ú¹–Ž>7£:Æt²¹µ!M [)fGêÇ8¨,ûEû7ûyš+Ý(ºr„M¹ªg[¸¨„qF»ïžò³1 “iz¶ÛwØéPåElˆºFH#õQ.º&»Sž19¨|ø˜ËduÞ‡š�÷Y.ðAˆD‡�ž{'|¶XiQI$b’Ú¤T‡´§‡Xhá}Æ.à|A·½ˆXˆi� ’EÉéHò!`WB2z;Ò“½ÛÉʈA!a-²#üfí[aï•Z,ò® v¿›�ƒB&k™ÈzÁAeø(Ý~UXE‘ÞŠäCîzT2™¦câà±7íñ˜ *…¼¬caHÊ+iŠJïE\ - XÓëØzŸ¼‘³×ÝJ—FeÚ]ª@„¨„æAJ.�¹Þ})ÛoH±8\€EoÅ>ø�aäuæ~ayeqÖñíFd“•ƒŠŽ>:ïNeØIyXUY�æB§;\lÂ÷–¹‰ÙvÙŽf�˜_ßÜT[’]ÖÁÕÇ‘ŠÓ.tc¯„Üê¦úÂø=XÂS. åmx—s€Nßy·‹c�µ^´%k…æâ®�å±ÐÚyµ‡×·8ï²ÐiY¯ðˆ7Ò›ê«kt„#Ó~ëßÂð…„Ê£ «~‹Ì¾p¢„q #íÉÚÇ®=(//º¿ß’N™­Ê³ÆºRüÌt]O7°QT|Üe·S­íííí¯4=¿÷Î(Üæ3Û“XT^Y–ŸqÌÃ�Û…¤w)ÕqúÚÊóËk?®}p9Є¢žûë§D,Ä4ßnc‰X.³3+‚ §·ãešîI((+/ÍÏŒö¶ 0œ’šävlî.¾ñÕÕeõ/X(*ÃGIJ€EÑÑš8*Í2$ñniUUQV¤-…q(�{lbt¤‘—~,ôK=`%­’Õ‹pOÍ.—T=ªx˜ìgNÕÔqŠLÉ)«(ÍŒòÔ"›�«Œ�Í 0•_ñ_Æl#6¬®Tg*uÏMÑ©ܺˆ½ EÇš¬©&§«F�þ|?=ÚöK­<1fuƺjî¿7ÄAål©:eH±‰­¹b@úøêhÝyÃ=Ű_¥»Óô"Š„�Rd`¨„ ý¯omgèÊëCQN÷õÝ m-ËÈÇc”Õ|ÒŽ±í"ßfEÞÝ÷ÒfdàŽc§:†úK9ö+Työ›,ùU³ds“Y8AÂ�Þì]Ú4¯ä'¼Ó±Âˆ ±ù¸éèûYavZ¶a¥o°s›bøø!MŒËËã#蟒õòoà º�ÔÎ AP/ÁîŒqѲ?U�Ýf `I ö‘°\fGRÔå¹LôEÑÑæ(ºIHÎG6[±]sDå» ZŽ,g Ð_�ê‡ßŒÁ:ù]OšˆÊK%/õX�šS²�dö" ‘ö¤�ƒ�ª1¼óŽV†Óˆ£ø*‹—_ñßYÇåY�)NTª:OgEJi'黿“N84RkN5�­œŠYÑ›¨&GÎ&tìÉ_s2Ýlç¡ ›Þr'�ŒÔÇš‘4Id ÿCÖÔ dŒ™¥ ­cÏ/nÓ¶Š(e"ý™{MwÇ_òÖÛ’ÜÆÄNf Û‹Í£B‘¾ô]¿ô÷n6Ãýæs–<ûE�:ɱ<м�_õ\ 'ÈÙH]ŒÅ"¶žï¬UžAÓÖ&SlóN1|Q—Q•ç‚€,±ÉˆiEÞóº�ÔÎ © (ÊìÌ�p·5ÒÕÖ523`�­"KçEå‰�Y~”粨w(Ê*=aCµ;ÝÆÂz”ôbÅwÁ†×Ò}”€/r¢-Gv´!΂j~¾†×Ä’*/�¼´cAzN «”ôô}v…æý ²:Î:1¶œ~ÄAÇ�„BØX~åî¾ïÕ£XG”BwüºD{g ×›N?˜‹©¼E¦ÊËÚ„Êî,¿émC'éz%Ö�rP\¹ŒŽÜmy*üt¾Á‚ üϬm`·\ÚN³>ñø}ñ>·ëO^^õÖß•ü¤óÆnºÍÉîP‚W6çmn˜Ž–×½7c͉ —¸.6~pÊp eÖ6£  RTEäW-‡›Ì‰*ÏÅ^Ë?¹Î^å-}Ã|-麮§ëû1ŠáK=¤eñá·˜1t!,¯Dg�Tyf{òº¶Gdzåã¶ö¦ü#ôùRy�% !Èk5ÑΉ¢¬²“v<•ÇNÉÒ:¶ø.¨L%à+v¤î¼)Å2Ž?�¢òRÉ£RŽ%ÛH&@QO‡†Q¨^9ïñC›Ýã¢mª ;aÃg6æ—ç æ†[’tvd<厠VÑvHžŸ.ᾫ3ÎMËpÿ]Šq§ÒÌã²Jªª+ ¯ì2 ‰ß}%æ' !=ØxÉQ‹±ýBýG|¤?sŸÕÂ?µ ²¼àvn]/G^Óó±ê’0ójš IDATÕ|Ò;ƒDu£Ím)ÚÛOdVÔ?ny\áÈà©<ÑMbšo*Q”ìά‚—1OZ¶{2”•åaÅòle?n…Œb‰pð|c2}”€OÜ—˜&œ´P¤?'ÌŠ¬ë�^ô¨¦$óŒ¯>‰.r÷UúaˆÝë;”l#ެ^$j!¨¼ o~J‹Ë¯üvÖw_¹U²ÞÖ§÷w4Ó¥’I†ž¥‹OÔíV–h;TEÙ=ʼn!N&Ú ÃÌe_R9q&¥ôMCuIžÖT’‰¦kåšÞÀŸ1É|S�xÀÅB�J"ÑtͶ¹ËŸƒ›68Ï2üi»Ë-¸p#//nצoMxΛ4)™ýú®—6‰±ýÊkÁ¼.Ù®qF»oŸð±Ô§“4É =S{�àÛíÜsƒ LEUϺpÎ›ÒØmæzŽÜË[voÅÕ#VTÜKÇçòÅn›òÑÓ(«%y�îx¥y•EǺr÷š3È$šžUÐuü ²]àQ ÖELÄHVg¯Ž7íO�¢©I¦išÛïM~Œ_ÜD‰iACHX.ÃlEdöv¬L†ÁOwK= ™fhçsþÁSa‡�Z¬¨¸¹ÜÆ’>ÊuA´ⱉ µ§EøØkShúÛ]ŒÉZGò…Ód‘Çæ‹Š ²rŠ·‘,€¢‚Ê »æ'¤>é·¯ŸPïßu´!ÂÖ0ø®˜V.q§Àü…! *d Sç¬ja>Iv [&JÈÝŽ¹xÃÆ¹Glƒõ nÃèó–ÆÖæêáÎú.1mLÞìÄ7*\ʣʳ[¤fæWÕÕWß:îiL³=ù˜{+I&i8d¢Yl@ågÓ"¬¶7]2EÇÆëdñsáEölŠ€¼ËžÀ"Ty¤ÿái/kc]öÃWS·€Ó…]³*ÄÚ Ž1 ‹ø+¦òsŽË/b¿À4 €ÀÌù96€ –¸ûº L@Ì™ŒåçŒv@,X\~nÏ—_Î�‰@�eOæØ,û.€Pi±Qéæç€Xö@å—}@¨4ˆØ¨tó‚s@,{¼_Eý6û·{/{t °ÀX~ 4˜€˜3îX^û‹Œåßvõä%>LôŠ?aes<~[ÌÄo»zæì ì€b0•WûVk�U~t`øâ®„H³#¦"K¤é‘H³£�¦máq £‘÷Ž\Îh÷ÝS~6t2MÏvû;*ïíÞDïda‚FÚ®xRÍ�5p%ƒÐ#•ÑÓ³Õ’ï�)9aOÒÞšÚÂÀbdž§ú™�  { ‘¢%Êú+£q­H>än¡GÅÞ‰aâà±7í1~Ò‘ÁGè¢¬Ž„¼+ˆÝïfcÄ �ÉZ&²ˆ§¨Ñòè-$†kÒãa9Üoóez I÷ƒ7lÑ‹!lû@é C²ÁɲUÈ�]sÖ‰jleÎ0ËíáK8óÑYg†¹µ9U/¢˜w[‹ùôêåßí'î|W ±‰ßC ל²?9ò~ä#þîúD¯xÌ’‡ ¶yôÑyw*ÃþHÊêʂ¤0:ÝábWVFkâ~\ûàr  E/<÷vœHUX¢ú`i†ÙžÄ¢òʲüŒc†d“•ƒ³í²Í0 1¿¾¹©¶$»¬;|,ïvª µ½½½½ãõ ¢T½2m`˜\.©zTñ0ÙÏœª©ã™’SVQšå©E6;ǓבŠÓ.tc¯„Üê¦úÂø=˜yÊ,Œ´'k;»ö ¼¼èVü~K:EšÊËÀ"l€¡[{õu÷fácMÞP”=cw§¹Ò)ŽGr_‰�GÊöP¬Ž‹ÝÕmŒ· Ó³Þðå E%9+öW–ÁX£Si–!‰wK«ªŠ²"m)ŒCyC(*ƒ�ÐAÙ ozSßø‚Šê겂ú¸ :R¶ß�bq¸@ÌG¬Tiݕّì@¥ø¤tsGúÄð#ާ¶bn¬¼CfÚ>Ws£α�, $»'ÛG_ÿà­ûa¦Œ}YïxnáýÐû>òz ©åE`¡Uþ¸EqÀž“Í•xîßÜs÷‰[£mOˆ´†´ÃéÏ÷Ó£m¿ÔÊ >²:c]µ ÷ßâ œþ||aÐ(RÊîŒqѲ?U�µ2VkË™¬¢¡èXS‚5ÕätÕÈHÕ)CŠMl­èPN~ÄFV½ m@‘ö¤�ƒ�*®žŽV†Ó¶]Ä|GúøêhÝáI'ûUº;M/¢héÍÞ¥MóJ~“T‘¸ü“sN|ïˆ`ˆæ Ö³»c]µmOVðN¤-ÆÚnsÐ%Ó �öG§Tvrëbu¥:S©{3ƒM~Y#…þÚUî:"[bZ¶¿ü²ðÿƒ9…þzT·8Þ­äÝ]O¦ò²øʑӑĚ^° Ökp÷Ü”6gI'fEˆ!Å2¢”%ÜÊa� ¼l):·Ë„lXôŽ­˜g(#@× 8gäU–§®ññâ~e7^ð Û�jn9å íy™?UŒÝï¦mw²’p^â[ÿ— �/­òçîU>çì=¢Ê·ˆiá�!\=RkN5'¼ožUí@±‰jar$6q÷bvæÇ¸Ûéjë™0ÈV‘¥sPyäýý�tzøÃ!tìÉ_s2Ýlç¡ ›ÞòÎ(RT^‰z«<ú>;„Bó~ЇŸÔXg�[N?b£èH}¬I“D¦ð?dM J@Æ›‘º3ŠEl=7P‹¢2U^†yÒ¬ÖS §su<%ÚyýèÞ¥0OKÙÀçBå Âau¥:}ªÊËôE¥<ÚgA5?_à  T^Áõ„Dov$y*ß™âD¥ú§®KÄ$a[DUžÓSW× »¾ÓŒMÊRÌ y}ÙS;UpF #lu½®½ê+ 1ÕÝ—ñ‚ƒ½æ¤erÐSËâpí0EÞ]ó&È:»;Þ�p&b|Y.0•_ñ_Æ‚Ý}½wúQå#L�DÛ�Ì9w?GÊÝ×£Ùçƒ´ÃéÏóÓåßNÄ.¡;ãÜ´ ÷ßÂ&ûåøhS·_jå ?ñ²ú°±ð.žJâc"•ŒU¹‡˜FQ•çY9\yÊ™l^3ÆA™�‘Ötçóü‘/Š*U/WååØ [õ�ÞlomŠ R!àÆå³5ž?T†ÊË4OPg0s¯¾î¾Û¼i¬ÒÚ‚›‹e‘ØU:\aKÒÙ–ÖNø�óÅ S’~@Á;B³ÙÓ²ý•e0òöΆ0B%PyY|þÉéHòTž3˜nIÒÙ‘ñ”–HœlНe>O 0—v÷•Ó÷(Æ–ÆØy© t+â†5"}k>EéËÜg¬¡Añ¼Ô†_ß gèéî¿Ï;ë@\^ÐË8ÁSùûíkws·äO^Åt_ðµ»¹[¤ipe¡o=UXVÎÿT¶÷ VŸw§iÙMÍÃcw_ñ‡Ë¢œ(t›‰wJ*«Ëòï¶�5_´¥ho?‘YQÿ¸åqQ„#ƒ§òÈˋ۴´Ý£J;Wñ"‡·¨úTžÙ]z#3ïQcóãÚÂX_3ªýévEú3÷Q-üS *Ë nçÖõŽ*S¯Bd«Š•F9Qh–AnWV—ÝK¹]3Œ÷£�bÜ©4óÀ¸¬’ªêÊÂ+» h’w_eb6Ò†OË{,1Çf¸>åÀᘛ÷ Ê*+Šs¯Ýf¤©å™…OÙFz+Ž9j“õÃãÓçݾ¾Í”L1=”ÝÍ»�Â-ŸÈ–˜–í¯Lƒ‘þœ0+²®ktzÑ£š’Ì3¾ú$:~÷U�‡£2;’¨I‚x¶¿Î´ ‘õ]_HPTZR˜}ýÂñ³w;y3)·ž.®¬ª(+¼{=f¿‹!It&%áîëhMìVª–ÛõLŸpcV†Ѽ’;¹u¸éֱà ռ9KÌìPC-ŸØo°1Ï5GºyŒàJNÌtøº<ð"6 ¦ò‚$zÅGH<Û@ ì‚D¢W<‚ˆH÷XÊÄR”}Yï8ìžâÄ'm …aæ²/©œ0“’ù¦01ÔÙL—ŠÍ›´?r÷9‡7ñQ�¢©I¦išÛïM~Œ�*9oJc·™ë9â^ëobš0–ªKò´6 ’4H4]+�ÐôÞüű®Üð­æ 2‰¦gt½Qª^E6ÈV=Ì`曂Ä.zT‰¦k¶õÈÝî$KvoÅÕ#VT’&™¡gé¸ã\>~·PÄ£áÆôcî’X„dz=ÉžnÉ»"ËsšïDúoµ4`�54)ÚF[¼Âo<ÞqE;îžq·6Ä~¥cêê™YÛ#Ú®¢w¶E¬’±AQ™#Cíi>¶ÆÚš¾Ãvc2>qE�‹²:’¨I‚ì‚ëm}ÊqG3]*™DaèYºøDÝneq¥‰ý*ŠDÕ2ÿU”øHŸ3\aG7ð»Ém5yÜF‹üµ¨þ鯅Ã�)(«ð¨ÝãâK¬é±{õ4‹c R& w€”Êà½EdÁ"6(Šö¿}Ê!J¾ÐGÛžåß0TùFX*"oR| Lƒîõ fè/zË™O’–í„ñ‘º£ÖZÛà·¯‹¾—~n1•_ù-cÁÆò\úzzã=c¤ÿÖìh¢WüÐáw4Ÿ›”¯4�¡†8ºå™JÞõŠÒû-dFvëƒÔ̜⪺úêâ[Ç=�i¶'–gb,¤Ss¨‹ÙxÑ“a~ žc3xªµ —ÿV{!Çò\€£££ÏZºîžº¿-&ÚîD”Íñ„�q¹ñ9/:^À(~÷±ášÔsiµóý´²ytéxÚËÚX—†ýðÕÔ-àta—Ä}Ñy¬nñ5Òr'öJ‰0t¶x-Ë>3�?ñ±ü—y¾<‚ £££ƒƒƒøgpppllŒÃ‘lüÌ x €€ªÀÆò ÿ|yU¥ ~ î›…~‹Èb£ö T•Wå¿@\^U�‚_@�EE€w÷u�çØ,*` @@… ÀX^…\@ ¼¸üÂϤö@ °0•‡96 ª@|˜Ê¯úV Æò_„>T €øÜx*ÿEî¾¶µµ•——çåååçç—––¶¶¶r'ù¹‡ò�Ë‚7.¿Ð¿}E¤¥¥¥  àéÓ§cccÓÓÓ“““cccÝÝÝ¥¥¥MMMâO£\äm�ôdGûLmÔâBš�¼Î9™�¿ Ž˜·a¤.-6£/¹ø&øþÅ Œ¶ÝO¸Zö~ÿýÅ[B• àªü‚Fl©®®nhh˜œœ$¾�›žžž®¯¯¯©©™O¡ç w×Wv`¯[û,EO¦�{¥Ê[N|Ï1-Z÷pc‚-ÝâTÙ"~�¨ÁËìÛXCÂv†yX%zôˆ+èÞÒõõõÕÕÕ.þÒß%ùü/—LQ,KÔ9æ wSùî'w“¾Y3E&UF/Ýq±œž �ꋜ]-ñö[­ªb$s×2· ‹vû4Ùš³�ô¯ûÓ+_K”ëUíik½—¶}Át¥X¬ˆŠÿúd�s *¢MulË¢Ùr±H¤ˆÜq¥ÉÎéËúýñ¡‘k3us~]pE�h¹±oõ¼˜…$8X¢ŒZ´õ\)%w,&*¦–µš½ëJ=u¾»çÔ@¶Íœª ³ÍÙxDÕb£ q•�›~C�¨>±\µ§lÀ’~lG_þ)ûSɪ90G{ Š½§²Yɇ¸u¤³ué�E‹äßfµ¿9‰M ÈL-/Ãü’ð·õ.í�©âéÿ.òyþaßÛ}Ðê°Éa²ê®;=oÜ®|¡†¤¿ð­òjµÚjµzSvî~‹Å¢Ñh\êIKCØ–�÷öEÉ¢~Ì¡WDsQù®‚Cñ²i_¥dUès“ÖG‹"wh;Z+e‹ªªjjjjjŸšˆ¶Û;d²×[(9³T¥ÅŠ&GlÏ¢×M³äìŽV¬8ÝJ˜‹�,–ÈãvgdSËÉ“M+£×6¡4]>}M’ª ¨(_¥o²²ËÃZ-õëf„.<äS¢×ñÌXâXä“>}ÆúÔ<�6?ç➥ᔓ&¢»:}Ž4|cj޾²¢äþ­üZZ•èˆ ×s’´¿¨ÖähJ †’;é_GŠÃveµQ2ÏUvnú ÁÎË›¦„nºò’¹û0:»þÂs³ÙâÜZo|CElü¤³ÝÕé±bÉ–kÏÞ¸À¦x´nkøe¡L<wÖŸzÇÃiw·êl¸Ôaµ1áúŽèŠnôUgèÛ}íÒ›<9X$vn¢ÉAâ�›íµ’hJ[¦œù£º›h¿´iúÚ¤ã«Âæ�ªî¶Ög~!�M«4wé�EI¢+YSNX ÌÏÞoì¶»É4u�îžK•J‘86Õà)2à]å‰ç7WÈd»²;I˃k¢D²+¾KήhuÜ(zNv?ÌIÚ¸86"T1cª\4s¯Ú'•·Vœ+_ðs©£dÚ%Y‘Bý›-?uµhd:ëTëÏ?M‰[Ÿžï s¹4$ÉÈ"ŸÖ‰®§Å7Žï\#M]�¬5¹ôµß87¼vgÏc`.?¦38¶ŠÚ'œ%µ=«¼WVDó‰!Q»ó ò,`$FB€Ry>×}ÍÏÏ·X,ÞúïÜýjµÚ¥n\•'IkÓõ•SCV¥¤mtޱé*=:C±ûº±îÍö°¹Ã6°/O’„ñx‚tÖ>Ãó{›#�}ðøôª)+O=xxn­löOF‹�ºaˆ‡§ò1kv®‰‘….<¤oF_ÞÞ‘µJ&û6‹ŽÙ_>Ԝ߻j¶,8ô«ÔRJ&¨|wÍ©y2åÒ½´†êšŠœÝse¾ª¼­~`_ÞDrRyd\–p¤¨¬Ü`¬ml{9ØÛÜÛ¯Ö»Ê�¯”‰c�Wz~þ:¼vwzîqÀ{Ð[\Þ++[CÒbί.NAH‚À¯ @©<Ÿ3TTTÔÔÔpÕÜ[º®®®²²Ò¥J®*O’öÆëۦȲ`13’’xvk•R¼(±Ü½Ô]¾w–ì‹#În,](ýŒ+fßÑÓæ®µN¯ M8ppEØüÃ:+Iíw×…JŽW³›ÄEŠð-׋ØÖ½lÌÚ%�¶6³‘ûèÕáÄåóë˜[�‹Ê;jûR{ð Ñ´]:‹�àù‹[ÛÄÒ•·ŸÓgOÓ—‡¸¨<ÓUgâòl·�)Önº´iJèæ«Ž§Ö�ÑY·Û†Kóq?g� ‘‰äÔ�'OÛðÚ�-ÁSu؃ÞTÞ++úÖŽ¸< ’#"Àôåù[+ª­­M¥Rù2’R¥Rµµµ¹TÎ]åI’hþeCdÐç"çxùNõþbiÌÖäË÷´Eš¼WuT—’h¿´9B½!S¥Õ¨®f•ÒïÙ¥,UˆÄÒxZým gãeb‘dvj…™6j.:²Xªˆû!ó.õôuõô5µŒž}Á5°Neæì1•Ÿ¯�'$ë9?ØŠÁU¾»A}îÒÝâòJCIî±53$q‡j¬ö�ž›+ÓbÅÊ„}— ô£!ïÇùr‡Ê�Ó–)”‹÷«vعé7‰jzˆõøÁíÆãÌ3ò¾¼å²V˜+‹Ü•ãrëõ$‹±N’/õ;¾?zþ¦*_[p/ëìË"O <:F§Ý�Ü~]_Þ+º@ëÃ3óeQGK<…þX‹H€€Ï(•çó­(‚ ***t:�·.<³_¯× ÷×_ª¶,*lþÁB+ÉM¿¹ºkNÆÉb¸.9³Dg»Ëœ){ó<€±Å›uÒÞQymï†%1S墠Ébeļ¯v�+n¡ntV»;¹ùU剚“+¤Ñ{Ê\º ¬%$@`ØøŽØ�$ÙÙÙY\\¬Óé<öèûûûu:ꕳ™£’îNðD€hÎX3uúÖí^ž=z:g¤ûˆÈ‡8J IDATö¬ÕÊ©?湎i©~8”:ÖUúÃ,Å2¼ûê‡Ft_þ=¾×}5™Låååyyyµµµ‹¥—Þ,K]]]nn®Á`èìô6E»��@gYâlYÌa­ã‡ÂKóåt“öPtì½c”¾/gð”gT:Ö]ž¶\µ£Àã Ã<��™·�€0*O’¤Ùlnii1 jµZ¥RåäääççWVV¶¶¶¢È«ì¥.óç_Jx�­Ìf0è(�5ô½ìÑçX—ñÚ±÷递ïÕ@N”¥òæq¼<ׂ Ìf³Édê 7“Éd±XìöAÞYáž�4€€ÀЕ—c­¨¡Q!€ŒAtÄfT~ 6\@å}€„,  0f @åÇlÓÁqð�TÞHÈ c–T~Ì6@å}€„,  0f @åÇlÓÁqð�€�*o2™ª««5ÍÝ»wsrrÔjuUU•ÉDÏûèƒëÈ  0$aTž £Ñ¨R©êêê,Koo¯ÅbihhP«Õî³QYa3-·lø6“™êRXWXë]¥¿»XF¯ÎîiÂ\}3åt~+ÞN)Hœ<@å ‚(***++ó6'¥^¯×étþzûˆÒ{ÚÚö@É“ëdÂ|4ßP5zYž+‹>˜ïßùj,e) ò¨�ZÌ¥ÅGÃø‡€*o4ËÊÊ™_¾¿¿_¯×———»W‘ž”±\µ§ÌËÊ]úcÑ"ù·Yí[KmâÒPå’ä:³)ÿqÄú;O˜e)•÷¸d½^n´cÁ)—æÁ�ÑH€VyWQ«ÕV«Õ›²s÷[,�FãÂŒÖʰ-7ïí‹’Eý˜ó”Òe•ï*8/›öUJVQ…>7i}´(r‡¶ƒ éžï¢ƒªªššššÚ§&¢íö™lÅõJÑ,Ui±¢ÉÛ³h ¶äìŽV¬8ÝJ˜‹�,–ÈãvgdSë¾î¤Ö}M+£c,”¦Ë§¯IRå«ôMVvÝW«¥>c݌Ѕ‡\bJεCåíÝ/šJŽoŒ–Îü¡”Z,Ü»¡A ¨TçåMSB7]q¬ÛACãêuwuz¬X²åÚ3æóƒsKBä 7®‹–Fì¼õØñiÀYoʧMcíé7@��ÑM€Rù?¿'ÿÃÄÏøñ3;;»¿¿Ÿ«æÞÒ½½½*•ÊÅ+‡Êßì¶›K’äko5vsUžxqgMˆrëµfFªlO.,–†ý˜×ɨüе #I[ó•yèww_�¤½áìZ¹2D³—ZöÚZùÓù²´*k{κ0iÂñ*GHÅúðØBEø–”,szî÷˜=n^Ù9G»SÝÌylÀä = šLmAAŸþy�,ö`u—"¼äÐÀ½ek8¶PûS�#ÚÎèõú ÏÍæ®Ž¶ú²;‡VD:–·vzo<þ¥8((t͹6v¥@ú,ç¯êÿ ðo‹™¶†¤EÊ9?i�Ñü7–‘…(•ÿ �«ˆø®òýýýÙÙÙ.ÈX•§–f®?±2|ÊŠ“�Ljöék—þØŒàÉÁ"±sMo¼Øl§»Ÿ\•'‰¦´eÊ™?ª»‰öK›¦¯M:¾*lÞ©ênk}æòØ´Js—þX”$Š—°˜+ž½ßØm÷¢òr©R)Ǧº\|f>О+V¦UÔÔÔTõÚ;é»*¤1‡òŸ bh�Cƒ©¼µêà\ù›Õ´Ýô:H4%n}z¾3úD­ÚUstI¨T.9ô”ËôYòåIz£c«ª}ü’¹ãÍ'V„Dí΃Ê{hhì�ÑG€‰Ëó7¿|~~¾ÅbñÖçîïèèP«Õ.ĸ*O’Ö¦ë+§†¬JIÛ*]�ùÈN’]¥Ggˆ#v_7Ö½Ù6wؽjÊÊSž[+›ý“Ñb§nâá©|Ìš�kbd¡ éÛ=÷å¹qyÒjÜ' ßv»Ã»¡Á|xßbIÙêöåe GŠÊÊ ÆÚÆ6‡V;³›K—JC–�¯(;²(D¹8©ÖK4ß™Ÿ$m I‹9¿Þ@ @`4à[å+*¨î,Wͽ¥ëêê*++]˜¹ªzuv�]T¾K·+Z¹+§Û»¡Á|ðT#+»éÒ¦)¡›¯:žNÓиqy.ÒÎòÔ8YÈÚŒZIvU�þB!KH5Pô9 qy.A¤A`Ôà[åÛÚÚT*•/#)U*U[[› @w•'I¢ù— ‘AŸ‹•'ÉNõþbiÌÖäË÷´Eš¼WuTß•h¿´9B½!S¥Õ¨®f•Òï Ù¥,UˆÄÒxZým gãeb‘dvj5¬�$ÍEGKq?dÞ¥ž¾î¢ž¾¦–ѳ/x‹ËÖÙHÒT~|¾Bž�¬g‡ÓP…ў˨�‰EZõÝ«'¿O˜.’ÌüYÛ>˜¡A|ðX#,¢šìH=fpšö¬ò݇(—¦Ö;†¥v—&-+�{`q8¼ôÐ}m!»»ì¤õá™ù²¨£%žSð€À("À·ÊQQQ¡Óé¼uá™ýz½Þ`0¸¿þ:PåIÒÚxyy¨Ä©ò$ÙݬJÝ& –†ÎX²ûz ýDÑRŸµkI”\, ›¹õ,3�ýÑÅ Rñœt#=œ‘xœ– ”-Ii´9ŸÑÚZî¥n[©‹å3â7ŸÔ8cÙƒª@B³ òc¶éà8€ø@*ï$d�1K€Ry>g+³ à8€ŒIèË�ÉfƒÓ  à#¨¼� � @Æ$¨ü˜l68  >RåM&SuuµF£¹{÷nNNŽZ­®ªª2™èy}tÙ@@% ŒÊa4U*U]]�ÅbéïïïííµX, jµº¢¢Â}6ÊA뀃Ã&@´æg9}ï‰Oï-·lø6“™Èsئp€€°Py‚ ŠŠŠÊÊʼÍI©×ëu:ÝèzûˆÒ{ÚÚvŸdq�&í.?0?|Þ~µ×‰{ò”AÌy;Ô]¾'FîX#eÈòδìVì�%¸åÇG  òF£±¬¬l�ùåûûûõz}yy¹;¯S¥»gôÿçAVà–1ÛÃÓ_/ûúÔ€Õ¬ØBòö\ß\•²ü!U~È|w 9AüM€o•7™Lyyy{ñ\ÝïííÍÍÍíèèp©ï[ ò.õñôa Ê{Ê5Ò}\•²¬!U~È�@@8NüÇo>�ÄßêÞ•••�=â º·t}}}uuµ ®Ê-7ö­ž.—KBbWýtî—£›Ï •Jäáq[�k;˜4ˆ–ÛÖ.˜!‹¤a±_î:_Òú&êbk½—¶}Át¥X¬ˆŠÿúd�s5(¢MulË¢Ùr±H¤ˆÜq¥ÉN‰¯È¹v’xû-×ÛO÷“»Iß,Œ™"“*£—î¸XþÂNÚŸÞÝ!�}¬¸�ªB÷ôåSfl¹Öf©ýy�b½v iY~aÏâèPq°H>{וzʱ�†¸"ËÔ:&BAÕZµhë¹ÒçŽêÏ N}·8:L"IC"ç.Ýô‹ÁÂ¥g77\?¸nöTÅ!áË9!ÎUm¹å{t‰“�èÐï��\›ñˆ»°-'éc»�DÍ…m3§*èºÏÙxDÕÂ.Ñå­" së‡4€€g|÷åÕjµÕjõ¦ìÜý‹E£Ñ¸xÍUyJYä36¦ß/,.È>µ.J29dÁÞŒÛùêKû—+D3~.¢&¥³M_Ÿ¢Êרs.X-–/8YÁ¬Yj.>²X"�Û�‘M­ìº“ZÙ5­Œ^½„9kM’ª ¨(_¥o²Òâ+[tPUUSSSSûÔäXô›v¯«àP¼lÚW)YEúܤõÑ¢ÈÚ‚$žßØ#‹Ûoèì®ÎX£œ¶1§ÙFr±»:}Ž4|cj޾²¢äþ­üZÚ+º/ïbˆs }º|ÆúÔ<�6?ç➥á”-ʳ.q©D³-õºº°0ïÊÞX±ü»»œ•Xì¦Ü½q"åÜ=gîh4y—“¶ÄÈÄŽ¸<§|Ï.93X-õëf„.à,&�â*¾NϺôÇfO‰�›hr�xãEFôí�oî�²ê,³È¸KÉ–'ÖD‰d3V|—œ]ÑêÐÎ�qyn¸i’$žß\!“íÊî4—%FK¢Žè˜ß(ä@•ï*=:C}Lï\J׋ʓ]¢ŒÊ¥J¥H›jp˜pÖžþŸë7Mzo²ûaN񮁱¡ÊЈS墙{ÕV’ôV‘A!»ø‚ nøîËççç[,oýwîþŽŽµZíâ®w•ïÌÞ)–|uû9-•¶ú£ñʸƒ…VO*ŸÿÓVågˆý¡ò”€Fì¾n¬{³=lfbD{Ξ8©B! ]q¥¾›ª‹«’ö—5ç÷®š- ý*µ”^9•·wd­’ɾÍêì*=2]“èq*¯?FU¶Ä©ÑÞTž$=¸D«|Ìš�kbd¡ éÛ}ïË“ÞÚ¥»æÔ<™réÞ ZCuMEÎî¹2Få½U„¾Ky�ìr‰à€€;¾U¾¢¢¢¦¦†«æÞÒuuu•••.þŽ\åm ‰‹äS¿¾ÖIElî® u>�¤#6‰‹á[®{‰Ø”ï�%ûâHé…#‰g·V)Ål´„ã°½5oïtåÂÓåÆã+¦Nùêt“Íӯꄗڃ_ˆ¦íÒYìd÷CÜ7MÅ7*O´^ûRþ& 3På™Ê.IrŽàDåà¸ä4ú²1kc”tÚÚÌFî£W·[—33ʛʿ ~{­tÜ•‰§éËC•÷Vï�9¼‘ðD€ïˆM[[›J¥òe$¥J¥jkksñùWª¼\»)åâ�üü»'wÅËÄ1ÿÖÒã^HsÑ‘ÅREÜ™w©§¯»¨§¯©eôü ®REù@´_Ú!‰Þ�©ÒjTW³J¹«fwª÷/Kc¶&_¾§-ÒäÝȸª{I�DGÑ®™Š%Iún’´Ô�]¤Ýx¾ÞÎ)¹»A}îÒÝâòJCIî±53$q‡j¬ÔÍÇÝç·Ÿ¬Ê“Dûí�3E¡ \È+ÖÝ¿txÍ”`™ËÓWÒ\|t±Dõuâ•û…EÚÜ+§J=<}õèÇSùñù yB²Þå­.N7½©¼¥2-V¬LØw©@o0ò~œ/gTÞ{Egõ‘;ut脆ak¹—ºmA¤R,–ψß|RãIÉ•-'5K}Ö®%QrQ°4læÖ³®¯ûw7«RwÄG‡I‚ƒ¥¡3–ì¾ÞJXË“–Jcv—8Fãtë~^(ŽüFÝZÍŽ¤ì,=¹|ÖTIpP°4tæÒíÊ^0�FÝ q�á¦9}yê6ÔYóË�«c§)ÅÒ)s⧉»s8cl¨÷³‚Ó»—Μ* ž,’‡ÅÌÿòçz†N™ž]âd I«ñÔJ™lþ‰JgˆÿWõåI’E&žæq¼<—*Af³Ùd2uЛÉd²X,vûXì�r«…4€Œ"Bªü(ÂW@@à-%àˆØ¼?áïoiQ-׋Ë�kê¨<€ðE@˜16|Õv@@`¼€Ê�÷+õx» üaâgÔœ”ˆË¿ÝÍŒÚ�Œ[ˆË�Û¦GÅAÆDlÆE3£’ ã–úòã¶éQq�qA€RùO&É?ÀxùqÑܨ$€À¸#@©üÇxú:îÚ/—/-�z‚ŒOˆË�ÏvG­AÆ DlÆKK£ž ã“€cNJ¼5>›µxë Pqy<}}ë›· òã¶éQq�qA@€Õ½ÇWT@FÇ[QNültø/@@üIÀ1Æï¾ú*Ê�QC€šyøcÌp0jÚŽ€€€ `¼¼y¢4]0^~tµ¼ÿÀHJÿòDi  0º`¶²ÑÕð@üKàÉŸýæÓIrŒ¤ô/V” £„ÞŠ% 7@@ oEa¼|@è¢Pš€c¼<椺!`@BO_‚…‚€À(!•% 7@@ *�¸|@è¢Pš€Cå—º!`@B*¬(@F Jå±"à(i ¸ ~'•÷;R £ˆ€#bƒ§¯£¨Mà €ø�¥òŸL’ãé«ÿ�¢$E}y¨ü(j¸ þ#àèË#bã?¤( @FG_3�¢6�+  à?ŽÑ—÷R” £ˆT~5\¿ "6O’£/ïw²(@F¨ühhø �"àXE}ù@F¹  (G_clm�@p¨<ÞŠ `”  ‚€Ê ŠÆA@ À#)Ñ—0g Âp<}…Ê ƒVA@ À0’2À€Q<€J}yAñÃ8€˜À‡?Ê€fŒâA@@8PyáØÃ2€žÆØž1,€€€p ò±‡e<DlÏ@@@8PyáØÃ2€žf8±Ã€ðD€QyÙûþΓA˜à‘úò<†)à�Tžwä0 <À»¯<†)à�úò¼#‡Aà‘Ó—ÇÓW‘ÀðH€éËã­(‘ÀðH*Ï#l˜Þ .Ï;r `Œ �°a @x'Àöåñî+ïìa@O€UyÌcxذ ¼`T^†™‡y'ƒ  À¨<”a@„"Àª<âòB5ì‚€@ °qy¨|)£hŠúòB‘‡]àƒTžʰ B`TóØÅvA@ °ؾ<ÆË4JA0*/ÇxyAèÃ(€š«òchÔ(@ •:L‚€oظ<úò¼1‡!à�£òÒ÷'@åùƒK  À¶/ÿ7ÞL€€oؾà¬a@ø'Àöå1Ɔø° 'À¨¼#)N@@@l_!ðÃ&€˜—ÇHÊ“Fñ  ¨¼Ôa@ø"Àª<"6|!‡à‘—ǩÀðE€íË#.ÏrØ @åy„ S  À;¨<ïÈa@x$•ç6L�€ïX•ÇÞÙà €ž£òò÷'àékàaÀðNÀÑ—ÿ=Tžwô0 < Tþ£IRôåy`   À?¦//ƒÊó�A@€Nüúòl‚€@À bpÄ0 €Ê ¦A@ àqyŒ¤ 8i!@å… ›  À‡Êãé+_Àa@x%•ç7Œ�€Ï>˜ðwj­(ôåyæs  Àôåùá +  _d%¸ÏIDATôå…á«  ÀŒ±á‡3¬€€€0 òÂp‡Uà‡±ÁÌÃü°†àŸÀûcÃ?tXÞP›�°Šo¼a@ø%•ç—7¬�€¿ðô•_Þ° ü€ÊóËÖ@@€_•Ç üb‡5à‰Tž'Ð0 ‚À ‚`‡Qà‰úò<�†„¥òaæaAØÃ(€ž€Cå±îkàQÀ@À±�Ê À&A@ ððô5ðŒa@„#€ÙÊ„cË  xPùÀ3†Ž"6±‡e<¨|àÀGcl„cË  x•Çle�G  ¨¼Ða@x#€ˆ o¨a@ •:L‚€o±á 5 �€€>˜øÙoþ„9) “  Àôåù    ¨¼Päa@ø •çƒ2l€€€P òB‘‡]àƒTžʰ BÀÌÃB‘‡]àƒTžʰ B@ÄF(ò°  | ûòïŠ1'%°a@x'€ˆ ïÈa@x$€ˆ �°aj³Ù\UU¥ÑhòÇǦÕj�F£Ùl@Âë òŠÆyˆœ$<ÿ•÷Ì{y `6› Ÿ>}úúõë¾ñ±Ùl¶–––¢¢"…žAôäÉ’${ÆÇfµZ›››‡‹WÑ _X&./A\~F8 F£ññãÇãCÞ]jùøñc£Ñè U£ÑØÔÔ4>äÝ¥–MMM¾#ÂU4øµ„§¯ƒóÁÑÐh46›ÍEÿÆÇ»Ý®Õj}!«Ñh¬V«‹þ��6›ÍwD¸Š¿–ЗœŽ�@~~þøPuµÌÏÏ÷…l~~þøPuµô‘¾ãc—�ˆ0ÆÆ—ïò„T~H¬Py_�I÷PK¨ü�—2L*?d@å}AäAÿÆÇ.¨ü�—2L*?d@å}A4>$ÝC-‡£òïbŒÍ�×2øŸT~H¦Py_yпñ±kX*�†¼–�Áÿ òC2…Êû‚h|Hº‡ZB凼<�A`cRå_·eÙ¾ïêÃ_ºaìòñû9JUþu×ÍmUų×†Æøm—Á}4gíyQx.1CÓæû¥å#"úÝWÌV&°Ü�SócRå_Õš+�O¬áÛº>~?G©Ê¿j/<Ÿz¾àé+¿Iº‡‚|G4š¥{¾‘ÆÍ”/?Q•Ÿ$Å»¯ãTh­öÈU¾§»ñNòÎ¥±rQ°X1oÅö“šß¿$Ãø²YǶÊ[kó~IOKILLLJNI?}îê݆ƒÄ¾kŒª|¯éÜš�Ï]6ñæ+ÏzÙÆ60•Ç»¯‚êÜø6>B•ïé*?´(,X»åpæ-սܬËi?m;’ó<°_Ú±­òÃõ´Ô+EOZZšŸ4Ö‹of¦&�Q=µ 3ô2–U^–p´¨ŒÝʵ“Âjûë�UyôåÇ·Ú Uû‘©¼­ðÐü`Å¢ÓUæ7ßGªçáåí³¦*ÄÁ"yxÜæÄ{/^ÓÊÿúyÖþ5ógF($ÁÁeÔâm �Ž[BO‡öÔ®…Q¡±lJ̲“eVª$²-/eû™SeÒ�˜e;¯_R™Ç¾Ê§eÕ°3ŸYëT©ÉçôÏÉžž×/*³3O¦%'%§�§ƒúR¾n8¯˜±1]]¤+¼eï²pÑô�:so_Q–¼Lªˆûþô�¢RÝý;w+_¼êë³ÿ;^¹êøÝÒê uêÆÑô�Å]=o�Ê¿&­�Í¥·Ï¤dæ5”@[_4Õ75·¶6?Ôß9•|\õÐBë0Ù\t9%í\®þAÓ“Ç êZͯި<ÙQ~ëtúÅ‚V«Ÿ%¾'p*¿ñªåÕkfëéaÂ{„þØ©bîžs¹:ݽ3ßÅËeóÒ+»©+‹ºfäÓ×¥Ü/.--¼_Ñüª#û[™ì«[/¨ç2ö'bE“#¾Í¡/Bû½=Ñʯ2_¼äòs)ª¯×rß\‘rÞÞ³9EÅêk©[cdâ@¨5íxròÙ’6×C.ùFô!@*/û2¹¬Ê±U×·}}.€WŇçŠc>xÕËüþãª|ßëæô„�Yÿ* {ÌW¿ž±.õäê)óÏÔ‘¯šÎ}!Ÿs¢ÆÞ×çÓå×××g3$FIb’+œ?G¡òãZßÒÊ�Dåû¬ù›ÃijþU`Ћ'fÌ—)—í»¬«ª{X}oÏ<™G•ï5笖ÉvåtÓ_¶*oHŒGüp«öÑ›­ñ™ùõ[ЗçÆå{Ègšs)'î> ž—�O9~å¾ñIëóçmõy¿¤8T¾¹Ð›ÊgÜ̽™‘š~QÓ€pM#6âòÔÝå6?¨Ê÷õÔžX.�½¿ªS³%rñ/ -™«§®Îhh¼°^{ –ìõñò£Tž±[îì^@åßR¡×Õ‘Ê÷Zî~ºâÊ#ç—Ä)÷/ïìKWewÒ˜×m§¾ \å{LÙkB$îê×´xq²Ñ}Ý—ÿâ¨�ÞqZÆÿ¾wTGÔv?™cã¢òÄÓÜ3ɧTõ–Úìä”ëºéàÍë.ý•4Få_[ên÷±)xjכּ}&åÔMC§¿½ò©ò=/sׇJ¾dª¿jJZ¬ßzËcĆzÿ(c¾,fâÎió�Ô¿zÝ�¹*tùáÃ_…-ø¹ìU_Ÿ�—±¡í.M­r\c�UyŒ±×b+XåG¤ò}}¯žåm�‘Ц,ü!íŠ*_[pÿÎùÔŸŽÞn´Õ¤ÇJB–¸ZTY][­þ×ùà*ß××]x(^,›½3ý¦¦¤´0ï¦ú�¥¯¯»ààbéÌm©×4ºÒ"õís7Ëè¯}Kz‚B¹ä ¶©kˆGƒj¾€*Ÿz¥°ééÓ§�ëkÊr¯œNJÉÔ>±ÚŸ•œMN»ª®zÜÒö¬íѽó©ŒÊ÷ô�ùç“SÏæ”Ô4>yÒT_ÝðÌöæékO�­µô|ZÚ•âvÜŽû�å×~öÑ ¤9½Ž±±•ÒO_ü%·¤äþ™ï©§¯'*-Ô™ô{—ˆ µóiÚ2¥H,]H¿÷êñù…2±H›^MÅ^ì¾]~´[„>q©D½5åzA‰¾øþéUáÒ@<}ÅÁ4†G¨òÔ×­½òÜO›D…IDÁbù”˜…kÞ¨{Õg5^þ×Ò˜0ñäÉ"©"<:nKFÕõvýƲêûöê™:ýÛø¨PI°H÷ãí§Ô±WÏîß¹0:L, �Zºç6="³÷¹69!:lÁ¿K¨Xÿ¯Ý|—°_+’Ï³ÖæžKOK¦ßŠJ>~2óÒ­û•O^ÒO‰VãýËéÉIIÉ)i'ÏœË*ou6­Vk4ÛÚÚìv»�0ÍfsUUÕ¸BTUUå£Ä“$‰«hÈ éƒ‰Ÿýæ£IPù!A!C@Øíö®®®ŽŽŽöñ±utttuuù.ñ�þÖŠ«hð&eUþχ£  c‘«òˆØŒÅæƒÏ  0juï�&Iߟ€¾ü¤p@Æ"Jå?ž${ÂßÇ¢÷ð@@`pTÄæãIŠ÷'|6x>‹>œø�ß|¸lf·Bس&¸>øx׊ÇSÜv²ù¹Ö=îäf<Íš`n¥ üÈ–ÆbOg÷3—óÑít·+„{ ›æÈM³¸…p3¸¥šæ:Æ-Í-íV/�å°§0F¹ÿr±çr}£3|ò»ß~Âædn¦Ùýl‚-�…À˜àff󳮺ÙrûÈæÿÝo?ý?´«l¶.ÜòÙ£ŒÜ�n=¶›Ç­l9m¹b½r+Áí#]Οÿs‚ûßï~Ëîù -Âì¿ýýæïoïO`þþçý û`Âß?˜øÙ‡Ôß?è¿þaâ?ÿðÎÿþßwþßoþüÞ”OßS~2IùÉ$ÅÇ“”ôŸâ£Iò�&Éþô®øOïŠþûÝàÿ~7ø�ïŠÿHýëü{'è�Ž¿ÏÿøŽãï¿Þ™ü_ïý×;Ÿ»þMvýø9�g²33÷h½Ó[!Ì)LálNÖ–ÛYL±ÌNö_&3S×.[›`ÝcOáòXGö¶dÆI&3ë0{”-™[/f'“™µø9�…=ÄZçV™-Ÿ{›æVÙcN®WlfnùlQl"ÈS[3G¹þL³þ³E± Ö4sÖ@tlS²… ¬Î@žÜÚ10¹Ucòs dÓ‹hŽuž-™Ýãv:óq 3l~îWƒ»“ÙÏzÅr+œ»“5Ä&˜£¬óì~·2Y£l7oÙ n nþANa²y;—{�3yX‡Y?™=l ¬]�{ÜŽ²Ix3Ä–ï–`Šâ6=ë3÷ZÈ„=‘*�ÒRVZ9 F{9ÿŠþ›d­Ìâ?½+þh’„þ“~4Iòñ$ù'“ôŸòÓ÷”~/äÏï…þå½)y/ìÿÙ’gj[,ôIEND®B`‚liquidctl-1.16.0/docs/developer/images/create_vm_4.png000066400000000000000000001165621515166127400226740ustar00rootroot00000000000000‰PNG  IHDRöÙ¼} IDATxì½wXIÛöíw¼¼ßóÜ÷½kXW7ÝÝ]ãº+¨kX• ¢˜ (`Î(ŠbÎ9ç,˜fTÉA@0f ˆä „�ó=ª'Ò3ÃÌ (àåq´Ý=Ý]uÕuýºÎªêê¦AõÿÛ Aƒ4hоAƒ�4hÐ…ò1@ Ä1Pk`ÚÌ4ši5Ól­ÿþ?vRãÆ�ÇtîÔé¥Y¯^e–ææ°²° …|@ Ä1@ Ô˜63�îÒ¹ó˯¿þÚE&ðLÃ+üc?´þ£]» SSôøçüÝ©Œ;t …|@ Ä1@ Ô":qýO·n075EÛ6m‚˜†7hР‚¸ÿÈDݤgO° HЩAC Ä1@ Ô Lzô�‹;šçþýo³fÍÆôêу½µÈ膪7ʼnâD µ�&î�7-æþc׿ÿ~F=u‚³6ÀI6‡Ä1@ Î7<ÿ÷ßO4hðë²·ïÒ¹s19ÒpG’ÏÈgÄ1@ µ…¦å²Ùò :uîØ±¼¶FvÐMB Ä1@ ÎÓrÙkê º� w ùŒ|F Ä1P›`Ãñ²o �°×¦À�-TQÄ1ðé0`ówŒüç/n±ëò×{Ob'a§Yðï U@ŸND±¦XÕÃs/»¿ëÐ�œŒ+,ñްµ÷_`çTÅß$ì$ìU§*°Ñ5U»IÉoä7b ~1°ÀüO<iTAÌùâÎöÙ9Ë­þ4¸Ž&a'a7ªdêW%Cñ¤xŽ�}ÿÒ)è|‘ß`m˜¸“°“°“°Ä1@ |XO�/ÚúîÏ5Ó_ÜIØ?@0©5üáZÃäkò51@ ÔFÌ:ý¥>ü>ª£v¡çcÃò, }ÊFÂN®(úÀDçX¡v€=‰¹ ³½Ýÿ+ÿFƒùœ È‹QøÜ£»×lŒŒ{báÅW‰ÅÈOÚ‡Á�•v°˜þ=h=’ D ^Àk‚ ,ç^B¾H Q^VêZѶ.8’œ‘X€»{]ÐÉÈ@ŸÐýXÑŸä�zã�]¶¼Þú¨ŽÞ�FæO5qg¿±c�xâ®ï�< ;Ý8õæÆ©s ¹°‹Å 2pn^…~PaïÐæ3ü‘)A\x›»)™02Æð-7PÈ�NÀ©KG Û,Ý‹…x|Ú=ä ##ØÎ»ˆwBÄb^_˜‹nô¥”¾¤ºæ“öE‚£úìw&à(“àíþÅ q×ô›|¸>q˜~ evºÙ>é›í£6T„],C˜�ˆ�#zqñÐ(ì�Ì1q�n¤¿A~^ž§„ã�§#º3a56Áò ·‰…¸h:¡³ÝJÜÎ"3pz0�í9!ï ұ˩{Ÿw�óÏ ! pg� w=ç›Nƒp )Ÿû=yÿümÔS�=�P,³Y”�¥vKÓê<ûïär=v,'f#l:VìýTÓ½^1æä�æönº\œùkU!WÝæŸ'ß×ç8v‚ûƒÁM•:¯µ­v!2?AžP„¼'ájÒ jÂnÔ ö%¢@$†0ÿ5ÒÓž#‡õ°/qzŽ-:cÀŠpîxNÌXw4†•ÇäÅ(|ÂzÚÆè6zž D(|î—®¼á}£Î˜xè>'Ø…iÞ.þï:l;Ò YO>‡vƒ±Qw,ºüŽk@d<{�Hˆäƒãð·‘L'ÃK�™ÏŸsùæß;{Þ°>1Àc€êŸO¢þqè¦]Ø™`Ë�õÞÙ¶\Ä5­YZºî#vº±tB¢ ":^ÅÊZ!ì_?+.³ž°égçbÐÜŠÏØ;YÏGL¶¢¼[X3¸;Œ�Œa·0ÙB²#ת£:Xƒ»ù"ß^”]1㤬g]pkw‡ýÚŠ…x~f¶Æ!ò®Ž[ð�‰¸à)Œí c£Îð„b²c7£ë}wì�Í×s çãÊæuˆ|+€àÕ%L5·Æê�Lˆ Sq`ía<ˆ xucø ºßè~û`_•Ó$ÒòßHØ?A(H8«(œµ�Ua_=�MÆáTj>D‚W ¹…•És=&�@÷ìZ:Άºå ×ÃþÛÆ�aÿÝ<ˆ�°ÛuŽÜÏGaÖ[äò¸x(–fB$ÌÂéÙ–šÅ¥£-¶\Ïæzã�|f k7Wœ~RÀMî ðd£`Üi%çC,zßéÖpóy ¡(Q¾§ð @ˆw×7¡Ÿýz$å‹ Ê ÂŒ5çUÛcCöQܪ‘6|.qþZ.êì9»ê6ÿ<ù> ÅWc`H\멸~LFxÂ΄³×è]x�/TжlV|�)>ÈŠ!ÌMÆÙ=;±k§rÙ¾j×c76êçÝIˆ qÃÏwóóµs#®½)ÄË+~zYá»`¸›wÒ\iÁfînò›àÍ,^|Š›PWøü,Æõ�Ýý= ~O <Ã�1= è峆† gæØ “Í"Äç‰ Î‹Á|«Îšóú˜~§¼)&˜�.Æ�<\ýKsš„\ÓorQgðôÑ"ŠÿÀÖ'(tŽ~ðÖy?ivc£®·ï6÷¬œõÈ寻u²[�„Ÿ”e×ê[ßS��n:½aÑ*:¯76è~ û�¨QØ×ãT{âúl³?cH½JÂNŒ!pѹ$ðÄ1@ ¨3`ÈŸm5¤§.÷5 ; ; ;1@ ÄÀf€}�nOŸ?‘0LýU¸È¡À&Ûéój›\ÌU×$ì8˜ªÎ§mõ–,ù„|B ŸìU8&òì‹rìC6UsUŸ‘°“°SK� ˆb 1@Â^�‚©Úb£mêõÄ1ði2@ÂNÂN-ub€ ˆ�zÄ {= &µÎ?ÍÖ9Å�âN ª �°“°SK� ˆb 1@Â^�‚©Úb£mjÁÄ1ði2@ÂNÂN-ub€ ˆ�zÄ {= &µÎ?ÍÖ9Å�âN ª („½Å/¿€ò1@ Ä1P·P{dd$h!Ä1@ u›� Âþë /ÐB> ˆb€ ê&¬QFÂN�jÌÄ1@ ÔHØëI ©e]7[Ö7Š1@ T7$ì$ìÔJ'ˆb€¨G �°×£`Vw«�Ò£ž1@ u�vvj©Ä1@ Ô#ꬰÿæv¿ÏdKÝkMQ ˜bF Ä1PS Ô)agBÞ~î^ü³|+lÖ¯Eß kÐgãX®]‡.K¶£Ýœý`‚_S΢téF$ˆb€¨í ÔaÿÃc¬Ö®‡ÃŽ¥{`¦y{`æ±9Ü2ùÈ\¸ì[€ÁÛV çŠÍh=û‰{=Vªí7QÕíóFÏ}7±'&îÞµ”Yot܆9ç£Ðkvmµ‘„¦ê ’ïê£ïj½°³xÇ…»0pë L84ó}gb]ÀTì¼:ûƒÇaïµñØ8«ÏO…ÇIw¸ì_ÈõäÛy쯥%ÝHåFr;§°wÈÉ~§ÅGk Gár]€ò’ ó¨­¢y#"òQVòΞ•ØX+ýK÷ÚG¹×¨SñÑë—Z/ìFówcȶ˜qÔk/LÁáб87¡wFâñË}x–y×�pêº3'òËÎLç}7®F›ÙßËÁ­æ�Ø€‡Í(DnqJŠ‹ðøù+ Œ†Éü)Ç1âÚCä+!ŠJó±t½.q¨NpOÀíN$�ѧÖÙVgyk&­ÖóÏÁf�?~×ÙúPþ®GÂ>à úû·fâ[•ûœ®¡XÔGjµ°÷X±…Z_qvNDº"îÞp¼~3‚<'‹/Cþ¯´ø„¹xüÂ�ëÉ Oß™pܱyîÑÑ;Sû·ÙØü¬å!NŸDÛ 3ï½a´ò,Ú¹©_Ws€|(¡ù�eªÍy}(×/a¯9þk3+dŽö1`°°Û,>ˆYö`ç®]5ºìÙ³§O/Fص™H¼1OR��›9â‚Ù(�Gy¹D®ëÊQ": qþ4d½‰Ô”ÑŠ˜ˆ5>saºz£�Âî�žÇŸ¢ ¬)a×ЪÒÞ�7ºï¾ ¯¤L¤æC$)‡H(@À鋸Mv]Û¥AXÿO¥(*.Âý´tLßä«8ÎnŠv«£á÷8¯E¥(•Hðöí[x�½ªÒx� �J�”!Ð÷´"}òá߀ºóåë ÓÃI8û0 �då---Æ£'O0o»¿Ây>•Ûtö!¹�”åcùåèG ÷K8˜%Avb´Šï½aæŸ�â26o;Á‹çQ σ¤,‹Ö*Óa6íHÁë2 ®øžÁo3øÏŠ+‹�vÿ:C³è·p¿‚c¹&]WØ­Û¿ú»ÔççR•>/.áNR †m ÄÌà'¸ñV‘D‚ìwY8äw­U�ºm�Ƹ͢˘•�ù%(*-EfVŽù(ýV&ÂíG9È–¢DcÌÕý[}¬ð9¤}ù=FkbA ûÌu»�òàDb1ÊÊËjn)˃¤8%âÃ(®B™ä€ÒŠÚ¦qO‚rÉ d½Y ÿË3¹¡üVîÌ’wóÃÜ{ìYl6ÜWT uÊ*³ò"$&¥cwH v_ŒUûü8‘k½8 g²%(åálDÖ†.¾,BYy .ûž“‰¥TLÊŠrp0à�cËMŒ\w’9}óáÛ¯;_þM#+o™q‰iØvûo¼Ä#qÊ‹³á±æ¸Btõ±©óþTä–IpÉGÙ@i³"·JÊQ’õ&ŠùÇ1á†á3 Ñ0ÉLškè0—Ûì�¾—²P*É�Ç*æk¾ðh��\¼5û[a×í_}„]éó˜[©Ø’‚ o‘%k×–òp9þ!vE¤#&»åå"Ü/å�Å[· ^hµà޾)E¹¤ wÓ°#ô¼_âÀ1•Qy RÓžÃ+âöľ@ªˆs-þ­&VøìÒ¾œsZ ê ,ìÛ¶o‡P$Di™’J—2HÊÊPÆ�#_Ë®)—®Ù1®qÀÎ)—ž/]KPZ’ 6Ä^,Ú‹"á|HНh”qM?–•DC\° á!Ó¸‰w†L¢kᯠJsÒ`©uÇIaâWfªç‡ST$%ÙX°^ÙËl¿þî–”áqTˆÖg½¿Ï»ß Dé ø“ë}i© UχC¨ç«Z¶­¹¼w¦à©¤ ÷C¯ÊʤŸM-F"¬¸ ¯ã#ÐR&ÈݼCP@’…Ëd�÷‹Ø—)�àÁ ü¡Ò•Ûÿûüp‰ËðîvŒ¢·ÚÂí4–¦• 8ó>zÍdù¶ó÷UËZ™¿5ÓÔc—Û'_«û×a¯0+ý†\ËFi™[·+Ùj·: %åÈJˆRøSž·|­nÃ18„æ@R&Ä‘CÊ–ü|u¿IýÔqG2žTˆ9ߟü}ÙuUdEi�jœh›üB hbÀ`aß²u+ŠKJ¸ÅqÌL°eØØY>Î#ÆÏæ–‘æÀi’FO™ ç)óà2Õ®Ó`Ì´;}!·Œ›±ÜcÂÌ%·Å`Çf/œ�]û&àü'܈sÄëçC!)¾¦IÇ+ü&)�8Ä…K<öÛ–s®ÑTxM¿µ˜} §e(~�‚îœ TŽæÊ‹¥ÛböUœÈ“@ôè6z-ö‡ñ"ٲ콑@üì:òÒÿÍí(Úyú µ»/æ¤s¢Ô“;G³˜T5~¹µçË/»–òξ‚ãyRáesô.ûÌ3Xñ¨D¥w~ NQ¾ÎÁÃÒøzùq#mW1Á’ ò<æÛä…_Ý|á‘R‰à)Α¾5ÐrQ"ŠËð ,HÖØàÛÎßWMW»¿å½yþDÆÊ„]»«*ì^0ÞuYee8{Ì_1Jò«ûEì~S ñSýÙjá~‡ßIPô" óx”r¢ÅO¼˜«7ô»NoV4Å�~SÆž|A¾PaཅÝsùf°eáÊ­Xµi/Öï8„õÛ¾÷²sÿvœ=¿‘Óp/Ù™Žå¹@Rú´‚�«îHJŸq“蘰.G赩Uê±Íe=öÔ÷ê±·Z�¨ÖõÔüOu¨ù�å!Ør7Y%e`W”KJQX ÁÓ.4†äÃtÝùªŠÛÖ\Y·˜uÛ^–BüäŒÝ¼ ¿MÞ°»,.Ÿ³òZÌ ÀŽWň ŒÂ¦g%xq=Œëyö<ñ bIåo"°sDvï–>žøçØ$…ظUÞ£åÛÎßW-«v"ìºý[uao¿!é ‚O�U6vfžÅÚ§%(~•‚n2‘ÖeCË…Q/.GöÍH-#HšýÄ�¹:ú]§?+ªñ¡mþ½LûÄ„*ï-ì3of/Z‡¹K6bÎâ ðX"]æ,ـً _¬\�ý‡Ýq!`"ââFái:v{”…kVJ6z[‰ì7öÌ@‘`‚¯L{Ÿ½Õ¬Ãú·æÜNaIZ17�½z(x;•WÕzìzù÷}„=%„ž–ÏÃð¯3Ï`åãåh“6ÈcõÎ`a¯sý…½âuòüuÞ'|~i_ÿ:�|õÉùê½…}òìe˜ä¾g-áÖl{’û2Lvg¿/ÃÄYK1Þm±ÁËd÷…X·e:¼��EP�îÞvÄ›Œ¡�”ÜÔ*ìe¥Éxš>bÁ wáR€;z­Üd`P½ÑûB&JÊËpóJ –^Œ\´‹b<™'AQF2ºj┦ñçÆÛx$‘ îÒ%eÏËÍîÉÅ*Â~S‹P&zŠþ¼Ïzê›�²1bH¾òrÊךËËvClb³à÷¿• /%v§2 Ì}„ÞîÞ0Þy¯Kó°tk(üò$H ¿Vy,Ü|0ã¶¥y�ÑoY®Š$¸{íŠÊ5|Ûùûò2²µv3s�¢¼ô5Æ,P~,ˆ/ìúŵf…]äCál(¾³FN5û‰óª »!¬ð¦}Ufi›xP2ðÞÂΞ™³gç®SçsÏÒGOž‡Q“çÂiÒ\8Mô{Þ®m)( âúM­ÇÝæMÖcpÒw$BC‘’dIé+NØËË P"@‰è ÊËs¸ßÊÊ ‘pÓžë­ �á´ÿ<°oÌð– Bp:W‚ò’|ð>¯6©�§/Úq=AÍ•ž4¿Wˆ²2!Ž{«ÎÖV:Ÿ�×~ëy•Ꭺ© ûQ ÏG™$ó×ðGôˇïýò­h«zå-=®^ÉbÓQ8„梴8±%x.õ·G|rKñàqr$š^sãÛæ….Ó�#)µä7•ò}Å�_5½Êüí óS/Q\^‚eo™/ìúù÷(FE¢¬4“) c¥ÙNiú•÷Øõ³áÆÄpœ=¢‰SÍù«Çœ¿:XQ�mWä„üAþP2`°°oÚ´¢¢"ˆ‹ÄÜĹQ*Î&Ï 7‹›LÇ&Õ uqƒ½ó =Mã"ïz?L¢ñ¸ãØ)ð\ꊭ;G⤟#‚ƒ‡¢ à&ò²#ëÕnØ� ½gf ǻ̽¦àÊUGˆ \Æ‘ÃKªü×Þ:nM@lAP^†7/_ãT\*^„‹i9xW"ÂÎ]ìY®æÊK{Õèk ”#éÞ#ì NÆöÈt\}ú –È>Ië~;_– ¼Tˆˆ÷°êb–]JFP–D¥Çî…N{àuP˜õ BR°7þÎr½|½òáÇ陯¼,ÒµæòªWòÒ׬t–]fÓ_›îà‘¤(ãà~YCì8\®  @17$¯Mø”0ÿ:'Þï¤ï�¦' C…ô|Ûùû*ę́Üß­†â|žå¥"D'¤b{p2vD¿Àã’rå{ìzùWÞH(ÃÓ‡1j•òuA¥ß5Û©�°³Étú°Õfi8.d3N‹p79;‚“±ëúS…²9šóW�9ÿ<þ¾Ô¿êׯŠÒ/ãE¿“?ˆ% ûú    8agîàªñ!£§cð¨iä4FNFÿ“Ñoø$�‹\ØÙšõÜ5�7lìxx.…ÍÛ‡Áû¸.Ù#<Ü7↠ñÖ$ܲG\¬=†âB€#¼��€¨ð<„…ñØ´y­Á½uU8Ú-½‚yáÏp+K�¤¥%%Èxýç£1x9«„5W^ӏХ1¸—WŒ¢²2$Ü»‡¥ÊoÍÿ±"[ngá…�½X‘¸Ïßd#$æ:Œåãn'1èl:rŠP\V†¼Ü\œ=wE1šÐn©î|TíbÛzå[¡A ¹¼š*k–¾Þ6Í<‡ ÏK )x‚þ²YíìúŽ»ï#³¬·/+ST°G ²´lG1àê;”–—Àÿè)Þ5|Ûùû¼´tøû¯µ‘Ø›’�7biÌB!î=}‰Ã~—Ãÿúø÷w�xÆg⥰Ô>¾ÃlÒl§^Ân@ŒÛ.½Še×_âa~ Š%ääæ"8$ mÝ4ç¯sþyü}©Õ¯“þ®7+•ÆŸC:÷½ê?é=E>­‹~0XØ×®[‡‚‚äsÂΜ-GNÁ&âÃ&ÁnØDØ9N@_Ç èã0¶CÇi\T…�m³žû¢ÕÛÔÎupq…û‚X½Á»ö9Àë˜=üN Å™³ö8sv(üý‡Âû˜#vîŽõ[\PXpùY`¶ÖÅ �ÍT™Ä1@ T•ƒ…}õê5ÈÉÉá{çé°s”‰¸Ãxôq‡Þöl ›!c`=d ¬»Âr ‹Æ…/ìl¿¸¸[öx©�oçàŒ±ÓFb΢aX¶Úk7:`ÃlÜꀵ›†aùšðXä„Éî‘�ý–³�ÙZUÇÐutSÄ1@ ÔE ö+W"+ë-· tšÊ 8'âƒ]a5È–ƒ\`1Ðæœ¹Å¬ÿh˜Ú�Ò¸hvùo§‚Ô®10}†:a¨óH¸L�‰nÃ1aÆp¸Nq‚ƒ³3ì]1ÈiŠÂ>fk] ÙL• 1@ Ä@U0XØ—.[†W¯_ãõë×Ü�»…ª€÷ Ó~£a ¹Líœ`Ò× ½úŒÔ¸ÈE\Û:1é>÷¼^~=K‹¥É¥Ëò�åǬ!Ála�˜mÌFfkUC×ÑME Ä1P0XØ/^‚/^p‹­ýXNÄ™�W&àra毵 ºü÷„»÷¸Éwüëøû,oλQÜc¹}ÌÖº²™*b€ ˆ�ª2`°°/X°Ož>ÅÓ§O¹!w¾È²/pMkß3—aÞßYcO¿²<Øó|f³‘ÙZUÇÐutSÄ1@ ÔE öyžžHOOçÓ~£ ^UQÖ$èEÅÅX¾~W•ÓeÏóåö1[ëbPÈfªLˆb€ ªÊ€ÁÂ>ÇÃ>äU‘®Ê6_Øo'?à¾bW•´T¯‘ÛÇl­ªcè:º©ˆb€ ê" »»ûl$'§ %%¥Ê½j¹« ;zgÃèòcï³f¶1™­u1(d3U&Ä1@ UeÀ`aws›‰;wîâÎÝ;ï-Ârag=õ÷rþµÌ6f#³µªŽ¡ëè¦"ˆb€¨‹ ,ìÓ§OGBB·ðÕÐý¬w9¨Îžº<¹}ÌÖº²™*b€ ˆ�ª2`°°O�:7nÜÀ�7«µ—-åêX3Û˜�ÌÖª:†®£›Š ˆb .2@ÂnðŠ8†v‹.ƒ¹ú IDATà¯yšþW-¿ f�F�]‰ᛆ1§Rá¸ó¢â–ÔExÉæZΛÁ÷•‡˜&ªƒv •O›…W`}à.œüÒ9yì6l7]àþ’Z‹™ç`{"ý×ûñþzXuy, AŸÃÉåŸgŸ Ø„¶îzüùR eúu†7:nI‚˱è¾ìþ\xyžT+Ãos1ØïÆžV.®ÞhSáO VwY)½ê¸™) ∠ ûäÉS‹ØØ8<|øPë’––†G�áñã'Ücž?ŽŒxùò%÷É×7oÞ 33oß²ïÎgáÝ»wÜší³ßÙqöiXvþ‹`×?}úŒK/ýÑ#¤¥¦i]˜mÌFf«¡ ÿ6ûúŸLƒÓ‘t_£¥è².æëÎr"øÁ„}ÖyØz'£Ï– t\z¯¿Ža~épÜqAMŒõ)c‹¾0=œ û­Òrh»æ÷y×0Ôï.z-=�?œ’.ž>UÊS[ô;U>Ä1@ Ô û„‰ƒèèhÙšmëXbb£Ç9\:1êé*¯U?¦9oéyÌVCái½$Nþ÷`²Hù÷ÒUÓ� {šJ�6 6+ŽIóqóAçMqrì>\üÂñÐuü½@>d]¶Þ„ý±ûpöO‡«ÿ8ŒA—…ê½fy~¿¹©öÎ�¢ëîpñ GkM½g·“è´1ö'ÂÕ?Ã�Ä¡ûbAvó‡…—ªÝé°Á_M°[- Åpß0ªòÈ@ÍÁ*÷ ­ÉÇÄ1@ hgÀ`a7n<×Í�ŒŒBDD¤Ö%’‹Œwwn”lŸý&]""Øo²%BznÅó£d׳´¤Ûì8»ž»–]¯a‘ŸÃl54ø¿Ï ‚½_:ìw\D«™êŽ“÷Øm ÀóýÑn¾ZÍb|�¶Þ…óñ›è±üÚ/ €é¾¸�A{vœÖT ßã%ç`´ì ,ö§ÀÕ÷ºÍ—5 4¡ËmðA¯ƒ©¹'PÃsñ£0Þ|.¾wa¹ö":,@Ï]wáìwÿ,�7:˜°§Âaçe™Ýþh3[½ñÒziFùÜ@'O´ÔP~CýIçËãGkb� >  {ÿñ³àãã‹°ð„‡‡k]ÂÂØ±È×l[ºH¯aׇ…‡séHÓRg×p ;ζkezŠsä窮Ã#8™­†ƒt®Ž†ƒo:\NÞ�íÖ ü9WÞëö‚\ØÕž±Ï¾„�¾©°YyR‘çoWaï÷æK�)„Ý~Ëe/yæiXy§aÄîKÊß4Š»7þ\'ŸDtñTã_Ý/a€OZŸ›Ì�¤bäîËÒ†€¬aQ! yµ]Çã÷1Ú?cO=ÄÐ}aøÓCCž®5Ü×r²‹üL Ÿ {§IkÐoÜ,¸ºŽ©Õ ³‘ÙZå`ÎôA‡•!°9˜ÿû°ÛxŽHmÂÞjQ8†û³Évipõ—/és: }VŸÔ,ì3¼Ñy{ \*�œv­�ÃHß$˜-SZWÖV‹Â0Â?=ª °7:nM†‹w¤t⛞®ð—Ûqü±ä*úMÅèᚇÿUlP\G¿U�9òùŽ ª�ƒ…ý}+p»;1eÊôï? Ò…�ÃÎ}ßüÞÿú£è°!ÎþIøgþQi�ý¸ú¬x&ì#üïÃrå)´óô«°´fÏ«5 «7:m«Lؽñçš88ù&Át©fQg哿]ÍÂ.ƒ«ÍòŒö¿ƒ®šF ªÀ÷�õDȇÄ1@ ¨2ðA…½«Ç^N¬ öžs÷~tqo¹ ÃüSaµüZ¸��ͱT Ù|ºâðùìË蛎Á›x¿ËÅO“°sÃåipÚ#.—Ÿ+[·^Ža¾É0×ÒSW²‡âiÊl a§ ƒÏíÄ@íf Æ…½·Ç,\¸ó,À¼yž˜;w.æzÈ–¹óà1w®úÂŽËŽÍ›7�»vÁÂ…`iÕ4P­]ƒÍŽ0tYqŸƒñŠ Xº�1¾·Ði.›$wÝ÷>„˱xt]v–¢ãÂøuÆ1tÞ–W¿dôÞ£ÅgÑaéet[uVåwF{Ç¡çê‹è°$=vÞ�³2L+Ÿá+ËÇ&Ë=ÄÈýÁøSþÚ[³Ézj“Ú”“ç,Öà¯Å,mÍ“ç*}Æîæ‹¿7£ËòóøkÑ9tZŽ�'Ò0úP Åó]Ê8Õîœì¤øŸ5.ìsæxàĉ8{ö,.^¼ˆ   „……!:*×cc¯¶ÄÆ^GTTw;Ÿ]çëç–VMCÚzA ¬ö%bØÉT¸žJ‡«ï}؈A×EÊ×ÒZλŒÞ‡Sà|*.>Éè½VöÚ˜›÷ÊÙ�ãàÂKÁ —¹ÛH‡âÓ0Ò+ƒ�=€ë©4Œô¾‰^Ë5è¦Å¬ °óIWy­NöÁÙ#5?èõº[**öSè¹;AQöÑ'“Ðg0ÚÏQ}vÿéÝ$j¾&‘¯ñû�|N÷1PuHØ?T%­i(þCåMù�Ä1ðÉ0PãÂn2}5¦N�V- K«Î¶âHØënì¨B¤ØÄ@b Æ…½Î qu‘„�*†êfŠÒ#¦ˆb@$ìœB�‘ª?Û!ß‘ïˆb€ø¸ �°“°S‹— ˆb 1@Â^�‚I­ä�ÛJ&ÿ“ÿ‰b 60@ÂNÂN-ub€ ˆ�zÄ {= fmh)’ Ôc!ˆbàã2@ÂNÂN-ub€ ˆ�zÄ {= &µ’?n+™üOþ'ˆ�ÚÀ ; ;µÔ‰b€ ê$ìõ(˜µ¡¥H6P�… ˆ��Ë ; ;µÔ‰b€ ê$ìõ(˜ÔJþ¸­dò?ùŸ jjÂÎ~ …|@ Ä1@ Ô]4hÐ¥ûO,ƒò1@ Ä1P· a§ 5èˆb€ ê$ìõ(˜ÔʮۭlŠÅ� ªƒvvj©Ä1@ Ô#HØëQ0«£¥GiP�� ˆ�ºÍ ; ;µÔ‰b€ ê$ìõ(˜ÔʮۭlŠÅ� ªƒvvj©Ä1@ Ô#HØëQ0«£¥GiP�� ˆ�ºÍ ; ;µÔ‰b€ ê$ìõ(˜ÔʮۭlŠÅ� ªƒvvj©Ä1@ Ô#HØëQ0«£¥GiP�� ˆ�ºÍ ; ;µÔ‰b€ ê$ìõ(˜ÔʮۭlŠÅ� ªƒvvj©Ä1@ Ô#HØëQ0«£¥GiP�� ˆ�ºÍÀ‡va&®ûìÀþÀTIL©u\×>Çåí ±îÔ=)¿üý�QáKD߉£aÏ úùSžtµ’�'ì‚Øál�QÛâ! j% µ¶•^�ˆÍ£ûaÔ¦ä‰Þ³%-ÊAúÍ0ÄÜk˜&aÓH+¸ì¼)å—¿ÿ1˜.HÄš¡V˜t(EÚØ¨N?}ŒòPžT/ÕÂ@µ »0;—ö,Áøaýaij3ëþpš²‡Ãž@Tׄ]øÇÝzÃfÎärb"›Ûg°ršì¬Ì`bj‰~cà¹'¯„"E0„ÙqiÏ2LÞ–f¦°è3ã<6á\ÂKĤЀWa&Î/¶‡¹IOôìÙ¦6à8k!"5[Q±ðm…óL̬¸²ÎÝx‰¯ •ç‰Åз¼YAËai:›"3+\/mLp÷ðT˜›�…ÿãŠésÇ©8ê9žÞ‰(¬¢_�–‚x,d‰©Gî¾�ó÷ß×®ª\ÏöêôSUì¡k4°ýž Qò)ù´ T›° ßÞÀ¦1¶0±ÏÍGqáê5]ôǾu °=ðy�váëk˜cgŠ>.Kà}>áaA8st;6�G¾ÌñÂ7±XïÒ&¶NX²ë$.]CàéƒX2~L͇`uàÃÄÄÀ€êŒ�¬±b9a;"ã⊋¾{°pL˜ZÆ '²afi£ÆrÂ6Dݸ‰øëôß�©CÌa5j3nçH2ú—W„´3aÚ£',\vãA�²!ÄW�ˆ™}MÐÃÔ{òjöF®ÏÂn /ŠÆ]W³Ì‘É¿˜�jö0¤¼Äow†ù ±²Ã²À  n» ¬†8bˆy¬ ËÑàÞca6¸aÔÐþ°67� Ÿ¥Êà„Ý=zô�-fX|‰1+Ä=ÿEp°³–q3;ƒ‘!�5Bø=tþ¾œ¶–ÛgßVœ}½1|ÆFøøîÂÜq°µ0‡U¿‘Xp(Y*£=blŠòÒqa‹;†ÙYÂÔ¢†Oš‚½Í•Cñj£b•—Iø:‹†ÚbÔúPÙ¨õ.÷„jvK0’ïÝý{÷ñœãO„Ì”(\‹º�Û·oàÊaO 4ëƒå�¯¤ñâ 9_•¹}‡~=ÑW½á>Ľz;cÝñˈŒŽÀéM“am:; ElŠÞ!dÝH˜Ú8aͱ+ˆŠ Å™½ó1ÔÒ¬a¯¼LÂ×Á˜?Ø#Ö‘°«Þ ´­RªrMÛêuS-õIµ{aÚ ¸˜›c¶_%³sù•³XŒü;ûáh>[¯çBøöÜûX`Ò¡de½0»ÇX£ßüd‹Äz�“{} ú™ Ãîê#ÂÌ+˜ÙÛ Î+ÅUðÌã,ú`m¨¼ñ ƒZMÜò‘rn œlMaÑÏó7GLú;…HË}0÷´joTåÉ Á3µÉƒú”[MØ4À$ϿҨ•Iž‚h,êg†¡k#PXá<ùYxšŠÓ´¿'B_ ÏO¯òвqÊÃv /#÷ÙYL¶€õao! �¸o,GlArN¶8Ù`òaÙ¬sÕ2òÙáïóXªŒ±¾Cñ‚TìrµÆÈ-±Òçú|!çïWf/ ðš 3»E¸.oæÅ`ñ L<(å]›Â×—0ÝÆÓ¼(˜«=cç�l¨ÚĶùeâ§ý:SqSãC¥î"nÕ¸­aO=gssÌñW ¦x*caæELµ´Äò«ÙȽµĊ`÷Myћ�`6l’ Dz�#΀#3‡ÀÔr0¦®Ø‡«w^*fá³<›ô‚‰©ÌÌä‹)zõ4ƒÇ)žíÄM ‘0÷9âaÙä¡°0µƒÛ¾¼Š8¡c>ÐKèT@Ô§Üz »>1ÐR&.V„]9\Ý=zš`À¸•8W:›œ »Þå>Çáɽ¥�Q.BÖ‡í´cx–‰Eƒl1ïÔˆ„�±Boµ†gŸþ>›Ä÷FÉRe hö¤^Û �qÃÑßÖ¶ýÃÎÊë"ªAØÅxsiÌ,fàJ¦ld¨ð>¶;[aÔÖ8ŽO]læÜÜ…ÁföØ}Ke‚Na×Q&ÕîW:¦VY’�”õ ù¢vû¢Z„]œ†¹}Ìà¸6B1‘L-ð*cQV fXZbi TØ›év]çpùŠr�å‡u3†ÁÒÄÓÜä†Çs¹Ê±?V]HÂÇU–T¼Èâ=û®L¹J/‰‡¦ÃÒl8Ý͇8'ž}+Šw0µÀ¼Ó\…®£Üú»^1¨¤L÷Ž`¤YÅ¡x«É{q+)wãÏÀc°úÍ8†Ç²!tƒÊ+‹ýhÙ«Ž�ÁÙÚ‹–N†µýJÜ`“ñ„¯plFo Yª>ó�Ï_,†*K•1 MØ îyc”¥ &¬óGÌíÜ»s «œ,«Mس¯.ƒ™ù4\~#ãL�†]®6¹å:W^]l*8¹¡ÒðÕ!ì:ËDâMâM ÔKªGØEï¸|(LzOÁ©‡*�*4:*cáÛ ¸ÛªLbצbÏX6A6¯ûœŠ ŠÄlq�é€åˆÏ� gΰ1ÃØ=z¼6U‰Êóà%˜Zq#bq×5é=¾÷xÀ žÀgÎ ˜ôõ@𫊠}Ê­—°ëme*x _�!•Lž!3n†[Xaê¡;2á5 ¼œYbüþ»²Y÷™8=ozö4Ãdù;ØâœöèÛùÕ‡|vøûš„]Á^EØðõ:GKåûè²ó2¹õt¥ðÊFÔzì;xï±Ë÷ùi˜ C—°ëbSÎÉø½*ìêv�eRµ™¶ëe/¯«h]»{ØÕŸêvöÊÒókð´·€i_W¬Üç�+¡¹„“ûÖcû…T�¯»Uìeå!vç8XX�ÄêAÒÉsË¥“ç$¼“ÝtºÏ)H�€Ïé Ä%ÞÅí!Ø=s0ÌGnÅ=®§™�ˆMÎ0³ŠûÎ ,&Q¡8~.9B^ày"˜së8–¬Ü¿‹ÁˆŒ‰FXàI¬žØ½¬'ã¬ìÝkáëh¬mÓ>£±|/óA‚ÎÁò‰ƒ`j6+.¥+ç(*RÝeÒKØõ‰�¬L–ã·",æ:¢#Cpáä.Ìwí ¯»)ßág¾ÉCüîñ0·‹“÷ó¹xè]Þ‚,îÏž§*žçÜ9ƒ5+÷#Vñ–@.-îk7dªÎg~â 9Ÿ'ì•2 |‹ÓóúÃÜ~NÇ *øo¾FÞ݃nfƒIN#úÖm$ÝÅÚÑVÊ»ð)N´†Í¸MˆHÍ‚ˆ¿¯ˆ§{õv±X›yˆÛ5æCà¹ç,¯Ç"&ä¦Û±y)²Ôðü’¯£L4+žwÏ«Æ�¶©¡S‡¨6ag-ŽÂ—·p|ýŒl sö�«>êê†Mç’QÈ«tØù…�Uˆ;°ÎÙënVì:^Qü×Ý*?'û¦&;Úqa1±°…ÄÅðOPy�­à‚,�«}˜›˜ÀÂv0Ưº€ ¾˜Tv²îžÇº9ã1ÔÎ ¦={Á̦?FM[Ÿ¸Š“å„ïîãÂÎEçØOú�šÞƒ0Æ}NßÈР겊EW¹5øN[ ¯ÒÈ?PÓKú�skô×ø�þÇy¤vŠrnaíKعû)ü¥WyóB1ÇšÍÁx®vuû ²Ú–â)?üòó÷y,éb ?-ËÇ�•© ,ú8`ÁÉ$¯Èõ�Y¯^0µ°F¿!#1×û¶lކ/"vcâ�>Í Ÿó÷UDBƒ}ºzìœ?t±)x�裫0Á�ñÝ ¦ìþ=;®É&­ªå+õSs™˜°/´·…½îF"V‡EL½.Q¹?ÑrU«°“ƒ (b€ ˆbàã2@Âþ‰¶èèÆû¸7ùŸüO 5Å ; ; CÄ1@ Ô#HØëQ0kªõGéRÏ‚ ˆ�ºÃ ; ;µÔ‰b€ ê$ìõ(˜Ô¢®;-jŠÅŠ jŠvvj©Ä1@ Ô#HØëQ0kªõGéRÏ‚ ˆ�ºÃ ; ;µÔ‰b€ êÕ&ìùùù¸w£E ù€ ˆ�:ÂÀõëבœœŒ¼<•¿¨AèØqvÕó5«qúÆCÛ(Jµ;õØØXddd@"‘€þ‘Èäò€þ`�!Vw~¬E põw\\œVqg¢ÎêùçÏŸ£¸¸ø£Ùú±|ô!óÕ'ÚD�ý^-ž’’‚/^èO1�I �È |la—‹Ö³gÏ�””¤qXžõÔÙqù¹´®ù†Xeñ¨qagÃ2,úG �Ȇ{ ¶»H$Ö$¬žg=Iôšt¹�+‹‡¦É«–;ƒ’þ‘Èäò@Õ…µ¶x¨Æ†¿MÂ^µû�®"�ÈÕæ�Ú$šÚ„¤6Ùø)º¼ŒÚâÁsÕ}öj»5)!òy€@íý´�нÅ8á>ÎÛj‘½*öIÊ«­²©¶„$/à3w¦HªYŸI^!pë|l¼øe_ËýgPYèäõ@ ±\›DS›�Ô&å¢÷)¬µÅCUÈùÛGØËÞ`g¿háäƒÂÒxvù�æF¢´FïÈ÷HüCØ[÷N?¡ÓÌ@üEUûÞ£˜5viIf}ƒ® bj6ÆÅ±˜Üök˜¯¾cX¢:ü÷>ñ«1ÇSÂÕî>ËÕ÷Ú$šÚ„¤6Ùø)º¼ŒÚâÁsÕý�"ì’—^°øú{L<û¨ÂþAì-½�MCM1tcJ ¬�*ØWž ¯Q Éçÿ¿þõo4lò~n׃&¯Áåûù¦\M§ó+ÃjJV-™* »Ò™ˆ[fŠÿýzòu÷ù³O�AÓ/ºagj ðñË»½}kŽþ»Ÿ¢ÂxKéKœ_l�?l†Æ_þ„.+õFŸq­"< X‹a=Ûâ›/£éw­`rT®­,íòLlíó#¾tž“s|�ñySSyÁšázäû^¿Ý÷HWfûÿüÏÿ âò¹á >MÆòY~�¸«&_›DS›�T‹�¥y¸²Æýz[ÀÔĦæVè;Ä Ó—ìAÄ“Búø�†Ï k‹‡ª�ó·?‚°—áÑžAhüÓ±Ê³Ö {m·—gŸ¬bkf2WÃ#z-Çw-Áðn?ãó/ÿÀŒÓO ëͪÖ>UÝæW†UMG×uUöŠþË;? Í·ÃÊ*ã&%‰XÖ§ú¯ŠVit•"fQOü»ÅXD‰+ȱ.+ÇK³“pl‘Ú4oˆÿü»OØKpsmo4ý²=Æm=…Ë~0 M3|g³ Ït:(Ë�Á¬nßã»mH+*´¦)©±íШóÜ+• A9ï„Ïÿ;—ß%U|$!/SëÑœ+“¿h²O[¥\ü{‡¶Å¿¿ï¿ ÙC­~ãüÄ?ÑÐx.’Še¶ŠC0ªEsØíx${~]ŽŒÃŽhøÍ@œËz.õ¿6[5U†Zó–W¶ÜÝ3mhŽFŸ7Ä—?ü‰AóÏá•ÂwDi8êÞí¾oŠFM¾E{süõMeϬ¼qû&ãŸVßri4û±=\=¬øü�ß’G»Ð­iS =ôRÁ�øÆ ´kô/ü»ýL$ÈýQžƒ½AsÛ]ÈbLñ¨:ã'AÒ¦~ø­Ëpl Ø�¡?6«(ìâHŒm٠ƳBP,sÉ»‹ÓðC“¶X+’;I뺤XuÜGˆ#[¡a§ùHaþÓ•¶6†T챕æ£Õ:÷B^YÓP‰íœ9:ã ,AÇâŸVß¡qÆhúÍ/0ê5»Yc�Ï2?îZ˜Óê ÙCEsÿþýèÙ³§^Ë� KmBb¨�2aï3ÿD*–²Ö£qì¡’Ò,„ï_„ #ÂÆÂæ½cy@JÙù%oíµ c†ØÂ¢7†Ž[ˆãq¯P"!|½#,GïBZ‘¬q ŠÇ²AÖp÷{!½VRŠ× ai;á9ùH:»ì`afŽÞFbUÀÙyHįz` Æ ë+«>p˜´ç’r”ÇUl×XÎj<®-ªBÎßþàÂ^údz6ÿÓ.æI‘– ûOV8v!Á‡1Íìüû×ÑÉc5¦a z¡qó˜°õ4B‚ÏaƒKW4ýÒ«c +¤ñûàu¸Š SѯeSüûë¿1e«®\ Ä�YhÞðuæÅ” IDAT7x†É[íBÍéŽ/ZXc…o(nDŸÇÒþmðÙ¯£¬¢þší• {‰ø!¶h�¯»y –æ¬<ÍL_|Ù´>•Wºù8âø;¾í¿ÙÅÉ…]æ—ß®B@P0®žÝ�ɽ~Vñ‹¬è|VR±'o‚q“&è³- eUê×7>ÎhÚÌG_IâÄÕhßø3ü2ÊRYãÜ„öhfµ¯‹˜íßB«­üÊPŸ˜¢Ùw¯âÜÕHÄÇG­Z4þcü2¥‚[ž�óS:¡áWƘ¸ÅAAp`‰Z5m¤ö¢;ëСé´ò ®ß¼‰ˆË'˜$í³ÊêS¨Å·8Û4G›É—e½sÖ3ï…ßú8Âê‡vXz]v}q4ƵjŽn c¥óø¼>ñ++“62Š®aÄO…½8eŒ¿øS.ÈMEyÞiôûº©,~ŠŸuoÈ/? >„œ2@gÚeÒ¡ø¯ìÅ;‘¸ÂçE_sRŠçe͡w´Ân¥÷‚jã›]e@º:…]g\ĈXb†&MÛ`äÊ£ ÁÅCSѾI3Œ=] SØõa®‚#d;UM}ÄÝPQg"¥MHªb£šèñ…½TŒœ·áíé«aëp» ’âGØ=ÆCf@xÜ-ܼŽ;/Š ‘qkÏXö�u¬Î¾Žã+ÇÂÆÚG’ ‘´ÖÖÓq9Sú—çD¼0ÂÜ—]“5"D[ë€Þ3Nâåý£eÙž‡Ãp÷þ=$Æ\Åõ4ùwðˆÛ1VƒÝpøÚM¤Ü‰ÀA˜YŽø¼?¢ -|1WÝÿÀÂ^†{[íа…3B ew/¿BdR~s%Ú}ñ ƒþÿm ‹Õ·•=ô’XÔý;üäx ù¬C©–†w7Øà??8!T>L*b=Îf0])M§ì�ì¾ûý”=³ÒgûÐãËï0%@^™j··ó¬8ìlŒfº ð¥Tüt¥Y–éƒÞß4ƒý�Rq* İŸ¿Â€Ý�QÆ/ŸùåÆ ´•ùEZh°¯aGQ0œ~nжSQ¤Ã¯9/Á´ù·w:›ua�ºcš}ý š¶�Šx62Q’€™¾áü©f;ßVž°ëS~íWú »}#÷0NpËÞ2_6…ÍÆ{Ê8o(^:?6i‡Å‘¹üÔdûü‡qü MþYŽtÖ»eå4ú c}â CKÍ áò/IÛ‰®_þS/Êæ-ðãÅßçûDÕ" Â. ›‹Ÿ›´ÅŠx•GÅQ\c¢‹g´“‹‘´o¾ÿ¦¶ß–6Jt¥-‘ {ÅgÔÊgÖ ÏØU ¡ž�êQþv¥÷B…“ KW.ì|ÛÿÏOÎgu�ޏ”çžÇ ï›¢Çbå\—²7Þ°hÖ\/a×Í\…Â)vª*š•‰;;¦&¬zô$µ IUm¬`ƒLØMLLajjÊ=gïÕ«L¬Gb{äki�˜öÞpÙ•ˆb{KrÂàag‰i^P"ÿ½è ö�ï�‹‘÷:Slúbuh$’R<õŸƒÞ}ú ÷°�H•BRt[GÙ`Ê‘(¸±-F`bžš�Jr‚1»�-_z£è¡¿<‹‰VvØY v~…òÉíªÆµ¶x¨ 9ûà »ä1V™}�Öã/(g~k¸ÑÊÞ�€UófsªÂë‹Ñ²IK,ŠVíi•àš{g|Þ~&ÙШ†4Þ�…Ͼ´…¶¬Q’„¹�¿EÇ9á\¥(¼¾¿7ü>oÔ�KCüç_�0x†TxµÚû-š~Õ ÿ‰•ñJ»t¦Yž…}ƒ~Åî3+7pþû•%޲¡q~øûL^³Ž+üÂÕšìÓ%ì?I…=?F‡_Å�±Úì{´›ˆâ²°o…~KWÃöûŽØp§Å·áïæí±ú–XÝv¾­™�/þ>ß'Š*�ÍASï± Ã<ðS“vï)ìb$î‰_¾únçž)@ºÒ– {3Ó�ŽALŒr¹²¢¯†»æ|T‹¨¶]Ù½ 8¹*éJGš›/Eô­$$H—Ĥ§(ÔØ ¨x_‰b— U“ß± By_"ì:™S”­âÆûˆ¦&q¯ª¨3‘Ò&$ïc£BüdÂÞ{¦RRS‘šzwâƒá½jz[ ÃŽëïPªEØwöc¨…öÝ–÷¬Ù_Y+BܶѰ±E82ÅÃ6Ä@\’‡óó‡`ÎA/Ìêç‚ãÅ(zê W'xÝA"z„c³‡ÂÜzf¬>„Ðû™ŠF„àÎ> 53…™¹,,ä‹9LMÌáyNÖø¨FáVøFKšÚâÁsÕý*ìÅ·ãï/Ƭ«ò±¦Þ6PžëÛ¯¾„³?öEø½ žz 6µ†O–l&péC®—o䪆Æ?a¼wîÝ»§²<@F®´®ÝÞoѺ¯ ìZ7Ã×Ýæ &[š'6•¦YŽ—L¾¶…ï«|œßßõÛƒ·¬íÁþ>{|¨âV-h´¯a/º»š4æ†r ctùµ k,ѰÝtÜȺ‡ݱ#å)6÷þ½7¥àÁÎhÒÞ ¬÷®ËV5aוw9ŠînDÇ/¿‚ÉÔ}Ž»ƒ»ñg0Þø+¥°Ë¹ˆRVÀà ;sR¹÷¯îÁÛ?Ðô³o`½2ZѨÔè?Ö³NX�ö_ü€™W2qa’Z:Ÿâf‡³‘†?üˆÉç_ãò c4íµ OäÙø>àïkˆŸ¢j× ìòáò©*CñÈ?ƒ~ßè;_Œ¤ýÃñãWÁýüSåhãF6̯5mY�]÷¬xŽB­ù(ʧq£’{�;_»ý““ÿX ÿÜ):â"Œ^€ßš´Æ•£AÂÎ2ÑÀœÜ˜qø67d/¸³C-bíåûxôè‘Êò¯ó¤ÃüºÄ¸:�×ra—àö:k|þëñÈ'�i4^X–}ý¿cCñ*ï&—<Àâ¾Ã�Gµ ź„� åÚ~Óÿ¨ ¹U¼étÛ+xä‹Á-¿ÄÏvÛñ¨¸ºÓÊó1¬Å×°f†þò=\}eÏŒùŸç@‹}Ú*¶¢ÇØ5¤µlò\ ôñkñ½ÍèøekL[0 ?vdé$HÙÔßšÎÆlËÐÙ#‚k$é+ìò!d}òÎ>9 Ÿ7µQ6Ì$/°Îâ…°ËÓèµ4^j ž&aWU€k³»áß-ÆÈf±kñ;¿(Z7Gç s0èçßà$M°¾.íðËwŒïø ºÎWy/Ÿ/þ¾Zü†iì±Ë'¸uš¦˜<—}yºÞ“ç²Ã¢ÝWm0í¬²§®ÈQ6yNkÚÚÒ0y®Ò|jÞÐz/¨rº•ØÎY¡#.’×Þ°lÞ½7)ñhv9ËšØW–VÉœò7Í[ï+ìLH˜ ¿¯¨4a$`µƒ%¯ G±a/É …G_KLõz¨>¿ð2 J%(zt.֎ؼw99³‰t%xtb&úNÝŽí3ìàº3Ej=ãBÄoóA«�(*EÉ»«˜ek� û“4œûáþ»¼qP»…]Öcþcj ¢¢ÒçFDå&Ïaâ¶3 >��®lòœV]—õü5ܬº„(Àå™]Ѩi [z—‚Ctá(¶‰@7d'íáë²7/v5:7oóe1—ëH“+°WfvFÃ/¾@£ßÇ \Û\ eªÐc׿OYÅÖ¬ç\ Ƶ+çqtûB8tù ŸUxÝM¿¦c…ÉѨÑè&û¸LIêtmÖŸ7i�U7eÏuÙ*yÊ ëÕcä \�˜Šo­Fû&_Ã|ÆÅÜ@B|¦tþF!ìܤʅ&hòEK8,9ŒËÁ¡>¿6?4ULž+N¿ŒûÏ <ö&â#ÏcQß–hhä!�é¯Í²Lþ Ÿ5lˆ†ÌÀMù< ùÁ³ñK“†ø¬a«Š�‡ø>àï*ì`¯¤Ù i³˜¼û<®�Ûû?¾Âw6[ñT>J Y#É l´ù ?Ø®F¤ÊptBb ^s�jiW"ŽfÅëÌG›�òßµÜ ï“®œÿ^ÿ!!!�/añ� Ô—òløºþ‰Ï¾íŠY{/ <ü2öÏí‹ï?ÿRúŒ�Ï2/=mÌÉK¬m]Â.‚÷]k’j±Q6o=uâp3>¡�aÍ”!0·ŽÝ7rd“çÔŸ±³És7å“çüÂpófޝb“çFãÈÝ|é³ïâç84©7Ì-,1nïnx½ø©?ÆY[ÀÌb$ްax‰EÏbà> É÷‘œ�ý³ía9z§lF}b¶ºÂÂj¼€¨7Ÿ‹‰(,• ä]$–:ÚÁeS %º÷k*ªCïüí6_tw:4ýsCe3Ùå„ón ösc?”¾ÄÅ•NèÜâ+4jÜ ¿uµÇú •×Ý4¤¡[Ø”¼Àù£ÐµåwhòùçøâÛßÐsÂQ¼”°¡`}í-AâÆ>ø¢i'¬¿%¬4My‘‹’6Âø‹Fè¾H6£š+#ï |ʤê­ö•gãˆS;4ùŒ} æ_ø¼qsüÔ¶›æÔèò+Êðhß4iüÖ%IÍ—<ÅóïñEÏ•x$õL‡­@92äåwè<[ú(DgL!à^UëÁ^9úì?hؤ9~ø½ì7Å+Ÿ“K2´iÿ �¾ü­:ZÀóìsnŽDAô˜µûM>ÿ7>kò ÚörÂÞXéëŒZý' RÞU7üðÙçè¾X%?v¬è¦ÿÙÿÛz2âT_­ç¦Ó'²Œ¸4ÕŸ±sGK_âÜ"{´ÿþK4júþº‘¯¥�‰T®VßaØ�yhùü߆*Ïì+K[_a×'uë*ü¢ñ^xŸte¶ó'ϱý†�྘÷ö‰†ú¦,ÿ.vO²EûŸ¿B£/þ #“.ø¹asL8Ë:Y.åÅYs ­a§ZDS­'ZµÞeÍ ;û@ÍhØÙ˜ÃÄÄ&æ–è3p8&ÎÝ€S7^IŸské±sY’‰¨#Ká:˜½îfûq p,ö¥²/)Åó³ó`e1 Gˆ¥b_’¯©¶°žx/Š¥Ãð·�cÚˆ°43�©U_ Ÿ´ gU_g+z�ˆÃË1ÖÁ–ff°êk�Ik/#³D*äKûÂYEØ+Û¯×ÂξèõyëɈU­ 5^;~’p_ «½öÖvûjGµ[AþÓî:Â÷7'áKÞ ÿ¤÷Üÿd„½šï+–uézm -~/]uÿƒõØçtúÜ‚•ÏCßóF¨ÑËKî¢VÛ[Ûí«ÑàTCâä¿jpb}M¢‰§¶a¿OB"£pÓÌZ ÑŸn¸¡:7¨š‹OÂ^µÑ…º$ÐUµµV {Û¦-±0Res5ßÕ™{�¾6Û[Ûí«ÎXÔDZuÝÒÉ\Ÿ© µ³áæÿÿ?ß`ê%Þ㮚p¢Ž4kÊÆšJWQœòlœžcƒv¿|‹/5ÄßüŠÿ×ÞyxEqýÿûw=ç9çû–eiŠ{×h,Ñ$¦˜˜X¢‰‰&±%±DºŠ{éU𠢍ET:» èó{?çn�ÝaggwÊ ïœCvgwæÎ½Ÿ÷ëÞ÷çÞ™Yÿïœoqý‰ó‡­†öTõ ��Æ.gü“ÚØUí,Œ˜ÊøÐ�§•ÃÏh;ŸÕ¶½VT£Ù‡ÀfÌÃ7Vu«rÇ< ÞO@c§±Óؽ÷~Ë0Œ€¦"@c§±ÓØ5ÕeYYF€`¼G€ÆNc§±{ï#ü–`ME€ÆNc§±kªË²²Œ#Àx���Æ>錽°°Î5Ú;Àü–`FÀ=“ÅØ- òóóÝþ©^çóÑbœßË?W?9ñ¦‡SO¯ª<Ç.þ•ææfwR¹Å0Œ#àS&‹±¿xñUUU�½¦¦���4öqü‘ozx2tçgª{WWJKKmæ. æŒ#À0¾G`¢�]Ì ›šš fåmmm�]|.Æyaî}}®ÿtªú3Õ©>û÷E§‰{zUÅØEÁÝÝݶúT€! åc@ÈÐbÜ3òׯ_Û–Û=™…ÙlFkk«m?Žóc««/zxÒÈù™jÆî,�¯V�Ù.ã¸�2 ÇÀÛ·o1‘ïÞ½Cgg§¬©;ë-f’b?±ÿDÖWïçöU§.ÒW»•ƒ� n“ 2@È€v ±ÓعÂ@È :b€Æ®#1™ak7ævÔŽ �µ ±ÓØ™©“2@È€Ž ±ëHLµ²=–Ù d@» ÐØiìÌÔÉ d@G ÐØu$&3lífØÔŽÚ‘2 4v;3u2@ÈÐ4v‰©V¶Çr8s d€ h—;��™: d€ 舻ŽÄd†­Ý ›ÚQ;2@Ôb€ÆNcg¦NÈ :b€Æ®#1ÕÊöXgd€ �í2@c§±3S'd€ �1@cב˜Ì°µ›aS;jGÈ€Z ÐØiìÌÔÉ d@G ÐØu$¦ZÙËáÌ� �2 ]hì4vfêd€ �2 #hì:“¶v3ljGíÈP‹;��™: d€ 舻ŽÄT+Ûc9œ9�2@´Ë��ÆÎL� �2@tÄ�]Gb2ÃÖn†Mí¨ j1@c§±3S'd€ �1@cב˜je{,‡32@È€v ±ÓØ™©“2@È€Ž ±ëHLfØÚͰ©µ#d@-hì4vfêd€ �2 #hì:S­l�åpæ@ÈÐ.4v;3u2@ÈÐ4v‰É [»6µ£vd€ ¨Å��ÆÎL� �2@tÄ�]Gbª•í±ÎÈ Úe€ÆNcg¦NÈ :b€Æ®#1™ak7ævÔŽ �µ ±ÓØ™©“2@È€Ž ±ëHLµ²=–Ù d@» ÐØiìÌÔÉ d@G ÐØu$&3lífØÔŽÚ‘2 4v;3u2@ÈÐ4v‰©V¶Çr8s d€ h—;��™: d€ 舻ŽÄd†­Ý ›ÚQ;2@Ôb€ÆNcg¦NÈ :b€Æ®#1ÕÊöXgd€ �í2@c§±3S'd€ �1@cב˜Ì°µ›aS;jGÈ€Z ÐØiìÌÔÉ d@G ÐØu$¦ZÙËáÌ� �2 ]hì4vfêd€ �2 #hì:“¶v3ljGíÈP‹;��™: d€ 舻ŽÄT+Ûc9œ9�2@´Ë��ÆÎL� �2@tÄ�]Gb2ÃÖn†Mí¨ j1@c§±3S'd€ �1@cב˜je{,‡32@È€v ±ÓØ™©“2@È€Ž ±ëHLfØÚͰ©µ#d@-hì4vfêd€ �2 #hì:S­l�åpæ@ÈÐ.4v;3u2@ÈÐ4v‰É [»6µ£vd€ ¨Å��ÆÎL� �2@tÄ�]Gbª•í±ÎÈ Úe€ÆNcg¦NÈ :b€Æ®#1™ak7ævÔŽ �µ ±ÓØ™©“2@È€Ž ±ëHLµ²=–Ù d@» ÐØiìÌÔÉ d@G ÐØu$&3lífØÔŽÚ‘2 4v;3u2@ÈÐ4v‰©V¶Çr8s d€ h—;��™: d€ 舻ŽÄd†­Ý ›ÚQ;2@Ôb€ÆNcg¦NÈ :b€Æ®#1ÕÊöXgd€ �í2@c§±3S'd€ �1@cב˜Ì°µ›aS;jGÈ€Z ÐØiìÌÔÉ d@G ÐØu$¦ZÙËáÌ� �2 ]hì4vfêd€ �2 #hì:“¶v3ljGíÈP‹;��™: d€ 舻ŽÄT+Ûc9œ9�2@´Ë��ÆÎL� �2@tÄ�]Gb2ÃÖn†Mí¨ j1@c§±3S'd€ �1@cב˜je{,‡32@È€v ±ÓØ™©“2@È€Ž ±ëHLfØÚͰ©µ#d@-hì4vfêd€ �2 #hì:S­l�åpæ@ÈÐ.4v;3u2@ÈÐ4v‰É [»6µ£vd€ ¨Å��ÆÎL� �2@tÄ�]Gbª•í±ÎÈ Úe€ÆNcg¦NÈ :b€Æ®#1™ak7ævÔŽ �µ ±ÓØ™©“2@È€Ž ±ëHLµ²=–Ù d@» ÐØiìÌÔÉ d@G ÐØu$&3lífØÔŽÚ‘2 4v;3u2@ÈÐ4v‰©V¶Çr8s d€ h—;��™: d€ 舻ŽÄd†­Ý ›ÚQ;2@Ôb€ÆNcg¦NÈ :b€Æ®#1ÕÊöXgd€ �í2@c§±3S'd€ �1@cב˜Ì°µ›aS;jGÈ€Z ÐØiìÌÔÉ d@G ÐØu$¦ZÙËáÌ� �2 ]hì4vfêd€ �2 #hì:“¶v3ljGíÈP‹;��™: d€ 舻ŽÄT+Ûc9œ9�2@´Ë��ÆÎL� �2@tÄ�]Gb2ÃÖn†Mí¨ j1@c§±3S'd€ �1@cב˜je{,‡32@È€v ±ÓØ™©“2@È€Ž ±ëHLfØÚͰ©µ#d@-hì4vfêd€ �2 #hì:S­l�åpæ@ÈÐ.4v;3u2@ÈÐ4v‰É [»6µ£vd€ ¨Å��ÆÎL� �2@tÄ�]Gbª•í±ÎÈ Úe€ÆNcg¦NÈ :b€Æ®#1™ak7ævÔŽ �µ ±ÓØ™©“2@È€Ž ±ëHLµ²=–Ù d@» ÐØiìÌÔÉ d@G ÐØu$&3lífØÔŽÚ‘2 4v;3u2@ÈÐ4v‰©V¶Çr8s d€ h—;��™: d€ 舻ŽÄd†­Ý ›ÚQ;2@Ôb€ÆNcg¦NÈ :b€Æ®#1ÕÊöXgd€ �í2@c§±3S'd€ �1@cב˜Ì°µ›aS;jGÈ€Z ÐØiìÌÔÉ d@G ÐØu$¦ZÙËáÌ� �2 ]hì4vfêd€ �2 #hì:“¶v3ljGíÈP‹;��™: d€ 舻ŽÄT+Ûc9œ9�2@´Ë��ÆÎL� �2@tÄ�]Gb2ÃÖn†Mí¨ j1@c§±3S'd€ �1@cב˜je{,‡32@È€v ±ÓØ™©“2@È€Ž ±ëHLfØÚͰ©µ#d@-hì4vfêd€ �2 #hì:S­l�åpæ@ÈÐ.4v;3u2@ÈÐ4v‰É [»6µ£vd€ ¨Å��ÆÎL� �2@tÄ�]Gbª•í±ÎÈ Úe€ÆNcg¦NÈ :b€Æ®#1™ak7ævÔŽ �µ ±ÓØ™©“2@È€Ž ±ëHLµ²=–Ù d@» ÐØiìÌÔÉ d@G ÐØu$&3lífØÔŽÚ‘2 4v;3u2@ÈÐ4v‰©V¶Çr8s d€ h—;��™: d€ 舻ŽÄd†­Ý ›ÚQ;2@Ôb€ÆNcg¦NÈ :b€Æ®#1ÕÊöXgd€ �í2@c§±3S'd€ �1@cב˜Ì°µ›aS;jGÈ€Z ÐØiìÌÔÉ d@G ÐØu$¦ZÙËáÌ� �2 ]hì4vfêd€ �2 #hì:“¶v3ljGíÈP‹;��™: d€ 舻ŽÄT+Ûc9œ9�2@´Ë��ÆÎL� �2@tÄ�]Gb2ÃÖn†Mí¨ j1@c§±3S'd€ �1@cב˜je{,‡32@È€v ±ÓØ™©“2@È€Ž ±ëHLfØÚͰ©µ#d@-hì4vfêd€ �2 #hì:S­l�åpæ@ÈÐ.4v;3u2@ÈÐ4v‰É [»6µ£vd€ ¨Å��ÆÎL� �2@tÄ�]Gbª•í±ÎÈ Úe€ÆNcg¦NÈ :b€Æ®#1™ak7ævÔŽ �µ ±ÓØ™©“2@È€Ž ±ëHLµ²=–Ù d@» ÐØiìÌÔÉ d@G ÐØu$&%K$ IDAT3lífØÔŽÚ‘2 4v;3u2@ÈÐ4v‰©V¶Çr8s d€ h—;��™: d€ 舻ŽÄd†­Ý ›ÚQ;2@Ôb€ÆNcg¦NÈ :b€Æ®#1ÕÊöXgd€ �í2@c§±3S'd€ �1@cב˜Ì°µ›aS;jGÈ€Z ÐØiìÌÔÉ d@G ÐØu$¦ZÙËáÌ� �2 ]hì4vfêd€ �2 #hì:“¶v3ljGíÈP‹;��™: d€ 舻ŽÄT+Ûc9œ9�2@´Ë��ÆÎL� �2@tÄ�]Gb2ÃÖn†Mí¨ j1@c§±3S'd€ �1@cב˜je{,‡32@È€v ±ÓØ™©“2@È€Ž ±ëHLfØÚͰ©µ#d@-hì4vfêd€ �2 #hì:S­l�åpæ@ÈÐ.ãgìæ6žû'ÓëaÖ²™ê¥ZÖ€uŸº³+sÒþÚŽýëìãˆt›lL]6¨ý�öãgì}�ñ÷Ê0,?R‚>-`éÀ³²l]4¡ÁA0„ÍIJ϶#!û,Z3Ğ왊M‰�¦®±ËÆ §¶­Ç¶ä ôj¡ó˵C uŸLuìSQ÷@5‘¹t[Í:N¦Ø³.š5Ù‰H T3vóÛRø$Aá‹°íà)\¿“�»7SñïþñWz�]‹3ÐÁw²µU/í˜lqM}ÕDjäÒíÑÔ‰ÇÒ‹]C¯1p¹¬bnÁ�?¾Äòù3„ OÚš[‘Ÿü3Ö΋BHp0Œ³±lÝw8_Ùí΋¬~]¸½'!+Ž¢ÞY?«U'?…!f/Ê»Ûåu—k‡ˆ¿×¸9Ú5/&[»"°ø‹?qîüQ|·v"�!0E/Å�ñxgvÄÌÉ�U©¾eí=˜_ßóóø$t&tºÇMIKYb0ÔÁªärš’î²ZŠsŠ1ýK©R#—nû[GÑ>/lš[³°c~$–ÿž…N-\vrÕ‹ï%}D— UÒLcïÌÅÑÌû%Sþš«Ãgn>‚›÷òP�}¿o˜‰àÙ»PðÞ «µ Åÿ¬Eˆi)öž¹ƒÂ‚L$í^�ÐÐeˆ{ÐîHyŸžÚ,1FcklÊ««Pzÿr9ÁNä^�ÐY›q2½Uå÷pâ›yö:¼upÞ1¨®9”‰‡uu¨«{„&QOÅvøq_Úì8ßœoN"379—pð‹y0˜V"©ÊÇv9ËØr™ùE(ÊÍDù‹^X­´Õæ!#¯••¥¸�° ³ QØ“þÚž4x��‹±;Ê�ù&YyÈ͸ˆßÖE»i[r|BŒó±#ö:r ‘ue?Løù®S[{ìåõ³àõ­]5®Ã•Æ>»VæV¤l‰Dô�7ñÖ›îrí°*hål×ÖÜ/,Fþ�d|=7Ó"Vbÿ™4äæçàÒ�� ŽÁßEN-œ y¯o§E™e»ù¹_’7v-ePˆ�kŸ°•á»îòZ:�=#ú—“R#—nûYG1îxcÓÜš‰b±d?�Ým|tå‚ïݽcÄCcï}š‚U!!øæB£û,Òµ�Ògµ¢»ê$†ÌÆáÂN˜ßfàë(#6Ä?ž¡÷ÖãØ'aˆþáÚ-VŸöé,<„hÃ"+¹r`n»�-áøñZóP=ûS±Ö…}YîãiPµ�­Ô?ÎáK›GÌ’DL»ªq`Y(fïH³Í"Ûå¡Î;i_=Ž®ÃÒCEökçCT¼ÏÀCù®ÚZÞÝ÷Q!Xs|øš¼ùõul4Ž4v¯ú½¾‰Íá&l½èàÌ–PšðmêKx;NNKÿãfF]Ò&fì@a·c†ÞU€�³ŒXç­ƒ{³—úú¤½‡øË»3¡p¼Jµô ‘`@1Þú°‡2]uD“\JÛ!5ré¶´NÒmɸã›#êæ¾Ÿtæ6•õRÇØëÏ`eH¾M6ÌAõÐÁÌm7±)4{î´£³üæ†Ìű2×™O/ò.ƒaÑÔôX|ÚÇÚý‰[æ"84›~þwª^ Ý…/Î4 AÁ ο`Lû¶^”ÔÝàjk“íðõ¾´Ù£±[{‘óÇ"„,9ŒÚ^{\¼žÓC�íúô >ã¶®]Œ™‘ሜƒ¦`,ØŸ3jc7¿Ö¶ëÁqÌ ™‹J†µ•3voúYÍmHÝ:‘_§â�ÙÁƒi-.<ï…×ãd´TäÁCÜÞÜÚƒñ Üns¬ðô>Â_+MX~¸xˆ³!ö½Ô×'í=Ô[ÞØ´ôÐQOŸ–´ é¶H\tD«U¡R#—nKë$Ý–ÔÑ/6]cÁ÷4òIÌ€*ÆníÈÆwQ,Ü—ƒn¹Æzè`–wéø"4?¥Û�=Æ lìJûØUKêó.`ÿ‹‰Í±e¶K�eGc˜‰½×kðäÉ—¿z4¿s,ï:ëïaPµ•­Ô?ÎaTÚ,gì¹.6v¥sz¨³hKO]2–‡†cÝþTTÖ¢®*{—…ªbìnÚ–ýƒ9†ù8^Þ54È»ˆ¿Œ~âÒÁ«ô݈ÛŒÍݨŽ]Óêãxê¼æ.wœŒ–Šnç´v àÐ*ÏÚƒ’n Ì­·ðE¸ÁmIØ}—åÌž ì_:ü¼¬Z¥vøq_ÚOȉuXw²z˜¹ãd´TäÁC»ü3v+¬2õõMûz]eœ]w†nÜ’3vE-=´EÄS1C1 ÐØ‡Žwï‹VMÛá4ò¿%ϱ;·¥í”nKŒ=p6]ÆŠ¡6ò3Ùñ”1WÓWÇØ­Vô5e`Û<#‚§¯Æ/ÿ¦âvVîß»…³ÿþŽ¿®×{|ÜÍuð7±ý³ư¥ø5å®ýæ¹=ö›çb¼wEyŸžg98wé.Š+ªQYzÇ¶Ä déaÔõŠk¢íÈ9°ã|üøïed!/ëÎ\-A‡YÒ)Íoqéû™™÷-R2 �—yée­>´Ã�søÒfÛÀdBØâïpòâmäæÞE’ˆ‹a>þ*x눋Â9= n¢vWÇa±!þ¸„üòJÔTfaß Ó°±ûå»ik~‹´Ý ù ¦f¡¸ä>.Ù‚éA¡#ožóªŸÐ¨åÇ× $zf„®ÀéG=¶xÕ]®ÿãæ·±ËÔ×7ÞûPñï:Œ‹°;9 ¹……¸éWÌ7Œ¼+^QKÙa…¸ÈÒ2¤ÛÓ D“.E&_"n}Â×@Ný;XÌ’mi�¤Û’:ZØä]ñ’qÑ•¾W³ö'iRÍØÅI{_•ãÌïßbEL$BÄÔ˜¢0õ—8põ!z•:˜€¤¯Ù±;°r¶xÜÍ„˜Õß#)Oú¸›÷}ÚË’°qá „ý‚Œ‘X°n'R¸<ÎÖÓŒÌØ]X-» ‚12Ÿî½Ž–�+YÑý4{>� SpŒQ ðãÙ˜}i‡çPl³í|&ÌX¾kçGÁlDô’/ñÏí'èqíXÞÎé¡ÎvHœ�FÁ0m‚�aˆž»ß%W]/ö)Êw3v13l¯Ãù}_bñ¬pŒÓ±lÃjÌ ÃÞ ÷›õ³%‘×±9<¦ ‰hrè¦tœÇvˆøù7ÿ�]$½#ëk‹¿¼[ºžáê_bþôPM †)j–®ÛŽ«uö„f¸³+héA£¡c½ÅÀ•1iÒm‰i¤ÉÐ#rrLZМs ëçFa…íò‡d[Z'鶤Ž"ÞØƾ}^$–ñq·IkbC»²:Åß«jì ðd·&=Ĺçq2–…ΓÜ,écüº`ßâhl¿îå)ŒÉÔ±µVßÉ» ¨Ë¨Øœ€úêa<`|û|䋯îc & <]{ÞNÁ¥´l–•£(û2~ß8 ÆÅ¢²SúÃ.r€wáyMVáÜžU˜¾ú(j{|=V®Ì±ü\kõËXLæ²Õ`s2·�u›°±{½…Æ>�Á÷ 8=»ù-îÞŒ…³"a´ýêܬÙz÷žÊÜhéI“ÞZ]‰`CmþÙÏ¥KÑ“lÓZ}=Å|*|¦›S!Nl£¦.EÐØ ¬¦€õ)¢¦Ô” ��)Ì�} ‹O“œd³|²H3"d@hì*‘Iƒ$d€ ��ÉÂ��ÆÎ ™ �2@tÄ�]GbN–l‘õàÌ… �20q ÐØiìÌÔÉ d@G ¨fì]]]¨­­E~~>òòòøÇ�2@È€�ÂÂB›Ÿ _ dåCc'/**Bcc£­ƒƒƒàc@È dÀz{{ÑÜÜŒââbbîªûÇñòåKš92@È *1 |µ¦¦ÆïY»*Æ.–ßE†ÁÌÌÿÌŒ1cÌÈ dÀ}}}Ëòþ.Ç«bì⚺§Jñ3ÂJÈ d p„¿ÒØUZ!ˆ�ƒÈØ1vd€ �u ±ÓÔ¹rBÈ :b€Æ®#1™íª“í2ŽŒ# Zf€ÆNcg¦NÈ :b€Æ®#1µœa²îœ!‘2@Ôa@3Æn±X�žžŽÝ»wcÆ ¶?ñþöíÛßu€˜°8táeU1*žwb€Éy&d` 1ðþý{¤¦¦bÇŽCþ¶sçNÛgâ;ÇeMûÛ·om >tèÄÛˆçßÅŸxÿàÁƒ¶ïÄ>þ6Þ¯ý­¯‘Ÿz ó_Â:É�0¿AUÖ5¤$Å!6.粞 oÀŒö–hlëS?NjÄÆú 9çp½¼�Æ>Éùò«ß°-ê÷7ÆTW1Ïœþùç8uêž7Û¿x‡¢K ¸XØ2<ãèÆ‹÷pùlâââ‘|îÊ[ÌèÆ³’»¸rá4ââ—x÷µÛ�èÂó²L\NI´-“§\¾ƒŠF×ëÊf¼z˜ƒ«g“lÆ’xú²êÞ¹œSáx[=ãqòäIÇ_¬}yÛfìq.ŸÇ!ó‰ûjE{ .ÅÅãNÝp<¬¯Kq.ö$bÏçáM¿3êÅÃô$$ÞªF¯t¤±蓼[¸xî4âcŸˆ”+¨~Õ3gë{<.HÇùS ˆ‹OÂ…k×q!)Î})^6VV<»ñ©…hsª¥™§ã‘Víˆóà ºêî >ñ6žõöy�éÐÀ9€·iH¹œ�ª†ZÜIŽw7vK3²S⑚ß4t9¦÷y.NÅ�×^8Ôf&$rc ?'cÉ€¸¦.–ß�ç¸qã†íò²s[\jŸ9·Å²üÅ‹‡¶�Ÿ{z�ôÆ.n”óå7å{zzl7xjäÈÏúñ,û oUài~*ŬÝab¶~+ùîÕ=F֙ܭë¶Rj^ƒV´”\E|âd=x‚—M�xþ¤¯ºúF�3i¥hhlFÓ‹´Ø–ô­h*º‚øÄTäT=Ccã3Td]BBB*Ê_Ûˆþ¶H�;…ÛeOñªµ-/êñ¢Íys òñv“�Çù¬GxÓÖ†¶¶6tôZ1蘱_Éæøü-:¥KîÖW¸6gsž;fçö™ù™´ Ü8u%¯õ°¶Ø îrñ+G²"IzÉÅ™ôrû̧XNzcÏ©‹ãF ¼’@‰}îÞ½«¸Ÿ­‰ñô¿­Â¥„óÈ̺�ijÙh±-Qw£òf"Rî7Ø—¥%Ç8ÍÉ?c·šû1c·µË‚w/k�{ë<âc“p£¬ÅvM×òʇã%õŠ›O3öAX[Ëq>îò_öØž”{Ž¥m1ƒ>u9 Ýx‘w WËÐá¼¾-=§t[´©×>K¿'ŒÝÙŽç%‘и?î6´�[â䫼)¿†x1Cï}Ž»g® êm*o&ãfå[¼«NCÂù<´ÝÜç9¦Cñ‘ð4èÁØ�KñC+â.ÅûÖç¤ñå6ã6ŘÒKñÎÇÝÄ#mrƒð•+Wðå—_Úþ™:¹}Ü>&r6WK�Ëè=¶¥æ“'7šÙ€3£öv’î>¶ß(%1+±œ|+Q\v–᲌&ÙwèܽOm×cÝžÕx�—¥ø¡}mu°àeÁ¥á»Ï}9^îÜÖ×È=�KEŽëâr�ÊÚb»Îžz¿·O§  Ñqóà õ÷Îàtz²SÜË‘žSº-Îåb샎v\)y=|§½ÄØ�ûx‹UÿÛJ\Œ?‡¼â,œ¹(n¤À»ŠHºV€‚I¸XØ<\þP{%1úÜE?ñ™ctÞ5zÐj¿ƒÚõ¯¹µ9ÙehêqÞùmÅ“ÌSòw~šñ"ÿ"âÄL¿ì1^45áå³GhxÓ7ò.ñ!P-n7Ï55=¾yî•ãæ¹ö¨®}†æ×­xÝü%igŸZà¸û[ùxÙkì¶åêdÄ�½�ª†F46îæÆ�L<¹�ocã4eâÈãnííí>ÅGÆ.Ì]ÌÜŲ¼¸ŽîüIYñ^,¿‹P^˜ºÏænyŽÛ‰q¸ý°ÓK�úÑp?ñWËìÏ({2«þN4ˆG×Äãn±±H<�Šû�Û1Ð/¹Kܵ³:áº$󸛹実?…øXñ˜XÎ]ËÄÃ×.�‰)/o샰¾«GöÕ³Hˆ‹E|òydÔxXm„ùENÅÆârÉë¡ëû¶¬ÐÚŠ¼óqˆ=›c¿AÍÙ.il¤Ûb?7c�Èõàee6®�K¶Å..!g/Þ@Qƒ‹&Jm@ûÃtÄÇ]Àƒ7Žëõ(¿–`ÓÍv h�RL�íp}õhì¢Þ]x&~ F<¦—p —qüˆ‘ëñ|ï¥oÑü=ͲøÙÔãBü¢œ¯?PS\\ìsŸÒŒ±û½ÓÜ |€/årŸ©×á¨95'd`<æ.î‚Ëòâ‘6çŠô£G�†~RÖSuÖ•±‹‰Ÿèp.§Ìñ“ç gd€ ��ÀËòâÇgÄO£;W¤Å{qMÝ×åw×øëÎØ]Ç÷�ƒÆØ1vd€ �m2@cçµP^¶ d€ �1@cב˜Ì®µ™]S7êFÈ€š ÐØiìÌÔÉ d@G ÐØu$¦šËâ ‚ �2 Mhì4vfêd€ �2 #&ÌØÅci}}þ3—Ù®6³]êFÝÈÐ*ÂWóóóm?Ü&~¼Í׿ÿüç?ÿç?â¾ài¿ÚÚZ¼|ù’Y"2@È *1ðüùsÛO¯{ò]oŸ©bì���())±™»ø¥­fG¬73{2@ȘhÄL½±±Ñö#m]]]>ÏÔ�f¯Š±‹ÂÄÉÅÌ],Ë‹küc È d€ øÏ€ðQá§�˜ºðcՌݙ)ðÕ÷ë ŒcEÈ j3@c÷ㆵƒÏòØ¡É d@mhì4v¿¯ß¨ !ËãÀFÈP�;��ÆNÈ :b€Æ®#1™ñª—ñ2–Œ% Ze€ÆNcg¦NÈ :b€Æ®#1µš]²Þœ‘2@Ôc€ÆNcg¦NÈ :b€Æ®#1™ñª—ñ2–Œ% Ze`LŒ½·»éGoáà’?°oÎ^Ÿþþùän¾q¬VƒÉzs d€ ��‰f`LŒýÎÉÛv3Ÿý‹O¦>dþ1{!Ž�è èêüæ&¤ýµû/ÖÁ,V'¤Û£Y±0¿Bî™p*»–Ñ”Ãc‡™7·¡ðÜß8™^o×K뱑ò&ÝÖzûF[ÿ1ëC´–]ÁÉS÷Ðl¶ ó5ÚúòxMÄrLŒýïOŽøgèÎYýì_phÙ�± œ¥ÏʲQðèíä0"¹úôTààŠh,?�ƒ.Ë(³ßÞXjªÊÐ':¥t{4µ§¿Í7aC|­o&$×ÞÑÔÁÇ2Íïkpz÷z̉APp(î¾…öÑÆv,êÝ÷¯ Ãò#%v½Fs59ò1Î#’b)oÒm¥öÉ�WͶ)Õa,¿—ö!µÚe~�³_MÇìièœHÎÇ2v,[Ö+ÇÄØ‡fàNÃVxý}îon‰ÀˆÁÁE@ó«t|„ˆM§Ðäo&ÚS‚=sB±)ñÑä0v¹úôÕãÔ¶õØ–\�^—¶{‹‹ìwÒ�Tº=šò¥ƒ’RYríU:ÎÛ÷>•Ù‹â#+óNÝ-ăòb=|5± ÈÕ[McW“#¹úzÓF|'åMº­t¼ÜyÕl›RÆò{iR©]æ–«ø,|:~Íh“üeÇŒ±l/Ë=&ÜØ�¬8„WOZpóðõ!s—ÎŒê¸ ��(Ã|+íð/HrƒÄDÁ6õ‘¤ÒíÑ´]:()•5íõ¥Lósœ\Ž¥ GŸ()µÑ×ïåê­¦±ûZ_ö“«¯Ò±RÞ¤ÛJÇz^¥r'Ë÷þö!ŸêmAÃó¤àx IDAT…o`ŒÞ޼÷fÿÆHŸÊå*"Ï1æšL¨±_wí¯ÚÑoîG–8Ec·ta÷ÜH|w¡É_LǬoà�ë¬Ýà Ð÷ü<> �‰ƒ�°Ú¾Æÿû_ÇŸ;o½³¹ï²ãvbåœp a˜»z’ò‡—˜Í-¸ñÇ—X>/¦� …D`ñâÜù£øníDC`Š^Šã \êdF]ê,˜CP0LÑK°õŸL´ô9®yÉÕÇÓàÞ÷¹‰?auL$B ¡˜>ol‰�Â9¤©ë¶¥ ·÷Ä dÅQÔ;ëd5£êä§0ÄìEy·ûµ9K×3\?ô5ÍE°1 ‹7|†%!îKñ=�¸{b;>™?¡ÆpÌ[· +Úì³c¹öŠŽîí8ñ½\û½•é@lñ4¹èl¯³ù52�ý€5‹fÂdFpØlìºòÂ^×1áÁe@”«·£®¦Ù 07*Á!ᘻæGœ+{3¼Â +·v»,ë;ž?a6†%e[:P‘úÖ΋tðº{®®uv¾77#ys$æî¾3rÞ›Æâx%îmz¸¯zº�±^û”ܦ7ùÉžKŸr¶Ÿ¯có϶:—âÿZue7Jq`ÑïC¦íüîÔwI°ô˜Ño@ò7 nß{Ñ‚æ›;óŠÞ›Ñšù+¦‡­Çåç½ÃÙ�tŽï×ÊÄú:ÔÕ=B“-£íBñ?kbZнgî ° I»W#4tâ´;Œ_\û4!fkî#ÿN2¾ž‚i+±ÿLróspéÀF„Çàï¢NG�,h«ÍCF^)*+Kq;af¢°'ýµË`Šõѹ»Pr|Œ¦%Ø“x yE¸w+ å-}°ZÎájäx·m ^ßÚ…Pã:\ie‰­)["ýãM÷AÁò÷ö/Epø2üvú6òò²pùĘjp1öNä^�ÐY›q2½Uå÷pâ›yž½ ïÌŽÄÊC{­ ÇY½´_VS—ï0ËE{® éþ¼µVÇçs¶œ@f~Šr3QþBð4V<¸ÔI®ÞŽ:ÍÜ|7ïå¡ û ~ß0ÓC«J±r9‡”#GÙ1ßÄ"+¯¹ñۺ衲{j°Ä�­±(¯®Béý[È}ä`Y®¾£âOÔU�_¹óJÛæ�f2íwwœ±ò«¿+hãKÑ.…øx0±¾©øÔ�ýÙŽI‹Ë>^5ö%†=\/gº»#nžú”ü¦7—ú»iÄχ½O‹1�±ßK¸ñ_ëÓWø{Õá!ó¾¼ï>|À‡�8óé¡Ï�¦ïQ<ó ÄmˆÂÊ¿JìË©ÝؿȄ5Ç+†o2R‚ÎÃ÷â\æ·ø:ʈ ñ‡gè½õ8öI¢¸a¿ÉjD‡3£.i 3v Ð9³í*ÀÎYF¬�s)Ç5à}õ8º: KÙÛ S»á ÏF,o3ð­£~¶à\Ë”¾—žÃÍÈ¥Æn…ùõMl7aëEÇ�í�¹ø!Ú„oS_ÏEŒZoáóp#6'?þ\²Œhn»�-áøñZóÐ>}�©XkŒÂ¾¬ö!cwlñW8Îkûåbè—Ú9ÌOæóqáA®ÞêÔ]u Cfãpa'cì­Ý ewB´aŽ•Ž4ûj—ûLÍc?õ“¿eH�÷1N�if…klÝê2"VÊý]I_ú�´ï»ÕIh+��«Þ¶÷<9óŒ³~Ba‡ûŠ›(Ë›Æ>ÅЃ#�}xìrÖß[VŠ›³ ¾º$í#twÿnL�}_Ì^TÞ®°™{Ïû$l‰ÅÝoãÿ÷ñÿ>þ?\Ø}n„© s÷$`÷Ãx,6­Ä™ÇÎçÜͨŽ]��ùûPÑ庴í>ø¸AçJq®Îòc˜2ÇÊœ3m¤^ä\â¨é±8fwîÀ¾¹µã¸Ý渎Õû­4aùábG²ÑƒúŒغv1fF†#rf f˜‚±`Ž_Æî¹~N!Ρ`ìVsR·Î@äשxc¶ØcaZ‹ ®+!"FeGc˜‡cå]ÃúHŒ]Ô3&h‚‚ 0œÁ˜ö?l½Ø ‹—ø{;®Ã£>ŽöË”éÆÐˆAÚq¬Ìçžã­NÍÄÒ£Ì�œêdn»‰M¡¡Øs§Ý¦�·X¹=v(-Kº-¶7Ãe[»#qË\‡Æ`ÓÏÿâNÕ+¯I³=Æ£äϪp¼�q T3·ö»–b¥Ôß•øïð¡�4v…ø¸ÖY¼7?GìúpÌÿåžç'j¼hìS =èá6Æzˆ›ükïJqscZÚ^n�Ç.±[cŸ³ûc~Å£¼:›¹üðÑö*LýÒo=šºgcïAÞÁe˜6tmÜy�ü¿øï´Ø—å¸ó³§¿Ä„ºÍ˜Ý ó¥ºƒÿÆÞ~g7 !›‘öƱŒÝ÷GW‡cé!ûMZ=uÉXŽuûSQPY‹ºª ì]꿱Ûiýì�BñJÆnµàUúnD„mÆ�ænTÇ®ƒiõq<ºæîÒùDŒJ]’©±Ûê9{¯×àÉ“'.õh~×'kfö¤Aþ8û÷žÛ/k�.��,ëe Ü’ =ÕÕò._„†â§ôvG‚%+·sHÛ'ݶZáZ¶íXKêó.`ÿ‹‰Í±evƒ�©ïhùS<^æ¼Ò8ÙÌ!€><¢ýNn<ÄJ©¿+r,_…>$m—b|œõu¼ö>MÁªÐ™8�븄(ùÞ›Æ>ÅPiŒõ7qNo}X)nnL{j?aîcnì¨ÅãlOKêm¦Žÿn¹!kꞌÝÒ‘��³MØøÏ}T×Ô ÆùW��Ckýíšý†5±LµÊ„9»†oq7ö ì_:üL·óÛ»ø:RrXo=ޝKñ×e–â­Pêèm¶ýçÃÆonBÂÆc÷\iç6·¦áËpQ¿‡Ã3(GÝÏá4ö¿%ϱ;·E9�EØcÂç Y8±.ëNV_’�ÄèÓ.�àIŒ],5~n°]ñø˜^�çö*ç­ýV™2Ý™ÁFgç1cѳ|Û«\½=ÔÕÕ|”båviYÒmOÆîÐÛjí@Á¡Užµ%âR“L}GËŸâñ2ç•j¨f®±õ;«rWÒÆYGo}HÚ.Åø é%’U3j6"dÎÏ(í¹ ïÖ>Ûqî;ëçö»#ÆA…1Öcâ¼Þú°RÜFÖÛ‘˜»µ�Ÿ¹Æi\Œ]˜õóöáyynMójꞌ½5ãD†®ÃEÉò°¸ñæñ©Ïö9nÚn$ëCÅ¿ë`0.Âîä4äâþ¥_1ßà¸+Þü—¾Ÿ‰�yß"%³y™W‘^Ö ‹µ Eÿ¬…1l)~M¹k¿yn�ýæ¹ØïíÙ�`•Œ½»:‹ áØðÇ%ä—W¢¦2 ûV˜†�]®>#ÎÕ�Ü+a]„]±×p¿ ¹×pïa;”ÏñqëþörêßÁb–lÛ:G/Ê�¯AHô,Ì]�Ó�œ—;\;KŠ�®Eˆq.¶¿‚û…E(¸—ˆÏgˆ{œ?PÓŽQOã|üøïed!/ëÎ\-A‡Y,ÊÄߢpœU¾ý²eºvúñt´Kîó1âÁµãÉÖÛC�ÜÍG)V.šIË’nKŒ½çYÎ]º‹âŠjT–Þñ-1Yzu½Yíº—ð&áOùxfF´%°>ì[/±óÁØ­V%m|èC’v)öo7ÎÅŠaíÏA�ëç.ï½jì ÷V…1VRÿaæ½ôaŸ¹èâÒ–á²ù½4ãfìΙ»xUús«¤¹ —¾‹FØÆD�?HÓ×pŸ�Ø’òÌvÖxœäê_bþôPM †)j–®ÛŽ«uv³ê~šŽ=ŸÎ…)8ƨøñl�}vÚׂìØX9[<îfBÌêï‘”çò¸›`•Œ]Ìzì�EÁ0m‚�aˆž»ß%Wͼ=ÖÇù¬=͸»«Äãn¶Gç–bïõç° =¾"w šsŽaýÜ(¬°]"�nÛ;E_Óul‚iƒç8Û4ékEþ©½X·`B‚¦!Ø…ù+>Ãß.?)ÛÓŒÌØ]X=/ !AA0FÆàÓ½×Ñâx,Ñc{EgU8N¶ýV+dËtžâ)¾“ûÜöÝXðà>y¬·‡:�0¥Xɵ[¡ìö²$l\(´ý#±`ÝN¤>p<ª(çÑò§x¼Œ¾Úb  �ˆ­\ì|2v8VêC#Ú¥<†8ÇËžº$,5ÎÁ‘"ùß÷PÒX1†"ô6ÆŽ¨¿ órc˜ˆ¹¯L;õáëˆåw'âuLŒ]ü,ì>'^þì_ ~°Æµ‚|ïÒ1Ææ®Ø·8Û¯»˜ôXž�e“s2 "fTœX‹�yûðÀù”ã«b|ÇiVI³11öÛÿ¦c¿¸q·ٹtöž™�1eÅÿ$¦ Ïk*ð°ºçö¬ÂôÕGQ+žP .–£­Á€ziX¯Þ:^aÂ’? &ϯ+r™°±tLŒ½»³ é'Ò þ)V©qËm‹Yþ­¿oÀlæO ŽÛÛ[‹£k"lˆÀ¢Í"û¹§këì8°LØÀ2n Sc›Æ¶çñ�sqÔõ©ÆfÊò?&Æ.:µ0èÞÞ^twwûô'öµX8[ä€ÈD‚ �2@FÃÀ˜ûh*Åc 5 d€ ��À ±s¹jÊ.WqÐlÐ`Ü720¹ ±ÓØiìd€ �2 #hì:“Yôä΢©õ!d`< ±ÓØ™©“2@È€Ž ±ëHÌñÈyÎ8È “›;��™: d€ 舻ŽÄd=¹³hêC}Èhì4vfêd€ �2 #hì:s<2Ažƒ32@ÈÀäf€ÆNcg¦NÈ :b€Æ®#1™EOî,šúP2@ƃ;��™: d€ 舻ŽÄ�L�çàŒƒ �20¹ ±ÓØ™©“2@È€Ž ±ëHLfÑ“;‹¦>Ô‡ ��ñ`€ÆNcg¦NÈ :b€Æ®#1Ç#ä9¼Ï8ºººððáCäçç#//�~Æ °°Ð?Ç@Y££ãŽŒ.~jôûÑj@c§±<€:ðêõ8a(EEEhjjÂÀÀ>~üÈ??cÐ×ׇ––#s§£gŽŒ>†£íû£Õ€ÆNc§±«Ä€˜©766ÒÌý4sOƒ ˆcMM�ßlRõL‰¨KOŒûòY ÐØUÔõ: e»¼/½»ÆG,¿‹LÛ—Ë}¼š‹b9Ò5¾¾¼§ÞãêwÔ@½Xúw×}Õ€ÆNc÷{ðôe€�Šûˆkk®�’ïG70ŠxúË5]Ì¥ÌRuã)�¯/Û�h@c§±û=xú;ØN•ýi*ê‚� hÔ€øb–ZÚ'�~@c§±ÓØUb€¦BSÑ’aøR×@L…ý`âû�]¥A}ªÌJÙNùkîÐ&~@£ÔÀ—„EKû’\ÑØi윱«ÄM…¦¢%Ãð¥®�˜ ûÁÄ÷»Jƒ:g²ò3Ù©h? QjàK¢¥}I®hì4vÎØUb`Ê™Ê`+îÝ…?¯>Å  Ï®KÛ@4Ýh0øwŽ|�Ÿ/<“ØJc-·=¥5PƒéoQxþRò^ãC€å¢�]¥A}ªÌJÙNù• Ý˜Š¯Pÿ#YŽ5'ª0àë1~ìÈ€¦ p쓬:Z1&±•3réçSZ?X•ÆmhÛZƒ?†cSÒ“€´@4 ±ÓØ9cW‰�±2•Áž¸}r6,��ðŒ³±ró.$ç·< xF3xMecÿÐ…Û¿­Dt„ÁAA1aúÜeø|×qä¼èýïLEcÿð美´iÓ$!ØvµubY´ŸÐØågBœ%26Z``,Œ}°³G>�CäRlÿ+i÷²‘uû2âìÄÑŒ7;ØMic·›Pئ(­ªBEY2®Æâ›EáYð+Ê»?ŒÎܧ°±‡}v EàÁÐ_%ÞZGÏ@�y´ÇÑØi^Z0/ÖQžSõ�ÝŒ¢#+aˆX‹Ó»d¶A<½òÏŒ€Ñ‚ðY˰íÄ}´ 8Œeð Ò~…•‹f#"ÔCh$æº+Û‡“‚Áw(<õ3ÖÌŸŽP£ Ñ 7"¹Â1ë´¾FVì.¬] “) 6ìÁÕšû±4vDýp —Á¿óÞ/3®Àé'ˆ´ÇÉÅ^bìƒ]U8²v:b¾=�Fë(“—ú*­Ü² p?pÌØ#¿¿Ž>¹:¾E~Òn|27Fcæ¯ÝŽ3ů‡—¹?¼Ãý“;°N¬nCƒ=7ž#û÷…]qOû±³”`÷œ0|}¡ÙÑ> õÆv„F~‡û�ýÞû”Çs8VÏÌ�Hûk+–D‡!Ä4K?ûË£B¹Oã�7ÆfrÇ&àMnë+ÂŽYF,øí¾›y¸ÆÐQ_„ûÅxø°™ÉÛ1×8{3ÞÙ,›A„cÞw‰È-.AÑý«ø}ã,„Ì݃Ò.1È™QqrL˰÷ô—• çÎ]T·‰�®Å¯�)æK$d”¡¶*q[ØŽ-ÇÒØ‡�ýƒÍ•HÞ¶¦EûQÙ#b« �·Ø»{¿åÎo�‡ékÿAM× L‚§îÝðNÆ&ÆØ¯¡»Àö/$Š%qpЙȘQ~|B#V`ÿù,”–ÞÇ™_Ö K|<<ûw&Ü݆´‘ÜØ8øþ¶Dšð噆áÕ0.Å˘4ÆF ¨nì/ÎÙŒýû+2Fax¬x‘‡më—aÎôHLŸ=3#B°èÏBYcl¿�/°÷^úªNb¾qþ­ù¯ÒõUý‹ù†`BŒ0�!rÜÌÄ;"¶$¡¶¾õõ�PU’‰ä½kaZ„¿ ßãÃGïÚx‹½Ý<ÂaŠŒ@ˆq)ŽÔÇ9«Ë׉0ö°M'Qñð!Ä?Á+þjŸ¾¶Íª=Ç«ÅGVÀ¸ä°ÍüåL÷ã` ?‹Ä¢? `ìµæâÛ¸$|½ gžX!’èÕáË�TgÁGÝäÎÑWuÂÖ—NV™‡WUhì4/-˜ë(Ï©ÚÆþ±7Ûf±ø�Ù¥xk} V…EbãŸWPòð êk³±oe˜WcÿЕ�¯ÂÂðs†0vû`äÙØÅw³±/í\þ^ µk€3ö¯£†—â�³;[²†Y?ÝE�‚6Þbï4ö…ßü‚o†aúÚ¿QÝ9¾Ëð"a˜c—»ÆnK4G$¡>ûÇAûàû»ø:ʾ¼é\ªwÎÅÒâW‘F¬;YcŸý;ÍËù꘱r¬rÄ2¾³ŒÑ¼Ž«©8Ûäë«ãF/éÍsûàסˆÙ{ï´ñ{×YaoS¾ŸŠ9ßžGó8Þ8'´W nžìÈÂÖé’ÑœKñÛÓ¼.Å‹¶ô7ˆ$x!žØƒ9+Å�tƒhHÙ‚é›þÂ__ÌÀêØ8¤O‰ò�õ[÷p¸¿ÐØi^Z0/ÖQžSÕ�ýãG ´fcûB¢×`_üdæ ?çRãàXú ˜%b‰1 ›]Cqu-Õæâ�Õá>ûÇ�=(<ò ŒaK°'ñòKËP”} 9�{ ¾+8¼FÓ"쌻Ž<ñ]n:Îݬ@¯¸ži[ÞŒ@äºÃ(xÙ5|]ÑWsTØo\ME¡.#‡ …m:ŽâPVR€¬›§ñÛgsb\Œc¥°(iã-ö’{#ºk’°:"›âªeWoFÔÑß6yØ\5P0vq£g™óæ¹ Ù(+ËÁ™½âæ¹H¬î¶/Kâæ“�&Äo—6B±Öñ£J/S±6̃¸Üa[†ÿ¨¬›ì9Ì(?±¡¦Ø{eå(É9�-³L¼yŽÆ!oŒÍäŽÍX»˜ÞVãü�ï±Z<Ž&~ &|®ù‡o>AÿÇ^Ô\ùë΀18!¦Ìš¿?¦<´Ï¢= B®Kñ¶�¯¿9‰»m�»‰Gæ"f-Çþ´&»Q‹ïö`Í‚5`š>ö¥¡mPÜ…ýo NbãüXõ·ãf=æà6¸úñý¸šŠõ²µÇö5+0#<AAA EÔìÅXÿݸXúÚ±‚¡ �8§\ìGèÖ�Ç)[¶§ê\®áú[o?÷W �]$“mÈKü «cÄãnᘷöGœ.z5|ÃÛˆ¸¹>-ðMW¾‡É¸§;ž‹lAÒ¦H„­O@³óÑúÔãƒïQœ²E#ÔŒÑWW}ŽcÙ~Ü+Ñ( øËs*ýêMwr›îxè3VÆ>4hH:¼Þ?d@£®F6ú÷Ô`ô1m? D;��?)«4uÁ@4j@ Fk¤“íø@ú�]¥A}�˜ ûÁÄ÷;��3v•à€6ñ5 £Mf&Ûñ�$W4v•uΦ'÷lz<ô¡©ÐT&›)Œ¶>�˜ ûÁÄ÷;��3v•à€6ñ5 £Mf&Ûñ�$W4v•õñ˜ò“{U€¦BS™l¦0Úúb*ìßhì4vÎØUb€ÚÄhÔ€Œ6™™lÇ’\ÑØUÔ9›žÜ³éñЧ°°‹øG$Ô\§by"Žùùù~'�Ô@=ö¨�z± ´ª��Æî÷à9&©ÅsÔÔÔ ±±‘Æ®BbóâÅ TUUùÍ&5PÏŒ¨�z± ÔØÕ€ÆNc÷{ðÔ¢éŽG�ÛÚÚPZZj3÷¾>ÏÿhK |ª'f(MMM3oOu££7#j0ú޶¿ŽV;�ÝïÁÓßÁvªìo6›ÑÚÚ 1kÆ$®�ñÏ¿ˆ¸‰ø½~ýÚvYÃ_v¨�ñöÄ'5} =ÅÕŸÏF«��ÆNcW‘‘iwvvâÝ»wxûö-ÿüŒ�ˆ›ˆŸˆ£¿¦îÜŸŒŽ;j0ºø©ÑïG«�]ÅAÝ9°ð•7Ò‘2@ÈÀD1@c§±<3š(hy^˜d€ �yhì4v; d€ 舻ŽÄd+ŸÁ26Œ  S…;��™: d€ 舻ŽÄœ*Ù(ÛÉ™ d@ž;��™: d€ 舻ŽÄd+ŸÁ26Œ  S…;��™: d€ 舻ŽÄœ*Ù(ÛÉ™ d@ž;��™: d€ èˆ�!cw¼ù?|ýcðÆ€ý€ �2 eþ?ck QDa}¼IEND®B`‚liquidctl-1.16.0/docs/developer/images/create_vm_5.png000066400000000000000000000771341515166127400226760ustar00rootroot00000000000000‰PNG  IHDRöÙ¼} IDATxì½wXTɺöí÷çyÏ9ï»÷>³ÃÙ'î}ÎÌìɳÇ8N0D2DQL ŠsΘb@TTD$# Š€T$Jì$ñþ®ZÝMG …öñº–Ýk­ZUÏzž_Õ]U«V3l˜ê¿ÿ3lذ¿ 6ìûaÆ�6lØXÚÈÄ1@ ÄÀ a€i3Óh¦ÕL³{ü÷ÿ±D¿ûÝïfŒ=úµá„ �&FF056¦�|@ Ä1@ ˜63�;fÌë?ÿùÏ^�g®ð�øê»o¿½kl`€q¿þŠG�ÆÈáÃi#Ä1@ ƒˆ�Ñ#FpýëÏ?ÃÈÀß|ýuÓðaÆ)ˆû_˜¨O?ìtêÐÄ1@ Cƒ�‰ãÆIÅ�MÍsÿþÏÿøÇÆ�#AD=2ªPC£BQœ(NÄ10`âþ»ßýÎCúÌý/?ýøã+©œƒN²�8$ˆb@{¸éù,6lس!û÷cÇŒi%GjïHòùŒ ˆb`°0À´\²Z~Øè1£Fu ÃȪ$Ä1@ Ä€ö 0-—¼¦>l,9P{’ÏÈgÄ1@ ƒ‰6/ù­öÁ²… b€ >Ì~·_à6«±?¼ó"vvZÿÎQôñ4@kŠ51 ˜˜Ÿ¶úNÃñÜ}¤Âvßy8ö˜ÿ–¦?þ&a'aï8ý��®é_%%¿‘߈ýb`¥ÑßQè6BAÌ•Å�í³4ëLÿ®uMÂN®54ÔÈèW#Cñ¤xï��c–?ô)èÊ"¿}’vâNÂNÂNÂN Ä1ð`#ueÑÖt©¡æâNÂþ‚I½á÷×&_“¯‰b`02`8úÕé÷é£zz¥slZžå¡É½‘°“°kŠ&0Q-ÔQ68”Ó‘ ©û¼ñëHÙßh0ZrÍ"xeð;r`c4r ‚ÜTÔZ®"îì;÷\IÜ5�’'a§Š£7gÈu,¤Â.AȯÀÕeSº…ð½ ûðá0Z‰¾"ÞSìrþYÆÄˆ‘pÝ�ëdÖZý(ÎkŒ-Ž>näFþì\CÚ˜�RýPS]WŒ9ùã½ùƒ½›.gåOy!—ÿ®œNº¯É+p$ì÷{ƒ›u¥Þv·° Pñâ%šB4=;¡"ì#~†ï‘´E4W¡¤¸ l„Í�ËK,0jÄHج¿Ç�oHÛŽI£FÂ4è:"ð^²‘öHüìqe|!xe‘ðúIizÄÌ>ñ”l^q\%Óÿ?¹ìC1��äó±ÃñgŒñ ‚o¾á:¯ÊÁ �w|&~1sÂñšÏGMYWnsÁ 8(MëJ PûóQ´?N?÷,ìL°¥‚ÎFïì»TÄÕ}²¼úªG$ìT±ú„¤/ˆè|?ënaoÁ½m³°þ& Pµ¶KŸ±�ž´iõ›b³Ý/9b$¬VÅ¢^ D}ò˜Ž�16›‘Û,„ 6sÇý„…ç%#ë–ÇØb÷ ¶¤�' ìÊbµSä?9ïF!q~)ŽùŒÇÈc0ëx"!ê3va2}�2Ç®ôˆD͸µk+’kùàWÆ`žÑ$lº[!¯ǶœÄs¾üÊ˘¡Ü� úFõí#d€ýªœ:‘–#aÿ¡ áì§pvVä…}“-ÆLœ‰KEÍò+‘x÷!ZäÏ�›suܳkñ8›ê–nÜûÇ‘9ÚGs› â?ÇAïé8õ´¼ºZ4ð›»Úkck Ôáòbõâ2Ê»Óë¹Ñøó ñÓÏÞ¸ü²…[ܽœÍ ÇÈÑö8‘× ‘ð "L‚ÿ…‘q ÏZx“¾ÖÛð¤YacŽ¥¾¬Á²�â¦CØô¹TÄ•?¥¢Îž³ËWN'ݧ©x†ÄUOÅõC2¢$ìL8'x„âY³@&Ú’Uñãæ^@½@Ac¢@èÙ¶oãnÄ>rÄ(x|¾ˆ‡¬‹ÈmnFÊ�¸SÍÃë[÷šÁ›x�Vßh�³¥×¹Åoüê[X½ú· ŽW…™ãÄS÷#~œŽ‹¥-ñ_áØŒqè峎¿W–˜a´Y0î7 !jJà Ó1êËú�~§²)&ï™�±#‡#ÏUõ—æÔ ¹ºcRQg ð4Ñ"šŠÏÖ$(”F3x‡¼ŸÔûÈ?aæ‘Gܳr6"—¾î6Új=²›ñ+âŒ_%‹Ò~šh“_dÏËrÝ�bž>‚–_(Dõ­Õ˜(]Å®Žý_¼q…�Ò…-¨o¿¶öè�'÷ �ù{ÄØ9¸ÅàñбÏõgŒeŠ­÷ê¸s¼’spÿy$F,Ar£¢–GØr]xžP‘P€æºJTÖ4€Ï¯FøœñÝ•}Ähœ,`«ØEh~vNcFbòªÛhˆ¸)õ«Afâ)õžîoÄ(¸îºßݱÔ§b¥¹dÕ;»fÂb$q¢ýÛ~ÂÈ#`8sâpv¥÷ºÞˆ_ ž¥áa/ÿžÊ¢ãä›�ˆ6…®2jWzO]Yøå÷éj>"X¨ÑÂ�ž„}ĘÌ;‡rn»ÜÔŒ6�ß¶d<«@C ¼¦<”€�3 eb=b¤ø=s!{ím÷ÚÚ(“åH­€ÿúf�ïû™÷(£E¸[Í^} ä¢?~•{}´Ùjñ4{K66LQ?1Ö1µìµºr÷GâEí1 aà]~R–]«i{O#vªtâ)T”nw6¨>P} ”öëqò#qM¾³?£M»JÂNkŒ6pQZxb€ TÐæÏ¶j3R—úš„�„�„� ˆbà=3À~�îÐä¿#ÛEõU¸dÇá`‹í4yµM*æòŸ$ìï9˜òΧïª=Yò ù„ >&Ø«pLäÙ/ʱ²é¯˜ËûŒ„�„�zêÄ1@ zÄ »S¾ÇFßiÔC ÄÀÇÉ ; ;õÔ‰b€ ôˆv= &õÎ?ÎÞ9Å�âN ò �°“°SO� ˆb@� a×£`Ê÷Øè;õà‰b€ø8 a'a§ž:1@ Ä€1@®GÁ¤ÞùÇÙ;§¸S܉b@ž�naÿôÿ´‘ˆb€ ˆ�¡Í@·°'''ƒ6ò1@ Ä10´PöÏžmäb€ ˆb`h2À:e$ìÔ™¡Î1@ Ä€ž0@®'�¤žõÐìYSÜ(nÄ1 kHØIØ©—N Ä1 G �°ëQ0uÝë£üh$A ÄÀÐc€„�„�zêÄ1@ zÄÀ�öÏýOáolz½)êS̈b€ Š�!%ìLÈ¿_z¿®Û³m[`¹}3&ïØ “-[1vÍ>|»ä(˜à”³(_ªˆÄ1@ ƒ��!#ìß�é–mpÚ¿>ÇVb~X—p›ß©¥ð:²v{×cüú]øjñ w=šV앨ÿö…aü‘8”– ãÀ°AÊlFmOÄ’k)˜°x°ÚHBÓÉwúè»A/ìl>jU(¦îYß˰""[£çáÀm_�Ÿ‰Ãwfa_ìllº6Açáut7’ÿ6èè m(©"}�Šäî‰oÐP_÷Õg gà•ÎGW[\‚«hžÁ´¤ft¶UÁsy/6JÿR]û u�¼}ôÂ>bÅAØï]�…g‚°åú\œLðÁµL$Xwe>7]o¼y;·À®?üv}.Õ´¡«« Mõoó°g¼Br¥oÛ›±v[_â KpÏÁÿñ[t´¼ÀäA;e«Ëû˜¼¾Zqf[#ñ·>;@ïËßz$ì OCsÿL|ûSÏ銅>20¨…}ÜúÝÜÔúú¨ù8—ì�ÌWTU;‚ßäŽVÑMHÿµ·Þ� Ñ /Ê�¸‘üñ»3±<"Îû×â‡å‡ú�©‚ýùâhìzÕŠ®._ŽÅ7 +ïÃ0bC¾õW½này_Bó>ïi0—õ¾ü­_Â>püfVÈ6Šûàc@ka7[}‹¶Â�ÐÐÝڇ˗W#ñNr²fâe‘;k\!jYŒVá5tuuHu@Ú„Q5ÏG]¥Šò=—4›/,…Á¦Z {ÆŸ-EKgòïàË^Gwaøåàœ~Rƒ¢¦V;º ð}ù>—\÷ÍÚ8l¸_…—üv¼m}‹§Å%X°3¢û<«ßnJÅÅ�¨¶£½£µµµ8u[®ó ¹Љ؈ËÝùhRŽrì»\e`Ã`pò ¢ ëð\r¿íí­xþò%–í‹ì¶EZNï6��ÃÝFtt6cÝvÙìǧ�18^×�úœT9߇Á0²­�|ìÚ{N)žgàr¯ �MÞ"ˇÙ0b>ª:;p+â >_¨ü¬¸·ØõìïϪýOo!¼±¼'éÝv÷í_M„]ìó«E2Ÿ·¾âñ“|¸ìˆE@üKdÕ !ìè@ý›:œ¸x_Éu:û¶A㯃obEJž5·ám{;jêê~!Zæ·N!=o@… mjc®ê_ݱ¢Ì!íKë} êÐZض†"ÿÙ3E"tvuÜÖÙ„ŽÖ{h�D«`#:;žhWÔ6µ{èê(G]õDÞ à¦ò¿ Ôb•¼ÿE,-`Ïbë¸^Q(T(i̺Þ"çI ÞÍÇÁôØxä"'r_­NÄ•ú´ ›•ô[î>Gvs':DuX´I–÷7ë’q"§¡wr±%î)n¼~‹Î®6ÜŒ¸*K±˜t¾mÀñ臾ʶpÛzž9MËQ¶¿ïr•+�ä~;EÈÌ)FhâSÍz�ç¢NtµÖ#hóÙnÑÕĦ1G‹ÐØÙ�˜ ²Ê×ë3ñ°­ muÏ0±{=ÁYøf Ñ!x{5‹ÌÄù°Žp©Ía°Œ©C{G‚62_+ Oϱ“Š·zk.ì}ûWa—ù<íaöÝÍDZìZÔIúµmü&ܼ_ˆÐ¤¤Õ·£«KˆãGÅü±x÷mÃi|¹òÎT·£«ã-²s‹±?¡§s^ãX¸\‡¨« EÅe8�T€Cå(*Ǽÿêˆevi_Ê9} ª h-ì{÷íƒ@(@{g:zÝ:ÑÑÙ‰N.�ôSrM—ø“�ã:,M—8½ø³ím5`Sì­ÂÃx+X�ŽÖ[je\ÝÁζTˆZBpïî|ná�6‹è> ŒÅ醴7ä[XT'†I¹1“Owî)Mèh«ÇÊm²Qæ÷Û"·­/Rîöø¬÷oËî ¢¡Â’lü�}©± ý/G¹B¨–+?ì»úûu ¥�xšp[rOšÙôŪd$¶v¢ê~¾�òÏa/ÀïÐQ‡…!’ÎOà ©éÿY¾“�JíÿÛŠ{ˆuâÍ£´îÑê§þ—±¶¸ ­5O1!€-8T¶]y_þ^{ó·úsêFìRû¤ŸªþÕBØV¥‡ÃþN=Ú;سOÆÖ·›î#»­ uÙ)Ýþ”–-ýTµ!N èèàÔ YKš^Õob?�ÚŸ‡— 1Wö§ò¾äº~²"³G>Nô�üB ¨c@kaß½gZÛÚ¸ÍyFØæâ³®31mÖbnsó]÷9A𘻞s—ÁkÞrxÏ_‰óWÂgÁ*n›¹0¾þ«á°Fqó_ vnñªÅ=â‹k×Ý‘•錪2Gt´ÞQ§ã Ç:ZïBÔì o îÅÏ…ÃÞuÜר»yuÇ>]|—ù�h­ÊÇ/œ ôŽúÆ‹åûéâÛ8×ÔáóG˜°:#ƒ%[Èœ¨î€èÕcŒRÊÿsÿ3øvù|�%ù­œ(�çÒ¨“þ–£|ß=—«|ï=Üïâ[8Û$^¶ö@ã{¸‚õÏÛäFçápOi� ª…ímˆ8}‘›øf#¬$_cSÃÊ6�ÆgþÊ‹~)¦.¿5ðEp ’Z;ñ,1NÒÙP¶]y_>ßžý-Í+/dìMØ{öo…ý4F†>E]g'¢Â#»gI> ¼�ƒÕí•jÎÖ§�7qòMÞ–?Á�J<Š9éÁOJ1Wíhv�Ƭ¨‹;“Åž|A¾�cà�…}ùº]`Ûª {°qçalÛÛöçíÀÑ}ˆº¶ IÉóQ�ç�š g›¼ÐÑ^ª äò;í¯¸EtLØßòÖ!áμ~�ØÏ4²{Ñ;�Ø¿\�Š”66ôTÿO~ªù»uw±;·um�`Wtu´ƒ×9ÁëYh´)GYÐû.W^ìØwõ�õ§‹®cïëvˆ^>ÆHÿÓÐܦ0XÝO—/ÙŽOEce+2cS°óUÊÓ¹‘çøs¯ êèýM–FØ!ÄÁƒâÇ¿†¿¿ƒ‡{¤#ZeÛ•÷åïµgk#ì}û·ÿÂþýö”tt þR”¬³…-¥mh­ÌÇÏ‘îˆ/V¥à^kê$÷0ƒ¤ÞOÊ1WeC³ë4gE>>ô]¹.Ó>1!ÏÀ; ûÂå›°pÙF,X¶‹ƒ·béšX²z;‚Öˆ·%k¶cñjí·•6áèÉ@\�ž�ÌÌé(-aÂî€ö·÷Ô+%›½mMF}µD- ñ–¿ñ·€½Ïþ墓š÷æü/aMq+7<­ì9¸¼ÓdßÕ7^ì<1&·v�W’×ÃñpRÚö]Ã×lZ90+ÛÐñ¶ ·2á}ì.ÜNeâbU»F®q9r½9Î~�ÊU®,êï÷ÓE×°«¢½{B›~Ø•‹—¸yßn¼�œV¶ì:ûø¼­eÏÙÏan¶­o aØË£‘/ƒS�(êDiZ¾ð¿ÿÇ"î£îk”mWÞ—¿×Þ…}{õ�ÿVr¯ªŒØ5òï»{6 ;:�pYºã4> ¸‚ /Úd³MØ �Õ­…]1æš »âuÒòû¬'ÊüÒ¾æmùê£óÕ; »ßâÌ \‹Ù‹ÖpŸìûœÀø²ã!˜½h-fù¯Özó \…­» ì¬ââÜ‘ûÈÕŽèh{У°w¶ç¡´Ä"þJ¼„"&:6ìÔ2¨a0¿^ƒ¶®N<¸ÛÃ(F*=‹›b<ßÔ�·yøIí§8�¿ïx„çÈŒ‰‘�¼ü/ 0¯UNØÏb^Î[t K1Eég=5-GÖѦ\é}J?Õ߯²°kc[´¶Mù÷au©‚Æç0 ÃȨjoÂÚ= ¸ØÔ�¢{wz�…ÿ,|$D{Ó X‡$á¶°¹wnÉ]£l»ò¾ôÙgÏþfæ�)@W{f¬”ýX�²°k×�vMl�N…³©ø1j9Uï'å˜÷WصaE™aÚ—g–¾2ÞYØÙ3söìÜ{Þ îYº‡ß2L÷[ ÷9Ká>;ìy{O[ ��¤ô=ž÷_6»÷ÏÀù7$$8#ÿ‰:Ú+9aïêjA›(mÂ+èêjàŽuvò�ýÀ�­¿„ãrä2°ß˜×6à_¬¼‹Ë�èjkƱ°k* ‘¾^�o¹‘ úFO\Þ9ødòÐÙ)ÀÙ0ùÕÚ2ç³tßog#¯N<–!a?×{ÍèìhÄŠÍʳš•£ìÍÊU´UµñŸWmäµ±é œÑÞÚ€ŒŠ6”gÞû;(ÛñìE:Ô½æ¦lÛiŒ=^Œ†Ž·¸“W a»²¯”c¥¼/Ÿ_oþƒÑ¥×híjCôÙhYYØ5óïLO塳½s‚e�ÅX©·Sœï#vÍl8‡-§gN©ãT}ùª1WN§¼¯ VäcDß9!�?d h-ì;wî‚ðí[ˆÞЏ…sÓåœ-žs�¹ˆ[LÇÕ9zùÃÁs!ì<æ«Ý¤CïÂ’—jÏ;ûÌÅòµÞØsÀ ç/:#>Þ--ÐTu•Ó¸iw6õ^SáŠ75‡ÁçåãÖmgˆøÇ âßÄ©“kúý×ÞFíÉFFK'ÐÕ‰ê×U¸”Y„ãéÏq£¸oÚ„8Êžåªo¼¤€±W�bX¡³O ž#4>û’Kp»ô|×H~’6ð¼nCW»IYØx#!1yˆ«ë�±ŸÆèCÏPÕ ðê*qìn>ß/ÇÕèXn”¯Q9ÊÓq–+½ñ§úûUmäůYõyï›~ØùÏ;º€.޽ éˆ�…Wz :´rSò= Ÿ æÏ–Ä"ì�ø=0^I6†+¬ W¶]y_.Ÿ…½ûûËU ¸ÖÔ�®v!R³‹°/>ûSËñ¢­Kö»Fþ•v:QZXˆée¯ Êü®ÞNM„�-¦Ó„­¯×ÞÃõzÆé[äæ•`|BÓK—ÀÖ8¨/_5æÊé”÷ÅþU½N;Vd~QŒ'2´ömÛ·C àC äsÂÎÜÉ[&âö `7}>lÝçÁÆÍS¦ùÁÚuŽÚM*ìì“�ÜÕ¥sñ™…å!Ó±kŸ ÂÎ:!:Æ÷î9 +Ó9í‘ýЙHLtÄõhg„…Oƒ�w Þ}ìܵEëѺ<ß®½…e÷^áa�üŽ.´·µ¡¢ª×Rr`·Ž5Âê/ÅÙOá´Vö[óß­OÀîGu(°×;!½EYu=c¤tzÔÿœˆ3!ïMÀ¥Â¬üÙ“ K�gçp‹ï”¯SÞges6XMçHíc¶Å �ÍÔ˜Ä1@ ô—­…}åÊUxYZŠÒÒRnÊ]YdµÙ— ¸ºÏˆ+7a4ÅSíH¿·2Øó|f³‘ÙÚ_ÇÐuT©ˆb€ †"Z û²åËQRRÂmÖÓµ^yQV'èo[[±n[h¿óeÏó¥ö1[‡bPÈfjLˆb€ úË€Ö¾$(Ï ¹M^¤ûó]YØå=ã~Å®?yÉ_#µ�ÙÚ_ÇÐuT©ˆb€ †"Z {`àbäåå#??¿ß£j©Ë ;›zgÓèÒsïòÉlc62[‡bPÈfjLˆb€ úË€ÖÂîï€Ç�sñ8÷ñ;‹°TØÙHý]„\ùZf³‘ÙÚ_ÇÐuT©ˆb€ †"Z û‚ ���ÍmÊ‚ªí~Ý›èr¤.-_j³u(…l¦Æ„ ˆb ¿ h-ìóæÍCVV²²èt”-e]|2Û˜�ÌÖþ:†®£JE Ä10 aæÕço IDAT×úE„ãÛàëøa™º¿Ä5È+Á¢ËšƒiŘq©ÎntÿÁ’¡/Ù<ÈyÓºnÑýÓÄ€. aWÓø|½ê&Ë…ûÅNÝÂÁbçuî/©}pçŠ0eÛE¥¿¦k ÏaäÖTØ„À3²žçŸÀzo,¾èo9aµû ¼Â³ðKÈUü}U~X~^å>_ »‹ÏásY¶y‡%ák…?�Ú_è:]TZʃ8"ˆ�ÞÐZØýüæ"##™(,,ìq+..ÆóçÏñâÅKîcÊÊÊPQ^�ׯ_s?ùZ]]�ššÔÖ²ß�¯Ã›7o¸O¶Ï޳óì§aYúòò °ëKK_qù•<Žâ¢â7f³‘ÙÚÛÍ«;÷ùâL9_ ÷SiøeC4F¬�ÆØ­÷`´5ŠÁ÷'ìg1z{2Æo¾�᫯áÇmp¹X»�—UÄXÝ}(ûta NÁa�ø>”ÏK÷ÿ¶ì/æbÂÚËønå%ñ¶üB¿Ê”æIŸÔÄ1ðþÐZØ}gÏFjjRSS%Ÿì{[ZÒ4HÃ哦š¯ìZÕsê˧c¶j ÓWk’áY€‰Á²¿—.Ÿ‡XØ‹åF´Å0[..ÇÿÆìÌ„}øSxEÂùD:~\)�²?�±{À!ü)7÷Ž|§ãi»JuÔ,_žìû9Œ?Z�÷ÔOŸûŸÇèp8WïÈ"¸žÊÄ/«åÙ?Ƨåí.�ÍöHÁþrU\#²0"0LkßÉl}S™äkb€ ÐZØgΜvQrr ’’’{Ü’Ù9i:.mŠdŸ]+Þ’’Ø1É–$Γ˷;}Џœd–—ø;;Ï®ç®e׫٤i˜­ÚüoKãàp±ûoàK5ÓÞÒ»ížh|·"ß®¸ˆ/1<ƒÑ{ráyöÆ­»Šïƒ£ap$ÞgÓð=;Ï k\�ÜÅÈ5W1"äŒ�æÃ;â1~^!é¨y,ÀÙïŽo×&Àþü3˜oŒPcVöÈ]�á‘ “-l„�ñ¡¹ð¼˜‹_WJ;LØ‹àtà¦ÄîH|½XµóòÕÚL¿�…ÑË/à 5÷¯­?)½b…#�?ˆb` ÐZاÌZ„ "�x/ ÷îÝëqKLdç’ ýdßÅ›øv}â½{\>â¼dçÙ5ÜÆÎ³ïÝŸ²üºÓHÓÊÞKâld¶jïÀ3øû¦T8E”ÀëücXì‰Ãß—JGݧ!v•gì‹c05¢fÎw—ùyÐm8\|£µáÝÂî°ûŠL˜.Ã4¬ÓÆÈŽ)‰û·3áu‰=ï.�SèM|©îYw` l.+ŽÀý/ÂèTÜÞ�ð% …ò•Êb¾úf] œÏ>…Gd |.ÂñH"þ¤ÚÐÞ¯T™ÉgÄ1@ ¼´öÑs6Ãzæ"x{ÏÔ³‘ÙÚo'\Àð wav<^‘Oaµã*'�= û—Á÷àÉÛÃ;Rº•`ÆåbLÞt^½°/ Ø}ùðêeqÚß/à»UQ½9 vç‹àÃ-â“¿¯/ƒ1-2ãWÉ pFíɃWX²xᛆÂÞ�¯ÿY|·æ6,ÏÁãd¾RסPÓ1辞ÎõŸ=òùŽ Þ�­…ý]n«•0wî\L™bÓëÆÒ°´ïZÞ»_÷gÃ3ò ~]qFl÷ß?çFìÅp;� »ðgð¾T ·°˜°NýÝ|¾øŒŽ>‚ëö+qÅð8÷Vûâðíb¥ÑºTH4zÝ­½ û%Œ?˜Ý}ïçŸ`Ê�x|¿„¦áš;ÊÿÃ7†Š�¾0@Â.Æ�þT7?ÐeRþÞÔ—†€îƒD�Ð\Ø'.Ø„yóæëdcy YøH؇n쨃D±#ˆ�!ÄÀ€ û�b]‘„�]3EùSÄ1 †v5N¡ÎˆþLIQ,)–Ä1ð±1@ÂNÂN=^b€ ˆ=b€„]�‚ù±õJé~i$F Ä€*$ì$ìÔS'ˆb€Ð#HØõ(˜ÔsUí¹’OÈ'Ä1ð±1@ÂNÂN=ub€ ˆ=b€„]�‚ù±õJé~i$F Ä€*$ì$ìÔS'ˆb€Ð#HØõ(˜ÔsUí¹’OÈ'Ä1ð±1@ÂNÂN=ub€ ˆ=b€„]�‚ù±õJé~i$F Ä€**ÂÎÐF> ˆb€ †.Æ ;Œý'‰@ù€ ˆb€Ú �°S‡†:tÄ1@ zÄ »“zÙC»—Mñ£øÄ€. a'a§ž:1@ Ä€1@®GÁÔEO�ò 1@ C›vvê©Ä1@ è$ìzLêeí^6Å�âG º`€„�„�zêÄ1@ zÄ »S==ʃF Ä1@ mHØIØ©§N Ä1 G �°ëQ0©—=´{Ù?Š1@ è‚vvê©Ä1@ è$ìzL]ôô(1Ä10´ a'a§ž:1@ Ä€1@®GÁ¤^öÐîeSü(~Ä1  HØIØ©§N Ä1 G �°ëQ0uÑÓ£0h°žyK6;šbΉ|ýéÈ Pò iOk;+=oÉÁ.kLß™„&áÐ 'Ôè[@1~ï1Ö©° ê‹sh f¹L�‰ÁDNš÷¹«p2ñ%„CPØëâÖÁÄ`*v&ר ¹'çÁÈБ/xjÎä ¹ÂÞ+/‚\[í£‰ã1~üxL44�µ£–l CVy‹Øßüb„z›Âv}ËÃr”ìûÈÙPˆù‚:MÄ€®Й° j³°s†&š¹`ù®3¸~ûânDâÈÖ•Ø[6…]ˆâs07Æ^ñ¬EQ ø±°œˆqN8œÝ¤;ñЗF¯aï“AÎú›ÃÄw/R²à~zb#"ÀɆŽë‘^Çh° »¾Ä’îƒê710¤Б°7!e×tL4��Ó�êÔ;€±›Âtªì'›ÀÀÈ ö>+qáAµlôÃ�Äã«áikCÃI°÷^ŽÓ©¯§rûJ#l@NäfÌt°€áD˜Z»`]T±¬Œ–Wˆ;¼ 3-ablß5¸”S#;ß 0÷÷yÂÈÆ ö¦V‰­�KÓ‚Ì}^0µw†½ÑdlIl�Ýsoù *½ÝÓ¬aj4�Ìáºp.D„béL'XÁÔÚ +O¤¡N בèëž•ˆ?¸>.S`jhƒIS±&ên­³ƒ‘G(ŠøÒ¼x|t UF²DÃÉj’ÄgÓt Òë¤v;NÁ$ÎnÕØ ›Jp}w \¬L``<®sæbš¹QSñð"v³%WÐ(7�Ýøð  L±6¶¶Âþ.|p#sŒ7N²buLD=Wž¥ÒÀ�"ARÃÖc¦ÃdÀØ|*Ü}—"âQ3D½Ø.¨J@°£¦oKPð—®G”�.‰�ÁÏ€n„½1+¬ á°!¾çg‰aŸ2/nÜMAZb¶Í™ƒ©k�öF‘¨ ™fÂÈÔ ÏÞFzZt"ì¼âsð22Â⋽¬€VnäD"4?> g£©Ø“ÞAíN6Æœy²:¯gL‚õŠhÔ E¥iLß kCÌR�9ÔÜB€¹V^+ï}ó_Eb¦ñdlI�v¤�¯Ç¥ X­º‰ÆWQð³°Á¶ÄZˆD|äñ…É´ÝÈkx‚Ýîfð;YÀÙÜgþ*> àô<Z#]ú,¸) «mŒ1û¸ØšøE,ìr"é *o`¾™)‚.Iâ ª)–D–v߿ڊÎ/B¨÷$¸íÎ?V±[)vU1X`fŒùaÏdùö2¯/Ra_‰ê¦&4ÖU¢8ûöÌ›Š “üÅÖ5ôc*þ�ø�¸æÏØ•ŒöáGaÝ],™lŸC²gò‚Êëð3 {o¶«�£BGUÊ5}’¯ˆ}g@7Â^tžFFX)LÇ©iÔ570ÏÄën׃M±ÚÙãàéH•ÁÇCê.wºìÄ“¡FiDÍÏp*À&v˜·þn?~ݽ Ÿ•a7q&ÂÐPº`ÂxC]R²]P†“~æpÜ’ž°w·¸Âb~8^Õ$#ØÖË.½„PðG}Í»Wú÷™¿TÇÃÐx!nÕHf xO±ÏÓÓ÷drvkâ—ž„]$¨Ad�,#Q-�øÏt&.ª,ökAÑ�ÚéŠ)f°˜b+S8mMêQØÕr±{ ;C|(·Ö 7aׄ‰°Ë¦½ÇaÜxXº-ÆÉdÉã™~û;ñ1Â.ïǦìCp0²Ç�û²: /ì½Ù®RßHÔ•fàḦ‘�‡�»¨!K'ÂyKš{jPÔˆš°. ML°6V,ìv†} {_i8x… (J¹ˆ­ ]`2Ñó�=à4r4¯?Aaa¡ÜV„ò:ÉtµÔ~‰½’×óZ Ãá9É Áký0Éa²„ *¾Ðö8ì35>¨¿C£ù¸Y-)Ÿ+3¸íNçÉ:#}ø¥Ga ñ:6æ“æ#º¼¹Ç|aê}ÅÒgç’{m)Ãt3øn�DÚ£|<¾ƒ�î&½ »ÚØeÉIÔ‹°kÄ‹DØMæ@Fv=yŠ• ²Ùf;×±š„É+n(=â!yç4:mÇcéLˆ4®ì³¿| €°+øñÁØ:â�\IAØ{±�í�§Ñ¦XS¬ûb@7Â.|ƒØuŽ˜h>— åwùÆT�¨É7j‚Ú8Z(-¶âá�›Š¿.™Šï;�â 7 m· lÖá~³‚ª,43T˜êTL/ 'L&˜u4W,&‚\^fƒñã á×ýnv.M†ÅŠ\‡¦ÏüÕø /a×Ä/= »¢Æ „Ø™bÁÉö5‡¯ô~äbSÃÍ,�u.$³½�ØÕÅnÖaÙr¯Â® /Ò©x¥ÅsŠñjBÜz{دC&·NC¿æ<ìö0áf*jä!Êݳ8-ùhÉÁVgxxÐ= ÄåÓÓqåx+ï‹DPðãëk˜kªøHCEØ»ïAÑvE¿ÈqÜ�žŽ‘�ˆ��…Ý»H~Ù,w0†�¥76‰Ä­„$Ü»ƒóG¶aßõ"µ¯»É7jlñ\Æ�™0žä†MçâÄ‹çÖ‰ÏË~#™Vë;MKI.\ŽCfN.eÝÅÁ;¹íA·ð­I;=ah숕G® 1-) Ñ8{õ>Jз¤aõÖÈu?7nx|›7EF•ttß‚˜ÕÖ˜äbé#5 {_®‘_Ôä+˜‡‡‡|`dm+„?•¼.×à7燫¡æl¿ŒÔ‡�ðäQ¶x˜j†Î„‘±=–ŠÂ½ô ¤Ý=…VlÍ„ú¨é“�„]„ÆÜS˜njß ¿~ñ±‘ØàCGìIQ}Ûá�øÔâò²)0rX‚sñiH‰¿ŠØUr�>5Ǖ㢼¯$ì"A-n†8ÁÀbvE& óþ=\Þˉ&âÅs½°M«â•ê¯ß²º@iÈ:v ïõCœÝ¶v0b?Pc:ŽÞþØy5¼¾5VùH< Ï©ìu7SØy/Ãéå×ÝzOSÿà4üœ­¸6™hl'ßՈ̖kà[Êl ¼ÙëD'ÂØÂ³6^G…òÈ®)K&±ueÝ®Z)x¸»É&¾ÇQ*½¾·üÕø oa×À/jò•·•_vóÍ&ÂtÎ)”IíThø¤¯N†á„ 00žk{7, {$™ªÉ_±SÆl¬Bê™�ðub¾Ÿ{�¹Ø§ç•½ò¢¡°‹DBTdE dî4XšÀÀØŽ3WàÔ½âõ ÷)»òÑ\‹u³ìaj0Æ“�°òünFGíqe¿)ï+ »HA}"¶øÃÕÆ †Æ–pŸã ƒIØx§¾WÛ™°¯r°€;½îFÏÖ•˜—o è; ;U}© MÙØâj�U×{Yªðƒ³Â·< ƒ»‰ƒÒ¢ÒÁi+1Dq!:±SPGPÅqh‹'9ÈËÍÀ…u^°ôE¾Ò¯çQ¼S¼˜-|äÝ:‡Ë7‘þà!2¯`›Ÿ Œ]wàQ£ôG†›ÍdÕ#b`°1@®/£råûàå#Ôdžæp™¿‰/TŸ­6?z{µ¸½g>œm,`Ìýêœ-|‚öànq R•cNû4ËH "HØ©"PE ˆb€Ð#HØõ(˜ýˆ—bI�31@ 4b'1¤çcÄ1@ úÄ�Ø©wG=|b€ ˆ=b€„]�‚©O=NºAÄ1Ð?HØIØ©§N Ä1 G �°ëQ0©wÛ¿Þ-ù�üF úÄ ; ;õÔ‰b€ ôˆv= ¦>õ8é^hE Ä@ÿ a'a§ž:1@ Ä€1@®GÁ¤Þmÿz·ä7ò1@ è$ì$ìÔS'ˆb€Ð#HØuÌææf 55)))´‘zd ==�c…1£O£ºý–v ;k 322PQQ�ŽŽÐ?UÔ×׫ü@G>´-¬ñ«¬¬Dff&HÜ?lCHBDþ×'HØu(ìùùù(//ÿ@254ŠýÐb*ï¥Áb c&//�Fí:¬‹úÔHÓ½P§C[HØuؘ°éwú׳‹˜2 ‹-­­­`ÓòÚV^JO >1@ ¨c€„]‡ÂΞ©Ó¿Þ=0XÄt0 ;³…±£®‚Ò1j¸‰b@[HØIØ{WbŸ%aWïPvj¼µm¼)=1Ó$ì$ìê•f€Ž’°«w, ;5Ò=5ÒtœØÐ–vvõJ3@GIØÕ;–„�omoJOÌôÄ ; »z¥ £$ìêKÂN�tO�4'6´e€„�„]½Ò ÐQvõŽ%a§Æ[ÛÆ›Ò3=1 3a¯‹[ƒ©Ø™\£fu/¹'çÁÈБ/xjÎëG€XãLÿz÷ »zÿ�°ëGÐSCKÇ)¾ï“ »Åç`0n<Œ½âY‹PA¼ù±°œˆqN8œÝ¤pî}Þì@—E®^´ä�꣰WWWËßb¿¾“°SÃ?Ðíåÿñ0¦#açãþ>OÙ8ÁÞÔ !±vOq· sŸLí�ao4[dÂÞò q‡Wa†£%LŒÍàà»—rjÄ× *½ÝÓ¬aj4�Ìáºp.D„béL'XÁÔÚ +O¤¡N בà¿FâñÕð´5ƒ¡á$Ø{/ÇéÔWHíT"þà ø¸L�©¡ &MÅš¨gˆ]g#�Pñ¥y ðøè,ÚmDVÙ];Z`ú¶4 {†C{aoGñ_|þÛßÀdk>:¥’ÐþWW;àûÿþ~ûû¿`¬Ó:¤TË~¢¶½: !.?ã/ø-~÷¯ŸÃÀs²ÞÈ΋³iGÕýp,u7ßý;þm|ŠÛ»¤%|°O}v›wö' {ÏõЉ|C hÇ€Ž„�‡¸õv0ó?ƒØ�0õ:ˆ"žX ù1ð·´ÄÚ+7bkŠeQ•aoDêo˜ØÌÇÑØ <~x‡;À`ê¤Õ â?Ã~OSØ�ĽôL¤ÞC ½&˜{bëÙ›HNMÂå�~˜d`‡ý�’<›�y`&ŒLݰñìm¤§Åãtˆ7LLÜq<»^œF’¯mÀaħf #9_¶ 2f LŒ}õŠ/N'¨Â¹ X¯¼�úªx¬°3ô­ºö.¼¾¹ßý×_ñ×?ýVNØÛ�µÙ Ÿüþ;Ì܉˜ˆm°ùêø³=xÕÑ´c‹É_ñÇ‘3pên2o„ÓwÂO9ˆ vžû'Âý½Žøßÿ×e»qó² ^c0ü& »ú> »v 5ôä/b gt$ìõ¸d«U7Ñø* ~6Ø–X ‘ˆ�œ#¾0™¶y O°ÛÝ ~' ¸Ñ³ æÌͰòZy÷èžÿ*3�'cKB½DØ'aúÞûàs£m Nσ¡U0Ò›%£ê¦4¬¶1Æìãyâ_±s•70ßÌA—^‰íiLÆ kS,‰,í¶¯/�´±¿-<ÓO¿Gеþo2a%Áç‹?b䢻h•hÀ›èyø¯ß}�� !ÞænÅðOþ o6w+Ä›¨Ùøó'?bß³·Ü±¦¤Uøæ3K„ »Ó –/$ìê#AÂÞs#ÕW½£óä;b@‘Ý»  'ýÌá¸% "4c@7ÂÞ’ƒÍŽ&˜u4W¼HMPƒËËl0~¼!üNäK®5àrÐdX¬¸�f‘‚ª,43„Ï¡N”U¦fdÝ—° jãha„9ÝeŠ âá�›Š¿ÞëTê$¥'¿~Œ èHØÓ°zŠ1æ‡u?�nx|›7EF•dt-jAÌjkLò¿€n{=’vzÂÐØ+�\AbZR¢qöê}4Ô? ïKØE¢&d˜ ãInØt.N¼xn�xñܱì7r‹çTŸ±‹ƒÏÃÃC>0²¶�•‰ŸD=E© IDAT¶pתt´*¾ eGð›ø'üæ·¿Åo¹í7øçüüãÿû þgú´H¦âçÉMÅ£ùr÷T|·0w Pý²¥U�ÈÙf†þ7\yÓ�®†ó0ûÓ¿Àro‰l•}k:ü¾þ~Z•�vmÕOÇéû#¦:6¡;;]Ù¢­ˆw ÷…„�èc ºç�á^7ÂÞ”€%“Œ°$²¬[ØUÆÃÝM0ñ=ŽRéëi-åˆ?¶Þ“a4q"Œ-ì0kãuT°óý±seò+�x,žSÙën¦°ó^†Ó)r¯»©ÉWÞV~ÙuÌ7›Ó9§P&±“ û* ¸ëàu·ö¦r<-(@�t˽Ïoþ„_—DãiE3º$‹çF-Nì^ð •&õ�ÒPˆ1$ìLØyùõ±€�¡9\æï@â ñ³um!é—°ëB¡†PºS]ܲ®l!a'AѶ­ ôÄÌ@2@®ÅT{_� aï[nu%¦}—ÔwŠÁd c§/¾è<‰1@ h ; {ß ¨ÃƒIL“-$ìÔ`kÒ`SâDHØIØu(Û}g5˜Ät0ÙBÂN ¶& 6¥!N4a€„�„½o5ÖaŠÁ$¦ƒÉvj°5i°) q¢ $ì$ì:”í¾³Lb:˜l!a§[“›Ò'š0@ÂNÂÞ·ë0Å`ÓÁd ;5Øš4Ø”†8Ñ„vvÊvßY &1L¶�°Sƒ­IƒMiˆM aס°§§§£µUúWÔû¹�1Å`ÓÁb c&55•^wÓa]Ô¤ñ£4$’úÊ »öûïååå£^k|σEL™ÁƒÅ–ÒÒR Û$ì:vùÀL~'¿Ä1 f€„�„�¦€‰b€ ôˆv= &õViÄB Ä1@ÂNÂN=ub€ ˆ=b€„]�‚I=uê©Ä1@ �°“°SO½7„õ(Í{Š×MÂ^ü$@cu%êZÔ¤Ñèú÷ÕñQ_Y�Zuvöæ…sºÈã}Ý/•C"ÿq2@®Ðh ¼ð„ƒÇž÷Ù@ð_Å`É´¹ˆxÚÒ‹˜œoäËÔÞÂb;\{ÅïÙ–†,³›�+/x*i4º~€Ta¨;5ޝ.ò�»_åÎil]£ÂùnàÚ‡¡à[v]6 Xnëƒ3ùr?6"(Gø"{,�| ¡†eñËo À!q5½ˆIy ÞäáTÐ4Ì=š~wZ!^]]K33˜I¶©+¢PÏu „¨Î¾ˆ5³]`m9ÓüÖ!êq-g³°¹·�¬†�“ ,§8bvð)ätÛÖ[žò•‹‡Äíî°_� �âÈ–ÿòÚ9cz#×@  põd$×ò!â=Â>_GX[˜ÃÜܶ.>X¶ë2 Þ¬1“/_#aîEì4º¾;>òþz·ïjêÅN�+]ä!¹_µ6€/4¾7*{ÀêÅàÝê³¶þ#a×eeÖ•°—]Å»þ { ïžÀ2/gØMµÂ%a/<ï÷ÐÐÔÌý0J _"²�YØ<Ý ¯æ£®á5Ò�ÂÎ'OyBðËã±kË $>*FIîM¬ó¶Á¬ƒY’ƒ=æ)ï[a¢VÚa’…B3ÞÈ5 �HÚå ssklº]'w\RZÒ±ÞÉû“+P[]ŽgY×±a¦-ø9aí9O…Æ•ÿ§8Ào¡\W\F¥dÔÎ/�Áb?,œc'›Õ�&ìÎ8ò°IRÙ„(¾¸S„á•ÒÈ_$¨Æ�M>°ŸbK,Ü�R^=n®wŬPYG¤òÖØÏ=‰-UjÒ !’+_A˜Õæ/N¿|ªfúyÁÎÒvÓp0®<‘ ׋D¨v[¼`?e \æ¬Çõ|ùNެWßc¬›³qxÑL¸ØYàN>+pþAµf 1>m¦ÂÕÝ S,­U®Õȶ>òèÉnaS!.mšç)“¹Ø,;›‹ÖùPù7*|Ë|DéÈÄ€zHØuÙpô%ìL0l}q<ã9Ê_âÞé•p²_„h¥g³â‘ÌbܬhDss øDM�±ÇÇó÷ÞÆ³²—Ⱦºnö‹p]éZè-ˆßê¦$ì<$íô„[ÀV ¿‚”§Õ²Ž¯Çæ9ÂoÇM<¯­@üŽÙðÙ‘ˆV¶¼�xÅ8¶ÀK/ˆ;"Q/y*\÷{g¸cÿ�8„¸ù"¼€=®`�‚ùðÜr±Û=e9a) ;¿6'»`ÆžT4ËçÏ}磢øÊjêPñä2–8;`k|5J¯ÃvÞ)”r³͸·Ã¾ÜŒƒºô5= »¨çôËm§aÃÅ4½z‰ìëÛ0Ýv"‹Z„]ؘ�]Þ8œŒÒ×Ïqgß<ØùG±tÖDz?½ÅZÂЉÌ¨(+ÂÝÐ…˜*™Y‘�“Z†$|J.ByùsÜ;ä[ɵÛÖK½1Z}gì}¶#½´o*_ ¤¬jm”ú€>ëùƒü¡$ìZ8K¾áTû]a—_d%yþ^¨0â7xŠSñ�™àì¼é ’©sA"‚ |­Ì.uÂ.ÀˬXDEœÆ¾õþp¶qAȵ"‰¸ Q•²î¶Žpu´†ÅÔy8—«4šÔ"iÿ<¸œFa÷H¾·<å:-™Øè:§rëñðð\xïHBc}6NŸ…°¼<8<^»RÅ3 ÊÂîh «©v°·³�¥¹9,œ‚]ØÐGEoÄ�µNX^ˆ–Ò+˜g·7ÊÄÏìwy{àà}åëeérå+�¸eþUŸž;/¨Ä…%ö{žÜâ»ÆŒýpvÙˆ I •7àoç�ëÌ.9{�µœmì~éeÌ�ˆ›¯óPÇ�üL„ôÚy¶âk5µ­×f϶…x»Ó<×#©\Q@”bù<åÏ ªb � j³Þ ––ŽØz§B‘%—Â~å54°çöò¤4ωY}<–ÙzàXŽô¹;»_!Ê£×ÀvæNd”5B(¨Ç�±°³ü/¯€Ó²Ä…ÎÁ¬™àõ–^®|™°ózÎ_.=wÏÒ™˜³EàË {cÚ^8Mß�GÍŠoÈû‰}ï5ÖJe ßÜÁRùY ÏêRð+e¹k5µ­×DÉ«r”>KÇé•Óá°4¯BðŠ.`¶ÝL„&£¾±O®oÂ4‡ˆ¯âCÔœ�ížnØ•PÁ­¤gf´¥…Çu^zËS¾ò_^‚Ÿ­ìñB}ö9¬\}yÜ”¾å×WÃ.ð;�þ¢MMo³^*ì"^Çb‰ƒ3œ�g",�ͨô’^^<°Ân:öÝ+çf8ÔæÏÒÛúâÄýRTV” %<ÎÒõÝ×W€ß�…­ŽX|0¯*QYVŒÜBÖ±Qª¬½ÅZÞ6%q–ù‚Í�¨a¨—k…šÚÖKÜ3öå•çãñó*46¾Aá�Mpvߎœº4UΕ}AûrŒ+qB¾!ßôÀ {ŽQh$µH#lz�˜Ëáé` K[xúoÅ�¼:qãÍžÁ³ÕÓs¼`k9¶n ±ÿV‘xúY¡ŒäEm‚—½&[;"ðd67UßPx Û¤«â—áTJ©Â¾¢ÍªÂÎ�„í <¸²-§ºbîšcȬ�v š�c7æ»Ûb2[m=#Çï½äfx%1ÛRöî;÷¼Í¤4 Ñ{ž²†¨åi8|lW!©Qýhµ6nlýŽã9[H&/ì=öYŽÜ³u33 L±Ÿ†9KwàjŽÜ¬ˆÄw‚7Opfí8ZO†¹…5ì\¼±%ú…Ø÷Â7¸µqlÊVÓ÷˜^¾|A-î €“ë¤UæªÏ¿9‡¼áhc s‹)p™Œ³åârå®ÏhâMA ¶xŠcÀVîJS³P„c-o[oÂ.RÃP×jd[y¨·[ˆ²;»àå` sóɰs_€}·KÀWgãÿßÞ™Gu®ëùT¥j_žÔ©$U»N¥²s’«S9;©ä"¹È6šg@ 4Ì<˜Á6Â`1`ccÀ666f0xãm0Æ˜É H fÄl!YbÔÜ­弩ՒP«éêÖÒÒÒ¯‡ª.¡Öêî¿¿ïYÿóþk­–:íütf›û© tÅbwr" ˜»j ?cÇ…€ˆ„ÄŽØ9œå$¼¼Á ô2ˆ½— IÚâ1¤t€€�H@ìˆ�ô 00`ˆÝ fFšîx+€0‡ÄŽØIê001€Ø j&‰ÛœÄM/é% À@¤ v›Ånýò– .èðáÃÊÏÏçF B2PPPàcÅb&Ò˜Ç1ùà 2€Øm»5Aª¬¬L---âßãxðàÁãwöÑ=}=kg,//×Ñ£G}¿Ñ/pçä{&l€�H@ì6Šýüùó*--í#Mõ�—ík™úWÉ-c±˜)..fÕnã¾ÉdÈc�¨) v'ëð»ÿBWÀ-2µFè–±455É:,oʤÂû@�0з vÅn�Sç_×p‹LÝ$vk,;L†};Rêo ˆ±wmb›ŠØƒ±#S¤Âûè{–;bnš^º±/,bïûÉ!ÑS@ìˆ=¸izé^ļ°ˆ©˜"ÞGß³ŒØ{pÓôÒ½ˆ=xa{ßO†‰˜ÂbGìÁMÓK÷"öà…EìHÅ©ð>úže׋ÝóàŠ~úô MΪøè(Å$Õ3Ó_ÕÚ7äõÜѯg*6ê)=õÔSŠŠ‰×�¬qš³dƒŠJk[¯2®¿ªOÆ'høÂ}ªë$ñzÿd¼¢3ëD�×–+’­É™]W±¯bïûÉ!ÑSpµØ=w‹ôÁ„E%åjÞ²¯´}÷^íÙ±E«—¼¢•?ß’×S¡M3“?e…ò‹ŽëXÁ!ý¼e•ò²“µPwêՀ؃›¤�î5Qì·oßîq5;R1E*¼�¾gÙÅb¯Vþ²ÑŠJ˜ õ§ï_Q·‰=iÎ÷ªòv³êÄ*eF'èÍŸïv_ìÞJ�ÚòŽ&e¦(&*Z CrõÖÖ«ò64ÈS±_¯e¥hô{û;½N ÀÝ[±7êòöw•û—Ñ?þ»пÿ�ÿ¬ØñËt¢r`ü ZÅžžžŽØ; ëØ÷¾§60Ðû ¸WìU¿jþ�e.Ú§j?iw‚"„ØkϯÕÓ1±šÿCE·Ån=fdܽôÅ^�8{FEÒ¯«|�ÂS±Oó3’4rIÏÅþ¯5¿hüÿú6ûCmþám|w¬þüþ^ÿ2e»<=ÖƒûŸ±ï+öÞŸì:Í‘à‹%êbD]\+öº«_k\l¬f[â[5Ý)ÛÅ>{‹nWW«ê^¹®žÜ¥å3†iPâ4m½^×m±W|¨!1¹ZUâè@7€ïÞŠ]jnjö›Ý=Ú4êŸõ÷ÿ{žÎ?üW¿ûÍü/bÞWĎ؃Îqݘwxì2à^±_Ù¤±±±š³¥ô‰bÿË_þ¢G·§¢•6j¶ÖþZ"�µSt÷{Í%­Ë¡èø ÍX¸Z»Ïü®ú0wªîнÓÔÞR¦¥‰ÿ¤?e¬Qåÿëô#¿AìÁÛŠØ™œ'g¾‡‰Hp­Ø*èåÔå¼{H5¡Û~ñÜÔ�Uxò”NŸ»¨ëå•­BoŒçº>Ÿ’¨Ôù;é×é×F*&{©Î´_ï­Ô•üoµä…\ÅG¥è¹/Ž<¦kÐÂ{“Î~–£ÿô�ÿW+N„ñîùÃ+–^í œcïz¿ˆtrâqÔ"cÀ½b÷Þ×Ïoe)*yº¾»Üz®û±&·Š¸x®óvÕÚ³p„¢G¼¥£÷=çOjŠõá˜x¥¼¸Ew<�w«Ô‘Ç):ý-k—~{PèâkxboЩÏFé¿þñ¿kæÖ €Åºo©‰L-qvç|-úÞÞK¸²gÅÙÖy_ç9¨ X ¸Wì ª¿µWó2ã�6^‹VoÑ®ý‡tð—Ÿô×Õïiåö+�>îxU| ÜUg×itB´Ò§,ÒÆí{µïç-Z–—¥è˜,-Ï¿ã;Ô_ûÛ!}ó·=:zê¬Ný¢Uyе\ê¼6_o‰¦IçV?­ÿüÇÿ©·ÝÔÀ¸¾U°‘È4´š{ö»Æ®Äƒ�±3!Î[|‘2àj±[oªî÷ÚôÞ�ÉHQ¬õ jR•5~¦>ØV¬ºn­Ø-8¼*+Ú¬ÓG*->ZÑq)Êš4_ë^ôKk_¯i9ƒ}¿ì&*.EÙS^×–“­Ò·>îöjfŠž±åãnÒƒ¯êÏüozîû�³Ro—™]2m¾ž|µk,ˆ� 8Ò ˜ÇÁNo0àz±÷Æ›î­çìÖ¡ø–R½Ÿô_ô§”ÅúõÄI�<Ùv;u^®Šï‰¨Ã},bgRí­¹€ç…­¾d±wqÎ<ÜÆtKì »•û§Ðþð‡N·óoÿ¬…ÇÂuS¿ÛÞ.™ÚñÆí +v&ñpç ¶‡™Þd±;-v;ŒÔ�ŸÃ.™ÚQ»Æ‚Ø™¤{s’æ¹á+\;b·Ã‘Ý~»dÚíìbC7�…‹ç˜¼Ã�¼ÙfB1€Ø{ê³ÿGn’©›Æ‚Ø™¤CMÒÜá2€Ø»ýöîâÝ$S7�±3y‡;y³=Ì„b±#ö.4lÿ�Ü$S7�±3I‡š¤¹6Âe±#vûíÝÅ3ºI¦n bgòwòf{˜ ÅbGì]hØþ¹I¦n bg’5Is?l„ËbGìöÛ»‹gt“LÝ4ÄÎäîäÍö0ŠÄn£Ø ÔÔÔÔ…Öø‘›dê–±XÌ>|¸ãÙÈd¨Ÿû‘ ˜Ëb·q½pá‚JKK±wp‹L­!ºe,7oÞÔ¹sç»�û"Ò2WZôöɽEì6N&ÕÕÕ***òÉÝ‚��WÀ-2uƒØ­•zYY™¬#=555ˆÝÆ}‘ÉÿÉ“?52·FˆÝæÉÄš ­•»5Y[çM¹QƒP XŒX¬ us'XäIoû‚Än³Øû¢‰¼&“ À À@;ˆ±s``À »AÍlOk|%¹Ã ÀÀÀe±#v’: À À€A vƒšIB¸ �ÞÓ{€�v;bw&©{èfñEý^ííâõ<ªº]®{µA¶éÖãÙ±Ûwl¾Â \»KÅî©«U�·ƒY_ò“挜®Íkå¹»K³3fꇒúÐb¯Ü¯¹Ïéûëu�mÓ­Ç»´—L°ý›cúGÿúˆÝNTî×¼áõÕy¿_6â)ÕÆY#4oË y»ùZõ¥;”—ù’öÜéB‚!žË[sS»W¿®‰ÙéJš¥g_[§S~ÏSóÛ-yn”†¦ ÓØ9«Tø{ø¯Ñ]Ƚ•´mí�¹[�ØCô«»µd;ä0Ð]»�®]b¿µMÏgD&öúÒ}Zöî—:púª~;»So�O×äUEª·Þgýoúòù,M[¶[—oœÓ–7Ç*÷µíªð9ômg]»ÍõìîÎvȈÝÎ ÷Ib¯9¥Õ³')wø`¥¤¦kä´7ôײÇVòõ–Ø'+))I‰I©zqÓß6UW÷h鬱JO¬¬ ó´>¿Dž.Ç_¯«ŸÕˆ×v¨ÊÛ Ú 5!ãeí©h]¥×^þ«&gÌÑÏ�«vÏmíx{¢F ¬´ô\½°ôGݬ{ � ŸÖäOÚBBƒWå»iÄôµº^[d{¯ü­w:”ôù[·Ÿ7,[“¦�SFZš2FçiÕž«ª  \Ú©%yã4bèPåN]¨íçï?vøž màMhôœžÃ@ƒ{—b s'y’Ø-Ñ Ÿ¢5…×TZrY׿¢ì³ôcÀ9eŸØ3fkgY•jjjUïiPCõ-Ÿ8BÏ­Ø­K·nèä¶w4jÄ,mxl'¨ë®ê‹ç³ôò7­ÁàÞ¾w4lÜJ×µ­Ð«óõzæh­>Q Åz•]½¤[wî©ìÜß4''SKöÝÖÍm¯iøŒuºYo=¾Fß«)¾£Á¶¿Zì ¡·Ÿ7|¤}{DWJnèäö÷4zø m¹Òù½·ê¤–�ÏTÞg¿êæï×´wå eL[£«¾q…Ù3;ûÏspD/:í�ð1€Øí,twÄîqXÛù÷7^î´jo{çCñUG?VNÎbT¶IÙS¡Í/e*ð±�&Ï]úh†róÖë²ïJt¯Êw¼©ôg?ï`í1-ÎÍÑŠÃU]ìpUÚñf¶fm¼¬Ú›ßkFÆ,í¸U¯†ºÓZ6~ŒV« xlÇöžP+öN5¾½ï}xÊõÍœÊÛpIu~ßU~¤œÜÅ*l«…§|‡ffÌÔvk\�ž±P€��Çb·SU4oøx­?çñ\‰6Ì¡ùßÝ”×Ot­;[�ö-¥ + [Ï�·�%˜ØïìZØYÊ u:°t´&~Ôù±¾çõÞWÁçyÊžü�Ž–wÈîÞ¾·»µb÷V_Ѷe/ilÎp M¡Œ¡ƒ•·á¢<žmÈËÖë?”¨úÌ�ó¾NW{r{¿÷ë(¾;ÛÖ§ÖOìV-Ò’S”š–¦4ß-U)ƒ'ë답ˆÝNžy.x‚�~Éb·ܺSZ::S‹wUt¬À«Žjñ¨L-ݯӡiŸ¸|«îšõÕ¥NçÊ=eÛõ‚µ2.ë�r¨»µ’î|žÝ«ë?/Öȱ u¨´óÇÆj‚žcŸpŽÝ«ÒßÐðI¨ðV•¼žÚ± ·Uì ^ýö·ùÊž»Y{>™ªÉU]CÛ{]èç÷Û¾µ>­Ÿ(°®1¨÷{Õ‘Êý¾N×ôþE­cà%~Þ7=‡�þËb·Sì 5:öéT óª¾Í?«KÅ…úné4¥�z[Gïy|b÷�CÞ|DWKnêÔŽ¥=|š¾½°Ò¬.Мl-øîŒJo]Õ…kwåµÎ±Oh=Ç~¹ôfÛ9ö™úáZgy7ÔœÔÒ±£´l™ïÏ�Z´¶¶®5hÔ_Õšç25mù^]½y^ß½5V9¯n ¸*Þ«’^Ó°‰ï«àú]UWß×O ÛÅÞ Ïï?kNfŽrr&iC±ud¢‹íýE]¹_ó3FkåÁRÝõüÖöçèËc7U^ö›ò7¾¦œöë=¾Lõ•EZ2&K³WíÑ…’r•ߺª³—Ë;”­=í¿;73½ƒ��Éb·YÞêëúéãy›9D)iÃ5væí(¾×*F€FÿIDATë¼uÕ÷Ôqž–ªá£^ÐG»®¨ö±1ÔªxëÛ7b°R‡déŵ'}‡ê+/ïÒÒ¼ö«âçj]þÍN‡ð­�¸î·oõlZ’ïŠzëªzß-ý å·ýÆ·ê«»ôNÛçØÇÌþXGüŽ ´OžûçôÕ›S•5$UÉ)C”‘;^ïþx½õ=xïk×â‘JaƒJÚ>&r{±{îêષµR/))AæaÊ<Ø$hÕñܹsa³Iì“=°¯–ÁïÎ}‘ö±#ö°'Ïþ(]'Æl~·’vwvX¶ézÒôz½²G†Û7zÐu]ÃáŽØWËpêî¿m¤=@ìˆ=ìÉ3ÜÉv lo�[óß)ùÏ&F«žá²CzVó@fé�½õ ¬ow¾�¤ˆ±‡=y†;Ù”푊½“`$= Ý‘eÚ&’ý±#vÄnH©ô'atg¬‘H…ý ï÷ÄnÓ¤>PV¥¼ÏÐWð3¡õý„FèAwKÚ&’p…Ø;+v›@*H¥? £;c�D*ì}¿ v›&uV²¡W²¥6Lh}?¡ÑzÐ�ÀÒŸ¶‰$\!vÄΊÝ&œTš*´ç“7ôþ¶«j¶á³ë�“m$š1=hº­Ý+æê­Í{¥¶�µõý€î�L7ßUÁ7ŸêëüòˆûI»M“ú@Y•ò>C™0F*Ý�Ð/jùèDMøôŒšºû˜0¶‹dB3¦M¿é“ñIûñÉ^©m(‘Þ? {«�u{ô}Ã9½—“¨éë.#väZÔÆ½µé-©4×^×®ÏßÒ³#Ó•­Ø¤t�™ñº6ä—Eû•4ô04ø�÷IGn=ß¶bOž»]õ¡ÆØ|Wùëh|F²bc“”9ñm:êwþºùž®~U“GSblŒb’†ë­¯kÿ’Å�ùXWÛjç=¦7‡%èÅoKÛŽz=TÅ�¯(.ùe¬jìzŸ ò ~l;zæ)ÑΕsôô�ÅħiÔôçôLJ‡â'K¾G ý…ÛÅ^_ ×†Æ*ëíƒ�äÑy2~¨Ê+…:PxJÅŧ´oëʈMÓ¢½÷ZåÛ&ˆ/¯Ó¡£ÇTpp›Þ›:T1 t¬Úšä<:ùùTÅ'�Ò¢¯v©ðø1ܵGgï4ª¥¥^GWNPÂðôåžã:æ�Ö¼”ÝñXÄÞ!öæU–žÖ†¹ÙŠÏ]¢ÓµVmŸÐ›®jï'öFï }óR¦R'}¤sÕÍ!ž½W÷3Ö'by›j›|!Ñú+‰ÍÍíïÙ£ŸNQ|Òh½»ùÔ¦…”˜0FëÎÖ¶ÖÅW·DeÌþB�žÐñ‚ƒ:SÚ¨{»(!áyí¼ÓúW½—ÖkdL”ÒßÜÛ¶oyuà�,%=ÿW_(~ò>õøk´<¬ÑÁ¥£“›”¤ôWwªöapÞ­÷Ö|ûGMOLÕÛ¿TúޤÜÜ2[I))JÊy_ÅÞ‡ji¼ ŸIÒ´u—ï]@ßõ&àÂÆæû»539^37]ëxα#Š@Qð}ÿbÂ~±Ó&ö®.jÐ�_hî”Q–š¬ÔôL MŠQîÒ#!ÅÞü`—žOHТ_jUfµ²â²ôÙéÇÿ*]ý™Ï”¥è˜XÅÆ¶ßb5¨íb&Ä®¤™ëtþÊ]¹|QgŽíÓ†E•Ÿ£•÷õ°¥ëÞtUûVy$*>9I1±£´¶øñþ„’±�÷÷…Øf¬Ö©âbY‚׺�¿Zî[U¯W£Ž®­Ø§—ûäJº-MeZ7-Ù·_44WkÛ¼ Íþb½ò�Õ¦Ë ò…èÄQZwÁ«–'ô-ÔkÔŸþL™±ÙZ}ÆÓÀ{ÿšÄ‘.ý dÀn±·Ôåk^Z¬o2ò?�ë?q7\Ù¤± Éšºô{+¾¬+çè�1 ]Šýaõ^å%$è­½µj�ŒBˆÝ7Q¥ë�Ÿ.êÚµk~·ª¨nbÅ>+¥ãP|ûJÚv4ô�=ª}Boºª}»<²g/Ôììßaø³U퇤�[µ÷…ØC�c÷ÍØ@V»)ö–f]\?]ñO âùš?|’¾ý­Lͬ™__Óõ-³•0òC]lx¨Hö)kŸ|4¾S~! ±#Š@Qð}ÿbÂv±?¬ÑÞEÙŠN}NÛ®ùMíiiQåî77S»´ž;liªÐ†)Ý{óý=šå»¸'È¡øû»•—«ÉŸŸk]ýû½®/\´­ØÇ¯:ýØa|ÿðéÿ•Jà{{Ò÷mz^<×RR‹³â”±ø€îí~£ËÞtUûv±[Ÿc¯»µGs3ã5löfÝrðÂ9«oŽöà Ï5Wþ¢9©qš¾Þï3á�7´zR’†>áP¼õ^¯}­± Ùúà³æ»�®I×¾ž©Ôé+´òù4�ûø¤�óHö)ëùÛÇ7å‹âŽý±÷¯IéÒ¯@l»5UÐ+ÙñŠß®ÃE'tìàFÍj]àFÂd-’ð›çøÍsüJY›è ±[“FÓݳÚüÁËg}Íú5‰ƒ•=áE}¸ã²[êtnë{š’�¦Ø¨(ÅÄ'ihÖ3šÿuqë*:È$ä(Þ7)5VèÐÚš�™êûÈ\Rú3zwç­Ö €+tpíMÌJS\t´âS3õì»;Û>N÷P·�¬ÖÔ¬4�[YÔ±J sâê˜;‹)’ ­·zðØÛ~AMZbŒ ¤A1qJIÏÕ”—ÞÓwEåmG0žÐ«N¡jÿXßuqÓL%$ŒÓWüÎáÚTëÇÞ_Ûó:Úƒ'ŠÝúxàå¯}Sã|wKÔˆ‰¯hcáï«=V7¦šukë\ÅÇ>£ ¾�#ZÛ•iýôd%LY«[í�`ŸzT¿æû:úõ;šš;DqÑQбöÕ±ÏiÕ�0.€ èi$=@ì6Mê�«7¾x+zǤ°ã?šT »?’ �ø‹¬çÿ§=¯aO÷ÏHz€Ø;+v›@*öN‚‘Lhô€ôT¤n{|$ûb·iRg…>ðVè�=G*HÅmRèéx"‘ ûAß³b·‰&´¾ŸÐè=èi˜qÛã# WˆÝ¦I=põÆ÷o�T�ŠÛ¤ÐÓñD"öƒ¾ß;bgÅnLh}?¡ÑzÐÓ0ã¶ÇG®»M“:+ô�·Bì9RA*n“BOljTØú~?@ìˆ�»M 0¡õý„FèAOÃŒÛI¸Bì6Mê�«7¾x+ø‚‚y½Ö‘°wrˆÏgÕñðáÃa‡Nz`{ôÀ¾ZFºGÚÄŽØÃž< -ÁC˹sçTRR‚Øm67nÜЙ3gÂf“Ø'#z`_-#{¤=@ìˆ=ìɱû�;wTTTä“{}}ð?Úé>Pg­Pnݺ%kåmÕ3\ÖèAÏeDz^Þî¯=íbGìaOžáN¶e{�Ç£ŠŠ Y«FKLÖ¹1náÕÀª›U¿òòrßi�pÙ¡áÕ;Ÿô ç5 V×pîëi;bGì62`%íªª*Ý»wOwïÞåf ¬ºYõ³ê®ÔÛ·§=ãŽô¬~vì÷=íb·qRoŸXøüP5u¡.00Ðû vÄñʈ´÷wPjL�aÂe±#vÄ00`ˆÝ f†›êØž• À ˜ÇbGì$u€€ƒ@ì5“äm^ò¦§ô` \;b'©Ã À Äb7¨™á¦:¶g%0æ1€Ø;I``À »AÍ$y›—¼é)=…—ÄŽØIê001ðHìmÿù?|ý;jðwÔ€ý`ú3ÿÁž' (b¦ÔIEND®B`‚liquidctl-1.16.0/docs/developer/images/create_vm_6.png000066400000000000000000001072471515166127400226760ustar00rootroot00000000000000‰PNG  IHDRöÙ¼} IDATxì½w\Tͺïéüyî|îÜ;ûÌ>ûÌ>÷Ìœsç¾;¼qï÷5¼q«dT”¬‚"Ì¢˜0ƒ sŽ˜0�ˆ $ ˆŠ@Ì‘œ:HüͧVwÓ«W¯¦»�Ʀyü|–Ý+U=õ<ߪ_U­ZÍ€ÚÿþË€þsÀ€0`À�üLù€ ˆb€0˜63�fZÍ4[ç¿ÿ�]ô»ßýnÊ�C†¼³>¼ÍÞÖvv´‘ˆb€ ˆ3a€i3ÓèŸüñÝÿøÇÉJ�g®ñ�øê»o¿M³³¶ÆÐü? ‚A?ü@ù€ ˆb€0#† Èiô?~ý¶ÖÖøæë¯“™†0@CÜÿ“‰ºÕ°a`7� S‡† ˆb€è X ªw65Ïýû/øÃ¦ :”ÝŒzdT¡úF…¢8QœˆbÀ`âþ»ßýn’ê™ûþòÓO¯h¤NpšœdqH Ä€ñ pÓó?ýôrÀ€ÿÁ†ìûùǛȑÆ;’|F>#ˆb€0˜–+WËòãàÁíæbÙA•„ ˆb€0ž¦åÊ×ÔüL4Þ�ä3ò1@ Ä€91À¦ã•¿5@ÂnN�![¨¡ ˆb ÿ0àôÓðýÇ÷Ü6êç﻽ˆ�„�VÁw"j€úOD±¦X=Ãó“£¾Gž÷xæ7HcË÷ù»F|vMWüMÂNÂÞ%pºÝÓµJJ~#¿–ÅÀ Û¿ã©ï@ 1Š;Ûgׄ9üÝè6š„�„Ýhh¨‘±¬F†âIñ$z��ˆ‘ßët¡Èou4NÜIØIØI؉b€ z�6Rж¡ûKm wö^&õ†{¯7L¾&_Ä€92`3ä{íé÷‰ƒu ½à›–giR6vvƒ@1&ºÆÈuð¼W ¹´7÷àƒÔ£ÁvñUÔËåh|�I?2mŒ ÃÊkï!“ËQÿð0ÜTÛÁbú“Ûcâ¸9ÕRÈêîb“ûo4pF­LDµT†ê¬p8 ˆÇlƒz¤ñ˜=ôÌ?§Y7ÜG¸ûoð ÏA£\Š×‰N‘ÿâ³O™ˆK^"bê0 ø#¦-†T.CuÞ¸°Ñ÷àØ‘[¹¼I;6#«BÉûx̱uÄÆ´rÈK~Ï$2HÞÇbаAõ�ê[?d€ýªœ˜H«Ž‘°÷C(H8»(œæÎ _Ø7ºáG«i¸PR™ä=ÒÓî¢�·xnè̳¨äž]+¦ÀÙT·jãFØ?  !n8ò rÉ3˜ˆ�ëÑXY�IW{amb9dÒJÄ.²—ÁÎØ™[Í�ÆŸEÍÇ/¿ öE·¸/.„Í ü€ACõ¶gÃLnÄ>hà`øx‰¼·ÏGãA}=²÷mCÊÇF¼K:�äw��V¥"Øvˆx£=p œ–^å¿I>&aõê Ü‚ºÆ×—0m¨bê~àOqþeä’Wˆ˜2£|ÖÑ�”ãâb' qZ…ü:äu9Xîð£x^ŸÓï”7Ť—øyÐx4^û—æÄ„\ì˜JÔÙï'a4ðL;\È=+g#rÕënCF­CA�rÉ[Ä…úàÊEi¿X9Áþ7õóò_ÆïEi£R‰Ò†GØêíˆÐëåܾD&ÃǤհR­bcÿ·\d£tYªk¯­ôçž¡3üy&’ؼÆRìÿ+ vÀæŒJnÁ\cÙYøý:ƒ­#«VyC!6�ýÙ †¨ÏÇRÌ—tŒbÏc€ýö»J ¹OöºÛýlÑgêLÜÅ^wc¯ÌRWHØyŽ7ÄatM?ÝÞàBLØY¾¿MÄÙ'õ ±T½Ç>h8F=A£L¹LŠúÊ÷x_^‰ä#NÏÖQÙñÄñb¶Š]Žú'Çáýã ¸¬¼ŽZ©œ›R¿¼ÄI1¥®«|cüŽüŽŽ…´ú&VŒP®zg÷ _„LN´b‹ç/4p l¦íBrú œYáν®7ð·yHe×4–`7]yÑqòM?b€M¡k�Úï© …Ÿ¿O?PÓ�`¡F³w4t ûÀ�°Ÿso¸ì¼¨b�Y[¢‘÷ä-j$h¬+dzÂØ>ÅF-Ö)Þ3—±×Þ¦s¯­ ¶ÁÍj)$ï®`Æ0ýϼÛ.DÚGöê›eçƒðÞ»èCœV+¦Ù °ÞU|4>ðç@ÄW°×êÞàèÔ¡$^ÔJºó“²ì^CÛ{±S¥3C¡¢ëúpgƒêÕbÀ¤ °_�ã�Ä ùÎþpŒ1í* ;Al0ÆÀE×’ÀÄ1 Í€1¶Õ˜‘ºÊ×$ì$ì$ìÄ1@ ½Ìû5ºƒ.GÁ8íWá²¼~[lgÈ«m*1ç’°÷r0ùΧïÚ=Yò ù„ úìU8&òìåØÙtUÌù>#a'a§ž:1@ Ä€1@ÂnAÁä÷Øè;�zˆb€èŸ �°“°SO� ˆbÀ‚ a· `Rï¼öÎ)îwb€à3@ÂNÂN=ub€ ˆ b€„Ý‚‚Éï±ÑwêÁÄ1Ð? a'a§ž:1@ Ä€1@ÂnAÁ¤Þyÿì�SÜ)îÄ1Àg CØ¿ø_ÿ ´‘ˆb€ ˆ�¾Í@‡°gee�6ò1@ Ä1зÐö?Í? ÚÈÄ1@ Ä@ßd€uÊHØ©3C�9b€ ˆ a€„ÝBI=ë¾Ù³¦¸Q܈b § a'a§^:1@ Ä€1@ÂnAÁìé^¥G# b€ ú$ì$ìÔS'ˆb€° ú¬°ÿ9èþ²€m}¯7E=`Š1@ Ä€©èSÂ΄üoKáa»à´%#·n‚˶M°ߌŸ×ìÁ·‹�€ ¾©œEéRE$ˆb€0wúŒ°·ä0·À{ïZL�X�¹‘K°àôbn›ub)&^÷Ýë0lÝ|µè‰»M+™{%êº}‘vøæÀ.8ÒL™�Äà­éX|%Ù«�$4]g�|g‰¾3{ag#ðÁ+÷cì®u<¶ Ë£`sÜ컈#©Óp(e:ö$ÎÀÆ+s°ä\0&YÉ�ä¿]rÄLJªHŸ¥"�…_zjª_Ãoõ)3aã&çJÐÞüã–˜«hžÂ„Ìz´5€H'6𥩮}–ºFƒŠÏÞ¾˜½°\~»×aþ©%¿:ÇoLÅ•[“pã¾/ž¿;ŒWå§�rÏrý9‘½8�ëŒÜ¶_/:Ú-¹ì2¦Ä=Å�·�¨mjCsÓ'<ý'oÂjyoŠÃLHùˆK༰“Æ•*”îxÅ äñ'´·ÖaõæÓº¯ã|Ø[þ¶$a7Æ¿$¸$¸Ä€)0kagÂaçrÓõv›¶r ìºâÀo×eâBy3ÚÛÛQW]…ø»e8sç²ÞKñ©¥k·è‡ž÷,‚îBkÃs¸˜í”mO–×4i}µü2œ6Çà/z;@½åo öù'a¸Mß®Ôsº‡ba‰ ˜µ°]·“›Z_wi.ÎfàVñx|øèI�šä PýkiJ�´ÖÏßxs#ù£iÓ½>{×âû�ƒzFgÚ`ÿyQv¼jB{«±±‰øFcå}$®¿„oƒ´ï3 ½%4½Y&sΫ·ümYÂn:þÍ™²�ân~ -ìN«�báփط¿I·ƒ÷ 6v5ÒSàÞíixQâ‡Úòñ�7,B“ì ÚÛ[Uº ͲK�×ÏEå{_”MBræ lŠZ ë�ÛŒöH ;ó mí(JOÁ—�Žî"ñÛ�;8ù°%uM�µ¶C&• .öþ¬¼ï›µÉXŸÿ/$-øÔô �KË0o{tÇyV)¾ÝxçŸ×⃬-­­¨¨¨ÀÉK×y�…Ðð   ‰Ñ±é’�°êÏWl$¬�?Ä¥§•x¦,oKKž½x�e{b:lQåÓ¹M§à™V‹Ö¶z„mUÏ~|�£•­¨¾w“çûHØÄ¼ES›;vŸÄóÆeÔ¡µ­«ÂÕé0î-‡¶V$E_ÄŸç Ÿw;ÝþþÓ|qÑÿ"8 §k[Ñø0·Ãnýþ5DØ>¿\¢öyÓ'î?,¸m‰X�ú·+d�µ¶¢ºªÇÎ'à+^§S¿ н*˳ßâI}3>µ´ ¼²§£âÔ~k“¡ðY ÞJ[Ð,smÿö+Bi_UÇè“XcÀha_°y?Šž<�L.G[{›é¶¶:´6e Y~MÒ hk} ESÛD÷ZÑÞú•×#&a7•ÿe°«äƒÎci1{[�àušB¡í@ecÖþ ÷–á@Zä>džÃç9‘ûju:.V·¢EV‡K™žö õmh•WbáFuÚß„eáØ½2ìOy€ðäǸöîÚÚ›‘}Y)– 1iûTƒ£qw±ê2ÛîÀwó9Nä ÍGh¿þ|…•FYÞ69nÝ+ÅþôÇ8rûžÉÛÐÞT�%›Îtˆ®!6ýx¤µm­ˆ�RwP¾^w w›ÛÑ\ùVë Î ð¶ ­ÒWðYd¦H‡ut˜€«lŽÄÈøJ´´Ö`Éæk¡ðèŽ�J¼Åým¸°ë÷¯!®öyÎÝìI+BDA*•ýÚfIòŸbfrª[ÐÞ.ÃÑ# þX¼õÛp_®HÁ©�-hoý„‚¥Ø{£'ï½CÄi^‡¨½%¥¯q2³óÞ D&Œ¹ÿö+Bvi_Å9} Ú -ì»÷ì�T&EK[+Z;ÝÚÐÚÖ†6îÕ§òžvÅ';ÇuØ5íŠëŸ­hi.›bo’Â'ér´6%‰Ê¸ØÁ¶æ›�7„"#m.·ðΘEt_'âdM+ZjJaß!,ÚŽSÀ$lÌø×��_vZ›«±b‹z”ù·-wñ ¹ ϳÓt>ëý˲D×´BVV€¿s£/q1QØÐõ|„B;_~yØwñòÞW„—­mx|㺲L†ÙôוYHojÇüLüU)È¿F>‡¤@k%æ‡*;?Á×p¸¼’'·ño4ª²ÿ/Ë3�,oCUaNÇhõ‹ X¬-mFSùc _À mîóËÚ™¿Åω�ØUö©>µýk„°k¬J? �”j´´I±k�š­o7棠¹•ÙþTå­úÔ¶á4¼oÔ µMŠÇÔ,ÕõÚ~SøiðÞGx¡s¡?…ûÊûºÈŠÚ~œè;ù…cÀhaß¹kšš›¹ÍgʰmÜÔ…?-¦/â6ßÀÅ𛹓f/…ÿìe˜<'sW`Êܘ:o%·M›¿ �A«¸`�æ´ìÜ¢•‹°ÿp ®\õÃí[>øðÚ ­M)b:®q¬µ) òú@È× #u6¡Uòc+Þøëªld6µáIz²²³!´]¸ÏOW·¿U£yáBÆÎ„]·»*ì'1hÿcT¶µáÒ阎Y’?_Ã��-�¿4œ­/‚p¼ªŸÞ<ÄOœèð“ æÚÃî3˜±¸Ó1uìÉä Ýö�°`ÛÊõ»°aû!lÙ{ [öíö¶ïÈ\º²™YsQü(åo} «›ŒÖ–—BÎßimyÅ-¢cÂþ©1 7RætiÄ~ª–�ØKº5bÿrõMd7³¡§ø?þTówaiØù •Ím`w´·¶ ±<ÁÓ-4Æä#týùòÅŽ}o¬¿Xx»ßµ@þâ>�„á6EbT‚bº|ñúÓøbaö¾o­ÄllÕŒ7¹éÜÈsØÙW�·vþ&»FÖ*Ã�ŠÇÿ8ý’ÖFlÛ¥Ñ mîó˪Û߯»~ÿv]Øÿ¶õÊZ[‘zá’º³³àÂ_6£é}~UŠ´>þº2Mí¨¾“¥cIÜO˜k³aØ}†³Â�}ÖeÚ'&ø t[Øç‡lÄüe0oÙ,ZµK×lÃâÕ[±d�b[¼f+­6~[±~#ŽÆÕ¸¸uk"^–1a÷D˧ q¥d³·MY¨þè yÃ||’lFjÒ<°÷Ù¿\xÜðÞ\Ь)m⦂ç®U?ç;Mý]¼ñbçÙˆ1«©�eE(Þ‚ÍsÏ|ͦ•ƒãqà}3Z?Õ!:é"Òà{âÎh1HØ Î‡×›ãì7(_ae/ï ¯`ÇÛ–ŽYclú~ǼhmÅõ˜‹øvC>î55"|ÇYx¤ÖàS{Î~³ dhªz ›N�|¹*éò6¼Ì¹�¿E!辜»Ç¶ã¡íÂ}~Y;öyìÕCÉ Œâ½z¨5b7È¿ÝöøøÖ ­Íwt {[Ë#¼,ó€\²Ÿ¤ûŒáë·ÔHŒ¸ZŽæö6ÜIJÔ1ŠQ‰€nq`SŒçêZñéí#ü":Å©HãïÛ ñ¬µ·âãÕ#¯ (?jâ û̹÷ m²—pü¬§¡ù¨;#Æä«*§êS¼¼Ba7Æ&¶ þHE+êŠò1êÂ[HkŸaDp$í+Ƈ–:¬ÝuçëZQ’‘Òy,‚¢0¿P†–ºçš‰ë²VhÙ\ìÜ;ç¢}qㆊz¢µå='ìíí h–Ç¡Yvíí5ܱ¶¶FÜñäF럤§³ ì7æ� ø_W¤!¶¶íÍõˆˆ¼¢µéë�h|Ë�Å=E~g1õV#ÚÚ¤8É_­­v>»îo[ÙÈ« ÷ù"¤%ì§0>£m­µX¾I8‹`X>B–¯¦­Ú�·â¼v#oŒM§à}£-M5È{ÛŒ7·2þ^’Œ¨ÚBÖ"ô•0VÂ}~z�ù;¶Þ¡©½qQêѲPØ óï)L¼Ùˆ¶–rÌ\¥î$hÆJÜNEú��Ø ³á,¦ä5pœž:!Æ©xþÚ1^'Üï Vø1¢ïšœ�?ÈjŒöíÛw@öéäŸäܹ‰<g‹çÆO[È-¦c‹ê¼&ÁÓ>Ü'ÍÝTCï§e/DÏûL���µصÏçÎû 5Õ wPW}•ï'pÓîlê½üíxT•‚¤±I×} —D@.IÀ‰ãkºü×Þï*@^CÐÞ†�ï>à­Í}†k¥5¨j–aß~ö,W¼ñRÆ^5Šg„¶&<,~†ý©�°'« ×_¾BàåOÒ_þwÍho‘"óv16\+@hü#$W¶òFì'1äà|h+ß#"­‡òßàr\"7Ê7(átœ�ùªÊ¢ø/¯v#¯xÍJoÙ•6}¿ý>žµ¶ír=¥ìˆ�ÁäÜ´hâ¦äu Ÿæ?-NDd•â=°Æ²ü ±‚^h»pŸ—ÎüÎýýåʸR׊ön”`Oê#ì½ùÏ›ÛÕï±ä_U'¡ /Ÿ>ÅÄ ê×Õ~·Óag‹é aë뵸ZÍ8ý„�ʰ7õöç¾Dò ¶ÆA<í˜ ¯î+ü«}Ÿq¬¨ý¢/:Nþ Ô -ì[¶n…T*�T&á„� ¸w€ZÄ=&̓ûĹpó›ƒ1¾³à:aF�Ÿ)º©„�}²‘»Øuã¦NGHèDìØ3‘g¼ Oܾå�{w=Pp×·ò<‘žî…«q>ˆ<=²Æ+�6æcûŽp£Gë|8¾]›„e¯p·RIk;Zš›ñöC®d߃{k„Å/Í4®cmÎ[×5áS[¤ ŠÃ{­ú·æ¿[w; +ñFÊ^lƒLþ ¯?V#-'ƒTÓ£Açàv© 5ŸÐÔÖ†ºÚZ\ºœÔ1›ðíZýùðíbß ÊW£C ^^±Æš¥o°M .cëëf´6¼€«rU;»ð�Ç(okÇÝÄõc {Ô +Êv c®W¡¥½1§.îÚ.ܤ¥Çß߇gáPQ5>Ê1“H¥(~ùÇÏÇwLÿâß¿,‰CH~9ÞI±UëÇw˜Mâv$ìFÄø›µ×šûOë›ÑÔÚŠšÚZ¤¦¥ã› ñüµc.¼N¸¯ð¯ö}Šã³Òiü1¤k»Õþ)êù´/úÁhaß¼ hh¨ç„� 8ÛÆúÎÆ&âãfbԸ刑>�pñžg¯i¢_ØÙw6r_µq·ÖµÞ“¼b6nõÁþÃÞ8yÚç/xáâ%O\¼ä…˜/DžöÁ¾Cã±eçd46ÜAC}%˜­}1(d35&Ä1@ ]eÀha߸qjjj¸ÍÓFù(EÜ{:\¼§a„'Û¦ÂÉc =¦ÀÁ=öc'‹nBagûMMÍØyð¤Öõ£¼ý1u®/¯‡Ð�>ßæ�­;½±m—7·�Cئ X²Ê³‚g ºº‚³�ÙÚUÇÐ}T©ˆb€ ú"F ûºõëQYYÁmcýæpΉ¸{Ü&ÃÞm2ìÆN†ín³q�ëQE71aW‹�KÖºÇvÌ$¸xùÁËß“gOÀŒ ñœ?³ýàíï�Q>pó›Ýa³µ/…l¦Æ„ ˆb « -ìkCCñþÃ|øð�›r·ã øèI°= Vœ�ûÁz”¬Fúa¸‹¯è¦q]Ÿ÷>æž×«îgi±4¹tYÊüXç�u$˜-ì1³�ÙÈlíªcè>ªTÄ1@ }‘£…}õê5xóæ ·9{NåDœ yg®fá§.AW/xPÌ-¾Þ'Ügys6ŒšÈ=PÙÇlí‹A!›©1!ˆb€è*F ûŠ+ñâåK¼|ù’›rЬ1û*ûŒ¾˜[WÑ‘~gy°çùÌ6f#³µ«Ž¡û¨RÄ1@ ôEŒöe!!(++ã6ëÑ�^¾(‹ ú§¦&„mÙßåtÙó|•}ÌÖ¾²™b€ ˆ�®2`´°/^²Ož>å6¾Hwå»PØ =á~Å®+iñïQÙÇlíªcè>ªTÄ1@ }‘£…=8x=*BQQQ—GÕ*æ ;›zgÓèªsÝùd¶1™­}1(d35&Ä1@ ]eÀha Z€û÷àþƒûÝa•°³‘zw„\x/³�ÙÈlíªcè>ªTÄ1@ }‘£…}Þ¼y(((à6¡ »_YUƒž©«òWÙÇlí‹A!›©1!ˆb€è*F ûœ9spûömܾ}§GGÙ*Qî‰Of³‘ÙÚUÇÐ}T©ˆb€ +ýÝÑ IDATú"$ìFÿ¡ˆÓøvÕU|¿Lì/q™y%X‹¡ûïaBt)¦\(�Ͼk°¤/ÂK6›9oF×-*1M ô$ì"�Ï×+“àñ~çË8ô=]çíW¹¿¤öÅ‚Ëp>[×-ç=Ì”@Fâ»õ9˜SÖ�|#1xçCL>}¿…^ÆßW^Â÷!ç´Êðçʼnp?ÿ ScÕ[@d&¾Öø¨¦,+¥Ý›Ò Žˆ�þË€ÑÂ>kÖläåå!/ïž>}ªs+--ųgÏðüù îc^¿~�·oÞâÝ»wÜO¾~üøåå娨`¿;_‰ªª*î“í³ãì<ûiXvý›7oÁîùò—^Ù³g(-)Õ¹1Û˜�ÌVcáþó¢x¸ž+…߉ü¶>ׯáçͰÝ|‰ÁÏ!ì߬̈́ϹÇð�.í²°1?ÖÇKà¹KQ]~ù˲x�€ákcñÝŠ Š-$J« ë~:ÞŠ=Åž0ŒöÀ3pófnÞ¼©üdßõl99È1à.�ítÕ÷jŸÏ[q³ÕXоZ“¿˜bX­Rÿ½t~ a/å�hKá´î´"Ÿ (ü¸ýY,-ÅwvžÝÏÝËîÙT×0[�…ú/K“áy¾ ž{¯áËÚ@¨Fìn»âðÝò|»ü<¾\ÈDð†ìzÿ3w04ì2þ¶*Ö‡‹p&cç9a-ÁøÃi´æ2†&ÁîH¢ïã×åÊŽ�ð±@P l�?†ëÖXü)(¶a?…A;îcrô؇_ëã0lÿøŸ€¬Pu:˜°—À{_‚Òî|½H»óòÕÚlLŒº�!!Qø«Hù�õ']¯Íù„|B ¦dÀhaw�¾QQÑHÏÈDFF†Î-=��Ë„ê“}WlŠ{Øýé\:Š´ÔçÙ=ÜÆÎ³ïŸêô:®Q]ËÿÌÈäld¶ï¼SøûÆ›ðŽ.Ãäs÷á¼+_ªuŸ„Jصž±/ŠÇØè8­?ב矗\‡çù'°]{ºCØ=w^T�’ÄÂ!²Ä«�uˆ{$¾ßZßciø*è$¾èL؃ã1&ªTst¶'Jà{ A±@NÙ±ÐÈ¿#/u%û&,>gcRL¦^x ¯Ãéøûí€ñ~UçA÷’/ˆb€0F û�™›0zÚBL1ë�ÙÈlí2< ¢ðÃú48-Âä˜Çµí2'�º„ýËUÃÛ•" Fµ•aJl)\6žöù‘øqO&‹,NûË’DŒ=÷CW*FÜ� û—«Ò1!¦ÃVò8ƒw=ÂäÈ,ÅÂ7…½Ã_AgðÝšëyª“Žßà:çD:tÎt•”|K¾%ˆc0ZØ�I\ìÚQ+öaöìÙpuÓ鯮a׊¥Ñ»ÇNᇭð�yˆ,?¥±ŸÑ~ÖÍ„}BÌcد¿€oCÎkl_±çբ‰!»Å…ý»M·ËžÅó: žqßý×4FøŠ¼{XØ•âýuX&ÅÜÇ/!üNU²Þe�üMþ&ˆÃèUaÿeÉ!N¬�öaK}vqÿëŠS‡°Óø"è"œN—ÀcG¬†¸þiQÆF—Á}»à¸jt+&ìÜty)ü*§ËU×Î?‰¿Git¾ ¹çÓ%pÛyß,<“ïÁ©xaå!a7¼2 }Gûä;b€ø ˜\ØG,Ù‰•+WaùŠX¶,K—.ÅÒ%Êmé2,YºT{cç•ç–-[ÆÝ»båJ°´Lí¤¯V¥Àio:~^w?¬¾ŒAë’áxì1¦DßÅ�¥l‘Üüvè)&ŸÎÇ/¡—ñCh"¯<‹?Í?�w?DÀùG±-W_Âkðë†K¼gÜ¥˜y Ã6^Ãkâ0tß}øÇ<‚Õjõ3|]åël*ž-ÜS-ž³ �Ã÷«YÚâ‹ç:}Æ�Ÿ¶¦âç°+ø~Õe Ù”�±gK1Iùœ_—mtœ/b€ ̇“ ûâÅKpöìY\ºt ×®]Crr2ÒÓÓq3û&róò�ŸŸ¯µååå";;›»Ž]Ïî‹>,-SÃóÕŠD8¾‡qçJp¡ Ñ�ᑃ_V©_Kû벌8^ÿ e˜õ#•¯�Eq¯œyœy‚Éܹ"¸íMà~ØF1_ ß“p?ýJáyÃà û¡›Î…ý$þdÐën%è\Ø/`Ø�‚޲O:÷®ûRñ·Å4 ojî(}ói)‹¾Î ;oúÛ¤Á›Šï­¼)“wMÊÅ�âG F0`ra·š·sæÌí‘�¥ÕgPö¾;#*TŸå“ÊH|ÀɅ�:å´ »ÅTbš¦j‰bÀœ a§^* .1@ Ä€1@ÂnAÁ4ç$ÙF#b€ z‡vvê©Ä1@ X$ìLê ÷No˜üL~&ˆsf€„�„�zêÄ1@ Ä »Óœ{�d�pˆb€èHØIØ©§N Ä1`A �°[P0©7Ü;½aò3ù™ Ì™vvê©Ä1@ X$ìLsîA’m4Â!ˆb w a'a§ž:1@ Ä€1 %ììmäb€ ˆb ï20`À€Ÿ°ÿär9h#Ä1@ }›vêÐP‡Ž ˆbÀ‚ a· `R/»o÷²)~?b€è HØIØ©§N Ä1`A �°[P0{¢§GiЈ� ˆ�¾Í ; ;õÔ‰b€ ,ˆv &õ²ûv/›âGñ#ˆ�ž`€„�„�zêÄ1@ Ä »³'zz”�ˆb€èÛ �°“°SO� ˆbÀ‚ a· `R/»o÷²)~?b€è HØIØ©§N Ä1`A �°[P0{¢§GiЈ� ˆ�¾Í ; ;õÔ‰b€ ,ˆv &õ²ûv/›âGñ#ˆ�ž`€„�„�zêÄ1@ Ä »³'zz”�ˆb€èÛ �°“°SO� ˆbÀ‚0‰°7Ö7 q&öëG’b>v=ÂÇn0|sÛvo¯!-G^ÌM*…TW¯Mú {Vbó…bÝ×躗Ž÷|L¥åÈ�Ú‹#‰%ý'æÄ`ô?Õ㞯ÇäS“øÔ$¾wÊnÃÅ\Cø×c§ßv“´Ó΂ä öú;bâî|Ht�ÖøÛ}0yßÝ×躷³ã²”ÝIGÎã È:»ÎŒÏI«âtè ¸�°…•µ=|BãQ-ë¡Þª.ÿè‹YÃ=ì˜4·g¢®§l14M]6w7†¦b°+v}ÿwÅNº§÷ÛSòùg÷¹I„�›~×ìÎGí[<6©;n´�"ý€3A#0tèPÁf�™ÇŠº?bÓ×H1PMÕ¨6ä#ÌÍsN<î£ÂÞˆ[»ýaë¾§’sQp÷ò½ë¹²èò�¾˜IJp*dB"§CÓÔeswí0ƒ]±ësø¿+vÒ=Úí)ùÄâ}òÙ…}÷Ä�x÷ô-®íºª÷N„Ý~Æ^dçç#¿c»ƒ¢×5Ý’¾FŠUS5ª¦�Þª¼Òç8èß¹=' |ÛuùÇ�˜ñÓéÍïºlî® ¦b°+v™³ÿ»Rº§ûí(ùÐl|øY…ý`à~T¿«Æ'‰ÇÕ+ìN‹/¢VlZUúq[ƒ0ÑË޶V°²u‚ÇÔˆºóQ9r”¢8f¼G9ÂÆÊ£'`ɾT¼•È�à)Œš8 Ó¼]`km× AØý)T°Š5ª ¯�|h%¦x�„½�<×à½ríѪ¬÷b6aš§³2ÿq»Tª¸ŽkÞL„ VÇW*íz‡ô£«áïæGx„àäÍWê é{¤XŽ©ã\á`c kDZXsédr=åee’~ÀÍÈu˜æÉÊk »cá¸Ñ…õм -›ÒwêÙÞ,Ф«öó¦ñuùG™¯ÃXox¸ØÃZs¡ðtUŒåuHZçÛIûðTņ\†ççÁÆ%‹5Ùèò¿.›E_ò<Sì]±#§r}qcPe»ªxކWF`üümˆŠÞ�¥Ó¼álg ‡Ñ¾Xq,•R%÷úòciKÞ#ëÄZ¸;ÃÖÆ#=qüv äÆú_eŸÎ:*‡ÜPæTe¦O³’NuRœz=N&ö=þ»p'î6¶ûlQOµ+§èO-9 YƒŸdMˆ\t\}¾“»NaW62î‹"p#;Y)°)p4¬Ç®AN•r¹ åEÙHɾ�ÂÂÛH:‚±6.K|¯WU#5~)Ž\HDffޝ� {/ìÉ©PE«Q­ÅÍ]°3Gópÿn-òTäYÉòT‹SCÑqL°�%)¸ûà>ngÄ#ë1kÈYc¦˜ŠŸº3�Š‹Q\ü¯9›ëpkß4Ø:øbÙëÈÍIÅÉÐØÛûáhAµâ^¥Ýn !õfò²Rq÷E£þòÊë�0¶v^Xq™¹¹¸qi3ÆÛ8`]2KÛð²©øqaW:ìþ�½ÙÐûÕ¾ÓéeÙ]çîÆµ´lä¤_–™®ê˜sçÕë&:�/V×ÂÁ._2?Ê!—Uárˆ+œƒcPÞøXSØuù_WLõ »NµäùIi‹û’ãÈȽ…›×#ìa‹á#ü±ùL²nf"vû,8Z»což’=}õBɉ�Ä�ˆGv^Òâp÷­¤CØ õ¿ŠÝuÔæxñâ×3úÎã�|¤Ñ÷76L*ìiÇÓÀþ½/y‡½“wuˆ÷ÅðX´6µ ¥©gBNuçVÐw"ìêQ¡âYû°Ñkq«^¦ldÔ�8 býý#ð±‹]¹ªFŒ½¤ûá»3O1},INuÀ¨�+Š…`‚FUZž„#œ°âÊ›ŽºäU ¦Ù¹ ü†Rx••«6w'FÛŒÃ�ÛÊ‘8¿Ò‰4ö,iE ‚]ì0óØ#õ½±¦8bôò8…MbvóÓV}”WV™†Å.¶˜zPýüYúþ*fÙ)„ݘ²)lMß÷¨ý:ü#–¯F̾é4*?1¿ˆÇ<',½ðZךL,í€àèç� Ò³�cG—Í"Ç5G위ööv´µ´á|h”¦¨³Ñ|'Âî0ëî>|ˆ‡ÊíÑã—¨‘²P{U»ôã5̱·GØu&² (I9„%ÓÆÃÕ٠ήîå` ïÍ™º…]Þˆ¬m`;a'ŠeZÏØkÕpXYÛÀÆFµYcø0,¹ {¼ú'8±ÀÖöî0®ß§^Y/ÒØ³{Xú¶8p‡ß1iÄÍ~°·Ä;4 Ð;/o]ÁAxÚz`_¾:m¾°U6ßwß~žÀéð�hÌËy1ÚÕY ø ƒ´1‹GÁeñ”Ke¨ÌÜ‚‘Žspõ�j”ÊëÄóP¥£Ëf‘ãšÂÞyÜŒv9>Ư‚�Ý|$•+g�c�¿&ä¯óüÄTÆF¤ìÒÎü/v=¯ŽÅœÊÏô©Õ +ê?¯þ��ú¥�L+ìc7`³ûF<Î*æÄ½µ¥•ûlkmCìÆ Ú¢®GØ;ŸŠç5¸r9d•‰˜oo�µ‰Õh(ŽÄD{'nŽANaŠï§`ƒŸ½^aÏÜ:¶v‰ û�ýp·qņ«ñôéSÞV‚7•m˜d5(É>�ÍóÇÁÞÊs#î(^ÃiìUÂènÓ5a×WÞÚ;ûàfã…ƒwë:ìÔvcÊ&Ò`w×~�ÆI‡Ä„�s±ór]1Ðhüdx¿ŽNó‘ð® Éë½0ráy|`Ï¥…eî«ÒÑesÃm¬w·×1ó…]_ÜŒöêë¡°±�‹„�J%¥Øàß�Š…Žúò«å82¨[Ø;õ¿ˆ¯ø×+ò2¢>©|MŸuX£Þ�_úµ_L.ìlz�½ÎVš_‰:Ú�øÝqâ¢n"a/çF.óÔ œô5ŽÏѹ°×?ÄÎIö³2A±`O5¿Wñ;›²�ïd£1�mXŪAÎÎɰ†|6EÚp›}ìµÞ�—V$#ØÙVóu¾ÆœÊ¦â¯v:¯¯¼ÒwW0ÛÁs#Ÿtp2rr‘›«Þn>G�žF£þÁQŒ·qÂÌ­±¸y· o |’ƒ@Øà¶(é9yÈI¿‚=Á>°uðÇÉBåtµô%ŽÎp„Ó´íÈ,©„LV�Ìíþ°±óŠÃ¹û²oÄáÌå|Åãh e™ˆŠMÆ­{Px; ¸ÃÖwŠÙ¿´±Ë\aë¹gSs��z‰w>@&¯CÞ¾i°sôÅÆ³ÉŠÅsaŠÅsUŠ Š”›Á®·¼Ò $„zÃÚy vÄÜÀ­ü Äî^€‘VöÊÅs†—M«ï(w×íר°ºü#Rö΄¥ÓtجšÂ¬GÖv_XÛÙÁÎ= ·jøoO ìºl–Kpïp lìÆ!42Y¹¹ÈˆÝ/Ūxýq0È·[Äú„]o~òd1ÆíÇaMÄdää!+å ÒUkÏ^èëX‰Ø§/¹ÌñËMß5t�ºC¾é·¾é5aW�ܹrLÀum�Eý#Rv ¡œ×aƒØðø$üll0å@�z´*H³³²‹Ú̸¬+Ãå­Aði«áÖppqƒoàJ\.foè‹›ƒªÆ[h›\}®??öÖÆ¤E¬Ædöº÷ª¨/6\YH(¬sB{„ûÂëY9 eNUfúì·Â%¬¯´¯ÙfšDØÙφû;ñœÐ¯ÇîI; ÖÏÐ`5<‰„Ÿ½§`±ž&,TyÈÄ1@ ˜?&ö¤Ã‰Øì¶›u�Ê;9žz<…„ÝäÂ.Á£¤³ˆMHGî�»ÈK¿ˆ-³ÆÀnü6Öª~¼Äü᥆bD Ä€6&öúÚ:0qgŠÕÐ?ÛÊFùñ{ã •jþ¸ M;hÝö‰´×wÍ…ÏgØq¿:熩Kv!­Týú[·ó0yçÄ~!›©SM À€I„�‰‚L&Ccc£Á›D"áî!A!Á"ˆb€ ºÎ€É„�‚Òõ �ïÈwÄ1@ ]e€„ݦ]º|º�b€ ,�vvz¦F Ä1`A �°[P0©çmy=oŠ)Å” Œe€„�„�zêÄ1@ Ä »ÓØ^]O#b€ ,�vvê©Ä1@ X$ìLêy[^Ï›bJ1%ˆc a'a§ž:1@ Ä€1@ÂnAÁ4¶WG×ÓH€ ˆËc€„�„�zêÄ1@ Ä »“zÞ–×ó¦˜RL‰bÀXHØIØ©§N Ä1`A �°[P0�íÕÑõ4 ˆbÀòèaWúÉ×1÷¶z†cû¸-84c?®I;G`YXSŠ)1@ Ÿ‡“ {]e ŽÎ;‚Ín>V{cÇ7»oÄáYÀ®%>äwò;1@ –ÀɄ� õÎ [®CÔ5„Þmvúm'q×õX@úYgöáTú+Èt]£ë¸ô-âw,ÆÚ³!Õu 7®S)-GnÔ^I,±lŸJ_#aÏJl¾PüùËÙ_|NuѸºHþõ—É„�©‹ŒÒ5�wž�ÞLÛ+jägíIÊjPv'9�+ŒÕž‚®á6y9`æ±"EÛp;&�ÆÄ홨“ééeJž`¯¿#&î·DŸ=Ƥ«/­^:/­zˆÓ¡3à6ÂVÖöð �Gµ>Ÿj›®ØãSCó»ÎÐxè²S,McŽ5>Äv_LÞwG?;ƤەkõùÜP_u%oºÇüÚeŠI§11‰°³çæánE§ßu ;wÜ}#^?~¥Ó`iu â®Áôq®°·¶‚�£+üf¯Äñô¦݆|„¹ÙcΉǦËC¤Ba—”àTÈ „DÞC£¾{õ5ˆüû�I—ßgûÞˆ[»ýaë¾§’sQp÷ò½ë¹8銽1>íŽo �‡.;»“7»·/ »¡¾ê®Oè~�íóg€Q\4âba¿¶ûª¨¨ïœ° ‰{¯qÛŽ Û´¯qÛÀ-¨DZqÛ§8ÃÊiBvœÂÕë)H¾ƒÃ›W`OâëžkÌ…€˜ªÑæÓÙ¾PØ;»Vx®·DH˜ooìKŸãH |wäêïàtÅ]±77Ÿê²³+eæßÓ—„�o7}×häÅÚS:¦g¦³�3dag+Þ7ó¦ÙÙhœ‰zíÇZ¨þÕ|¨…˜¸³•óÚÐÕ!{ÇDX9LÁÉÂJ‘órÈ¥ï‘z`9¦Žs…ƒ�5¬ÇbÍ%åH¾á’­Ä¯‘°·s‚gà\¸W®ì HQ³ Þ£ace ‡Ñ°d_*ÞJdŠ|¸FÓC‡Un6X¯´¡ÓtùàèÉC‘¬® WwcÜ({XÛ¹`üÌÙ˜0ÂV=/Y îÅlÂ4OgeÆ!ìR©¢|‚k¥•w±=ÀcžÁ³eUù ®•Kß"nk&zކƒ­¬lG`üümˆŠÞ�¥Ó¼álg ‡Ñ¾Xq,•RUZ”Uú7#×aš§ l­­a7b,ü—"º°^éóÎâÅó+g¯/6Ö<½CúÑÕðws‚��#<Bpòæ+õ³âÎxQùCWì•ù:Œõ†‡‹=¬m�à1u¢î|Tw0 b£Ië<`;ižªx“Ëðüü"ظ„ ãc±æc]6ë²SDð%Ï£1ÅÞ;rj!—ë‰UgÂn*6$ï‘ub-Ü�akc�‘ž�8~»r}>×Å®—+9v»#o*.èS¼ &¿˜�_L"ì[<õFã‰ûâUšÞñÉFï©ùã·j;§6 ËGÛÀs}ªîgÊÊŠï¶àRoæ!/+w_4B.¯ÅÍ]°3Gópÿn-ò„õØ5È©”B.—¡¼()Ù·QXxIÇC0ÖÆa‰ï�´²qœº3�Š‹Q\ü¯«Ø}úÒå7zòàWYÒ6ûÂÚÉ›N'!;û.Z/{žhi>7o(:Ž v£±$"wÜÇíŒxd=f ·\Ù *ž±7Ö—âL°;œ§ì½J‰¶Ÿ…�£Ò§îKŽ##÷n^�D°‡-†�ðÇæ3 Ⱥ™‰Øí³àh펽yÊüôùS^‡üƒ�°µóªˆ«ÈÌÍÅ�K›1ÞÆë’«�ó«Ò¾qaW:bóüCäò:ÜÚ7 ¶¾Øpæ:rsRq24öö~8ZÀòPùÅÚ¼ðâ¦+öÊ|]çîÆµ´lä¤_–™® ¦ŒdãCâZ8ØââKƪrY.‡¸Â98å��5…]™¯–ͺìÔ+ìz¸ìLØMȆ�Ä�ˆGv^Òâp÷­¤CØuúœ³‡·–DeߢÜÈÎAVÊl Ý¥i4xŒðë.}×nSÈ'ŸÅ'½'ì{¯uºêKž8-ag�aEj,=‹É¶¶Xt¾“UክJZž„#œ°âÊ›ŽÑ”äU ¦Ù¹ ü†²‘çÃ')ÁþGøîÌSLïŠ4ŽÌ>£Óí,Þ9é‡xÌs²ÃÜÈ'öÊ…Sñ‚²ÖæîÄh›q8p[d6CuíŽk¸:ŽãC‘ùFDÔ™ ªkU í„ûl„wrlF­Bn½r„^—ƒÕcì0ãè#õh˜W¹ÀŸ²Ê4,v±ÅÔƒêõÒ÷W1ËN!ìFùUË>Eƒ+­HA°‹fãÙÔX‚S1zyœbq�Ž{5ØÓ{-?É娿>¶c±+·Ö(6ñvÀÒ ÊÇI5™X>ÚÁÑÏ!Ú(ÜWùY—�"Ç5Gì�ĪÓgìZ¶ô)X¬Œ›ÖBO­ü4}®=×Å™ÊÏô©Õ6kÔò�ÙøÇ$Â~dÎA-ÁfSñlú]õ¯æ}�èT<›ÆÂÒXrþ¶¶X£gá5Z[ Y~Mœ IDATíÝp·+kØØ¨6k fƒ%Xz (I9„%ÓÆÃÕ٠ήîå` ïÍ™� »þtù�¦žåwac(Ü—Ëñ1~lìæ#©œÍZ°V�±ÇßwÝRæÙyYë ÂÓÖûòÕvð…Ý(¿ŠØÇlbixØzàÀury#nîðƒÍ¸íxÈAè¸Wƒ+aä΋Ü+-¿†9öö»^Íåß9s<ßK˳x\_@¹T†ÊÌ-é8WYçK˜�p_Å�.;EŽk {ç±2NػφxÜt°Éu®Õ>7ÄWÒ�êë�âLågúT·Iä ³ö…I„=n×Ñ÷×Ù3õ„=׸Mìù:[IŸ°ÿš¶ÃjÒ±ÔÅ>ᙨ×”ŽFO!”®Øpõ!ž>}ÊÛJð¦R‚†âHL´wBàæä¡ø~ 6øÙëvN€u§Ë½yðÊÄ5868p›'Jú„�Ý/«AIöylž?öVΘqGñ؂󋼄b�—=7 ·¢«#v9ª¯‡ÂÆv.>*Ó�”b€|w*°é+kí�}p³ñÂA^ÇECØ�ð«Vc®ôc‡{QØe•‰˜oo�µ‰ÕÐÇŸ ö(èmü8:ÍG»*$¯÷ÂÈ…çñ�­Y2-ÜWq#"à\ ·±ÞÝ^c6…/ìúbe¬°wŸ Ö©vÈt ;ßç†øŠ½q1âuÄT>§Oívš|b6>1‰°¿(z¡ó׿„ÏÔ5öÝ6€Ý«Ùð)ž;&†yÁjÄl\xÊ<>H:=6Õ9ßÉFcê—Ÿ~97�§*ékŸ5‚'ì÷°ÙÇ^ë]^}镯Ҋd;Ûbú!õTµ¾©x~^ry rvN†õ˜0ä³érž_jž'b‰‡Æ,<‹çÂ…sÌÞµÜT¨p_®_ØõùSúî f;h>jà »1~Õ²WéG•;ÞûgÇKpp*›Š¿jÄT¼xìÅò勆Qe�Ë!«ÎÄŠ1Ž>vË\G"Tµ¾Cèᾊ›]v–`ÿd¸­¹ŽZå»ý|a׫aß+ò»ˆ-ú„]_~Ò rb‹D©gœTeÉ�ïs­˜è¹ÞØiÖ1zò‡y3`agA?:÷°è¨]CÈù+çÝ6p÷èFò:!žv°€õ‡c�t#iñ8wx ö\-Ñ~©jäÕÈÜî;/¬8|é9yȾ‡3—óQ#•£þÁQŒ·qÂÌ­±¸y· o |’ƒZØ¥ˆ]æ [ÏÅ8›šƒìÔËH¼ó2YçéòË¡7�[,u¸µlí<rð2ró�“vóF±gÆÊ¨4Z e™ˆŠMÆ­{Px; ¸ÃÖwŠ5…�‰uÕ½c˜ä耙‡ïj/D¤«ÕX ìzË*­@B¨7¬�§`GÌ ÜÊÏ@ìîie¯\1™°×TTa§ïvÃÄÝmvŒß©TùÜVÕ` >ßÝÅ™-‹1‰½ Ã~ ÆÁ^AØ~ùE*rG`Þ 5b ØëUVV°svÇô Wñ–{EKõª˜ l†‡µ�#F{øbidaǨ¡¾4aÓ=à`m;o¬8§üyÖNÓåW,ýytØÊ5špóÔz�‚­ÕpX³rNš�½)ÊŃ‚²Vß9‰Y>ìÚa°²s†wàjÄ(_ç\Ëž5?Œœ{ûI8ñ€÷_¬±ÖºWÿˆ�Í(^½ÓíOiu1¢Ãƒ0~ŒlìFÂofÆX;bCŠr1£¡~±¯Ã�’·H�Xÿ±ìu7¸,ÃÉlÞën�ÝËãN4ö"÷jІrCË Ì«áñIøÙØ`Ê�‚î´ÄS$_UyEídbVW†Ë[ƒà5ÒVíáàâßÀ•¸\ÌÞÐ+ÞdÀ LR>jQå§e›�>ýù)ü–±“Yç^?õņ«" …B-ô�p_x=ó»‘1ê(;�:Æoç軹ð`2agdâ~hÖůÐéúÍx÷�ˆ˜{‰Žç¾T‰´MX˜OžDÂÏÞS°Ø� si$Èb‘è[ ˜TØ 2™ ¯Ÿ¼[PÇV¼ï˜°•û³­lå|ÒáD¼}ö–»†Àé[àt=^è1ª.BíÍk`Œõ·=•—F±Ä€å2`ÖÂÎܪ«¨M>‹ê+GP}5‚¶núàUbT‡k®Fàsn¯£ Îß$±�;†ºäsc$î–ÛÈ‘€Qlûf-ìuÙq¨M�Bã­ëhoþ¤úû1ôÙ TWWwãîž½õsÛ˜jȉç«ÍºJ£v šŠìo 9•—:/|ÌZØÙô{uÜ1õÔÓÏ-¦ü¢˜ƒ-LÜ«®›–çW úN %1@ ôUÌ[Ø/ìå¦�ùb@ß»çsSU ÌÅ6ÍÏÖoôÕJLv“ÄŸv•Êô“OsSæns±…„�E~£H߉‡¾Î {?tU1ÍELIØ©ñìë�'ÙO ›+$ì*Åë'Ÿ$ìÚ�¦;5ÐæÚ@“]ÄfWèóÂ>|øpí–šŽèô »¶kHØ©ñìJãI÷7æÊ »v;oÑGHصÃËÞå§ÅsÔH›k#Mv›Æ2@®ÝÎ[ôvíð’°SÃilÃI×3æÌ »v;oÑG,QØ?~üØ­˜õØT|Ã=ì˜4·g¢NF Ÿ97|dñiÉ X„°·¾?ë?üø§ú§Ží¿~ŒÂ¦vEƒßòWV{âïÿùüî_þ'~ö^‡ì�­ºÅÀØëu§dvg,QØÝÜܺågC…]Z]‚øƒk8Îö6V°v Ÿ©ÁØv¡µLÈ%%82!‘÷ÐÈ~ÅMZ�kü0ÒÁÇ Ãpk;8»MÀì•û�ö´šÞ›§_º#ˆ“0`ÂÞôt7~ú×AXyõ ¸í^ñ[ȹæ¾wÂGà÷ÿò7LÛu ç·bÌ×À¿;íÆ«V¥ðkÈ‚±×kÜlö;$ìÚ!2DØ¥·±}Š3¬œÆ!dç)Ä%'#ñJ4Žî\ƒÐS�ˆ5PÒ84ö³ö#÷î]äçf"ñÂA,ôq€µÇ:ܪ’š¤R[òH„ÊF#mb@?!ìòü0|õG\¨iÓnµåY˜ú×?`ÐÂ44)ÏV]›‹ÿøçoš'ëþõÚ)˜õvíðèö:dï˜+û¿×É_‚“<Á^GLÜ�¯z¥°�XvEcj¾âz(ìm|qâQ »X‡ˆŽÄ@·°aoLš�û£qòÑ+ÔÈ5Ž©h;ý_ÿ³¯5t´èíu±ýÇßÃew)4¯Œ½¾#Ñ>ò…„];Pz…½6 ËG[Ã#ôºbÊ]W££OØe (qÇ–xÂÎ{#îT˺Uyiä¢äB>"õG,BØ+/ÍÇ·úOüëïþ+þ÷ÿþo4&É/ Nš¾ÿß?ƒuùЉy®YoÊÆ´/ÿ?‡ÜD‹ �7özÁíf¿K®"}ÂÞXz“mm±èü+Èt‰:;®C؇ ö{ ì9ûСC1Ì~oèõÆŠÙç¾¾+bj*›{ÊcD\¬,ú„]V}Kœmàž‰z�^²ù{üaãŽÂzÝÂ.|Æ.o|ˆí¾ö½*A�5p=ÝÀQzÄTdÀ"…½êR`‡°C¹xnÈ¢ôŽÅsÕ óô.ž3øz1¥0ãc=%¦=QÄž²ÅÔÂ.—V"!ÔVγû´Ž7ØEa¯ÍG˜§-Ɔ¥(^‹Óè,PCÜb*3qß“ X„°ŸÛ¸G/$ --±‡–ÃþϿdž†âI3{��½¾æ„ßÿáÌ:p)—wÃó»ÿÿî´ /[ÛÑV߯ÿ ž{ �œZu~}OÚçL£§Ä´'ÊÐS¶˜\ØårH^'#ÄÓÖ£¦`cÄE¤dÞDvF,t×;b·Ÿ¹ÙùùÈËÉDòå“X?Ó Ö¶ÞØ›SÁë$PÃÖ“ ¥E<õg,BØwúÙá›ÿøþÛûïøÃ|‡ÉáÈ|׬֞–w¸¼Êûÿÿçïÿ?y…!ëƒbÙö _ý;u;€N®W'Ú7¿õ”˜öDé{Ê–ÞvÖH4¾»‹3[c’»3l­­`mï ·qS¼å*^JĦâ+pm½âj† †aÖváê�é‹6!*÷•ø»ï4z§Î1@ t“³vö;Þ�ý£¿îÖ™w´Ïõ”˜j§lü‘ž²¥·„½?�¨ì4&ú$ìÆëQŸ¾£§Ä´'œ`.¶è[”†¹ˆ)s™¹ØBÂNb@b@ Xf/ì¬Ñ¥=çsSvjH-©!¥²쾀 {ÏifŸH‰„];L4b§FÙœe²…xì.$ìÚí¼E!a×/ ;5¤ÝmHé~bÈœ a×nç-ú »vxIØ©Q6§F™l!»Ë »v;oÑGHصÃKÂN iwRºŸ2'Ì[Ø/F͵choVü¥6í&™ŽëvM�µ}’‚ö‹ûéG1ºù£æÔ°‘-$´ý™³öڜԦF¡!'žÄ]S�º¼GÂÎs][+o§¢&åj3/‘°“°Ä€E0`ÖÂ.­ü€šøœ¸³O6²2ÅÆ~Ý®/mÝñÁ«Ä(“ø°+6}n[ª®AmòYT^> YM¥ETèþ3Ò#]=á?g9ö^y€ZÖ@KJqnmÖž½�F¤´I[§ÃsÌ(Œpr‚³‹+<&LÅ¢u‡‘QZ£31[»uLh—± »!"ilšü +´�Nß÷†»Ÿ0ÁgJÌ\Ø%¸}pFù.GÔ�|ÞF~ñ{M›õ•Uì¼ÐïºüÁ¿Wxÿœ)¾ë²©;q7…�”fïµIäëóµY »¬þ=ß/Da¡j»‹¸�31Ês®=k@wÏk £ä9N{alàfÄç?ă܋Xà ï±x+•i9]ZY€½³=àÇþé}-œ9Éue$%mŒ¦¿¾B»ÏÜï¿­K©=Wzº¯ð8]ûÌTÖÔYš>!S©¾ö1ÐñYowÜÜ Ck—iÎÄL¥¦�×Ü·ÞÖ¼qé}/ÅÚŸ{<ÝW¤“RÜÛ©½)¶ý»[¯eLÑ/•Mrz×Ý_=ºûdýë½�õ½¶F�Ø´R¯N«´´,MíSm«¼Õ÷i†¶»*Ûü•M§´´LM˜±D›OYWžr þzäõO°q„†ç1ó¹ÿy‹Ú ëÚ ±;ªpõ,e,\¯K­Ý"óè`îtªùôoz9}–rÏ5÷4µíß?´(}Œ¾-KìMåúlRª¦­*êºäîïDè'¨®{�ØÛŸêÁõÓÚüÑ ¥ÏúV§ú­ØÛõàb…Š+NéüùÓ*Úü©¦¦�ת»º[ø¥²Ò—hÿ�î§ ëÀg“4îÃ=zàð¿�ëÆ.ïqõ›Ø²}¦²æ|¢¼½…*++Ô–¯)3m¦~­rÿA•~ûlRåºEÊœºT› jT{ö¸r—ÍPÚÔ/UõÐÑSsW}½ÇçþzÚG›TRY¥òâ}únÉ$¥NýRÕ�¼¶u‹ïõ_ŠuáÒ%]ºô�nY�qí#S“ßY§ÃÇ+Tyâ/ýøæd�}„0¾öÇ:þý<¥ŽY ïvª¢²Dû7~ªib²?÷1ÍY}Ð=ÎKº~Ï vAj–Ø3Ô¯žÌöëU‹j6,VzÖ|}»ó¨ªªŠµuÕ"ef.Pþ¹î§ŒZt*ç efÍÕª-GTQS¥ãG töŽÅãÀŽ¡ß˜¼ûîÀ8BaÃó˜ù¼ï9G=Œ©Ç°{[Ãn½ž5Q« n÷_¡9�ìÏ-™8×'“Ò4gå_ºöØ!§£Y7*Ó¼´ }UØwUÞõü~º>ú3ÈÐÞ•{Åž””¬ääd×óìÖŠ-9sŽ~)¹åóØº®¸CLÛUe¿–¥ùkkôôÞ½;6KË÷um×þ¤LŸNÊÒ²Ýÿöß�Çv®›ã¼ÇÕob÷MÖ l{×c®iãâ,M\~°ë0¯}:éƒqcõùÁÞ¶ÝÜ£Åô}I·,º�Óë²¹÷x�NµÔæiVúT­«î b®ZùŸÏ°`í£®w¡ŒÏaÕ~Lº–n½Ò[k¯KñA÷çã˜úôº{¢õ®½�ã ¾b÷qÏA÷þ­ûõꨖ�ÏÐ=ol½¢ì×Çhòg‡\ýmxLMèzLÐ.p ¾zäx|]�­ï*ß/žÇÌçÆˆÌçy3‚û;LÄÞ¦3Ù‹”>ã{�mö±ZwöçÝk×õ’ß´xJ†ºÅ›5nŒRRúË£õêN½’–®�öôJª ®6�ÍG/¿ö«.XW¼'o·ØÇ,ÍW­µš¼X¯3UEÚ¼ê5eeÌÒÚò{½¢p�ùTW‹sõñs4eü�›<]“²R5ë‡2µ9îkïÇ“4aÙ^× ýQÙOš˜õŽݶVL¶³öë=.¯‰=äí]cmSùOs•>o­.ZÇîµÏ–³Ùšž’¬”Ô4¥¥u¤(99Mïõª£÷ø¼¿¶‚Øý¿õNF–Vy]Mñ!>_Ò°¾çxp¸g¡Œ¯ùÌMOŸ¡ì3¡ÂKìA÷ç㘺 Ò;Çi±»Æî}|Î6Uý2_is~v±íû1ÝçRèÇà«G¾Gßqôc9#x²ïb«»?ükr=†‡Ø[ëµfn¦¬­ñ}“Ñ`î}²·7ëÞ�u³ñ‘ê·¾£´±ËT|¿ûr·û„xR¢�Ç¥iö÷¥}ž+w:Ûtjý+J›ñƒÎ?õ/öžKñÝ¿Û%Á Mü¢ Ïþž^Ú¦…côæ{Uuþ¢.Õë›ù™]bw¶ëΑ•;ö=4>Vñ734áÃ?uÏÑ®ÀÛ{ÈÛw‹ýÇ9JŸ·®ëé/±»d˜6Eߪו+W<>®êö#¯úzKÏûkë9îG…z/ÓºšâCìÓ2tW¼ç>B_�pNû{Ðýù8&k² ZûÖÓúzz¦ÞôXM»¯zt³gýëÕ«žãó .^b÷nÜû z V8ñ5&¯š d¾ÄîÙW“'pŽ�€â‹�a!ö®›Ú¦jmU“ÏKGƒý¹¯ÂXßkù÷°–MMלïKú?�ÞþH_ÍPʸ·µï²Ç䮨›NjõôtM]]Üõ²8÷ùàÈJÍXª‚î`ḥÍo�q‹Ý©öÇeZ1eŒ–ý¾S˧LÔWw]+þ`Ûõ› »'ößN»ÂSÈÛ[ãm©×/ 34åó#]õòÚ§uùú½1iz=ÇýÒ?÷1ú¬¿×ßo¼�ÄÞz^?ÌÎÔ«¿y½&ß{Ÿ^ûe|Ö%âÇ¥ë��ç{ûåµbº?ã±j¼öW”½(K/Ù{‡O±»{éôWÏú{÷Ê}|Þ—âs^£IŸv]ŠwÜ+Ð{cÓ]—ë½/Å=còªIw��#$6<�™Ï}Χ>ÏGj5¬j5 ÄÞ®Û-WZÖ‡:ê}ƒ• ¶ðî¸W¢/fNЂO¸ÅÝ®‡7.êLÕqíÙø•^™�¦‰K~Ó9Ü�·Ý:¦Ogf(uÒkú6¿ŠË+UYV¨œ^Vj�{æ[¿©âÔ)ÕT•éè�­úúÍ—•’>Së«ô¨¥._sÒÇé¿kö©òl­êkKôì±;�-*_3O©ʘ¶J'Ÿt=Ut;¯ Ô鸡ü7³4vñÏ*»öPÝþåe›TRU­ªµ~Ùl¥e½ª­µîæµÏööÇ*]³Pi³ôyî_:QU­Š’¿µãÀ)=qx%oïñyí%å>“‘ã�ö/Ÿ¤´igq¥*ЍðÌ=µÝGãsßÔ•‘1CŸåü¥²êUߢ¥3žjhÒù½ßë�™ã•–œ¬Ôô1š4}¾–o;ßóXë²ç‚ôT½–íùÚù Ûy�ËÙ®Ûe9zsÆx-\[­¶ö Û[/1ZóžLŸ¨ÌÔ¥fŒ×Üÿ®ÒîSžo°âµO«Ž­·u½æg�æt~6 Ä„&€Æ1À1 À D‡ÄN’ xE‚1:'"u¦Î0‘b±#vÄ00`ˆÝ fF*í±V000|@ìˆ�¤00`ˆÝ f’°‡o¦wô` R vÄNR‡€0ˆÄnP3#•öØ+€¾ vÄNR‡€0ˆÄnP3IØÃ7aÓ;z0);b'©Ã À Äb7¨™‘J{쇕 À _;b'©Ã À Äb7¨™$ìᛰ齃ˆˆ±“Ôa` b *bôè‘êëëUZZª‚‚ª¤¤Duuu²~©”Â~H¼00#��!»ÃáPmm­ŠŠŠôÏ?ÿ¨¥¥Eÿ÷ÿ§çÏŸ»>¿zõªKðçÎ�“õØ‘Þ ŽŸ `¯õÑ% IDAT``° ™Ø-QWVVêôéÓ.‘ËÏ–èO�:¥êêê¡“»ã¦­ùH«ÿ¸ ‡A—[Û|¶g�€ó2±[+uKêù¯[îgΜšU{k­¾›– Ù¿œTÛ`ÅÞþDWO«üâµv_vÜÞÎÇg×±Ùu\vä‹1 ÍG]©«C"vëyócÇŽ\©{ ߺ<ôèQ=|øÐGƒÚuïìŸúbñt¥'ÄjTL¼2&ÍÕ¿U££ÝÇã½X$Åþ´Z+ÆÆëõ¼‹fŠÝÎÇg×±Ùu\':«2¯9�ÚŸ7©Ñ°­Ñ�ˆýüùóºvíš·»ƒ~}åÊ×MvÞ“�ãn¡–¦Ç(uöråï+Ðñâýùû}³¥Z-�±P;KÊ®c³ë¸rnð˜�ŸÔŠZ †DìÖï­­­AEîýëæ:ëÎyo±7•¯ôرZSÙÔïg=�}zCë?Ò܉iŠ�KÒ„…ËõÇ™û]«j_bôx«ym�:‘÷©æŒKÑèØx¥MX¨Üš'rº&ñýÏÿü�û#VŸôq•¡íŽŠs>Ѭ±IŠ�MÔø9hSÙ�Þçø�*Z÷¡æMÉTBlŒbÇhùžû_ð7Ž@Û<6‡.ìúX“Ò;*F /ëÝ_Št»Í}å#Ðñܯ׊È߸}H°­a‡æÆgêûò&9ÛŸèÌ®¯4BŠ{|S´bÏ•®º[ÐzßÖ_ß¼©2”0z”F�NÖÔ%ßjû޵zoþ$¥Ä�VBÆ4-ÛX®‡¾® Ù¸üq¤O£Ž»*Ëÿ\ó'¤jtLŒâ’ÇhúÂ÷´ãlK×yJ¿†É„Õs¾3^ÿs!µñµ±9rÄu÷»·¸ƒ}m]Ž·î ÷>yÛ®Z¬f®ü[7Z|]zoRÙ�sŸµXþ®Ô¹SGµþ� г\årö{�Ç;›UýëBÅ%¼¬yUZY®£éÔí6·Øã5ï‡"Õ]¸  .êæ#ï;ú›UõË|�N˜¦•[ލ¢¼H›>›£øøéÊ9ý¸ëøÚ.éçY ûÖz•UªòD‘NýÛêuìÆáwû`ÇÖ®ûõ¥*,­ÑÙ³5:œû�ÆÄ¦jÅß�òôu|Áöë)öã"ö§õ¹z9.CïfêÔùsª9~P'.º�{Ûþµx½Ç½›«ãU*;’¯·Ç�ÖKɳ´zË!�(+Ñîï)1fœ~ö ‡z\ý9Ò'7££ã&êãìý*©¨Ð±=«556AŸXŒ…Ò/ÏÞñ¹÷üÃ×01ܰ•Ø­›è¬Pпˆ-ªßû•¦§Ä(.c–>ü~‹Ê¯>êYÝ:îÖ[ÉIZ¶ïVÏ÷ÚnìÒü¸T­:ö¸ŸØƒ=¾ýA¡–¦ÆéÕ�uýo¶ó!&ïñ:êm÷ö=wá·^Öº¹‰Êøð/=n·®XbOÔŒŸªûÿwâ8?Û;6ï±:Û.kíœDMû¡R­Öïõs|¡ì7à¸}ìßsÅÞTñƒ2b§h]��« >¶µŽ'¼z;taÓëŠMÿXÝa±¹\ŸdÅ镜ºÞ++î^Do\~&Q¯>µ?<ª¥©£5ï×3]}³êи_‹âºÄJ¿ú1ÁŠÏÇä§/ÔŠZÙ��!û‰'\¯S¶B÷þ¹uãœußßDãhº©ª¿6ê³E“®7+×#G»šN­Ó¸Q/iTL¬bc»?bôÒÿÆêÝ?n©ÝkÅìñON­ÓøÑãµî¤�Kÿ~äâ9fkÿý·oUÙ÷Ó;å;Õ>m�Ø}ïÇ=Áø{°ckw>ÕåÂõzwþTe¦$)%sœÒb4iuI@±ßoïÄpÜ>êç)vgË%å½5^1ñãôúç¿éȹ;½ÁÇǶVÝ}ÿ¾àõ¾wðcÅÆ-Ñáûî+.­µfV‚füXÕû;»OÚ(Ž«‹¥À}j>ý«&Œ¯_ª{õ{(ýòd—Ï{9¦Ôb¸20$b·ÞpæÂ… ÞÞúµõ&6Ö�wÁ‹Ù¤3ßP|ìTm<ߢ¦“k5.6S+÷׺ÞÇÚO×ÇeÝzØÖoÅìñ]?œØÇÅzo\4ÞÇpþĤO/äkF|’®Þ¥ò³õºp®P+§Ç{�ýzŽ=ฟÖè‹qñ}VÅ}Än‰´ý‰.—îÔê%S?*E‹³OªÙºÊ@ìáÔûñ‘Ï;z±Ýkëb®íŠÖÎIÒ´*zVÁžÇ­qY¿3XŸšNþ¢±±õë©æžó¥�ØCèWŸcì2üÛSWêƒà‡C"öÆÆF×såÖsæý¯ûùukÛ�±åÜMŽIЊ#�å¸{PK’bû\–ì³�îûÏ]¯cöxÇÝCz3i´ŸKñg´zr|À×Ä;èíkûúÞKº­—õë<ëRüþ_Š8?bvl÷]«Ô7ze温ÜEÉb÷}|ÁöëYïÀ㾬µ³4vù5Y²v:ÕOì=Ry¢òf+&k…ª­ËåOýŒ-Ìz‡,ö(�˪I°>9îìÓk qZœ©çé'O±‡Ò/ÏÞñ9ƒ�áÏÀ�ˆÝz×9kÕn½›Ü@ÿ³Þ}îìÙ³>ß}îÉ©-ZþÅZíÑ kñS´<{ŸŽ—WêDá>­{,§ã�v¿Ÿ©Ñ–jkQ¹J‹öêï“w{&×®“¢Y•¿ÌW\â4}¹µ ëæ¹]7ÏeŸv¿7¾1÷=©ŒÃïö��­å|ަÆ&éÕov«ìÔYÕž=¦U3zÅîïø‚ÖÌód0ng›Îü¶P±qSôYþ!�¨¨ÐñÝ_jbl×]ñO¯–hûîU�9¯³5Gµî­q=íG]hmPûðêŠØ£9.‹��ôéÐg““2Wßï:¦ªêãÚýÓ[Jï¾y.0}9óìŸSî ‰Ø­¢<~üXUUU.¹Z¹[7ÌY ¢¢BÍͽ—{ Û®‡ç÷iõÒš˜ž ˜ÿ}I±I™š±x…¶WÝîêÓ[*Ê^®9ÖKF�R\Ê8-X¹_·]/]j×­’uze|ªfv_f øxë²ï-ÍþD³­—»¹^6M+÷7¸~_Ë•¿µbÁx%ÄŒR\ê$-ÛVÛ»2ï^ÕµÝVqöÇš5Æz¹[‚ÆÍy_›J=^îæWÌ^'•¿qÚ>à±u¿œ,U±/½¤˜¸DeŒŸ¦÷òÏö<¯ì÷øîw€ãv:ÕÞ|U{¿ySÓâ5ê¥%¤ŽÕ´…iï…§z|r“MN×èQÿ«Qq)š´ðí:í~Ù¢%<µ£Þ¡ˆ=šãêb?xŸ�/hǪ755+I±qišþêeÅ$je¡û•¡ô«›[þÐÃÞùÉ‹{êGýlÀÀ�‰Ýßz:ëmb­w¡»xñ¢ë†:KòÖ‡õšuëypëÝæ¬•º8Y˜$` |ž^Ê×ôø ¾oú´ÁdCoÃï-µ£v¡00¤b·b­Âo߾풷uÇ»õ:uë϶ZwÎ[7ÊݹsÇÏJ�F†ÒH;ÒxiSÝá­Ú}¨X'O©²øO}½(KqS¿ÕÙ&_ïõ0ÒêÃñ2'Œ\†\ì\Ösî–à­¼õ’6ëÃúÜZµ··3 qŽÜ0ìÞ;èÈ�‹59+Eq®w�«yïþ¨£Wz_þö¾YÝsõ†5Q; â‚€€�è0€ØI¦Ã:™2QDg¢ ÎÔ†ˆ±#v€€ƒ@ì5“D=|5½¢W0CÅbGì$u€€ƒ@ì5s¨Òûee0Ç�ˆ‰Ýz9[]]�ÊÊÊTZZÊGˆ5°ÞyϪŸïwßë ”õ˜úúzjb�á’ó``80`ùÀšãâ_�+"b·~yee¥nܸẜÓÙÙ)>B«Akk«nݺåzÞ@ͤ֡Õ© ÀÀpc` >ð%uë{»µÒ¼~ý:2�@ ±êX[[ë÷ù.jÍ$5Ü&)Æ ³0Á|0¤b·.¿[ ƒæ…×<Ϻµµµ¹þ Ž¿†QëÁר³Þ|N=aìÊ@0øóDDVìÖsv-Ìp—UO £ÖLBÑiÆ ·0�|àψ=—Ï# l F"öðNŽH÷ˆýÑ€�h0Ȉ݆÷E F"v&Üð}Ø€óäÄŽØyºd1ÀmÞMOéi8 vC&î@�dÅÎäÎäÀ6pÓ�@>`Å>Œ¤¨‘ˆ}xžœLªô ` ù±#v.Å#™ØqÀ€y vC&î@�dÅnÞ‰ËdLOaü1ȶY±·]9¦Üì­*»îë m:tïô~åäìQíãg#v…¨‘ˆ� ÀßÀ÷aÌc �l"ö=:wPÙ6hãŸUzèìè#ïŽæt(?[¿eoWM£³ÏÏF°�‰ØÍ;qGÛ+üÂ@h ò�mÄ~«òålÞ®myù:v¹ÙCÞNݬحÜm;´5g“N48Ü?ëÐýÚBíø=OÙÙÙÊݼS‡«®ªå™»8Íú§ô þؾY¹³•½1O[÷êü�§ÛÞº|ßñT×Ïkïö|åää(7‹ví;¢Ú»îpñ¬IW« õçö|mܘ§m{‹Tߨ½ÿК4¨5±G¾Þé �¡î0/‚�@>°‰ØŸéjñå<£+e»”g­ÚÝ‚¶Vëó×Ñ —tlK® .´ôH¿õÁu]½~[��·tåt�¶älÒ±+îŸw˜TaL``ˆ½ïêúÙƒsÚ�»CEÇþRÞ¶bÝvX—Î[tö@ž¶¿æ÷³ûgôÇÆ<í;Q§›�÷u¿ñªŠwm (öÎÖË:�»QG¯´)Øöí·«´5g»ªïôÞ¬×G쮟oVñÅ{zðà�ÇÇC5· Í�û�ÉŠ�ÉʄɊc€c�|`�»óŽJ¶mÔÞš{îÕøSÕÙìZýö^zw¨þð&m*¸$gg§Zÿ)RNÎýóÔ}½{ÕhÅî)ö`ÛwI|£œ}Øs)ßSìÖ¥ø¹9úÓãRýP¨‘ˆ}`'ÃP÷ˆýÓ€�h0È6û mî+QÇÝz•ŸÔÍnqw:õOÑïÊ;x^­��rÞ=¥9yÚ_Z¯wîêncƒJþøŠ=èö�­º|l›²óÿTYÝ5ݺõ¯ê+ê÷ìî›çj(ýC9¹ÛUXsA 7nêÆµK:wñ–ÖóñO¯©pÛ&ýQÚ0 ¯B F"v&“�0ÄcàÌ` �ì!ööÎËÑáº@ÏM?Óµã[µqïI5¹î˜o×�º’®—¢eg+gc®~ߺKGÎ6v­°]wÅ÷½yÎsÅnÝÕp{KÎŽûª-9¨�[ò”“›¯]ûþÔæì\¿æ¾9îY“®�,ÒŸÛò•“�­�›¶joÉ%×KîºÅ¾ëD_±ûûz '[ F"v3NÖ�pÀcè5 À@ ØCìÃäF«g¬çõ·©êNï uÑ<Á5±s¢G“E~¼ÁÀ‹e �»ßPÑ¡{WΩþrƒnÞ¾£[ Tº³6î,Uc{ßwÆ‹à�‰Ø_ìI-ø=ô`Àb �»_±·êjùíØ’¯�99®Ëì{Ž”ëÚ£³ZÖHÄÎÉ΄00r@ì~å=¼ ÔHÄ>¼zÉL¿`Ã@ °bFÒÔHÄÎ$1˜I‚má†�|€Øû�¼K“Äðš$èý‚�áÅbFòtrj$+öáuRê3?£—0ÁäVìÃHú�‰Ø™‚MüF`Àù`HÅ^QQ¡¶¶¡ùKg# P«Žeeeò×0jmÎ ;ÒØæxaBc ˜üyâ?ÿùÏÿû�õ?È÷ëêêtýúužÃ�ÀU�††�?Þ¯Øëëë©uêÌÚC½¨ DŸ�`>ðç爈½©©IÕÕÕ.á´¶Z_=úî¿ÓJf7nÜ�µ"onnö+vj [Ã�uÆÃ0˜��ú`HÅníÜ’‘µr·Äd='ÀGh5°êfÕ/�Ô»›h=ÆZ¹SëÐj “Ô ``80`ÍíÖ?t{Áó߈¬Ø=wÈçN¿«mjCm``†šÄ†Œýà À D�ĎعÂ00`ˆÝ f’ˆ£—ˆ©5µ†°+ˆ±“Ôa` b±ÔL»¦GÆÅÊ`¢ÇbGì$u€€ƒ@ì5“D½DL­©5 À€]@ìˆ�¤00`ˆÝ fÚ5=2.V600=;b'©Ã À Äb7¨™$âè%bjM­aìÊbGì$u€€ƒ@ì5Ó®é‘q±²�€�è1€Ø;I``À »AÍ$G/Skj 0`W;b'©Ã À Äb7¨™vM�Œ‹• À D�ÄŽØIê001€Ø j&‰8z‰˜ZSk€»2€Ø;I``À »AÍ´kzd\¬l`` z vÄNR‡€0ˆÄnP3IÄÑKÄÔšZà ؕÄŽØIê001€Ø j¦]Ó#ãbe0Ñc±#v’: À À€A vƒšI"Ž^"¦ÖÔ`À® vÄNR‡€0ˆÄnP3íš+€ˆˆ±“Ôa` b±ÔLqô1µ¦Ö0ve±#v’: À À€A vƒši×ôȸXÙÀ À@ô@ìˆ�¤00`ˆÝ f’ˆ£—ˆ©5µ†°+ˆ±“Ôa` b±ÔL»¦GÆÅÊ`¢ÇbGì$u€€ƒ@ì5“D½DL­©5 À€]@ìˆ�¤00`ˆÝ fÚ5=2.V600=;b'©Ã À Äb7¨™$âè%bjM­aìÊbGì$u€€ƒ@ì5Ó®é‘q±²�€�è1€Ø;I``À »AÍ$G/Skj 0`W;b'©Ã À Äb7¨™vM�Œ‹• À D�ÄŽØIê001€Ø j&‰8z‰˜ZSk€»2€Ø;I``À »AÍ´kzd\¬l`` z vÄNR‡€0ˆÄnP3IÄÑKÄÔšZà ؕÄŽØIê001€Ø j¦]Ó#ãbe0Ñc±#v’: À À€A vƒšI"Ž^"¦ÖÔ`À® vÄNR‡€0ˆÄnP3íš+€ˆˆ±“Ôa` b±ÔLqô1µ¦Ö0ve±#v’: À À€A vƒši×ôȸXÙÀ À@ô@ìˆ�¤00`ˆÝ f’ˆ£—ˆ©5µ†°+ˆ±“Ôa` b±ÔL»¦GÆÅÊ`¢ÇbGì$u€€ƒ@ì5“D½DL­©5 À€]@ìˆ�¤00`ˆÝ fÚ5=2.V600=;b'©Ã À Äb7¨™$âè%bjM­aìÊbGì$u€€ƒ@ì5Ó®é‘q±²�€�è1€Ø;I``À »AÍ$G/Skj 0`W;b'©Ã À Äb7¨™vM�Œ‹• À D�ÄŽØIê001€Ø j&‰8z‰˜ZSk€»2€Ø;I``À »AÍ´kzd\¬l`` z vÄNR‡€0ˆÄnP3IÄÑKÄÔšZà ؕÄŽØIê001€Ø j¦]Ó#ãbe0Ñc±#v’: À À€A vƒšI"Ž^"¦ÖÔ`À® vÄNR‡€0ˆÄnP3íš+€ˆˆ±“Ôa` b±ÔLqô1µ¦Ö0ve±#v’: À À€A vƒši×ôȸXÙÀ À@ô@ìˆ�¤00`ˆÝ f’ˆ£—ˆ©5µ†°+ˆ±“Ôa` b±ÔL»¦GÆÅÊ`¢ÇbGì$u€€ƒ@ì5“D½DL­©5 À€]@ìˆ�¤00`ˆÝ fÚ5=2.V600=;b'©Ã À Äb7¨™$âè%bjM­aìÊbGì$u€€ƒ@ì5Ó®é‘q±²�€�è1€Ø;I``À »AÍ$G/Skj 0`W;b'©Ã À Äb7¨™vM�Œ‹• À D�ÄŽØIê001€Ø j&‰8z‰˜ZSk€»2€Ø;I``À »AÍ´kzd\¬l`` z vÄNR‡€0ˆÄnP3IÄÑKÄÔšZà ؕÄŽØIê001€Ø j¦]Ó#ãbe0Ñc±#v’: À À€A vƒšI"Ž^"¦ÖÔ`À® vÄNR‡€0ˆÄnP3íš+€ˆˆ±“Ôa` b±ÔLqô1µ¦Ö0ve±#v’: À À€A vƒši×ôȸXÙÀ À@ô@ìˆ�¤00`ˆÝ f’ˆ£—ˆ©5µ†°+ˆ±“Ôa` b±ÔL»¦GÆÅÊ`¢ÇbGì$u€€ƒ@ì5“D½DL­©5 À€]@ìˆ�¤00`ˆÝ fÚ5=2.V600=;b'©Ã À Äb7¨™$âè%bjM­aìÊbGì$u€€ƒ@ì5Ó®é‘q±²�€�è1€Ø;I``À »AÍ$G/Skj 0`W;b'©Ã À Äb7¨™vM�Œ‹• À D�ÄŽØIê001€Ø j&‰8z‰˜ZSk€»2€Ø;I``À »AÍ´kzd\¬l`` z vÄNR‡€0ˆÄnP3IÄÑKÄÔšZà ؕÄŽØIê001€Ø j¦]Ó#ãbe0Ñc±#v’: À À€A vƒšI"Ž^"¦ÖÔ`À® vÄNR‡€0ˆÄnP3íš+€ˆˆ±“Ôa` b±ÔLqô1µ¦Ö0ve±#v’: À À€A vƒši×ôȸXÙÀ À@ô@ìˆ�¤00`ˆÝ f’ˆ£—ˆ©5µ†°+ˆ±“Ôa` b±ÔL»¦GÆÅÊ`¢ÇbGì$u€€ƒ@ì5“D½DL­©5 À€]@ìˆ�¤00`ˆÝ fÚ5=2.V600=;b'©Ã À Äb7¨™$âè%bjM­aìÊbGì$u€€ƒ@ì5Ó®é‘q±²�€�è1€Ø;I``À »AÍ$G/Skj 0`W;b'©Ã À Äb7¨™vM�Œ‹• À D�ÄŽØIê001€Ø j&‰8z‰˜ZSk€»2€Ø;I``À »AÍ´kzd\¬l`` z vÄNR‡€0ˆÄnP3IÄÑKÄÔšZà ؕÄŽØIê001€Ø j¦]Ó#ãbe0Ñc±#v’: À À€A vƒšI"Ž^"¦ÖÔ`À® vÄNR‡€0ˆÄnP3íš+€ˆˆ±“Ôa` b±ÔLqô1µ¦Ö0ve±#v’: À À€A vƒši×ôȸXÙÀ À@ô@ìˆ�¤00`ˆÝ f’ˆ£—ˆ©5µ†°+ˆ±“Ôa` b±ÔL»¦GÆÅÊ`¢ÇbGì$u(Ûôâ>IDAT€€ƒ@ì5“D½Dì¯ÖÍÍͪ««SYY™JKKù±®úYuôWã`ß§ƒãŽ ®~‘8ïÛÄŽØÃž@ƒM°#íç–P*++uóæM={öLÏŸ?ç#Ä´µµéöíÛªªªR8r§ƒgŽ ¾†ƒ=÷ÛÄŽØ{„°Vê7nÜ@æ!ÊÜ×$hÕ±¶¶6d6éAä¤D"WK_Œä{áö±GhRi«SŽ·ÿeëò»•´rÂò˜À“¦Ãá�u92TÎèAຆÂ=ˆ\-C©»çcÃíbGì!Ož¡N¶#åñÖskž'%Ÿnb´ê*;ô`p5÷f–D¶žÞõÈ×áô±#ö�'ÏP'Û‘òx¤ÙI0œ �Ѓ�Èr8=&œó±#vÄ!� RNÂÈXÑ çÁ‹?{„&õ‘²*å8û?·Þ]&´?¡Ñz0�À2œN¸Bìˆ�{„@*He8 c c G*œ/þ<@ìšÔ»WmüëEkzm˜Ð^ü„FèÁ@ËpzL8á ±#vVìb`ÄI¥£Qk?Õw{/«#¯]÷žlÙЌéAÇ]Yó�>ßyaHjë]k_�èD‚éŽûªØ±^[Kï¨3Ìý…ÓÄ¡IÝôÕ(ÇüJ„1Rè伨Ÿf&kþú³z6ÐmBx\8š1=xvUëæ¦hÎÚÓCR["÷þþˆîA¬z×­çëöZ}3%Y‹7] ; …ÓÄŽØY±Gˆ�¡’JGKƒoø\¯N«ä¸ÑŠO«Y‹—+¿ôVØ«€ž‰g0“×H{g“5[)ñŠ�‰Ql\¢Ò'ÌÐ’OUIÃÓÁ¿ŸÁH{çCm;U£F�òúˆÓ{î¾XÖÃ=O{ð«Fjdg†BìOÎè§é�:]­ÙªCG‹uôðŸÊùn¹Ö¾àÉnD‹½KBI‹×«æÜ9�®)WáÞl-�š¬¸I_êdsçàä>‚ÅžôÚ:Už>­Ó=gtõ~ûàꮘ»bGZv–c ÎgäÅÞ¦ŠŸfktÊm®kò3±uèòŸË55+Eq£ã”X_¬{ÏÜb鸫¿x[³§ŒUJÂh�NHÕ¤…Ÿè�³�zW@Tþûš?1Mññ‰Êœ²Hù§Ý«Îö;:–½\ó§d*11U“­ÐÞÚÇ]Û"v¥-;¨6�ÉÿIÑJ%ÅÏÔæK–ˆ‚ôÆÚÎ_í½ÄÞÑtN?ÍO×ø¥Ûu½}�¡Ác¼Á®Ü„s8ìóÀ½bOý`¿Zý�ñÙ}•æ}¦yRŸ¢I >Ò–ªÆÞËÜT¼ác-´®nÅÇ).y¼VüuMÅ_OQ¬µºât×ÎQ­ÏÆ&é��7ÝçA§ÿúH ©ï«ø‰3È9åëw¸¯žµ]ס5ïjZf’âÓ5ýõ74#-�Kñ$¸@¨‘=kö„æok­Ð'câ5ù«ã}äÑw2îÔã*U\yZuugT”ÿ±ÆÇgheხ Ë%ˆdM|?O%•Õª8¾W_/£ÑãW¨º©CÏŸ·éô†EJL™®•›«òdµŽ.Ðù{Ö_§kUÕÏó”8îMåœTý¹å¼;YqãW¨ÊÚ±÷н³]�ožQþ“•0åk�i±¤7�jï!v§ã_mo¢Òü¢ZWÏ"{ç{_žúîû…ˆýý}jv>sý…Dë¯$vtt™6�úu¡RfjõŽcª®.Ö–/æ))q¶òηt_WÝ’4ai¶ŽW�ÔÉŠã:wÓ©GV()i‰¹¸~.Ç¥Mš«±ŸºÏ-‡ŠWMVÊ’mºß¤o~~ÇóÎfÿv¦âRgëëíEª¬*Ѿœ�591±#-{J‹¾ïK¤Åîüw‡æÆÇë½?C¸£öYƒÖÏOÑÌ5'å´ƒ‡ ºopsÔoÔÔøñú¥¦U�OŠõ~F׊¢ûçÝ}ÇãB½“–ªå{/ù?»³G¯$fè›-ˆýíTÅÄÄ*66Öõ<»õÜpLÒ4­9ÑØ{5Ä3´yõ&Pí{úöÓaýõÅ ¥N_©²»ÑÿSÀ/BìÞϱÇM_£KÎNu<9¦÷ܬö¼ Ã٠ߤhÌLJÔÒé›w‹çŽ»éõä4}uô±+p]ßµT)©iJ™ú�ê�zî¼ g$ëµ<7¹yõ­§7^76v<<¢·Rõæ–«½ýçR|ð‰¹P#;3q±7lw‰ýý€7µ«¡8G¼:]cÓS•>v¢²Râ4õÛr¿bïxtXK’’´òh‹ZÏmФøIúílk¿Ký­ç~ÓÄÑ1¯øøî�8ÅÆ¸ofbÅ®ä·6©þòe]þç¢ÎU)å¥$NÕÏåÕùU\Â[*xäžô;•¿8uÀbïxX ·Ý7÷ô»ÿðˆþ›¯…j»Vÿ¿×µ r¯Øç®�¯cwßèå}óÜóÖÓúrr‚ÆY¬Az¨öž«Â§7 ôÁ¤�[ºC7£xãœÕã±b÷'öŽ'Gõnº×�hÎmX˜¢¬�_Š·ŽÅym«f'MÑ÷ëWhÜlëFº]Ýú–Ò__£5KÒ5ç—S.ÎÃ9§¬ýw�/^¯æxœ/ˆiÙYZŒ-8ŸûóçzÖX¬�&'*.s¾VmÜ£¢å*;~X»r¾ÓºC j»�§iñ©ZüÃ>Už¯×Åú}3'yÀbþ¼E?ÍU|Ò4­È;¨Òš“ª8v@%—¬›‘ZTöÃÅ%NÕòœý*­>©Ê’¿µýÀi=µžÏ츭¼×R”úÊ�*ÿ·©÷yEïæ×Q•J¨ct‹=éõ_]/Í:Y]®£6ë«×&htüT­«~,G°Þª½×%åæó›47%Y¯çœ p#eßß\á+Ôãòz|T{ô®ø6�tß<÷õÎcª©9®-+ç)9q–òÎ5{Ü<çç�}žÝÐÆEÖS =oªôìú.ÍOŠ×èøiÊ«·.Ã?Þ7¯ÞôÖ¹M§Ö¿¢„ÄIú(û/•ÕœRÕñÍz+Ë+ŒxÕ¸w{ßý §¼AM„ÞœñŸé5 ±['½óþ9íøþ}Í™˜®ë j’24eþ;úñÀ%9Ÿ?Uížoôê” ÅÇÆ*.1Ec&ÍÔ²­u]ïXæcò¼ïšTœwUb½„Èz¹Ûè8¥Œ™©Õ‡nt‰ÚyWÇsWhþät%Œ­Äô‰zuõ!Ýë°&¡NÝ-ß ×&ehÎÏ5¾Wõ!Nbž“\8ÚPõÀs\®Ï]oP3KÉqЉ‰QL\‚ÒÆNÕ«ï}£?jî¸ß-.Ho¬Úø«}¿¾9uqë[JJœ£Í<žÃD}û“�}EµAÅnÝwO'ò>ÓÜñÖËÝ’5qÁ2m®¼Óûr·~uó”e§nìy_‰ñ3ôûE÷ëâ;nkÓâT%½’«›Ý/ ãœê©eÇCUm]¥ES3•0:VqIšB«�U7«~���joo™MzZ½}ñI_C_u å{ƒíbGì!Ož#EÔá§%£¦¦&=|øP<à#ÄXu³êŽÔ»ûEÇ=\ý"qÞ¶ˆ±#v€€ƒ@ì5³{Å¿¾Ÿ§.Ô``$0€Ø;I``À »AÍ I”cdÅ0�@ìˆ�¤00`ˆÝ f’b§XêC}`Fˆ±“Ôa` b±ÔÌ‘�D9FV\00˜ÄŽØIê001€Ø j&)6pŠ¥>Ô``$0€Ø;I``À zÄîþäÿñï¨Á¨ç À gþ?CÆ9¶ÂÏŸ{IEND®B`‚liquidctl-1.16.0/docs/developer/images/create_vm_7.png000066400000000000000000001304751515166127400226760ustar00rootroot00000000000000‰PNG  IHDRöÙ¼} IDATxì½wXTY¶÷ïûç½Ïýݙ鞞ž;á�™ûNOg§»ÅÐvPÉ"YÉ((bEQT0+FÌ9!&@1!JÎQ�¨***Ar�‚ïïÙ¨âPUˆ åây§NÕ9g¯½ÖçìïÚûìS5lXÏ¿ÿ6lØ?† öݰaÃF6l,-äb€ ˆb`Ð0À´™i4Ój¦Ù*ÿþÛé£�>š1fôèçú&tÀØÐ�ò1@ Ä10H`ÚÌ4zì˜1Ïÿô§?¹Kžix·?öÆ×ÿ><ÎPOã~ý?Ž�‘#FÐB> ˆb€ £utÄýëÏ?Ã@Oß~óM4ÓðaÆu÷0Q×?ìtJhˆb€ ˆ�¡Á€î¸q2qgCóâ¿ÿüôÓOgL7Ž}edtA � ŠâDq"ˆ�ÁÀ÷�>úhšìžû?~úñÇ'ÔS'8œdqH Ä€æ ˆ‡çü±bذag]öïÆŽÓJŽÔÜ‘ä3ò1@ ÄÀ`a€i¹t¶ü°ÑcF�ê,†‘t‘Ä1@ š3À´\ú˜ú°±ä@ÍH>#ŸÄ1@ &Øp¼ô»HØS`Èj(ˆb€øp0ùq\~ýA¼XŒýá�'±“°Ó,ø7†ˆ §¢XS¬‰��a€‰ùi‹�á0]Gv[²G`÷¤Àöé�¿IØIØûN`£cúw‘’ßÈoÄ€v1°Êà{ä×CÜÙ{쳇qWwHž„�.­¹p†\b!v¡^%®¬°êÂw*ì#FÀ`Qªy[îa—ãÏr&tFÂ9(-,Éxx®cGÁi—d[(äãÑ%Œ“%$::0]q¯ø…¼¼¶?ÓJÉ}ImÍí‹\Çž³ß™€£C„š£]â®ì=Ùp}ž“z‰2 ;]lôÅö^“a …à×åaÇÔ âx(öј½5ÙåUhj¬ÇÓâDœðsÄ/LXGêb}t B>î�ðÄŒ±Øˆ»M|TG­Â8&°ã#îB^9¸þÒ=î¿ÌÂÕ§- yÈ?ä.>^ì›ÑSp¬°Iü~ÑÑøQg æ‡<_(³YÐ�…µ?JÎ5f Žæ7ˆ{þì³ú´0Õ½÷ÿ^ýM×z÷˜“?Þ™?سé2qæ®…\ñ5w?Ù¶:�À‘°Üï njÔ9Ùv—°óQùè1ù4Þ?ÝÑè!ì:?ÃëHšBð›^¢¼ì)êY›÷—–™b”ÎHXoH^Ÿ¶G�„±ï5Ôó…hyÌzÚ#ñó´#xÊ åiÜâ ïëŒÁì÷Ä‚ÝR géðÿON{QÖÂzòÅØaÿ3Fêüÿ›¯Ä Då“gà ø(:î‰ut 7'ÏyˆöÇágÕÂÎ[&è¬÷Î^ËD\Ùš�«¯ëˆ„�.¬>!é "ú¼Ÿ�u—°7#qÛ,l¸ÉzÂ|”G,Ç”åÝï±�ž¸iu|ï`‹Í/©3«£PÇ .9Æ£t0Æz šà×DbÞ¸Ÿ°è¼´gÝœ�@›_`˜†!O//U:Dþ“c0çUàØÌñ©3³Ž—€/ .cÌXï{Ô$ìJ¯‡PØ„[»¶"¹†Þ‹HÌ7˜ˆÍqÕ´”âXàI<ä À{q 3¸ ]ot½}€ °o•S&Ò²÷HØ?@(H8û)œƒ�Eaß<ct=^Úïâî Yaòܸ9çP+¾w-gCݲEÜÃþq$FŽž‚£�òâ ‡NÝkBKm êy�ˆ °ÇÚ¨jøµ¸´ÔH¹¸Œ2EPz�¸7þðÂ"üô³.=nOî»îÇFF`äh[œ(j‚Pð N„÷…Gà �r1÷›ùx•¾–vÛPØ$€ !‹Æ�R^Ö`� ÙGq@Øð¹LĹk™¨³û슯¹ûɶi(~C⪥âú>á;Î Óà~_.ÚÒYñãæ]@_~C"íÇ�ýòeï¦9âûH�Q˜~°Rç'x¹+¾WÎzä²ÇÝF[l@n#B^%®¯sįÒIi?éšÀèùýòŸœ÷¡¬…>�~s¶;LĺÛÕâmž@€ª[ЕÍbWÆþ/¸Ìzé‚fÔÕK[»{hºø:ó·ÎØ9¸Å&ൔa¯óÏ9Ê[kÅæZÊÏÁõç‘¥· É ›ïbËä±j5DC>–Ê|IïQì`ßý.hñš=î–Ÿ¢ôž:we�»±GæÔ¹VHدŽÃhŸDtßÊ„�•û‹ÎÝo’ˆ¥ì9ö‘°äÂ}´„ øhª}�Õõàñª2g|×Å®3Ú'KØ,v!šîŸ„Ø‘0[} |¡xHýН‰dH]UýtFÁyWVWbÁ¯KŪIÒYïì˜ K‘$íBl³û #ut ï¹Ñ ñ8»ÊFü¸žÎ/ Ëöi)Å&þªÊ¢÷É7l½G¯�óœ:Wø·é j> X¨Ñ‰†*a×Ñ�Ñüsx&žÁ®ð5£�0wÛEdܯD}3-�Õxx7;gèËÅZg¤ä9s{ìm–ø±µQF~H­ãƒ÷ü*f�ïûž÷(ƒ%ˆ«b�¾ñQê�_žEm foÎÅF+å½q�±^ˆ¬a�Õ=Ãñ™ãH¼¨="¤ ¼ÉWʲcÕmï©ÇN�Ú°¨ í7„“ ºèz Þ*ìÛã{âê¼f?£I»JÂNkŒ&pѾ$ðÄ1@ ôd@“ŸmÕ¤§.ó5 ; ; ;1@ ÄÀ;f€}Ý!³ï‘ëÔóQ¸dû`“íÔy´M&æŠköwLEçÓëž™,ù„|B ìQ8&òìåØÙôWÌ}FÂNÂN™:1@ Ä€1@®EÁTÌØè5õzˆb€ø0 a'a§L� ˆb@‹ a×¢`RvþafçwŠ;1@ (2@ÂNÂN™:1@ Ä€1@®EÁTÌØè5eðÄ1@ |˜ �°“°S¦N Ä1 E �°kQ0);ÿ0³sŠ;Å� èöÏþùOÐB> ˆb€ †6]žœœ ZÈÄ1@ ÄÀÐf ›°ÿkÑiÐB> ˆb€ †&,)#a§d†’9b€ ˆ-a€„]KI™õÐ̬)n7b€hHØIØ)K'ˆb€Ð"Hص(˜�õÑù¨'A ÄÀÐc€„�„�2ub€ ˆ-b`È ûçÞ§ðÅb¶ ½lŠ2`Š1@ ÄÀÛb`H ;òï–ƯëwÃd[ Ì·o�ÙŽ-0 ÜŠ±köbø²£`‚ÿ¶œEç¥ ‘ ˆb`°30d„ýß¾G`¸ ûÖbæ±UXì‹Å!ËÄËÜSËá~dlölÀø »ðõÒ$îZ4¬4Ø/¢þÛŒñGrp(-†>Áƒ”Ù`ŒÚž€eWS0aé`µ‘„¦ÿ ’ï´Ñwƒ^ØY|Ô꘼{¼N¬ÀÊ‹‹±õú|ì¿í…£±ž83 {£fcóÕùð=ï÷£«Å=ùá¾GiCIÒ{¹�¼ÏÁ5áêëžÂ5àÌ aã ÜÓyèl«„“ï`Í3˜šÔ„޶—˜î׋�ƒÒ¿t­½—k�:ï½}ô®³ò l÷lÀ¢3¾¼6'ãgâjæ4Äç»àÑó#xR}1y®OŸ.ùu—Šó›ñÍÒãoäà¯V\ÁŒë_Ù‚†Ö´µ¾Æ£§/p**º+ߥ8œÅÔ˜*<®*…é’^Wº TÇÛ; ~÷^£SÔˆ€­!ª÷ûð]ù[›„]ÿ’à’ào“�A-ìL˜-wnÂüÓ¾Ø~}..¦º#¥h*T8àUíttvò�ÎVT×x¢è¡#bïºàtÂL¬¿¼@<\o¸e»x‚]8|C«ÛÐÙىƺWˆ¼S޳9O�ü‚�×íMX»­/qHpÏÁ;ÿ5DÍ�`6h‡l²¾oç\_¯¼“­aø¢Ïè]ù[‹„}Ñi¨ïß·ßþ\çt ÅBÔÂ>nC�xh}CÄœKö@f‰3^VÙƒ×èŠVáMÈþÚ[cÀopÀ£gâžüñ8Oø]\ Ç}kñƒß¡>zg=Áþ|éuìzÒŠN—.EáÛn3³1ý{÷öyWBó.ë4˜ËzWþÖ.a{üfVÈ6Šûàc@ca7 8Ž%Ûaÿ�ou9th/.] @BÌbäe{âq©+ª�!l^ŠVÁUtvŠdº m‚› ö… J‹§!:i6¶\X½Í;4ö`Œ?[�æŽN'Äà«^{wÁøå`NV£´±Q'|®_º�Ï¥Ç}»6³^â1¯¯[_ã^Y9î¼Øõ9»(†oNE裼´£]$BMM NGÜVH$B£Paˆºx©ë<ê”ýû.— l0ôN"âA-JëÛÞÞŠ‡�cÅÞ°.[dåônÓØÅ5@ÔÑ„õÛ壟ùDâx­uy© ¾†~X%Z;xصç'žgà”ØQG#üåça6èì+ÆËn]¼ŒÏqï÷;Õþþ×"å¢ÿ™Ï-„4ˆÐR˜ÞewßþUGØ%>¿R*÷yëkò ‹á´# ‹c#»F�H„ºWµ8z_+$�}Û ‰ñ7þ7±2¥÷›Úðº½Õµµ¹p]î·î>¬G%¿mJcÞÓ¿Ç —CÚ–]c´&”1 ±°/ÞzÅ÷ïC ¢£³ãí-�µ&¢Mx­üMè=ÐÞ]Û”n‰Ð)z†Úª�»¹X<”ÿ•�³ä½C±¼„Ý‹­ƒÏ†îBÑÓ�ÒÆ¬ó5ò Ëq0®ÓaÓ‘P±È}�€Ëu"´ ‘TˆÀ¸‡Èmê€HX‹%›åçþv}2Nä•ã@L£ïáÆó×èèlÃÍ‹W¤b)“Ž×õ8~ýü¯°%.[Ï‹ENÝr¸ö÷].÷¢‘Ö·CˆÌ¼2H¸‡£ÙÏñPØ�ÎÖ:øn9Û%ºêØ4æh):Dˆ¼ OP¾Ù�‰;m�h«½Ý®ùgá•-€ˆÿ¶J&™IÎÃ&à2›ƒaY‹vQ=|71_s…Guìdâ­Üßê {ßþUGØå>O»SнqÅ8–[ƒZi^ÛÆkÄͬ8�TŽ´ºvtv pü¨„?ï¾m8�¯VÅàLU;:E¯‘[P†}ñ%8�÷ÇB¢Î6”–=Åé¤Êx†R7æ*ü;@¬pÙ¥mç´&z2 ±°ïÙ»|í"ˆz]: êè@‡xÙZzL§dÍ>'lŸNÉþ’µímÕ`Cì­‚ÃxÍ_ Që-¥2®ìÍŽ¶T›×!1n�xâ�&“è>ó‰ÂézÚëË`Ô%,='�‰Û˜)îw®)�µÕaÕ6y/ó»mwPÐÖ�G)q*ïõ~±"ëE”çâ{qïK¹˜Hlè9Ü ¢g¹Šõa¯•×wÔþbTˆ:p/þ¶´NêÙôåêd$´vàeV¾” òÏÁ�Àë ªÅ¢uÒäÇçŽT‹À»Ÿ�+ôFeö±2Ѽº›ÖÕ[ýÌûÖ–µ¡µú&,f¹¶s·ëÚ›¿•¦¬Ç.³O¶îé_ „½Û¬ôØÆÔ¡½ƒ�Ý{ål ßœ…ܶNÔæ¦tùSV¶lÝÓ†8Ä×CÔÁÇ©òK¶O¿Iü4j_w‹9ןÜméqýdEn�bœè5ù…PÆ€ÆÂ´{7ZÛÚÄ‹ãŒÅ`‹ÓÌ%pöôÁÔYKÅ‹‹×2¸ÎñÅ´yË1}Þ ¸Ï÷ƒÇ‚U˜±`f.\-^<ùÃË;^‹×t_¼À>[ºz)ñÂÕk®ÈÎtÄ˧öµÆ(Óñnï‰Zã lò‚°e cçÁnÏzñ×(«¼²÷>[ƒK¼´¾,Æ/bAè å�;ïgKoã\£‚‡w1! #ý¥Ëºœ¨Aø$£8çÿÜû †û]À×>±¬¸U,JãÅû(“þ–í·êr¹uWQߥ·p¶Q"¼lî�Úu_|¶)ôÎCàšÒ þËz7qò•¯ŸâG�NTø‰óž €zǩ͊²¸Ó{òØ“/È ¼±°û­ß¶¬Þ¸›vƶ}'°mïñ7^öÝ‹ˆ««‘”¼%E¨®t„ Ñ¢öŠnB®¸!j"žDÇ„ýuËzÄÇÌïW�ýLë±—¾Q�ý«€T¤´±®§ò?Å¡æ¯�CPAjÛ:ÀŽèµ£¥ ‚§Zh4)‡+è}—«(vìµòÆú³%×°çy;„�ó1Òû4Ô·)7%ÃåË6†à³%×±ïE+2£R°óIž¥'ˆ{žãÏ=�PÔû“l�H€ƒ%·'~ y ž¨;vËz´\Û¹ÛŠuUíoM„½oÿö_ؿ۞‡r‘±áòdgq+ÚÐú¢?KEº/¾\�‚ÄÖNÔå$«ARî'nÌ{²¡Þqê³¢zͽ–i›˜Pdà�…}‘ßf,Z± WlÂRÿ­X¾f–l‡ïɲlÍv, Ð|Yµq3ŽžôÁµë³‘™é†Šr&ìvh�¨\)Ùèmk2êªì l^„×¼­ˆ½µìyö¯–œT?›óÇš²VñPð‚µòûàŠN“¿VÞx±ÏY�1¹µ-åÅp> Îb·÷*¾aÃÊ>‘8ø¢ ¢×�¸x+Çâàr*¡/ÛÕvµËQÈæÄö«U.÷bQ^ßÏ–\Å®Êö®QMlúaW‹D¸vÃ7e!¯µ�»ÎÁ6¶¯kØ}ös˜—+@ë«ÐïåÖÈWþ)Hv "-_z_€w¾P|ŒA×1\Û¹ÛŠuí]زGy�a¡ðèa�»Zþ}aÏÅ‘ñ—dó0Nã_‹/cã£6ùh“6ÈbõJcaïsõ…½ûq²òû¼N¸üÒ¶úmùêƒóÕ ûÜ¥ë0Çg-f/Y#^³×s|Öa®{f/Y‹YÞ/s}VckÐBŸ�‰èhWÜuDU¥=Dm9*…½£½å¶òVá5ÿ"¯û`ÂÆ�5“®U£­³9·¢Tôbd" ZØãùF^Wá'¥Cœ’s|¿ã.ŠDÈŒŒ”÷¼¼/À§¨UAØÏb~Þkt*`ÅùZOuË‘'#š”+«§l­¼¾\a×Ä&6 þh��ÅY°¯¿á!&ùcäþ¼loÄÚÝñm¡41¦÷Xx_À¢»´7>‚åº$܈PsKá®íÜmYÙZµ¿™€ydòÑÙþ3VÉ¿,ˆ+ìêÅõí »:6ȆÂÙPü¥œ*÷7æývMXá2LÛŠÌÒkâAÎÀ ;»gÎî�{Ì_)¾—>mî ¸Í]×9Ëá:Ûì~»ª¥¹…‡¤ô•Ÿ{¯X€ }3pþ¢ âãQ\hQû ±°wv6£Mxm‚Ëè쬿×ÑÑ‚Ü;qoý5?—ÂV€}Ǽ¦ÿrU.5ˆÐÙÖ„cÁW{LDúÆï"†‹{‚Ê=Iyç03³|œ Vœ­-w>Ûï»í¬çÕ�|Eê!ìgàœØ„QVnáŽ"¨W×ê•ÛÝÖž�·äóž�¼&6��C|Ú[ë‘QÙ†g™‰ûFãBC;î?ªE½HÙcn\ÛNcìñ2Ô‹^#¦¨ ‚v®¯¸±ân+ž¯7à ü9Z;Ûpý‚¼·Ìvõü{n©-èh¯Æy’Ð=VÊ픜¿÷»z6œÃŒŒf1§gN)ãTyù=cÎÝ�»=¬(ƈ^wç„üAþ�3 ±°ïܹ ‚ׯ!|-OœsSp6yÎÙs‰x2›Tgïî »é‹`3m�ÒEÖõ~PþXéçŽ3çÁo­vïwÁùPGÄÆÚ£¹9�u'QûbªxØ� ½WW:ãUõaðZŠqë¶#„¼cònâÔÉ5ýþµ·Q»s‘ÑÜtv êùK„g–âxúCÜ(«Ç«6ö`÷r•7^2ÀØ£F‘,AèhEaÉCˆ-ÂÞärÜ®x¯5Ò¯¤õ¹�ýÏÛÐÙÎGRv 6ÝÈźÈ"D׊zì§1úÐ}¼ìZj_àX\1g=ÕëQâ^¾Zåp‡ãÔ,WVÉZy}{6ò’Ǭú¬»Ô¦væã¡¨èâøÑ ÒDì,ÜӛѠU<$¯Jøä0ÿkY‚_Ižk)Ïňn3è¹¶s·γ¨wµ:WEèl 5·{c‹°/õµuÊŸcWË¿²$¡Àm“üqA¹ß•Û©Ž°³Étê°õÍÚD\«cœ¾FAQ9öÅá@z¢ãÙåå÷Œ9w?î¶Ä¿=�ÓŒ¹_ºÇ‹Þ'r4ömÛ·ƒÏç�/à‰…� ¸ƒ‡\Äm§-„�ÛLq�k—¹°š:–Îs”.2agkÖsW¶ŸÓÌYð[ç†]{�|Ö×#í�˜h‡ìL[äݱEî;dfØ!!Á×®;"8d*-WÁoÉÂÎ]�÷Öá¾öV$>Á�Zx¢N´·µ¡òe ®¦äÁf=k„•7^ÝÏqkÓ*QÒØŠ×àóxÈ-¹‡µòïšÿ÷†xÝ­Å3>{ °ák<­ªC\Z:FʆG½ÏcJD9rë_£µ£� ˆ¸r«k4aøÚ¾ËQ´‹½V«Ün �òú*k¬ÙùÕ¶iñlÚQócXIgµ³ãG¼‡êŽN܉º)¿MÑÍ9È’º��õíWhïlCØ™pÎ1\Û¹Ûœsõáï“q¸¸UBIÌx|>J*žãdhd×ð¿:þýÂ÷:ü²ªñœß‚í=¾|‡Ù¤ÜNµ„]ƒ»ö6Ö¥?ǃ¦6´ŠD¨oh@l\¾õV^~Ϙs÷ãnKüÛó8Éûj³Òkü91¤}ߨý“\SäÓ¡è�…=pëV477£¹¹I,ìLÀÙ2Ùe¬™ˆ;Í�…ÓlX8zÁÜÑ f³`jï©tQvöšõÜý7ï鱯ƒ»|VMÅæíŽ8pħCìn�Ëv¸a�°0{‡8bÿagl rGKsš›jÁlŠA!›©1!ˆb€è/ ûæÍ[P__/^ì¦/„…£TÄfÁÌÁ“ìØ2&¶30ÑvŒm<`4Ù]éÂv¶ÝÚÚ† C§{ìoá03¸`™¿ÖmvDàlrÀŽÝÜé„õ[¦Â×ßs}f£®®Fl³µ¿Ž¡ãè¢"ˆb€Š h,ì6nDmm�x™ì:_,àb·ñ€ñwMq‡ádwXO/úVÓ gá¦tQ&ì²÷.]�îqŒ�õ4˜Ù»Â~º ÜçMÅlogx-r†ÇfëP ÙL� 1@ Ä@ÐXØW­Z�Ǩ¨¨¹sEV“m™€+[_¼|VÓ•öô{+ƒÝÏg¶1™­ýu G1@ ÄÀPd@ca_áç‡òòrñ¢g馱ð*в2AÝÚŠõÛôû¼ì~¾Ì>fëP ÙL� 1@ Ä@ÐXØ—ùúâþƒâEQ¤ûóš+ìw‹î‹¿Å®?çR>KQTTŒâââ~÷ªe"¬(ìlè� £Ë>{“5³�ÙÈlŠA!›©1!ˆb€è/ »·÷bäç ¿ ÿ�EX&쬧þ&BÎ=–ÙÆld¶ö×1t]TÄ1@ C‘�…}áÂ…ÈÍÍ/\AÕt»öU=²§.+_f³u(…l¦Æ„ ˆb ¿ h,ìóçÏGvv6²³s´—-å�X3Û˜�ÌÖþ:†Ž£‹Š ˆb`(2@®ñE„”jÑ IDAT`¸ÿ5ü°BÙ/q ò‹`É%Œ;�‡©Ë0#¼Žûotý`ÉP„—lä¼i|mQ}ˆib`  aWÒø|³ú&+€kh¹X]BîÂtç5ñ/©}¶ø LÏ•Âj[(ç×ÃÈÏ—EÁ&ô!f^’/ÁIø¦ÛÏ‘ª[n0FÂ=$¿¬»‚ïWGà¿ó=ê0°eªkí73�ƒ8"ˆÆ€ÆÂ>wî}ŠÊg•xþü¹ø+_«ªªP]]�šö½óµxõê•xͶÙûìsöÕ°lÿgÏ*Áޝ¨x">_ùÇ(+-S¹0Û˜�ÌVMAÿ|i$¬Î—ÁõT~Ùx:k¯cìÖDl�‹à»ö/VÄÀ>´Ö^¿W…K¿ =ÄX�:~¶è"ôN–Ân·¤ªŽÈ2U•AïSãC ÄÀÛc@ca÷š=©©iHMM•®Ùë>–´4¤©±�øާaìêž½fYy_­Ž‡óÅlèø÷]ïó½#vçÀ#¬Χ2ñK€BàÃÓŠv—Ãz{X�$A£2•ŒvÈl§õÛ»hÉ·ä[b€è��…ÝÓs–¸›Ÿœœ‚¤¤d•K2û,9âýÄû¦H·Ù{’%)‰½']’$ûvß?Ez<;—ä5ûœ/>–¯d‘íÃlí­òÊ>ûby4ìBËa·ï¾ZÜY�}Êîëø÷Ê0 _Н–0á=ƒÑ» 0ýlÆ­¿‚ïü¯CïH1<Φá;ö¹XXKá|$#×\�κ[0g¯»Öòóuí#ÛWq�˜$¶‘Ùª¹cÏàûÍ©p¸X÷óù0Ý�ï—Ëzݧ!ö÷Ø—FbòÅR˜l<ßUæç¾·azkCº„Ý.è²¼—¼øŒƒË0õ`¤ü=qÿv} ÏÞô°rÌ û# øÞ·§ÿË'Öʺ÷À½Capª.oJ&ÈI‹nå+”%ó“Úe*9VvZSƒF ÄÀûc@ca=g ,=—ÀÃcÆ ^˜�ÌÖ~õøFlŒƒÉñb¸‡ÝƒÅŽ+b�T%ì_ù'Â9ŒM¶+ƒG˜l)ÇŒKe0Û|^¹°/ Ƙ½ÅpïkBœ÷Yü{Ím˜Ÿ)Å´“ñøš3yî+ÿL +ÆøÕŠ¢ŒQ»‹àœ,™l§¦°wù«�2»ö#�ï?cä;ò1@ ¼4ö7mÐ-VíǼyó`eeÝëÂöaû¾iyo~üŒØž‹éa…øuåI�ýlÏYñLا†ÝƒÑÆp ÷ í¶|Íî‘+Ö`ŒÞ£†°KÿÍú4L ËÇO~Š~’²XØû(óÍýúþ²Y²�|O ÚÌÀ;öŸ|‹ÅZa¿üð{÷/WÅÃ)¬ÆëCð™÷e˜„”Âv×¥îÃçKobòÅrØìä¼/ËÆ” »x¸¼ ®‡¤Ãå²}U¬U û@ÅsaWY¦ ¹ÇÓ65 Ä1@ ¼[Þº°Oò ÂêÕþX¹jV¬ðÃòå˱ÜWº,_ßåË{.ìség+V¬»jõj°s½m@¾ö��ɾŒÝp #®`ä†hL a'a§L� ˆb@‹è!ìì ZÈÄ1@ ÄÀÐe`ذac‡±B¡´�ˆb€ ˆ�¡Í ;%4”ÐÄ1@ h$ìZLʲ‡v–Mñ£øÄÀ@0@ÂNÂN™:1@ Ä€1@®EÁˆL�ÎA=b€ †6$ì$씩Ä1@ h$ìZLʲ‡v–Mñ£øÄÀ@0@ÂNÂN™:1@ Ä€1@®EÁˆL�ÎA=b€ †6$ì$씩Ä1@ h$ìZLʲ‡v–Mñ£øÄÀ@0@ÂNÂN™:1@ Ä€1@®EÁˆL�ÎA=b€ †6$ì$씩Ä1@ h$ìZLʲ‡v–Mñ£øÄÀ@0@ÂNÂN™:1@ Ä€1@®EÁˆL�ÎA=b€ †6C[ØùÏ‘|v?Î$<�à}4¿aqüVøï£üþ–ɯFú…}8U:´ìVU_þSÜÜ»[ÃK$õán«:ŽÞ§^1@ h!C[Ø›ó°ÅÞsNk&P‚z”ç$ í^Í›%¼ûØ7}"Üöd�÷¶àhÎîi–pÛ™„F�†Y¤ªz¤Ýob×gªìåîÇÝn)ÄNc¸ïÏ‘Ä�»ÍÝŸ»­ªÜ�¬·LÚ&A!ˆ�·ÄÀÀ;¿Wì` ;ãÇ�‡®¾1,f`ùŽóÈ{Ñòö‚×_aoÎÂú)F˜êÞàv^)ÎøÍ†_pZ4…@U=RØßÄ>n}TÙËÝ�»Írî6wr²nÜ2iûíµ ä[òíÎÀ ûKœõž#¯=HÉÎAVz¢Âöa¾­ŒÝván½àí€ö!û›ªR°ÞÁHCìVeo_çâ 9w»¯ãû[n_ç¥ÏßÎuO~%¿½20 Ân²ì2†‹k“¶ÃRÏ;’$F4?AôáÕ˜ao#CØy­Ax^µ´×ÌGI˜?,&B_WÆ–Sá»?•Q>Ô/îùÃÂm.<Ì` g«©Þ8pûšÁëµÞBù/‘¼žvìz0œ4®^Ëqñn„ÜÞ5¿×·{ÃÍÞ  t¡k`Û™«p!§ªç胪zJí6žì[3#è);G_6Ëê§©}‚zä…m�§�©4ÎNXQ&±]•½Â>Øà 9w»¯ãU•Ë­«s_|h™iÝk#E¹4¼G<}ð<½UaoÌ; ;½‰ØS¡°©»=`d½G£2�'‡—ÚAoò¤Õò! P]œ‚˜”lܽ›�['ý0Yß ë£^H}Á+Ämu�ž‰+¶„ÜBJJ<.^ {#}©° ð"r Œ ½ñ„' ,ÿ%Î-6…åªÝ‰°afP,ŠJJPRrO_1‘¹ßÆ.Øtö6ÒÓbqz�ŒŒ\q<—Õ�s�ÉÒy9ކG!)éN®u‡‘¾=ö¦ÕH÷ï«Þ�È:äC{ø»†¤ôtÄGl…³¾16D×õvi™6K�!>% É1áØâe)ñ£¸ 6ŠKI=¥ç°Z°7âR�–�ms¬ÎÑ—Í epůûš‹Obª¡%|�ÅàNA>²#‘|O–øIn‘ôŒKlp…œ»Ý[½úIq…|ôQÿ q™¢íž×ù„|B hÄÀ[vxMµ¨(ŒÇ¾…“¡g凸<ð«oañ$¬ºú¬«gÉ{OC3Æ+ÍR𘗠 ñ½eþËH,41Ä‚àû]Ç 9Cñü7°ÀľáÒYò ÉXiiŒeaòc Ò†œ{��_3CÌ9Q$ï¡·”âàŒ‰°\yu £âš+jìܼrši ¿«âýûª· 6ËÌ 0ó�ü:ÿÅ5Ì5ìMØÅFˆ¦ü£p4˜ŒÝéR�”]*êÙc@Øý}ÙÜMœ¸>ànsÎÝ�K}'Ì–Ž�Èlí%.ÝÊû¸;B®�s·ËPv¼š~R‹�>êߣ.\Ûh[£Œü©�d;ÄŽ”�vùÐö8Œ¯ kÏ�¸Z ™yÞpç lt'@WOúú²EÆëÃ7œ‰}3JcÃ×ÓV¦&0µ²�…±¶&‰…½!çlôípðN£N-¶…ž‘ æo8‚ÛùÏåO¨²·6úöÞÙR•èqý¤}ÕŸ_ùõK¾ _o…�v㹇q§°Y—ákcËE!xÔ"C‰0[aÓµBÔ©?5fo¥1ëÆ%ù˜|ü30 Â.Ÿ<'@uæ8cþ‰ü®¡ôE&ú݆œ/ÄêHè.ÄÍ*Ùýñ§89wR—°ók¢ácj€Y‡åCÖ=…]aCÖÙcáÉxöš¯£òauY ›ó°ÕÑHþܳô}YÝž‹o)Å¡™l(þšzCñM…šfëÕ7Å÷õÙ-„ÞêÍ~óŒ»ßb8aW^O®`±8(Šo_6+ƭǹ4¶z¤¹CÏz=²ØäFqé‹�.aßÇyŽ]ºÝçñ*ÊåÖM->4ª¿ÂȇŒMZ“ ÄÀ2ð–„�5X�È:8 gâü½&…uHÚ9ú†öXuä2Ò2�g¯d¡ž/DSÁq8ë›`ÎöKH½s…wã8͸KØÅÛxÂÀÐ~‡"�˜ž�´¸SXhÁî‰+~AM îš KkXMCȽæž�ðkpi… ì–á\lRb¯ *ç%ÂFdì÷„áDl>-™<·^2yîXç7âÆ˜²ô˜¸>i W±×ÇÆÓqú®ld¡÷z ù5¸¹Îz¦3°+,™Y‰¸´g1Ìu�z™<×ý»¢(w]UõìS|ú°Y:ۜ¤¡¹< .E#3¯w³ãpp± \v£„�쨰·±/6ø8>{"L”£2ñRÂ%7~´­ÀùKi[FŒ#\FØÛט‹@gK¬¾Ö]𹕬ÛÍ÷ƒájdǹ×OðÖx‘]Ä&1@ &´HØñ¨0E¸°ÞæPÌ�Å>ر=<Ý:‡K7�žs —±m®5 �wànƒòцÁÙB 1@ ƒ‹íö–b˜i =ýIpZ° �”Ü[ŒÂίÁíÝ àhm Cñ·ÎMÁLß݈+“Ý£\ÀÐLñ ˆb`p3 =Â>E›l¢{‚Ä1@ ï˜öwìpÊtw¦Kñ¡øÄÀPg€„�„�²ib€ ˆ-b€„]‹‚9Ô³L²ŸzJÄ1@ ¼9$ì$씩Ä1@ h$ìZLÊtß<Ó%’‰b`¨3@ÂNÂN™:1@ Ä€1@®EÁêY&ÙO=%b€ ÞœvvÊÔ‰b€ ´ˆv- &eºožé’ɇÄ10Ô a'a§L� ˆb@‹ a×¢`õ,“ì§ž1@ oÎ û {SSJJJ�ššŠ””ZÈÄ1@ ôÂ@zzº¸Ídm'‰ú›‹:ó! û ;3##•••‰D ?òy€<@èÝLˆ^¼x�ÌÌL�¸“°ºì®¸¸Ïž=ë�bú”<@ �zx€µ�EEEƒ®]Š£ÔcÀ;~gÐy€<@ hæ�ÖÖV°aù¡(¤ƒÍfövvO�þÈäòy `mè`É¡h ; {ÿ®@:Š<@  °HØéû Ëì¨Ç>ÀW9�Ž<@ø <@ÂNÂNÂþA]òTYòy@Û=@ÂNÂN®íW9Õ�<@ø <@ÂNÂNÂþA]òTYòy@Û=@ÂNÂN®ÎU.z�¨Ý+±ãÆSt¨³?íC �Þ“HØIص_Ø[³à3ú1zqúýt|kæ~û'lÎ}Þ{j­¨Xòy@-�°k“°ó«º| læBþ+~wÁnJÅZKø…=†`M{Ï&2(ô¯ývÚëÁ~G&Úú{âA(ì�w�Âüó?Âê`:ëÕþWìðý?>ÅGø_ŒuØ€”*JG]D¯ÉÚìv-v“Ipñ�ÀÓ�\Ü?daˆ+x {{]!BüðÍ‹ÿï¿~Çö6äNÂ'øž»Ãq3t;¬¿ù5Ùƒ'¢nò?^¡s�ȃÐ$ìZ(ìÖ^>Xh?‹Žå A ­`açã~ÄLw˜ sSSX;Ì„ÿÑ<çI“þsÜÚ³^n°67ƒ©ùxøîEø¥£X³À¶–æ°vôĆ3™xÅWH Zž!îøzÌ�f+‹)˜¶h3®æ×ˆG øUIØ8ͳv'ËíR2zÐw�]ˆ«³¿ÇoG.Ga«T¬„qpûì�°Ø÷Pz¼•'ñÛ?OÆÕšø�ý+F/OF;»EÏqv‘F~ýüñ£ßà7ý¾øÅ ûSkå=_AÎøXaøß>Áï>þ ¾Ó5Àþ¸ûP¼è"7¹áÇý ¿ûè�øâ'{l�y 4³ïÊ«&d™‹_¿ú ~÷›ßâÓ|�TÜË¡p§%>댠ëGaÿ�O» »03¿ü#—Ä¡UÚ༺±ÿø[¬Ë Â&ˆL"�Ú$ìZ(ì¶ën¢"y\-]°+þ™d轇° Ps/ éwPP�‹Ø�µp6·E`ÌKÉþ¼Ržc ÿ¤fg##îúoüÓ-ùâŠ×wøÔ8/_uööbø�ý ¾˜¼ ×£cq;â(æNøø¯MC\cÐÙ„«óFã·ÿ3³ƒB} ÇÖ8à«O~§ ìB$¬š€�þ8^»/!.ö ¶»ÿ„Oþ0›3Z4²ïqn F|òwLÙxé99HºyQ…|Õ×zG‡Dô_Ç`êÿvöÖâ�ùû¿`Þ�æ®ã;/ÁòOŸÀlO™Šd¡kWzA h�HصRØo¡YЈ;'ÃÚÁ·+Z ì!윊óÊqlž5<dƒÇzÑRa÷:tG²-äãþ9˜ÛoDV“´‡Þ˜‰MN–ð>}|¡üšXøÙLÁ†ÈÊ®ûø¼§X`i‡]IõòÛJzéŠ÷êûʓÐûã_ày©@J÷YãÓ?ýŸ|;Y¯;�¶\,ñgèm¼‹±�+ôعۄÙðíïÿ ß8>:j.`ÒŸ?�ÉŽ¹r†â;ê.Ãêÿ~ÃÍwå“éÚîÃÿ—¿âCPÿì„Úö5Ç/Ã?>Ž€ä†MJ¿ ’¥‘×}Ž€aç',Çÿûø[lÈR˜&Øšϯþˆ±~©’‹¥Ðäò€6y€„�£o}hŽ¢þ(¾ß/�/ ­õ8f÷,×n†éßFa{þk´>؃ÿø6ß\!çn³Ô ö,Œÿø)f„7ƒŸ¶_|üÒ†®9ÂÎOÀ— ÿTÅžub|Æà7ß-Fžð‘úö ‹±Íâküö“Ïa›�¡Bï¼Û>Ò %Âéä¹ÑKº&ÏÕÝ\H“ç”ù�Þ#h©Hص^Ø…ò+qÙß&&f]ÂÞT  ,Ù{w Q\˜„ /ë7v¡°){½`n9N^GrfÒ“¢pñÆÔó…¸YñÒ«±½tÿ/~÷»ßãçUiâáë¶Ò}øéÓ�ð›�¿Ã¦é}f®�s·9‘°ZÿþK8¬9‰›±ñˆ½º&ÿDaòœñâÉs:˜½ç2âb¯b‡›<§ƒMéÒ‰kjÚ×Z~ûŽ^FbF²’¯ÂßüKüVÇW>ã_Uã£LØÁw3Á'ŸŽÀ܃Wseìþý?ø«ÉnTÐãnªiÌ,&ÃÁÕkΨ¼ÇÞ×P¼¸ÞR‰ÄS›0×ͦ¦°´uÁ¢7ñœ/ û7ÛxÜMv vàá[|üÑØš÷Zò¦¨[ þ†ß�߈‡íÒ/WȹÛ=„�=W�è�³0þ›¿áãßü7~÷‡¿â«Q†ð‹x*$®ý9nltŘÏþ¿ûèS|þ“¶E³ÇÝdêÙלºúÃÿŽ�ó_øï�ÿŒo'¸âpÆ+y9²Óq×J…@ûs\ñ·Ãwû~÷Éßñ£ýz$¿”<=À=m“ÈÚçvmö7þV5,þ>ÞgPÒy€<@ ôÏ$ì$ìj?†ö®Dž„½3E �˜HØIØIØ©- �ÈZävvv-º ©*äòy€„�„�„�Úò-èþ# IDATy€< E a'a'a×¢ šªB �HØIØIØ© �ÈZävvv-º ©*äòy€„�„}Ð {zz:Z[e¿&N)y€<@ ¨ëÖv¦¦¦ºvý]=.=�å Ž_wÓ’/¨)))Á³gÏÔå˜ö#�Èä©***PXXHÂ>zHÂ>N”eZ���ÈÎ΋;{�þÈäòy w°žzee%؈gSS ûh û8Q&ìlÍÀd=w)»_D ù€ ˆÕ °¶’µ™$ês�é û »¢ÈÓë�•|I¾$ˆb@=HØIØiè‹ ˆb@‹ a×¢`R6«^6K~"?Ä€63@ÂNÂN™:1@ Ä€1@®EÁÔæ ”êF=,b€ Ôc€„�„�2ub€ ˆ-b€„]‹‚IÙ¬zÙ,ù‰üD ÚÌ ; ;eêÄ1@ ZÄ »S›3Ð~×�ÿÉg÷ãLÂ(ÖÔxÄÀÀ ûûrsvM³„ÛÎ$4 ÷ðÿU!BÖÍÆ”IÐÕ3‚ãºHÔñëQž“€´{5/œá›æü,¨G^ØxÚ™B_WÆ–NXQ&·¯¯ãÅvcܸqÒEO2¼-v=…÷õYÛÍß¼Gáa`ˆ—Ÿu•×”Žzã¡ç´…²ˆ_ƒÐ¥f˜¸èª˜ q}ïÄõíÞp³·ÂD]è˜Àvæ*\È©ê:¯ ±ׂ|àda=C38Ï™‡©“ ºÅ«¬kb7ÛÃÀuîµH‹¦4XañùGÒ2xá“¥ˆ­®ëݧ²x ù¸wf1l+,Œº {SÖÛÂuW:š¥ÇTÇÂB&€]u&ÁÐFÁ : ®µWØR±ÖÞÓw&+íu7åŸÀ43+¬½^‰–Gá˜ge¯1x¦¤§È¯JÄ:—)˜”Ô‡°· zƒ L¼Ï jç4»D©T x•‘ð67ÇÚË7°nŠ1VD¼�ˆW¼„�È:äCã©X*)iˆ‹¼‰;•<©ÐcÊâÈMÍ@Fr,î3(¶ëý§Ü!÷æ;Ølgû-‰ÒÞ9ë™ÏÄdïU˜oîˆÃ¹R;šs°ÑÆ3äJ’®o¤É…ÍÒcˆOICrL8¶xYBoò¤±2¯·Õz&®Ør ))ñ¸|x%ì�ô„½÷º¾¸¹FFóq�ù›ýZ_Ñq8ëM€U@”tDb6Ùaâü3¨(ìͧœ@ �$Í©XÍöæûÁp'{’X±r¯nc‰±¼Ï–w%-Ô¨r|JI„ôú%¿ÐµÑ�­ö–‡a˜mn�€«Ï•7Œ�IX=Ù^‡î€'hÂý»0ËÆ ޳±n(2Õ)?®×Ƥᾦ°X} O"0×ÔÛj ò�wÄ FSƒPT_ˆ WÌ=Y"éMsÄKPƒef†˜s¢HÞƒ—•ÉÙW3¿&>Òcº&ˆµ”âàŒ‰°\yu!Òƒ`©ï„ƒÙÝ{Óìêߣ÷,³I�¡x¡°Wü,`8óò¶`‡‹%ÖG•á’Ÿu×ð>¯üÜ Í˜ðJÒ`qëËÝfÂËzþ“±;½ü—‘XhbˆÁ÷å±ã Å÷Uך§—1ÇØ¢Ù ÊÏ/�±É$L´ßŠ»,éc¶O5ÆìãE¨ëŧ²ØôX+ö†ŒÝ°ÖwÄQÅ[ÍÙâ$Ç}_NOd¾§5 1@ (a€„ý�¼áä7ÐZaÔ§`��9¦ïR1_pÓÍ,±æªâ}p™ˆ6 ?ÄVf3\ÔÔ§»©ðL“Þ/o~‚éà¿v.&ÚmDv½@|Ÿ÷ް³‹AP�Ò”Pl]ä#]S,8–#^fb×çñ;»ê¬V�]ˆ¦Âãp2°ÀŽä—ˆÛ⛵·Å·5Xz©¹¶Ä=GâvgÏ:†Ç²dŠ[&w› Y×Fa‘‘ÖFÕ¡«Ù I‘aï½®<ž˜CÇí¸[•€“gâüý œYdŽ…Á÷Qza Œœv PvËF…O»üÃm„”»Ò¡øºh,™HCñ*ýÈõ+m«ßN‘¯´ÞWZ+ìBa=’v΀éo„ßãLžky‚pÿ©0µ÷G¼ŠGŠšŠNaº¹cå÷=ûldÄ"b„YG $Ãìüj\Za�ñãõ1·ë9êz\ò5ƒéÊ’{ÿ±â¿¼ o6ÙK“¡øhø˜r&ˆµ”âÐL6M<ßÝöz¤¹CÏz=²šàרq<Çήó5ça«£Ü÷ËG>º>Sl@šï`“�!Ü6ïÆ2+ìJ‘· ëqs�-¬–îÂ&·‰ÝÏÃ-“»ÍvY=fVxt�#ì²}º=×ÎñUóƒ3p3²Çök`íÆ&ÒñqÿÌB˜ÎÙ… ùf`‰[ÏG»ûT©˜?”»P:yÎ-(£kò\MâVš<§È½Öz1RyÍPì5޽ ;¦ÍÀN¯)0³›�ÀˆMJFÜ�³Øê=¦.Øzë‘X€î^ĦíÇq+i™H‰ ÇŽEŽ˜4e n¼AWH•�³=ÄŸÿ7÷®ÆÖð¥ßÓ>PÀ ¾óð2'GÏÄáý` õº†ÂµJ6§o™ívA=æ&#ã~­üÇMÔq`K1öÍ´Æœ£Ò'án«sŽ÷½OK!vºwÿÙÓ÷mÓ»(Ÿÿç—˜c²ÿMñ﻾ăz!b€x· ¼açW!tùL^}íÍææ;œj Ÿ³òŸMU (®�s·Õ(þKœõž“e—ß¼.ê–)ÛO açו"òÐÌr²‚‘ž.ô'ZÁuÞjœLx ¿WìÄ¿þ6~üxèšÀÚq&|O ©Tá7éù5ÝöÓÕ7†¥Ã ,ßqy/Zºeâüºˆ<´³�­`¤¯C3[xúîÄ•\ɯæÉbS½Fz“±3¹ºÛñ’Ïy(89ú3ö¨ûùÙçüÊ+˜gbŽÍ1Õöð¿Uw/cãWXëCWÏHl«ß¡8¼PèÝ«k§Ì^Z¿ÛFŠüMþ&4c€„� #WȹÛ2ñìkÝCX4 ÆÁÛ‡°ók²±s†)tMœà·ë ®ÝŽAô�0Ùº {£žB µÝÈk/’3³�‘�aõ +è9a{ôcém Iòbäµ)Ù9ÈJOBTØ>Ì·5€±Û.Ü­—ü¤éÿÏÞ{x5ÕDmßš �„$�Ð;Šl¨¨¨ (6°bQì‚·ŠéÒ{iVŠÒ!ÉIÞw=Ï÷^ß:i$!¡ÆBܬ••ÂÉœ™½3מ=sr˜Ÿ ¸î'A0NÞ|Š‚’R½ÌÄÉíR8så8[ôEŸUQcðÉ>8oÚ —ðtô)tß7ØB5R„}"'lröÅí6Ý}Ð ÿÓ°·W}q.â㨙b ;ó£qΆŸDö›¼¯,Á¯áâã&Ìë}¹òzþF_.ÇýßJHþYèd‹ÝŸ°3£xwõ¢B}! !y"xW^¶ëﮞA×ëTì‘C$ÂÓ/)o‡t"¡�± áææ¦}¸º‰�ün ƒ¾W§æë ‘@©ï6$ܭĨþ¾ÚË ;{?ö3¡ÞËß�}9aW�¢2ó¼Ø{¦»B�µ ÷LרCõýSˆ`ïÅÎáAä…¬æmzsàëá Žöí�8t£ #Æ6,•ŠŸCMjœø[ñ ƒµ‡•Žo«îŠ¯È‰÷†“h?Þ «‰§¡¬Éª‹;{àRõ,4šY¼¿'·íxÒm2ÛgÏ«øŒ'<á$ŽGù4š®…�+õ…œï�Ä¢“e¯…ƒ/÷ƒœ+DJ%k“º3ÃÈÞ-€<±X—!±hÃl]*<8^¸ÖÀÖÉä{Æ×«©§µïÓgÖíJv!»’�¿OØU¸-EÐñ¨jhD]å\Žõ…0à,š¦(>>Â6±/T £§­µÅ¨ëÓÜúTü®•èíëC__?†Ù™œF�‰�õ¨¬oEWWÊ�B€HŽ”Ò:±œ¡[¼g~¾Gb�¶¥U-�b·sÇΡñF$¸ü $?.F}]$F€Ç Ff›AüæÐt+ .ü@$Ý/@MCÊ Ñ:  ãjPZÓŒŽŽf¼ËЇ'Gˆ¤¢1}–öÙjsà}¦ sjn‰º+>f#˜ËÁÞÇCÆ™½årÃ\ûmx;»"¹tö|øž«´z>ݱ<Ä¿†Z£DÉiÜö>DÑåPðÃÓ1 ÔÍÚU#Ø+áÔùHôâãÈ«13�V}ÉÁv¾ç+õÁŠETCϱ•ÇAhr¾Í›g´¾YU=mØÍ$ÐÿÍy'{�=ˆ�?ÅÀ_+ìQ·Z¡ÒšóÝ÷æ€ô¦9Ì5Þ€Ÿ(­Vfž+]cW !c§‘7›uç°òE3ø•ÞÂbêTf¢„.ˆ¾×³°k]9€ô­®}‹iµê‰RÄé�1´Ý´ ³×ªÜŒpEPZ”lý–HÅ+Ÿ œËÅÁßLfÃ�n‰ºkµHsà“R¥Ùqj¨æ'ñµ»×÷xÂY�Š1 ç;üÒtömr¾ÙrĹqrµ *õ4r àq¼³ß^!F Å…Ê íL¾ýNx�iè™éFZ°b²Lwü«Ñÿ8.ÒS¨×§ÿ¯±ÏãÃës8ÃE†£©�Q74e´Áªê¹Rè8³àËŒY² Ù†ø- lagÆ‹pP,EJÙ44óýx ¡$qgÌhl »C•YHع'd~Áð• –VûÛ„}¶5r®é-¦ia%jSƒÁñ¿Œn…Ö�1¢¥·q(2�<øÎð=_µ¼°+˜ìùV$ìÌwdŸë‚õ,ÊS Øý߯«‘à%À‘\vcßgÜ�r׆ú3Ÿ‘±Ã >gʲ6ÚÀÌ~GãÛ{HŒñ�‹³öÞ©Ã£Ö +®§á¼ôü[& ,ú qGÜ­‚� !ìê©R–ˆqŽMó²�SÏb°þ?¤Ž€X ÃÁmºÍP¬°IíŠWô=E”Ø{Ó^£±ë#úº+q1RòÛ…]ÆYFØ[nbñ1º®èÍFÏ QçsP×ñ½�¥Hæ­HØ53•8,äÀ/¥Ê¸ilÑÀiCÙã½÷Ä1OÅócn£µ»]Mÿá�ÌâØGø¬O¡kfÞ#^´t*Þ×ÙG^C­êÃõ0W„²³wö\ý�æê‹„S1põ>ƒfv6ÎŒáQ¬;äɺ F£Ñex\®6,c°¿G°ÜU ³h¿·0að!+\¯Óhž5Y;·ÕÿÍwÞ…Ÿ3IÅl@°Šzš”AÂm م‹øëØp®ü\‹Ü7åhéêAwÛ{d „Gd:úØÙ"3�¼“¾…Ç‹ÊÔW棴ý'æz²á!ÃþkoÐÐÑ�ÝUH‹’.;ó Ù{¥ðÚ}µŸ&¡¶x¯Zå®xÞö4”W× ¦Æð¨CïÈnDÂÅ5gŸ”è6Ï%é6Ïe´MéÁ˜Aõå0pxþ8™ñïëP]úå=Ó˜ïÊDÇ Ñ_¢¶µÝH å/ÌØ™¯ÈÜá ·È˨Xü=ªï¥ˆ÷v�³(gîäà]EÞ—àé� ¸–7`ÜÇÛ~•uõ¨­.GÞÓ›8!†“•ËÝÌ7ÏÍ¡)};¸®Ûðôã¼¶-Ì�Zœ uƒ³0I·ÙóU¢äõ}$íð‚3Ç § †tB®¨Ã ‰ vg/üöÀLç8wæ.´»æYQ à„®{Ÿaœ½þ\5¨Ý_ྠÓAÅBØgZãä™›x‘_†êºZT=ÅÙlq�Á+ý5ñ+®§éyèõ_7�Q°EÁ1°ÀÀ†öé¶ÇØî±ÀÂb“ñºS·¶Ë:vþS Îï �T(€Ø; I¹À¨gµ—Èí •Cä'|ƒ#qòi—~v«ÆHm&ö†Èu“M ›¿Wü¬ÂéùŠ/w3®=ס9ÚÝjÕ*3æÉ^îÆ‡,âÔX\î¦FyÆ „³—»i/k BrÞg¨Õ3hÏ9‡Ho!8[¶ÀÙÅbygwÛ0\•Žr!BÓê�)kSØ•£­x|!¡lÙìÔð…ð‰Ø‹Ë¯{ 4ü@Í–Í` Æ‰ë ‰Õ¨±žîVϰ?ăÇ�Ñÿø 3õy7é'Öý@�»¶8�—Í# Y‹¹ Ĺ²ëÿßm¯ÿk”(?ë ^T&¾2j(z ÈÅ W,²f®Ædל�Û>œ7oÇM‚�ÝIxÖh¾©oEõ$1'1'ˆ� ÂÀŸö b(S�¤× ‘áï·ƒöÛ‘àz§ ÍÚ%lÄ ¾Ä1ð�3@Âþ�ðû…y�A�²WBù¼Tg5+±áÚCü‘Ä€� a·³AIXÖ)ÜËøC»ùÍEŽ›Í66.ó}òϯõÙ—ìK üyHØI(Z&ˆb€p HØÈ™)ÿùH™|@> ˆ�?Í ; ;EêÄ1@ Ä »9óOG‰t~š©Ä1ðç a'a§H� ˆbÀ� aw gR¤üç#eòù€ þ4$ì$ì©Ä1@ 8$ìäÌ?%Òùi¦B ÄÀŸg€„�„�"ub€ ˆb€„Ý�œ¹îHYÑŽÔP1B.WaNýç£Îu·‡|Kƒ51@ üƒ ØMا*R âzݸ�Tèyt"Ñn¼ú¢´òG† “!ã8c×ý� w.S� ìÖŠùàò%ˆˆÏ@‹ñö¤¨ÆšpçØVHøpÝåˆN|ˆNÃ}ä�€ª0Ú‘�k'c$BuŸT&÷%×7Y’ž³'.W[÷IWÖ.p9Û�£¿…©F5€‡ñ;ŸÝ®ûvfùÉÁñ9زy3¶8»@àˆ�Ço ¼Ÿ½Ÿ¹#ú�ÚD~%ˆ��Í€�„]�¡œ#º¹A��öÞè&ƒ>3Z‚xo\…¡Èêœ3ûŸéqŽóZ�‘ª4ˆ¥�¸qM„]‰Î¬]àñpæq1Þeã ¢=�ñM{Ÿñ!díÁ-$ oê;ÑQóñþ|ˆ<7Þ U£™CÇÓ#ðãøµ'xWÕˆÎþa+3l5Ÿìƒó¦Íp OGŸÂÜ'ª‘"ì9a“³/n·Ùð‰þ6¨¼˜›¨omES}Šroa¿ÎòÓhœbþ_nìî8}Šü@¾$VÊ€�„]…ÖÛ;àáŠ`O¤”Œ.ÌP5 4ߎ†$$Ár¤U›Ü¼C9ŒòÌ$Ä„ú@âá…ÐØ³xc¸·:3ŠwW� *ÄR‘‘"]CîË»8¹;r±R¿Hœ~؈)ýý¿µ�V�¡úA2¢ƒ¼ I¼óž6 /Üÿ›ù�ÊÌDì ÷×–+ò ÀÙ·(M ‚ÇŽ»4Î|tßß� Khy�3¡ÞËß�]Ì(_a—W ®”WâR�ë‚°Ï7!Iæ‚àÔz(ôÇŽW¤Àƒ£WEï}¹ˆq±jÊ(˜ãeÉp#ðt@¡ýlªéü½ö#oІ*š®…�+õ…œï�Ä"Ó{�+Ðx-|¹ä\!R*õ÷5Wõáz˜+B®²÷¤×@£v÷#ȯ‰âDð8A¸ß£«ÓJa£ãh`"ˆbà×3`'aW¢âB<?Cé�(H£31¨Ÿµ3£Å8ìí�³yïp.H‚SoÇô¢5‹†ôHâð ¤Ýï‘u,¢€³hœdÀ¦…oGK”ðµÍÍh(Š£Áp÷ŠFÚ‹Ô5Ö"ïú~x ƒpÛx§¯y4ßÝ i$.½(Gcc%ž¤Ä@"ÙŽìNƒx±åJïšÑTW‰Ž¯ ü(N†Ôc/ò¾«tõc~"çˆ ¾Iï0óó=ƒ¼°-­ ³Ë­=+úp{‡vf´c^Ñ�Ë&®èËF°VHÒØê©bìçs±÷ñfZnÀ‹k>ƒ´ ‰ IDATV}~Ž®’˦¡aÆ‘'_Š­þR¸» áuO›L)4J”œ–ÁmïC]?<ݘIQ�`¯H„Sÿå#Ñ‹�#¯ô>YNØÕ ŒiƽCÞpñ=‹–ió,uXƒíé™X ˆ�?Ç€�„}odð9]‚¹ïo±_æ�+ÕÐhTèÌŠ…xÛMôÎôâf¤'ö?ê×Ξ™‰2Ä˼pº`a&©úþ »ÅÞH­š1 {Ô­VÝìQàïɈ|Πi^/(s�Höcïƒ�ú2ËqL.ÆþlÝ{-XÊAdìò„_b!fXQÖ åêŒÏüx‡8/)N¼ù®Ë6ÌÖ!ÑWŠ„WßL²Ë9J‰®»!Žº‹~6õ­4öÙ†+�rüp·Ãd¶­hÆ™ ¯·@1QŽÃ\øŸ|…¡if_ko �ã‚SESÐÌ×à˜�G³PRß�žÎZÂÎ ãÑ>O„¦Ö@¥žEÕåÈãžcx¢ge8ùæ+ÔÌÜ�õBÔ­­PÏwd Xà�P‘ÈðÀÝ]„„×#P[à‰â3Š£tB¿¶«ìÇ­RlOo^(Ó#í&©Q¡ñF$D×ÑËf¬”«543�× ¾�}…qF mý$»ñß"Á´ ¦ê{>bŸݢO¥[v Çߦ°«4j|©¸�H© ´bºy ønnpr’âjÃ,˜±<ĸ¸àøÛ…Ípê‰p×ÍøÕ¦"Ë|GVŒ;|Rª TÏ¢<%‚Ý�ðm¼ ^Éý5ów£ÜRï6„ÝuO&:{{Ñû¡­uï�•´®.>¸RýcA�m»ýÐédb€øW°�°[ˆ¥rð9¢=ÃpæÜ~x†\@ëŒZ»^ûü�‚/Uiw\ϵßE°È ?`ppÐä1„‘)•Už.?‘8%†]âª!dì”"ò¦nMX+Ækv�c¥çà%=ˆ¢º³c!‰¹gu·¹u8Ôøöò8›·À™ÃGûp†“v79’…˜±–ŠŸ.Á~W aVÏaìË'|�D÷ƒÝpv?ˆÒqÔØÍã`ï“O ‚ªhÃ9"n¶é3úΫéPýz¹¢ÿÂ\}‘p*®ÞgЬõÉźCž\¡ÛoCØ-רu™Ä …˜7 &èµqo„uFh`%»ÄÀ¯gÀ>®ìDj¨{îÐ¥t™ ä�ô‡›»ûÒâ3Út½<ñ�V ˜ŸÅ8ì)®ÌN�¨XŠ‚E°À°œ°3å8*óX”ŠÏÜå ßSK§âµ°Í6ã\�q�ªpo�b í±¬›�÷ª©ïèïG¿áÑ[‚S¾|l»R‰�á)¨õ›çBÒŒ›ç&ÞŸ7nž³~þS>zrá®B·¶¯ìÂ¥@$ÇÞbJ¿Ö¯~…h>ÇØ,‡i½íZÁß~·Kï“q¼<"ÅæÍÄÜÓûI3ƒ—‡„Í× ôJ…}¶ IÞ\x&•Z÷�i=è5‰=1@ ¿•û»¢É~bz:d—™ž<\¾pÍ?õ›Ñ4 'ûBzä%&´»Ø§Qs- "qNg½Euc꫊ð<¿3Œõµðå„�½L»yÎ3—s*ÐÔT‰§çõ›ç:L7ÏIa¹Æ®UÚ3wAì_ñ<ë×íúf~V­jW¼Q -Rñ�þr7~R^”£¶ì Žø»B´ç¾jm¢ÆÄ—h­/CÎí$„‰8ðˆº�öIƒ ô<Ü׉O«ÐÙQ…ŒƒÞàÈO¡Î�Å0t ENH\°;{`Á'�ÿáÜ™»h0^7¯@Á 1\÷>Ó.?hl;/ú:jššÐPW…’×p&Ú Î\_\¯c×ì}ôIç Ä1°rì#ìsÕ8îé�„WÃFYì%ª.…@²'ß —§)Gðþ~2bBäð –!öR!FÙÿ¯aÆ®=§jT{¹ÛŽ@Ãån'ñ¤Þär7+åšÖU5\ˆ8™’}�0¬¯'+ì§Cä+¾ÜÍXÞ"ag–”¥F€ž"âï¢yÌ Ü œ”ÂÅM‚ è#¸ú¬#ןkT£¨Ì8†©+œ9®ðŽ:�·= —ÇÏ=W�8W.âr–Úä¦DùYoð¢2u�Å"aŸ@þÝÔlÞ¼›�]à.ñÅöƒçð¬þ›y꟞‚b€ þ ì#ìŽä̹N¤FøâLáR‚¸òÈÉ(´Žd#jË_Ñy‰-ê‡Ä1`�v­HÍáˇ.ôö4!÷|4¼cî.ú¥6kƣϨSÄ1@ üm �°³Â®üˆ»»äº_·;x Õ_éÕþ6P©>4xÄ1°2HØ)­Lieb€ ˆb€„Ý�œIÑìÊ¢Y²Ù‰ ™vvŠÔ‰b€ ˆvr¦#G Ô6šaÄ1°2HØIØ)R'ˆb€p HØÈ™Í®,š%;‘�ˆbÀ‘ a'a§H� ˆbÀ� aw g:rJm£1@ +c€„�„�"ub€ ˆb€„Ý�œIÑìÊ¢Y²Ù‰ ™�¿^Ø™™!gžÅžp?H„xxú#rÿi<¬ù 53�‚äˆîpssƒ@$…oh ާ=EÛˆþgaUCÈØ)Eà…J‹{‡«ÐžQÐ%tXÞAmÍb¯À`EŽm÷…À…¡v&=FׄáîmÔ™¹3QÛˆob€øø«…�™lÃõ�r<ÃqêÆS–U üÝ+d]9�Û¥#P3?ñâ°$±·PßÖŽÖ¦Z”¾ÎÀ‘0 <ÂΣ‘Ôß(ìêéz$ú#.í1ŠÊ+�ÿüxNðI®À¬š€ÿ€§:‡Ä1àè üÅÂ>‡úëÛ!ð܉']Vî7ÎΪõÂîy<ÏL8ç:2"”â\ÉÄÊ…]=ƒ®×©Ø"‡H „§_RÞiï/ÏÞ�ýL¨÷ŠîÇ®T*MÖªf‘Ÿ 7ä:úTj“Ï©c9zÇ¢öãÄ1ð§ø{…}¶‰¾"„\¨Äœ­Ù® aW||„­"$ü\±°³ßÙ&öEƒ tôô µ¶u}³Z1f~¾Gb�¶¥U™Ë:�Fön<ÿ‡ †„}Y{­y „²-1@ þZaW~ÊÁ‘Ž¿ú®�5*lölöc¯0>7‡Ù©ê(ÃÍp÷Ú�ü/Ê û\ã ø‰Â‘Ñ:i§™µ½9ñðDâIÏœ�Ê$pÍüO�qE ÄÀ"þ^az¡ö‘e…�Ý8·ðÂ;òÕ}Ã:|¥kìóýx ¡$qg ª53‡îœxºùãRÙ7Ûõ_sù$ð$ðÄ1@ Öøk…]3S…rÂSk0oK ›çöÝASG'º>ôãë�� ¾Ã|ŃX)¼ßY”£Býµ­…]E�RŸ&WÏb°þ?¤Ž€X ÃÁmß±nDs¸”èÍ=‰[RË¿š×ÅP'z^ašÛp%v¦cÈfÄ1@ Xcàïvõ4JχB ;€×ºµîE 0¤â-6Ï™7�Š Á¥ yŠY”ù^܈Cvô••õïY4ÞŒ†0 ­ó«[Ÿh¼ ?W\(¥™º¹¨’=ˆb€ø ü½Â®Ñ@5\‰S¡b}bpáþk”UÕ¢æ}1r³®àvá�ñr7Ë]ñ–†›íy„(©þ±ñ¼°•%¯p#> "Q(Òëǵ©råçZä¾)GKWºÛÞ#óH <"ÓѧTcÅ»â™ïÈÞ#„ÇÞL4ww£ÛðèéÇèìêË6Ð{ˆb€ VÂÀ_-ìl”cxq%QÁrˆˆ$r„ÄÁõü^¨V4cgAPc´-)¶ÂG"‚ÐC†°=‰xTóÕ¸Ž>ÝöûÃ}´?v#`ÿ›Œ×�ZÑg…ýtˆ|ùËÝækpTè„M›6™?œýp·ƒ6ЭH:†.b€ ÖÇÀ_/ìäàõ9˜ìGö#ˆbàßb€„�6²-ì; [�-ˆb€Øð �°Äbš�ü[³ò7ù›Xšvvvb€ ˆb€„Ý�œIQìÒQ,Ù‡ìC ÿ$ì$ì©Ä1@ 8$ìäÌ!¥6ÒŒ‹ ˆ�¥ a'a§H� ˆbÀ� aw gR»tKö!ûÄÀ¿À ; ;EêÄ1@ Ä »9ó_ˆD©�4ã"ˆb`iHØIØm¤®žÆ×ž��³¼ ƒÙŸc˜TX~n¬ê[=ž=¯Æ°r}åØs 0Ôi„Yºîö<çzÊú=õUc~r ãt³£_ÛŸh¼"û®€�ß/ìê|j«FCߤö+ë°è»æ"¸"{(Ú‘*FÈå*Ì©×ðý@eZfâÊöâÍ7Tß ¸Ï?* ™©ÀÙnü÷Y¹DGeÐý`/’Š0=¾žrÌÛiVía” (­Úg¡N“ßòÚc£S[ü™× õ�±ÚžÕÛÆj;­H Ã�VºÙ‘Uûüµ|˜ûŸêîöø®ÆxW.ÄEÂW*‚@(…oh Ne¾Çv†Ã�bx<à�ÂÎŒ¼F´Ë³»»qRÑ£ÔÏîT#(»u�b>¸| "â3ÐòCe[ÜVy<3=€‚[§å/�ãg¾~ÛàRnfÙ�]5€‡ñ;ŸÝ%;Ø0ÈO†ˆÏÁ–Í›±ÅÙ¯@ì<~åýÓ¶ëµÂ�ÊTØÕ3½x�•ƒÎ ÕÊ„]5ˆŒ�þ8Wòë*Ç¢®fõ°ø;°©†ó±ÏûJÆ­øÅ¤NË•óW ’&õ]I}Öܦ?$ìÌTî ÄλíÆ;5²íœ*ÁùÝA�ˆ<—ކQ+¾´âû•Øh=Ǩ翢øÎ ló•B$ñÁŽ„ûh·ÆÙ¨ÛzÚEßý»» ;ó³ ¾BxÇœÅÓ‚ ÔT—#ïém\}ÞŠyVvåà„ñCp³¢Ýx?öžþaýìX‰Î¬]àñpæq1Þeã ¢=�ñÍjZwuÇ3͸¼U'7ħ=ÄÛ’½yŽÌ´“H|Øf6ð;"ó�÷ºƒsõ­­hª¯BQî-ì÷ãÃY~�S̺ÄÝT��çd9XÁŒ]ÑÿQ~'P5ɘ ûjË1;~¦êûkì‘YvÓ:­¶Ü?qüo«ïoö9ô—ßÑp?È<=m*ìª!ÜÛヘÔbôéFΩ0ø'äé&+ðÿ¯ô“j¸ ©)÷PÙ1ˆ¡®B$EH±=½ÙzßüÃuý•v ²m `waŸm¼_a n5ÛHÉi…]777íÃÕM„äw“:ñP�¡úA2¢ƒ¼ I¼óž6 ƒ1Îü@ef"v…ûC*B䀳o¿B­aÐ÷ê4Â|=! õ݆„»•U™¬�2?Qÿôv‡ÊµÇˆe�Ø{/»çuçV£<3 1¡>�xx!4ö,Þ˜Ü�ýL¨÷ò÷cgg wàãºÅVq¾ I2§ÖC¡oÓxE <8¾¸ÝfÅ^«:~5©!pâE «]oOƒÝLŸU}¸æŠ�«MºÁD/ìîGÞ˜¥æ'ŠÁãá~�Â~Ân*æ3ˆ÷ôEdL8d"d!û�^2¨Ë"hëËàCö>øŸ*À4£1ö•”£žFáél¿i4Õ{wò�YøkÅïtáO]S8æ…'íïlcÖ&øn;Ч-?õ™65&º^!1&‘Û£älLÅÏ–àâþ0HEðÙ�5ßÀ¨WX‡Ží1 gÑðìžU}Dá¹@Ę»¢÷¶Ê£DŸ cƒ›í²8Y™µÏ•ãÊám�{!Ë�ˆü󳃥¸| ^"<bñL?V¬«mì2”±?ªÐzgä ùºlšñsÓvÒë{‘-Vj » »ês.vJDˆºTŠáya5@«Ÿ±ïºQ‰Þ¾>ôõõcX;+œGóÝÝð�FâÒ‹r46VâIJ $’íÈîœÑuÕnGKïšÑTW‰Ž¯ì­ëQYߊ®®6”=:…‘)¥?ôƒÐ>‰‘î—ˆóóÆù²qhæºp5RŽ˜Kùøðmߺž`§ç>ä« žmCj„7öÝ®Æ×ÑO(½¶ ²˜L ªÔøYzòmQÿuScŸ1ôÝÐ_Lm¨Æ—WÇáµ÷ØMÌD){ ~¥N̵ÝAHè%tŒ›=¬�¼¢p¯ñ3F¾ üf,<·ÝÄG¥ê™fœ ñÆþ[åZÿuUf`§,D'ìs�¸²MŽÝW‹Ñ÷ý Ú^ŸC�|?ò>+VT‡ÊÂdëí±Ê›eçƒÌ„}²ì<ï-,ÍÕà„·¾n¦ehë)CÔ¹—hÿ4ŒáÁB$ø‡êÛÐ�k‘ÞØ}¥¾ ãKßG Ï0Ь³m¦›E•ƒÈØãƒÃÏsYr¥"DÇÙ?`±»°k4óèËOÅv™~;�xã?O/ˆ–�T<3QŽcr1ög\˜¡³àïò„_b!´´Â.EÔ­Ö¥SWì¼Sjœ�¨§*‘àí�Ý™�Æ!ó£ûÅ:ag&Ê/óÂé‚c=Uß_a·Ø©UúAÒt@Xâõϲ‹ð—IàÆÝ‚Í΄¼Žšoú@ÃH9~¸Ûa2;W4ãŒÌá×[µivdzKá\.¾øflƒÕcCØ7oÞ‚-[¶h×Ù7mڄͼ¤U|_º¬%ì`8÷R‚l¶yŽó89öe÷iý¯x†(ßc¨ÔÏV×RŽâëØ%Û�üï*h”H�EzÓŒù2€©ÈëÛc+oY'Ka7m+.¬ðiƒ ê®D <­v‘�Ù 2ÿ”/ö?êÇtã øù&¡V?³×µY'ì³ ×á矌†] ÅŒåc¯l/ò¾«0Yu>þ‡ð¢uĬ|Ëújß{Gå$ƒ™ºkÛ‰ÐÝ÷ðI¥ÂÇG˜\‚Ùi“M�¶Q}}‰�žP8ªÂlý5øžC³a¼I*žÍÚùù%£^_W óÏyãÀ£~(X¿.S‡‘Eíamäwww¸ $H)[Œ5KaWc,ÿ¤;îjƒ-‡Š&$ûûájí¬ÉlY]=“Pg^-ÚàFCôl¬·mÚ}.lY̪®ï‚ÿ¾è_tňýzC¤çö¿@Øu†cf‡ÑRô)B!ùâpV#¦–Ø<7ß‘�`�d´›ˆžF…Æ‘E\G/›ª´)ì Uf!aOüåž�ùÃW*D˜~ �ïÈDˆG�1MÈÂm*ìÚs Ü!Š ¸»‹�ðzAìWÕ)T“¨ÏÁ± Wð·ÞB¿R V¨%ÿU ûJ�W_œxó s�™cg¤ì j*X¦¯—öÅuZªœÙº«ðÛvCÇ­F…ö»;|¡RXªçð:õÂü¼ ‘Ê!“x`_öGüx—d&H¦Â>þî4Dî�| !ðØŽ'lj—™@Óó ˆñ÷BàžsÈëšÐ.OYÚP£ü€k‘�¸Z;�ÖÛ{�˜[Œ [ã�ÿ}ÏûãtáÔ¦ö0}­Ñ@=YŒCì• _”`ëc.ž »âýO£DåÅl»ÞÕJêÀŒ[´gSß088ˆÁÁ!Œ²3g½¯ »“egW4c_TOa_ô?ýù¾Ê¶±å¨§Pw|·_FãØß±©oÁžkëçôý¿Ën¿LØ=‹ÎG‡ nEvϼnó\�ÄdÝRg�õ»¢ï)¢ÄžØ›ö�]Ñ×]‰‹‘£°³iÆ �Pdš ¦Â>×~Á"\,ü <ØD7ˆŒL­¯ãM”Ÿ…;'�>*`5µ>]‚ý®«HÅÛ8^=]�CüRªt›�Ÿ M×ÂÀñNA»4bCØ-ר5Ên\âAœPhQÞê^± 3Ãx´_®ãBõ ÷vûâLá¨1HYS95†^…ï‘ç(¹�í7uSÁ2}­·3’‡Xv¦?bâ{+uZRØë¯ÁßTØ3 ®ÆðÛ“ðŠ¼Œ†ï³P3ÓÈOô× ûtíø¦ E? 6v6P𠹤ó¡Ñ·æ¾PÏ £üF,¼ØóÎ-¶¡F(G!2õ%nÇîEîÐ$JS¶âôÓg8pŬȘÚÃô5+ìS¥8¬¿DQ7s=ms¶kmÆÎf%˜•ÔAß>³ö®*YÔvË»óVר.Zc7d öÖnìÕ_²Çþχ�±2úóÚš±¯¼mj|.JF`ØiT /u©§¹oÆSúœl±<¿AØ5˜ï¹�0‘>…¦ìBZ¸ÑwÌ/OaSñGe‹Rñ™»<á{jéTüDñÅq —'±"±ÏÓ(ìÌXöKÇïx”ÿ4Ö5”ÃÖ—-Bœ·üü"u�%;@› –ékƒhÌÕã´Ÿ/s;1ü}½Ÿ& °Q'cúÝ¢Vl û·7 ðÜv õŸ'077…‚Ó:aWNÖ")PŽ·ßãóè0>”_G¸T¿Æ>ÓŒó¡>8˜^‚Þocû>ˆ®~Ýþåðt~ú�ÙÙ)ô矅_ðE4õ>]lC�³­wâí ߘ Ýú|Y üårø}‰Ÿ¬ÿLÛaúÚBØ kÍÑ^£ûëF?™¬OwâÊVÝ{ÿðWýû^¼ù¤²åê`­=í¦kÓ?iŸ »F5ˆÌÝÞˆ¹RŠÁ¯�›¿ã¯´»âUß*pùÄe”QA=Ó„³ÁÞ8p»Cß¾ÀtŸ€z¦çÃdØ£]cÅȧdv�}mÓÌ·ábXR+F0??¯}(Jã¸d¯q‡ÊY^üÙFvöÙŽçH¾˜�Wï*Qר€šÒ\\Šõƒ»×~äQjÓ†y'}! 9Ž• ¨¯ÌGi;»ÓvN·yÎ3—s*ÐÔT‰§çõ›ç: ›�ØÍs‹×Øç{²á!ÃþkoÐÐÑ�ÝUH‹’…�MU–¤„A(ۉ믪ÐÒZ‹7·ŽÀG`Ø<7�škQ‰Ãp:ë-ª›P_U„çù­˜awdÿ¬ÂŠvÅ«>£à^&þ+®B}C Šs®c—Œ ×È;ÐÎ8ô—¯ñƒ�ò¢µeOpÄߢ=�ð•ÝÐô£ >„\¨Ð‹æÒÇ[‚©ú^‚xo8{lÅÙŒÿPZU‹š÷ï�¾_¶ìŒ�}5MMh¨«BÉë8íg®/®×M˜¤=ÙµÁI¼;ŽàÄ|�hæP}u;üãžé7©©Ð’¹>;3umf&ð>}|ΠáG™ÙŽë[û"à#i×Mýw$àq»ŒÀ ÷Ñø­ôtÕåè¿§žÂ»ä@Hc³.)4,Ó×FÁP çÕY„Ë= ûà@V º­ÕÉô»¦¯Yµ)ì0SÝxx*>b!ÜbÈü#�ò–ÝX§ÆXóß©H‚ í[á#�C±>À™ê-@ʾ0ýŽyÄުüZ�數÷ÃÝ]Yð\+°^_¶}ʸ±MŠ]÷º´{˜Ivÿ‰Ü¸IqÅÂζq�ÝÁ¿2‘‘'·Ÿ4î(Ÿé‡‹û »â�à~Í×…õÿ%ë`­=C ß5úÈ0p[v�sƒïpN{èÁ¨Óg_æ{!Ê7 �ºØ«aÔïÈÅÉþ Åð�4ßÙ?õ±ç÷†ÂS$„Ø;×ß�kûÂÚÛ¦�rèvˆtW® r“žD ­³›�3‹ülð7=[ŽûÖÞÛYØÕ˜ì)@ZÂn„øJ!pw‡‡§?¶LAnËBZuþS Îï �T(€Ø; I¹tæT£ÚËÝv.w;‰'õ&—»Ù\cŸE×ëTìa/esw‡ÐþÁ‘8ùÔp•�µk IDATÙ�ÌtþK=Œ­^‰}°}_ ü…ž¸X¡ßˆ£ÁûûɈ ‘ÃC €X„ØK…e÷gN‡È—¿ÜMñ�bàëá g'gðÅþØ�˜…¦“”ûƒ3é‡àÁ‡ç�ˆø»hÖ¯³±Â~Ü[€`£°³?(cûxkU޶âñ…8„Êà:;Á™'€—ÿV¸�§ÞE©ø äŸÑý@ÍæÍ›±ÙÙî_l?xÏê¿-1 þ¢¦úŒ¬=¾H|»Æ½ ¿b@ømušÃȧ/ŸÂÔÄw´æ$"0Ú®ÂÞ¿­¾«¨Ó¯ð‹½Ë4Yc·Ö·è3ó·½ùù‹Ê³³°oÇ+žb»Ør³ÞÆ©¿£2Ú�÷ã5ÈC;[�”½¸w0 2‰‘ÂöžÃÛݵ꫱Ão«ï_4�­Æ>6�%a§Y³ƒ0ý�» Êrð¦¤Mmh®ÎÕ}þ³;Å)F�ÙA:³MÁ¢öãÄÀ?ÅÀ¿!ìÌÊÓ"<@ ›þ—bgB:Þ™_×J#e,ˆb€ 6:ÿ†°S´úOE«½SRýIXˆb`= �°“è“èÄ1@ 8$ìäÌõDxô]š!Ä1à �°“°S¤N Ä1à@ �°ÛÉ™êé ÌVçaüùL·WgGË÷ÿ€]IØ×ßgIØíÐQl�x}ëÕÕ ºaVïyiÁ—¿°«g0ÔR‰º�PÛÁ.ËÌŠv¤†Šr¹ sêõüìùìØ&öžê�wÀË�‹Í›�±ýnf{"ÜCŽ‹å?�ý¬µÇ–µ­-ol­n+øÌÔ®NÎ<ø%`úw±aOÙòÃr6Pvãrá7Zt·L¶|¿Ü÷àÿ¶ÆÓßÙ¿7ú¹HØíÐl�hœ�{™ç òsf�€-¸˜éÜ:‰íþðœ�Àq• xçqdU~YŸ (š�äÅîû×WÎJmªÀÃøˆÏn‡r¥ßù+ŽS¢ñj¸²ýxXR�¶¶|ž‡r(ÇvÄâ~óêoµjË׫þÜ–µ­í"ìvmmDCÏèïa‘åÊž6²å‡åøµrË÷Ë}ßþok<]u_p[¬µÍ$ìvp¾-W#ìWCÓ0Ú?‚ü+yFq·æTf¢—· àäæ�øÔ‡È+.EI~îœ?†kEß×7®u0²ƒ ­µõ¯ýŒùŒ»QnJ­ÿû’?åC{ûßl×Õ2¾V?X ¹åûÕÖcok<ýkǃ¿ÐÆ$ìvpŠ-W*ì·¢nbztÿ‡ù?ÈÚ—¹„°Ï¡&5Nü­xÐ1i=Uoe@Q}~Ž­< Rëf¡QÏ =ç"½à89ƒ/öGÒ«A]@ ý®36mÚ¤pp¢@Õ(*3O ÌË Ž+äñxPûma=•ÁÛ‹{â-Ÿë'®;b/áÙó›8é � |qŽÝ«Ã$£ÖÕÝB fj/B´e³Éù7a““'®6èo¯«ø†’ÛDZÕGž‹¼£N"·}Üz0£CõýSˆ� Àåð òŽBV³þ7VÚ \µmqƒ|Û1`žµ³‹«õõe~ 6û4"½…à:;ÃÅÝÁQ‡ñ¼cšåüÄŒ¡,ý(¶ùKÀç8ÃÙÕ'_±½9 ðõpÕû/‡n”aD¥·©-ZØZ;H®×¦}Go��Dú²íu�$p/n÷CazÜR>´aW†ýþ²uµe/ 4K�Ó´n–620m‹ƒ5õ¥eüg)ä–ïMëë ¯m�§$ì+_®$a·Cç°¢Aد…_AËÛf\ö¿`mÃÿ~µ‚ÁÿQÿ_dÌ2ûÿ"�g«qTÌ�÷™2ÛkÒˆâC]Ä8”QŠÖ®N4¿/@õGƒpêRñÛÒÊÐÓÛ‹ÞÞ�ø>Å@£™Cã�HpùAH~\Œúº2øa—Ñ6ÉÖaµW"À“îÆÝ¢t¶–ãöAo8{žD�öÿ¦ÐÏ¡éV\ø�Hº_€š†:”¢uDµº¶Ì@EMªKsq.J¬;k½ù'½1Úéó”f®«×Å y¨ª¯GÅ«óàðqºdzyaןÃkßm”Õ6 ¡º ­_”ÐhÔÿPƒÒšftt4ã]V<<9B$�™g<,ò¡…­WåS[v0í;úúòãnnªªÞ!ëT8x\«3üDè2>´a×ÕÔu±½–9ç¢6¸"äj“n}[_™�ö¯­/-ã?K!·|oZ_}mk<]4:hûíÑNv;Àa Dƒx—g•ƒýû18ŠëáWŒâý_ÊKüïÿýüÏÿý<ŽÏ6~nøž¥ƒ•ƒOÎåâà‹oÖg©l[–öÙú4ˆ9þHo¶2ã·ò]¶ÌD)]}¯ga†®@úVWˆ�¾ÕmnZ$ zìÇ#õóúÙä\NH]°#S_΢ïÄY'Š<âßhYÖ‡ÖÊX3:––=çRm°RSÖÒ—–õŸ¥�[¾7­¯ƒ¾¶5ž.²�ƒ¶ßí$a·¶@4tŠ,ïڵ⮘R k_Jî¼Ãÿûÿÿßÿþx‘øl‘¨³ßµt°rà1¸\Äå,ˆ›å1Ë »f¾÷÷ÉáÌ“a×é;(îÕÍNX;Ø…ÙÖtȹr¤·ègöZ›)Q› Žÿet+ÔVÅîgA8.±x7Îθ5Ð(?âZ!WMfD b£k‹ã ×àÇãTþg£ˆ³u�9m�“3ŽááŒ-›98”knëõÕ ôÖÿ·|[˜ŸùØÅã!©xÚj[Ùº› û\Û-xså¸Ñ´`3û»¥·q(2�<øÎð=_µ*a·‹LûŽÔh”¨¾n`>(ÕXÖ‡VËÐh¿·þXŸ,{Î¥Ú`¥>f¬¡/i4ËøÏRÈ-ß›Ö×A_ÛOuãƒ!ø§ç¥ìAÂn‡Îa D£°{%ã¼ì,>ÖôjÅýÿçµÏ¬¨¿<—kUÔ­ »f¦‡…ø¥TaÞV½Í8#ã-ÌŠ ‚cXcg¿§žÁ@Í œ�õÏI€Ý-ºÔþÂ.ã¬^ا‹ÁáîFáO6ή“âf„‚Òô›Î¬ œS�8ãσÏÉBü4¬Å³tËMÈ8$çu£¿¿ßä1€áI}ùz›è޵¬ï‚°¯¥-êÉ"Äòx8U´2aŸm¹/Žnµê2lûÍ…}?Y± [†¢7!<7D�ÏA]Çôv–"9˜·&a_·L´Z_%ª.úƒxE'ìËùÐjzq^¬½VÃ�eVcÑ{�f¬¡/-ë?K!·|ojs}mk<ÕŽ!Úf{·�„Ý ØÑTØÙ×ìålƒMZQÇÿ ®¾µ)êV…]=…¢$8¹ïDnÿÂLÐ 65·×ÉbÌê¯ÿ5Û·~»›…KŠºUaggßßKïígQÎÜÉÁ»Š*¼//ÀÓ;p-oj� íw¢ÀqñGbv!ªëëñþåYøpt»âCUxö²�í]èh.Gú>¸AWЫTCÃLàå ¸ÞqxRV‡š²×(jùµf 7"áℳOJt›ç’t›ç2Úô×l[W+ìs=÷ìÂÇÎôJ|ÐnÞÓmàû¦Ý7�ªËaà¸øàØ�ÿPY×€šŠ·xüº 3Œ%Ø3¨f�åùãdƼ¯k@ué”÷°kñkk‹Ù€n¥­ìàb*ì¬- }á,ØŠÔœ 46½ÇË«û râé6Ï-ã'«B©Ñ`¾+7D_|‰ÚÖtwT %”¿ ì¶|¸¨Îv°ƒißіχ×Á ­oê*ßàÚ?pùaxÐaB—ñá¢:üº¶ºêüeι¨ &KCVêcÊÁZúÒܲþûŠÌ®p‹¼Œª�I¨‹÷¦õuÐ×¶ÆSpCXþ™„Ý�Èք�ýÌò‡hlg dåh+_ˆC({)û5|!|"öâòëí:«zn¯/î…�ˆ§-Îà ½u¯{˜ny€?p�6ÃÉEߨÈi[¸dl~°IÛåà;;ÁEè‹cO»uæT#¨ÌH@˜'{¹²ˆ#xPcr¹›•ApuÂÎàCV œ�—Ú-\rw,o\—ÊW £,ã$"ØËÇœœà"�a{rFLRöF›)†Qžqá¬�´—õ!9O¿f¿†¶˜è¶D×LØÙÙât/ž§ìE€Ô ‚£# uvEr©n³ßR~²u�Æp¹¢œ-[àìâ ±<‡³;ŒÙ «>´âÍzí`Úw˜ä_Ú‹`¹.Îl½„ð�IÄóf‹˜YʇÖêh8ÇêjÊŠ¸±<¿å{‹Tüšú’ñ9[þSc¸*;äB„j—¬,ß/?¨Ûm°Ý{¶5žnôvýÎú“°Ûz[ ²? ›²Ú߉g�Îó Ø¬ù� й~ý€©èËF0ÏÛbâ¯?/ù–l¼‘°5žn¤6ü麒°ÿBaw§çÙ�sËü”¬µ{YV) »|óç:˜ =ïžàea%ê[ZÑPù.ÄHáp ³úËÿ6tûH,ÿ[Žm{öõû—„݃«-çgçPt»ì­X­‰·µÏØY~Áõ·`ý%bv¨ @ëï(«¶!3�â+»á'ÀEû«s^Øvè Ê ëÍ NÄË€[ãéªûàhë¯j »œ¿ˆjµJ¥ …bEöXö;¿ÊáT. *1@ üÍ ,5žþÍõþ›êFÂnaϽFõœþ·ÈíPæß Õ…„€ ~ìÊŽ¥ãϯÐäf:B¾ã@Ÿ­ÎÓÂ8]ñª‰1Ò65Ø–žIPˆ�ƒõô¦JžhÇÒ©ò4Ž®c%a_‡ñ +æ¯ni�4¤‘è9�ìñŒl@ý€X5¹×Áмa|¥çÕv$ìvv<DíÌ]Ÿ–_5Ì$ÄÀ?ÌÀxÎ5íJ¢¾z!· ~HØí$ì–†¥÷뇓lH6$ˆb`õ �°“°SÊ‹ ˆbÀ� aw gRd»úÈ–lF6#ˆGc€„�„�"ub€ ˆb€„Ý�œéhQ'µ‡fRÄ1@ ¬žvvŠÔ‰b€ ˆvr&E¶«�lÉfd3b€p4HØIØ)R'ˆb€p HØÈ™ŽuR{h&E ÄÀê a'a§H� ˆbÀ� aw gRd»úÈ–lF6#ˆGc€„�„�"ub€ ˆb€„Ý�œéhQ'µ‡fRÄ1@ ¬žvvŠÔ‰b€ ˆvr&E¶«�lÉfd3b€p4~‰°«Õjܺuëߌ™¤ÆáÔ“n0¿2h`¾£ðÚqœÏíýµçù•m ²ÿÍ>B~'¿¿”�_&ì›6mú3⮞ÁPK%ê>N@ý'àQõáz˜+B®6Aõ+ϯìÆå >Âo´¬ÿ<¶l¦hGj¨!—«0§¦¨ÞÑ¢zj1M 8&¿TØW,îÌ<Þë÷mWÑ>©2�dæ«/pÁÞ'ŸV&ÔŠ&$yñ°ëþÇ•ooñ݈ÂnËfª<Œß�øìv(ím'*Ïœs²Ùƒ ìÄÀ/vVܯ^½º´Ãô¾ióȽÀW¥záxö[˜:Ýž3v[Ânz>zmÝd² 1@ üe üa_VÜõÂÎ݉í"Wì¸Õ„YCêך°+¾¡äöqlõ�çâ﨓Èm×Íе"å öœº' FQvÖÜà«øhæëpBÊþ§Ÿõ3{5¾¿Š×í Ê&hT£¨Ì<�0/7p8®�GÄãAí·…õlf eéG±Í_>Çήž8ùê Ô3vf²—#ðÜÿŸ& ‚zí9çé-ÇÉ|±?’^ .d–j§5a_êxö|ª1Tß?…™\"ï(d5Ï@cÕf“ÐX´E›¶[Ö.#x{q/B|$på:Á‰ëù¶cxÖòs¡]Y' t¤c¦#ɯäו�ß&ìKŠ»^Ø…GßâsåEÈyr¤”~× Á"aŸEí•ð¤»q·¨�­å¸}ÐΞ'Q7ÉèEЇmieèéíEoïG|Ÿb0Vx<Þ.ä�èRýó=™pÞɉ"ýúñú]¦�‹„}™ã5shº~ ’î ¦¡å…heí¡Ÿ±[Úl±°¯Ü.²ƒ¨¨©Cui.ÎE‰uþ™b(²§ † ˆ�_ÌÀov›;å�ž…zÍw¢Á—ìGÁg4ÂÎŒ¿Ã>w7{3lœª¾å ÒEˆ”Ši£HY®±«†_!š/Àé’qh4j =ݾ›;\}Σc^ �² —ùØ‘ÙåD)]}¯ga†®@úVWˆ�¾Å4›M°6›e�eø<5¯á�ˆªa‹}z§ÎÖ§AÌñGzóä"Зm§…°/w¼z¢qú6-ÚÔg+oh‹~# ³F»ÌwÞ…×Wê A Í$þÕ™µ›Ø'~=¿MØmŠ:+r¦ÂξW âþ1D»àÓT•Ùæ¹ÙÖtÈœ¶ÀÉ™ÇðpÆ–ÍʆږH1_�¹Ã ¾)UP0xyØ ûoßC¬0ÙP>A8?™]s`Ï!çÊ‘Þb*DJÔ¦ƒãÝlJÝBôŒ°j?çÃÅÍ Îœdt˜–aáÐù>Üß'‡3O†]§ï ¸sÔ¸Ã}ÙvZûrÇ[o“¾>¶lfÑFëe,oæg>vñxH*Ög;ô��Ñfô~Q`G¶±è+Ä1B ¬˜�ß"ìKŠ:ë,Ka×h ü’‡=›‰C&»âg[nBÆ‘ 9¯ýýý&� ³;êm‰”†A÷½h¸ø]DÇÏJñ܆§}_ñ0V„=Ù}x¶<ÿKèžWk…]ÆYŸ°ûìKÄ>ž6 ß:a}Æ®¼Õ3¨y�ó±þà9 °;£E»4°l;-…}»èʳlÓê…}-vQO!–Çé"vllb€øÕ üra_VÔm;›.ÿœ—ß<'Žñr7æGbÝ8ØvËÆ%XŠvœ÷ãY½¾[Ñÿ!<\¼yÒv#ƒ¾‡{ ˆNEÚ.!B¯6i/ëb&Jp@ÀEô½f©ø[ÛØT|ÞÊRñW›0ó¹‡ä.�î‚Ï–çEŸ3¨K ‡³4 Mój,ÛNƒ°_×]ǾÜñÌ�BìucÛÔcÌ á²e3‹ûZíBÂN™‘µEÜ“mÈ6Ä€½ø¥Â¾"Q·)ììL~Ïã<±y“³QØ5šiT]ÇÅÇîü‡ÊºÔT¼Åã×M˜aØïLàå ¸ÞqxRV‡š²×(jù¡[�W}ÂÝ(W8s\¡ÿaÕÐSDð8pæú#£sNŸê˜CÃ�H¸¸áì“Ýæ¹$Ýæ¹Œ¶)Ý1¢gtŒÅçSí÷êÊGô�ÖE?ò¢ªÂ³—%hlïBGs9Ò÷ÉÀ º‚^íÎýåÚù™;\áyU“P«—9^3ƒjÖn<œÌxƒ÷u ¨.}ƒòžiÛ6³h‹F³6»�°ÓÀeì$ì+N§’ͨ߬•�_&ì+õ¥„�MÉþ1®‰°³kðÃ(Ë8‰o!¸NNpȰ=9#Œîr²ùÁ"$m—ƒïì¡/Ž=5ü¼«Ÿrãà DV·B×Á˜¯ÈŒvoû]|V™\ަAeFÂ<ÙËÝø�EÁƒ“Ë݉žÂEŸ+Ñ�½<^(îwݱÓ-ãç®Óf8¹àu9múËöX»,ÙN5†«Ò±C.DhZ½îd–<^W^yÆ „³—»i/¯ Bržîr?«6[ÔvsàêíBÂNÔZ(ú±C ¬ž�_"ìäˆÕ;‚lF6#ˆb€°$ì”¤Ô 1@ Ä€1@Âî@δG¤GeÐŒ� ˆ��Í ; ;EêÄ1@ Ä »9“¢ì�e“ÿÈÄ1`HØIØ)R'ˆb€p HØÈ™öˆô¨ š1Ä1°± a'a§H� ˆbÀ� aw gR”½±£lòù� ìÁ ; ;EêÄ1@ Ä »9Ó‘•A3b€ 66$ì$ì©Ä1@ 8$ìäLв7v”Mþ#ÿÄ€= a'a§H� ˆbÀ� aw gÚ#Ò£2hÆ@ ÄÀÆf€„�„�"ub€ ˆb€„Ý�œIQöÆŽ²Éä?b€°$ì$ì©Ä1@ 8$ìäL{DzT͈b€ØØ �°“°S¤N Ä1à@ �°;�3)ÊÞØQ6ù�üG ö`€„�„�"ub€ ˆb€„Ý�œi�H�Ê 1@ ›vvŠÔ‰b€ ˆvr&EÙ;Ê&ÿ‘ÿˆbÀ �°“°S¤N Ä1à@ �°;�3íéQ4c ˆb`c3@ÂNÂN‘:1@ Ä€1@Âî@Τ({cGÙä?ò1@ ؃vvŠÔ‰b€ ˆvr¦="=*ƒf Ä1@ llHØIØ)R'ˆb€p HØÈ™eoì(›üGþ#ˆ{0@ÂNÂN‘:1@ Ä€1@Âî@δG¤GeÐŒ� ˆ��Í ; ;EêÄ1@ Ä »9“¢ì�e“ÿÈÄ1`HØIØ)R'ˆb€p HØÈ™öˆô¨ š1Ä1°± a'a§H� ˆbÀ� aw gR”½±£lòù� ìÁ ; ;EêÄ1@ Ä »9Ó‘•A3b€ 66$ì$ì©Ä1@ 8$ìäLв7v”Mþ#ÿÄ€= a'a§H� ˆbÀ� aw gÚ#Ò£2hÆ@ ÄÀÆf€„�„�"ub€ ˆb€„Ý�œIQöÆŽ²Éä?b€°$ì$ì©Ä1@ 8$ìäL{DzT͈b€ØØ �°“°S¤N Ä1à@ �°;�3)ÊÞØQ6ù�üG ö`€„�„�"ub€ ˆb€„Ý�œi�H�Ê 1@ ›vvŠÔ‰b€ ˆvr&EÙ;Ê&ÿ‘ÿˆbÀ �°“°S¤N Ä1à@ �°;�3íéQ4c ˆb`c3@ÂNÂN‘:1@ Ä€1@Âî@Τ({cGÙä?ò1@ ؃vvŠÔ‰b€ ˆvr¦="=*ƒf Ä1@ llHØIØ)R'ˆ�ÿ¿½sýnªJãðü]óͶIÓ¦,-7‘«Š¢Ž‚#Ì0è UgÐEDY2ºï@•ko”¡”«°°‚ å¢PK)mÚµ~³NhJ9ir²K8;χ,Úôô�¼¿gïç}OÒ`À"»EaÒeû»Ë&?òƒ0ÁbGìtê001€Ø- ÓD§Ç9˜``Àß vÄN§00`ˆÝ¢0é²ýÝe“ùÁ ˜`±#v:u€€‹@ì…i¢ÓãL 00ào;b§S‡€°ˆÄnQ˜tÙþî²É�ü`L0€Ø;�: À À€E v‹Â4Ñéq&€ð7ª+bÈIDATˆ±Ó©Ã À XÄb·(LºlwÙäG~0&@ìˆ�N``À"»Eašèô8 À ø›ÄŽØéÔa`,b±[&]¶¿»lò#?€ vÄN§00`ˆÝ¢0Mtzœƒ‰`üÍbGìtê001€Ø- “.Ûß]6ù‘ À€ ;b§S‡€°ˆÄnQ˜&:=ÎÁÄ0þf±#v:u€€‹@ì…I—íï.›üÈ`Àˆ±Ó©Ã À XÄb·(L�ç`b€€3€Ø;�: À À€E v‹Â¤Ëöw—M~ä0`‚ÄŽØéÔa`,b±[¦‰N�s01À À€¿@ìˆ�N``À"»EaÒeû»Ë&?òƒ0ÁbGìtê001€Ø- ÓD§Ç9˜``Àß vÄN§00`ˆÝ¢0é²ýÝe“ùÁ ˜`±#v:u€€‹@ì…i¢ÓãL 00ào;b§S‡€°ˆÄnQ˜tÙþî²É�ü`L0€Ø;�: À À€E v‹Â4Ñéq&€ð7ˆ±Ó©Ã À XÄb·(LºlwÙäG~0&@ìˆ�N``À"»Eašèô8 À ø›ÄŽØéÔa`,b±[&]¶¿»lò#?€ vÄN§00`ˆÝ¢0Mtzœƒ‰`üÍbGìtê001€Ø- “.Ûß]6ù‘ À€ ;b§S‡€°ˆÄnQ˜&:=ÎÁÄ0þf±#v:u€€‹@ì…I—íï.›üÈ`Àˆ±Ó©Ã À XÄb·(L�ç`b€€3€Ø;�: À À€E v‹Â¤Ëöw—M~ä0`‚ÄŽØéÔa`,b±[¦‰N�s01À À€¿@ìˆ�N``À"»EaÒeû»Ë&?òƒ0ÁbGìtê001€Ø- ÓD§Ç9˜``Àß vÄN§00`ˆÝ¢0é²ýÝe“ùÁ ˜`±#v:u€€‹@ì…i¢ÓãL 00ào;b§S‡€°ˆÄnQ˜tÙþî²É�ü`L0€Ø;�: À À€E v‹Â4Ñéq&€ð7ˆ±Ó©Ã À XÄb·(LºlwÙäG~0&@ìˆ�N``À"»Eašèô8GvCOO�:::T__¯C‡q˰���Ñú9uôÊ"dÇdW?ë>Û ;b÷¼�zÝxmý>G(MMM:{ö¬5<<Ì-Ãôõõéܹsjnn–¹“AöÌ‘Aö5Ìvíg›bGìˆÝΤ~æÌdž¡Ì“m‚NÛÛÛ3f“ ÌI‰ ÌÕ2ãéÜç5ÄnhS·u åy¥iÞ¹üîtÚé,XŽI½iö÷÷˹™)d�º®™pGæj™IÝã�õšbGìož™n¶ùr¼óÚZü¢äãì6F§ž™²CÙÕ<‘Y20[ÏÄú¦ó¹— ;bÏxóÌt³Í—㑊ÙMЈFd�Ž,ýtŒ—u€Ø;b7ÄRA*~F:�Õ‹TX¹_ˆÝЦž/S)ÏÓý5w6´Üohd@é4,~:ÆKs…Ø;»!� Rñ“0Òy¬^¤Â:Èý:@ì†6u&Y÷I6_jÆ–û � È �†ÅOÇxi®;bgb7Ä@ÞI%Ò­=o=¯×vžRÄÀÏ®'n¶^64k2ˆ\ÐîÕKõâ:Ç¥¶‰µvû<¯3HdzèŠZ>Y§Mu]w5/ vC›z¾L¥ƒIäžûЯúhq¹î»ï¾„[@Ëvvkhð'm[þ¸–Ø®�t¸Ïäøe‚Ø mÐL¥îS)µq¯Íxˆ=rµU«®PQÙL-_³M_·O{w}ª÷^_¡·ê. ö„5?$Ê.úùˆ`J­WK[›Z�4¨nç»Z2­T�š—õß߇²“{Ž$’ø\½He\3ˆÕýñuj:zTGGoÇtúÒ�ìj>V#�£L¼dÀÄž°1 .wqQ›Ôµ1¿¡]WÓêÙ* /ÐÖŽ—M+¢S;^Ðôûà TZõ –­ß¯‹ƒ#b‰\Ð7ÿzF³§MT¸¸HEÅeª~x…>9öÛ­¦ rY�¼¨ùÕ*†4aêcÚÒ:2uÞ8¯½ï>¯Ó&(*WÍ•ÚÙ~åæ÷æõÄ~sr,ÿËW·]ò½úÝK* >¤­?:’#G$nµO�H¤§M«ThÒ³ÛuæF–MÃX‹ûº©˜_qo{ÙÒÏÕ÷8G’„º �ÅâñC½jß±J�ÔTF×S¸j¦j¿èºÉ{ôØR•Nš®êÊ�ÉÖR²Ç”å}^2@ìˆ�Kñ†0¾¡õ5éoUAÕ¼²ÿ6yŒnbÑ cHWN6is«::Zõí–嚬TmÝåÛ6£)ÏmÖÁæÃjÚ¿Sÿ|¬J�É+ÕÒãâºZ7,T(ü j·îVó‘Ã:°{�Ž_tþ:]Ÿš×ÎWhÒŸ´©îˆN´ÐÆ?×D¿÷°ó½ˆ]£bº¡+¿Ó–eSšöëuj;F6©j'œ�þ.mÿóU,xSí=—/N~YŠ$ž//R1¾âŸÏ¨Ø?ÓïƒÑ¿¢èü%ÅHd¤Ù‰«[ô}#2vå?áø'?ЬâûµlÓ>ïü^­ »Õxjäï?Œœë�§Öj×�&>ô…^_41n-Ý; vC›:Ólêi6êczCøy»æõܧçoM×ñ›\²�»´~AX­9ró5Æ„�ËÙ´ûO¼§éÁIz³¥OCW÷ié„�žxÿ‡;Þ¤¹ò­–”—iÅW·.ùþo‡ UjÕÁ^ľ¸\…*,,Œ¾Îî¼î[P2Skv'Ï+!›TµŽå¶z—¾xi–ÊfÖªáÂÝÿSÀ÷ªØ_cÌ\£†4Z·Ø›cuŒ}žÀâñ}-k418CZ“\!Kv®ï7�®¥ø†ÈäÇ^2@ìˆ�‰ÝÆÅÞõQTìKw¸ˆ"*öêÚ·QË}PT”©bâÝhÚk�®b�ü¶KO•”¨ö»^õµmPu°Fï»ó¯Òõµ½£ê¢B‚ c·€ FÞ¨ÄÄ®ðÓïëÄÉ“:y²Sm‡¿Õ–Ú ‡¦imã¯N�MªÚßN©Bea‚3µ¹ãÎ|LÊÃí\^¤bzÜöØb¯±/Ú ÖŽ9¦×¹�8uþæU­Dù&~><¬xþÅ>ÜZ[—T+P2YO½üžöv^¼Õð&;וݣké¶Ç™¬éöxŸ— »¡M=&Ržcê«Æ7´k‡´¬2¨é«\/Åß8¹MsJÊôØk;t¸ãG�<±O¯Î.I)ö¡ž:=SR¢ë±¯O!vçkõê×�:}útÜ­KÝ=ƒLì‹Ëo]Š�mÚÑf§DU/ìQïÙ¤ª}LìS—¼¤%SKT±`­Ž_½»—áQy‘Šñu«­óïè¥ø4_cO"ãxþï{ôÿ¸¦Ÿš>ÕkÏÌPIQ¹žÚt,yÓ0<¬ÛÎÿ8 ~ì%ÄŽØ™Ø 1`|Cú]uµSUTñ¤vžN>±]Ùý‚ÅOkÏo#—i#ÝÚòDyÚb�üºG‹Ë‹“_Šÿu·ž) ê‘ .?:42±Ï[wìÖT“ã ÍxnÏgD0£¯±ÇŽë;ª—kŠ5©v¿.�‘MªÚÇ çÚÙ:-­.ÖÏn×/wñ�sy+öX–Ã×txÍ<¨Uk’Ëüˆ=õ¤Ã$H}l``<¤2ؽOËkB L˜¯WßÛ¡o6¨þÀn}¼ñu­û¦K×;7kF°\‹þý™š�ŸP牃Z5·4m±÷ªqõ<Kfh忝TßrDMû¾Ò�zå|­á�¹ †¦iÅÆÏuÈùÚÁoôÑ—­º6ä¼£ûœ6?VÙ#o¨áçžä¯+�n’™¿±Èˤ2$½Ä:zIøm5=ª#‡´÷Ë­zåñÉ §k]Ëõ�•MªÚ'Lš¿·¿¯¹áR-ÚxÜõêMÒÇ™EýóQìgôñg{u´£S­´aÉ?ô¦N%{ý±#.ÄÅsHÍñxIeðÒqm}©æ:?Žæü‚šÒJM�¿Xo|ù£†¯E<çÑ©• * «ªz–þº­ãæ� g³¾ãòá@·lþ{ôÇÝœ™ WÍÒ?¾>{SÔÎ×6­ÔüšJ)T1E _ýZ#ލ‡t¡aƒ«®Ôœµ#oÖËR$ñrº·Åîü‚š‡TYPAA� Å*Ÿ8]�>·JŸ´œ¹‚1F6N­ÜjGnúaÛÓ*)™«¾¿~×ÞÏe0Ηâ{�}¨'fT©¸¨@…¡ M_øwíˆýxç™$YKù�­/p)ÞÐeX¤—ZzùPŸñ{l�çÛ¿^642ÈüÊH*®ÈÀl=SÕÚík^2@ìˆ�ר 1€TÌn‚^642 7Aúõ~/ë±ÚÔóa"å9¦¾*�T�Š_åáö¸½H…u�ûu€Ø;»!ØÐr¿¡‘¸5)~½ßKs…Ø mêL³©§Ù|¨RA*~•‡Ûãö"ÖAî×bGìLì†`CËý†FdàÖ¤øõ~/Íb7´©çÃDÊsL}U© ¿ÊÃíq{‘ ë ÷ë±#v&vC °¡å~C#2pkRüz¿—æ ±ÚÔ™fSO³ùPŸÆÆFõ÷÷ßµ_â×�*�ÇíÔ±¾¾>㦓 ̉� ÌÕ2æ“ã5ÄŽØ3Þ<óAÒ^žc{{»Îœ9ƒØ üö­®®.µµµeÌ&˜“˜«e2i§sŸ× ;bÏxóô"½|øž‹/ª¥¥%*÷¾¾ä´%�ÅœÏÇ8ÊÙ³gåLÞN=3å† ²—d_Ãl×p¶ vÄžñæ™éf›/Ç_¿~]ÝÝÝr¦FGLÎkcÜ2«�S7§~çÏŸ�¾¬‘);d�Y½“ñIÙ×0Y]3¹/Û ;bGìp:í«W¯êòå˺té· kàÔÍ©ŸSÇL¥;ž ²ãŽ ²«Ÿ‰uŸmˆÝà¦ÛXø—7ÒÁ À äŠÄŽØ=OF¹‚–ÿ— `Ü@숱à À XÄb·(L:X÷–ÚP€�|a±#v:u€€‹@ì…™/Ý(Ï“É `Ü@ìˆ�N``À"»EaÒÁºw°Ô†ÚÀ ä ˆ±Ó©Ã À XÄb·(Ì|éFyžL^00àÎbGìtê0010*ö‘þÈ¿  ¬€ð3ÿ3VOÞ OäIEND®B`‚liquidctl-1.16.0/docs/developer/images/create_vm_8.png000066400000000000000000003103701515166127400226710ustar00rootroot00000000000000‰PNG  IHDRO°@�Db IDATxì½TTY¾ïï½µæ¾;wúvšîž;=ÿžžwgºgÞ„;Ób$³‚ED1gmmS·¡Í¡Õ6Çn#æ„EQT‚  *ˆä Eð}kŸ* (RQªðËZ‡ çì}öùîÏÙµ¿ç·Ï>íÚñ� P*@¨ T€ P*@¨ T€ P*@¨ T€ P*@¨ T€ P*@¨ T€ P*@¨ T€ P*@¨ T€ P*@¨ T€ P*@¨ T€ P*@¨ T€ P*@¨ T€ P*`°¿l×®ÝÚµk÷ÏvíÚuh×®]'.Ô€ �2@È d€ �f@øá_„�~¦Ùÿþ?±³>ø`”u‡é2;»2gGG¸89q¡d€ �2@È d€ ˜,·ÿÒÉÚ:ý·¿ýíH­‰þ¦YþDÆýŸü㪓ƒlºuCÇ`Ù¾=j@È d€ �2@È€I3ÐÁÂBò/ݺt�£ƒþþ·¿]þ¦]»vÍb þ Œ“½­-ÄŽišhÉ d€ �2@È0Wìml* ”Æ×¤¿üä“OFÙÙØÐ4ñŠ d€ �2@È m‚a >øàƒM}Ô:wì˜Âˆ¯,˜ë•–›ì’2@È d€ è3 åëØñY»ví>oÊÐÓ?;Y[¿Ôß?@2@È d€ �2@Ì™ás´³ð5™ê`meUn΢°ì<©É d€ �2@ÈÐg@øíã—šÌq_F·Éd±uÍ™¬ÃW5‡ê ·ªÛLé­CøD†Ô#Í ƒ@1&nÓº õ7ý­û,ǃbÔª"œÿÆ VÆ•ÛdÍ“E¸�þa%(I>UmLÇí"âÓòQ\��Økû0­O·ªõ-Ø[ué�ikãVl òŠŠQ˜�‚ûÁX9¾wuSbÕ[£ ¡V«k.E×1Ó¡ƒT~ç¯Ï£X¥†ªè¾ï×¹ú1uˆ½±EP©x°m$:X´‡E§18—­€Z•�#“í*··èè‹©%P«‹qr¦¬ò{éüîê�³i%P+R°Ëˆ¶\%]3@ÊÓÒ²ü6…"_©†2??Žê�ùç2 R«Q³ý­«›­ŽýV!V®‚Z‘Š}þöhì1°Í1îÜ¥nÔ� 4=?zèE�†[Aùಷέa ÄwbÝS=eèð=š§ü±æÉÒô' 5¥¦fÇ€¥|l® ³Ð§«Ž±hd[dræÉÂ6ÝGcõÑd+”’Ѩfž,m0å用ÔP– 7_•ZyòIŒ“i HKÕ¥•Í0ìË€²6C¤ÌAÈú‘èZÕ©4O*”å#''§rÉM ÄTû°´°Äàuá(‘òS"éø ØXj�Š…<æœCžRµZ…Ì3_KæÌó$›tÙ JžÀ°®}õÌ“5~w™ Tò§84½§d¨§HiÔ%ñX7H'Òia‰!ë5e.yzÞ�¬} -U_ÜÛy2@bàÞ š³ê “„²RäìXXi jû®bh_Ô`Ãt¦yjd‡¥¡ÊãzÃÀ£NÔ©Í0`i�Å—s R+¿{4¬-,`Ýs)¢‹•ÈœÑ ·�†«y ¨Oðã¨Išˆƒâ)¶ ïË}±4 Ñ IÈÈ.€¼¸i 7±ÁPt«è€·o+›Xz(O²ŠP\�Ї ©Rç¿Ú°=+F/?„;‰(**@Z|ö-;‘OcËém‹ãÖãRT2òŠå(ÌNEÂÝýð¯ËèXuÇw $CT\T…J]-òÔ¡Çwˆ,TBU’€-#`ÕuöÅC­’ãæ*OMäD¿=®ïxĶjW�5‹Î¿7NÒN™ÿøÀÝÎŽ=}°êtä"zTò›¼m4QŸJó¤áÑ/§…5&þœ\iÆT…aø¶gGMzë~Øq¿PŠþˆèUAè¸YY4>òdiƒ¹§Ó¥!{q»üбZ¹£ïÌ£x&WB¥HDžŃЩÂüuƒÓÏE$K�û[GJ|Jztè‡�Bµ±;F¡£ÇPMW}Mø¹zÔ�zP2Ðl ˆg7U ýW]³¤û^»ŠÏ†L_NóD˜› fþ°Ò ½ XX¢Ï’ëR§» t5\­,á2û ”ZóÐÉ]FlÇs1x€‘öþÕÌSUB‰¢œ4¤eB©RKC³öŒqМŸVNøöÂs©s®R ýy "’¡sÏ“eWŒÝ-•C­*A~NžåQ« pk�7:6²œ¾=fãF®V&GFâ}DÅ MÎ@‡~Øñ jщ÷޽ñÅ(ÉÍA�¢� àÛÀl¨”¹8>Ó¹ªÓ¬íð×0V±åj5r/|#El&–&(y~´2ò£Ï“ÍøCÒ}5Š´cðí¬�ÙÎÀõBa¨ž`ó°®°lD9-» Ãþ‡šaxŠ‚Ü:¶“ûÙÁÊÂ3Ži&!ÐL¢ BjÀ4ÉäUèZ›yØHódÈñ¢]E™*^»ŽÜ‰TažŠ#ð]ÅÐºŠŽ�…†oŽ–´,ô²J“¢Bqn:RRR´K2‚× Ó˜ÉžØ+† æáÈdWL=œ¥ª7�C‚\‰¼ÛkÑËkbŠUP^Æ«* ™0ÂR†%W²¥ '"6ykö©[®âb¨¤É*qxVŸêÑ4qlVX;_ŠŒ==<�»øâx²je.ÎÎõÐLZbÄ1ThÊW¶©d€ ´&b¨]mQ$ݨ“¸ï©"¥{”~:Û«øAä+ ) ÍÉ€…|¶ˆ!h%?zŠ‹qsó\É*AúÅ£¸œ^e^f8v¨ê4×cž†nˆ�:ðyçkÍ“Öeœ„ŸÖÕ0Oã 0O�(§ø!´¶„[Ï"6CÌ'fp»�5Cì�0Opùú<ŠTbØž6r"•E˜ÄÚ‡íÙp<µ™'}íôЭ{kg;T¤a¯Õ,wÒvÝ0ïL¦tßVþõe�‰¡„•&¥î{ž,:ÇÑgr)ê·s”MU¤GL ¡ÈƉYnèà¶aE*¨‹Bñ�‹5Ĭz'ÅÌyêbÎs¯œuÑ¢Ûd\÷ÇIFLS¾®ß 4_ µüVzj¢€ºåº³y¾?÷DºÏLUô{&èÍâha·¯ÏhÌuÖE,\xL3ñÄó“m£1ÚÆƒ¾¶üÌ4 ­Á@'ËöˆbQÃ@Õf–jû®Â@‰I' )?‡í5g‡Šy¡! rÃNhêÔz:u² �K”P*PÊc±z +¾»”-}V¨TȺ¸ö–:÷º4ÂŽETT<²Š•P+s*�£>=j3O––v˜ðDš Cwªò’g§1¾¶ü 8ƒ´ÓoãÅÄ3ŽK÷d©U ¤E�Ǟͱíç‹HÈQhf ||£´f³*ÂSsªòœœ Ÿå K»™¸!£¬òê K ÈFoÀåàk80¯¿d -ºNF�ئ$?ƒea§±û�,×Lë^í9R*Ÿ¥�|¹c]h>T*9BVzVF¨ªÊU³²÷Åá8ÍPË‚»0Dw*| + Y¦aBŠ"ÞÂzNÜŒCz~1JŠóñ<>G×L„›6"V±+ ÷=tÌNe¹ªÌ“` Û µˆ÷¹©ä¸¿sLÕóª„þŽÓq5K TâÉÑ©èV1�yûöƃÞq²ãg\Ç�ºQ72ðæ ÌsÔ{P®·e�¡|Õ ”Îz‘ÖÐ:`ä‰ ¿Á° ·{ó€RC2Ðü t´ë�Ñ_oA˜0ªDï�PÝh¶ö%­¹‹1´ïÆ Í,…­]&™d€ ˜0«]o vöhxzrÝßdš'@·¢ø¾ù;RÔ˜“�·� kx¯ •¦÷:¥'„#øÂ6Œ©m(aKÿ^XõÁ¶èB¨U…¸´¨gÕ�½–.÷ÇÎ2 fÄ€ˆ"‰axuE™*¾Û4&âTÑG y2#**�¯oa�œò‡‹ 4–Ý0h机ñ)Ù…(JØ‹Aëxp ÖC§�ë¤ç3©ò¯c¶s‡æ;þ<&þ~ñ÷‹ ��–` g§¯°µû¿popÍiÌC´‡˜`Â�iÉk++Í4øƒLÈ d€ �2@Úbsa¤vù âaºÆ&]EóÄ¥Í�(º€ó=¯p‘2@È d€ 44O4O4Od€ �2@È d€ ÀÍ“"5•Se>¼êAÈ d€ �2@Ì—š'š'^e d€ �2@È dÀhž ‰WÌ÷êëŽuGÈ d€ �2ÐT Ð<Ñ<ñ* d€ �2@È 0@ód€HMåT™¯z�2@È d€ �óe€æ‰æ‰WÈ d€ �2@È0€�&7OúãÁ…�2@È d€ �2ÐÖhró¤V«Á…�2@È d€ �2ÐÖ y¢Ù£Ù%d€ �2@È dÀhž ©­9f¯‘2@È d€ ��Æ3@óDóÄ« d€ �2@È d€ À@‹˜'U~ CÎ ûÈä^Ï…˜<ÙQpã4»¼*Óø«2ÔŒš‘2@È m‘�f7O¢ó™sl“Éw–iêhjkeàØ&(®Â´ÅÆ‘ÇÄ}2@È d@Ÿ�f7OÁ'$ã$^UE¼ŠÏލY0 L^ЉÝükÇÍ¢Ìú'7?³Á'd€ �2@È@Ó2Ðìæ©b¨‡?5mÅñDh~=…Ù—¢Q›hžhúÉ d€ �2@Ðìæ©b(;ûÍßÙ§ÆM¯1ùmzMÉ)5%d€ �2@Ì•š':h^E©‡š'6îæÚ¸³Üd— �2@È@Ó3@óTOÇ™À5=pæ¦iSš'En2NDâL?ÄuÁƒž�¤E¼Oœå‡Œ“‡ ¶17�X^ž'd€ �2@ÈÀÛÂÍÍ;ëõ0ÐæIYTˆg;~À½¾¶x4Ãé[¾EÞÉm(ºzE×JïÅwbݽ~vHÞ¹"ÍÛÒñ8ùƒKÈ d€ ˜ mÂ<•(бî°?æíè‹ ðCP(KØñ¬Ç˜ œ¦PÎ75OÅ©)¸7¢7bÇAæÞuÈþy²¶/BƦYÈØ0U³lš%}'ÖeîY‡ØñƒqϧDZSЀeà d€ �2@4 ´ ótñî>ì<; Ï·aû™1øv·>½ËŽ' Ô3ð&æI˜ŸÛ}?{Ò·®Ä³Eã‘üÍH<[臔Åcð|±¿´ˆ÷â;iÝ¢ñÒ¶ñ³ü¥´4Pü±â� d€ �2`: ˜½y*(ÊÅ7[{áQê¤ä¬EFÞ.„%¬Àü}Þ¸ãLPëUù6ÎÇÊcqP “¦ÿ¹�7cÍ“¢¨·‡öAÌ?<ûþ$ŽŒÄ‰ƒðdêP$ÍðFÒìHžã#-â½øN¬ÛˆmEš˜É£p{X(Š‹Ú.˦Î�~ùô?·ÎÙÖÕÓÖ±ŽÛnûúeÝ’2`fožŽ^]ƒÃAS�šû#Óg!%g®DÎÇæã“LyÖ�è…áko HÕŠ?ܪ<‰Fh|T�¨$k‡¹`äæ(D:ýÏ åU×~MEmù�5Oñ?nÀ�aý�´ôÄ�ôDÜȾˆõí‡ÀAîx0ÆS2I�'†X„aŠã)­‹ÙWÚ6Î×SJ{gX_ÄoÝhÚ,7T×õ­o,7õåUߺºx«/�X§_>ýÏ ¥¯k¿&Æ9ÍS+¶Á 1Äõm·ýcݲnÉ€Y2`Öæ)='s¶õDRÆ<Í\€Çó�’½ võERÚCã+D™ƒs˼ÑÃE;[[Ø98Á£ßPL˜¿W埯îI¢HÄOsÇbîþ(”è~oÈ{e&Lu‡Û¬(|Sã%Ãâ~Θ¸7¾eÍS]û}] Ñ®‘ÛcžJrrpÉÕñßLC¬ß`Ä í…XïÞ¸<ÂYÑ‘¸2q$¢GôAü¨~Ò"Þ_7Y÷ïá²Ïi[‘&ÆoâçMÇ%W”äæ¾wÊüDœßºc÷†³ƒ=d®½á=a>ö'7®Þ©_ƒ�òúÌ9£:oPû¦®KæÇú"d€ ��·€³6O;NÍÁé[3ð,{-¥ÍDJöz¿1 û.,z3xµ�6çñ?âvd$Ânß@à±­˜>ÈžKp7Oùfù¿)Xm¹Sù¦Ú4qzcÌSbÀ\ØñÓÇ#j€¢uǃ!=Qü âO]��‹þÃ1´'"‡öÄ%ÿáÒwb]уhi[‘F¤yè‹ÇÇŽÍœ2'kGyÀÞm0æ®û g.]Áåsؾr6>§yª�}s§ÿ¹¾´b]] JÇõFóNÓÈ( d€ 4'fkžž¦ÅH÷5=Nÿq)³ÿ|âRÖbÎÖžÈÌ}ÃYÊ´æÄ}ÎéjCêr.}gÙ0ì�•k~Øå)¸¼m>F èg'7xù/±¨ìªÎ¨2·ö/Áh¯îptp€“{_xû�#ÑÅP+°ÉÇÃÓ {S¦áìê©> 7\íaïèO¿y8‘U•_E‡Jß<5”VU€¨€åí噽\z Æâ“�5ùJ�;ØØØhžQ%â``OWmš¡˜½9i •æØõ;‘úŸJ_×~õuǬHGð®…ðéç™Ìž¾s±ïVŠæ^+±¾¡ã¯Ð͈WcÌSð_ÜñŠèáÙÏ÷<Ý%#7É/óó4ª°�c†ã¨¡Pæi¾{UTˆøiþÒ¶"�H=b à1£ŒìLáæºá°w…}ÑuE¯¨kCôUd dï·ðíïG™3zxùcOxAÃçI nt|rÞbœ7ç� óÖaÚˆ6ˆúQ?2@È€i1`¶æiÝÞž‰¸”ïýx2¥®À®³~8q£ îÑ7O*9²“ñ{¶œ~�ˆ|a qkƒ/œûLÂŽÀ;¸yÛfzÁ¡ï"„æŠÈT¶úÃÑiì<ƒ·oãÚÉ•"sÁ’Ëù5Í“d\ÐæN\»Š�+ǰܿ—&?ýH—~§²�´ò‡{0Ô©f"È÷~ýcžtéŒ{þ¾¸í!“–;=ÖÓIc†z;#r̨ $Ó$þ½(,D¤¿Â{;KÛˆmEšŠô"¯ƒ];ÅuÉãƒé舙GS*9m°£¬_W è«Ê¹‚YÚ:’&ÑÑ´¡ó¤Æ„ :iÕä¼Å8o� Ýzá{£ÎEjLSNÈh ˜¬y:{sVü<¼±êÀ(dç§I?XJ•ßí„‹wg âÑL„ÆúãþÓï°îÈP\ ?Ø4?jÚN›ëä]¸/¢1cz{�‚«ÓlÉDAäô··ƒ½ƒ 2YÅâ;[fKEá½­ðrôÄæ°*ãÓXó¤Ì:‡‰ÎÎX|Io’ :•ÕÒ'`ï4O88÷ÇÄ%Ûqé~ºf¨ èÕebÔr$^ن٣‡ ·‡î±®p½7s¡ÒûÜpúÔ¶_U�Žzîl '×aøþàeÍ„‹5Fì¼§½¿­F5êÔN·ž xoŒyŠ:€Ÿí�pÝÝWºvB�M'\µíŒÜ»aã”—�»Câš0Hö]¤÷/ò4ÃøÄ6b[‘F¤yülÃÇŒf\ñü æz9Á¡‡/–nÀÅk7pýêyÚ¾ Ï$6\× ê[€q.8Æ¢�§q=ôB®œÆÕX1mè<ÑãH·Nȹ4aDKpþ&?"LËN d€ ¼M ˜¤y*Qc÷ÙùX¼§?.Üž€‹wüpææ`\¸=W#&ã|èpœ½5WÂ&JÃû’#ŒîXÖZÙâ!¹K5ɵµµ…­ƒÜ{Ę™ËqøvJÕÕuy*‚v.‚¯˜ŠÜÞNý1fÙ¤)5Óy+óãpdÅT éã™Sx�óEW,»R×l{Ícžò#öaü žp´·…½“ú/DÀ½ª)Õ‹bñO¸8ØÃ©û@Ì;eåôæÝ!³³ƒƒ“+zyÃ×û£µÇ¯Bê�-ëÙ#ÖßF‰ZïsƒéÕ¨u¿µtÔÕŠ4ï\Ÿ¾bªrô÷�ƒ}7u¦*¯%Mkš§¢œlì`ƒóÎ.¸Ü­+.uî€Ë]¬qÝÕywî"t€§dŒ„9ªXÄwb�ØFl+¥éÖçœ\°ÑÚ"ÏZYÕ5õ¼/I�Ä�U³0BL%.’ëÒ|§bí©X”4TW†è+OÅÕ� 1Rä/M‡? ËÎ$i¢®õž'zÜèC#Í9ç�÷›œ#LK~È dÀLÒÐAÃp4hVè‹]§âùóçÒ6b[‘¦ÂH‰¼Dž­°2—6L >prp€“{?øÍÞ€«�k¿i¿ÕÊ©;LŠïkðb¬y*))Á³¸|o)ÆööØgíˆ}¶Ø×¾ö·ïZë"ÖIÛX;â‡ööøÞJ†”¸Gy‘�¶Ý³~Y¿d€ �2@̃“0O"R$ÌN~~>rss‘••…ôôtÉ%''ãñãÇxð0 +÷ûañî>Øyº?fnöÀý‡‘Ò:±�0Q"�H+òy‰²�ìò  d€ �2@ÈšÝ<†œ‘: ù׎C‘“Aè�Y0 ÊÏAÞ僻yW�šE™i˜ßÜ0SCjHÈ d€ ÔÇ@³›'a˜rNn•:¡C øºžz6 Žm‚0Rõ�D\ÇF– �2@È oÍnžH¢ó)E ´CøhžÌÄ8˜‹Ái†rfl”˜¥qz;Bþ౞É d€ �ChódHA¸ �%d€ �2@È dÀ” yâ=H’FÈ d€ �2@È€ Ð< ’)»_–�WgÈ d€ �2@È@Ë0@óDóÄ« d€ �2@È d€ ÀÍ“"ÑÉ·Œ“§ÎÔ™ �2@È dÀ” y¢yâU2@È d€ �2@ `€æÉ‘LÙý²l¼:CÈ d€ �2@Z†š'š'^e d€ �2@È dÀhž ‰N¾eœÊ_áEüqdͳÓä9ÜYÇÎC�&"[¯Q¦Ê@áæÞÈ©/Oÿ^(~¦‚ò¤wU¹ê܇5²‚2PúlR|´åóõ�²H�â�Ý+Ó?ßz åÊËHÓtS÷#EóTKC®|Ž çcå±8(Õµ¬çw0§ÆŸe%Ãd€ �2@ÏÍ“®yå•üTýk½¯(yþ&”–*Qø£ R6œFùËpdNê¨5#]�s·¯Âæ!yxgdž‰GYî 䮆Ôþ(ˆHCYîq¤ c5¢'ŠŸ½ÀˈõÈX2 iËÆ"urÇúóôitÍS§z÷‘òÔ¿¸…ÌñÖRù’æ¬ÃëÒ2¼¸>E{lÖȾš‰W÷—"yx•l+æçM�£M™'UžD#4>ªÆyÖ�è…áko H¥†º$k‡¹`äæ(“·¥©"d€ �2@Ú4O:æ)iƼ*}‰¢-.•Ñ™j�ðQã V¿–¢?Iã¦á…J‰¢-nšm…ñ*V x{w$��‚*9 7Uå“4y^½*Dþ [­yÒ5BóR_žÃU•¦¡}$Mœ‹—/ Q°Fܧe…ç»CP¦(DiÆ><Ñ(Ÿ~�§© ?àYû±êèRMƒ·ä{“0OÊœ^èG{[ØÚÚÂÁÉ }ùaöŠÝ¸‘˜ox#,Ãâ~Θ¸7¾qæI‘ˆŸæŽÅÜýQ( ž™§ü{;0ÌÙ“÷ÅjÊ.5Ø*dßÞ/G|}4QŠžå^^ g‡¾X’]‹ž <Ø3Ž2?$•hÖ+3q`ª;Üf�@¡0”m䇀ÇÁº$d€ �2`4O:fÀpó4O‡Û"/¢/¥H“%ž-?€2Õ-dN°FòÂ-(-+^¿Dù+Í"†ç¡\3×:ÍS}yê›§÷1Ü… *¨.ŒAÒðnÈ ËAñ¡•xQòÙ³;C:։șәæI‡� £hæIÓQwö߈�»a¸sëÎÙŠù£zÃÁy0V_N6løœ±æIߘ‘yR«‹±}œ\ýp0®H29ª¼0|?Ä}fEªRµZ…ǧÁÁÆN#· A.¾«j8i�˜ÖÃ6±íž&5ÍS5�tõâû*v¨µ d€ ´]LË<µöCrG��ªäT�u Ûۈץ*�ò¶Äó�gP®¼ŽŒñ]‘}-¯ÂHCà$có: û#eF�¥;ž�¶®Û<Õ“g­æ©¾}x[!ýÐ=”¦ïÅsÿ1PD!k† òA¾·R÷„ 4m�& U‹y¨0oë«)™§Qù3Ìõ‚}�鸘ªÐtfå)¸¼m>F èg'7xù/±¨lM¤I2O°±±Ñ.2,<Ÿ µZ‰¸€ØÓ2{¸ôŠÙ›ƒ�¦ÐšE6ù¸bøašazúæIU€¨€åíå¡M?‹O>n\tKǬ4ùMq<¶ú{ÀmÌv<*ÊCÈZÈzÏÄÅ­fjÂ6úÀ±Ï@xºôÄw�i:e—ãîÆ‘pñOÇîX\ Ñ™æ‰æ©9™eÞä‹ �2`ò ˜”y*S• ðüÞ&�„ˆ<ËÅäÛY—Ÿ¡¼ä²fw­¾½� ò"²Q^téã:Hë’FûAUX‚⟾…ª(k5ß��†ê×P\=� “"ÝóT5O× Ô•§¾yJjhÞ–Hšµ¯^>CAÀq¼N“GX!mÿ¼ŠÝŽ¢Øb(O¯½|å|‹_MÚ<©Õ�Ç£ S<�J]ˆ[|áÜgvÞÁýÈ«Ø6Ó }!4W µ6òä·>±qqˆ‹‹Çó<¥yÉ~xWn†#::÷ÌE_Yw,ÌИˆÌ“üá uê…Ù;¯ òÁ}„_?��øB“jôŠcŒ» FÍž/§Þøîü3ƒT‚ËKúÃmêO\;.#· ±Dciç1µG|{â¾ëç‚9'34ÇEódRõÛ䆛�Ö/ d€ 4À€I™'U|8^$Ç!iDÓÍþ&òyмuMJ]ï“Æú@þ¬åÅ1(:<™+F#óÇå�Çg¯RQ°¾j¶º§ÞÖȼ�„ò*”åAÚ¨ŠrwAÖ…G(W'£øÐl¤/ñFÆÊéÈÞ< Ibr†zÌS�yÖHÓÀ>„ñá†ÂD5Ê_© 86Tcì¦/Á«—¯Pþ29s9d¯.LÝ<©å·° — VÜ@qöELswüө•Æ@‘€ÑNݱâZ~¥yjðž'E"~ôuŰõw4÷ 5`ž o¯G/Ù`l Q,S Ï+³{d¶¶ð˜vÒp½Š²æãØlôœ…)'1Þ£Vç@­V j»?œ‡®GlA Ö{»aüí ƒ4O&\×õÊWÓ=Y7¬2@ÌŸ“2O™k'ååx••yÈIœÝ…‚“[‘{`e£‘F¤yˆ¼Dž"ïº:Êúß'ùõDΉSP§çh’[’eø>d-ÐD–t·Oš½¯_׌2%ù8"óðI¼È*@yék”ÉS¡¸4S3³] #T}¶»Zó¬%M½û�¢FVx¾ãÊ_?Bö×Z£4Ü…ñ*¼NXƒg:Ó¬ëß[œÌS^äô··ƒ½ƒ 2YÅâ;[fK…ªÎ{žäH¼² ³GAo7xôî�ž.¸ò†AæI]œ€½Ó<áàÜ—lÇ¥ûé¦7 _Q~ã'8èÜÿ$ýx)ŸcÏxwÉ€–¨ quÅxLú)Ù!XÐÏsŽ%C¥LÂ÷ª¡‹4O4O&{¡Àü;$ìT²É0LÊ<‰N{æêqPÆ„¢´(e*ŒýiE"/‘' AuƒF=ê×ÃÔÍ“Àcv<ÐÌZ¨ÌÆñ9}`k+ÃøÝµ3àøìîðøæŠEùižhžZ˜cv¾Úfç‹õÊz%æË€Ù™§ü£? ¶…�ÿê�êñfz˜’yr³Á¡·q+ä*Îúßøö‚}µ©ÊóqCÌ$ç4ó¶Ÿ@pèܼvN…¡@):ü98>§7½fá`P(n�B`D&Šì™ƭ>Ž[‘ш‰¾†#\êŽ<)Ÿa×XW¸�^‹‰¹�?¹�ÃÇ/ãnÔD‡_Å–iýá8lâ´“.´êƒ<[G»ÃÍ'W–GŽˆmþ�¹úápB1ÔòP,ìí„Iû+ï+¸Ë—îÀ�ÌŠùä8¿°\§F¶¸_JkžœÇ¬ÇÕ�›¸y³b E\šœÆ‚Æ‚ �2@È@gÀìÌMÁ›™êg˜~¦až´ɵÓ<$×ÞѽëzH®<A;Á׫;ííáäÑc–�Ašv‚„âÇ�X<Æ.öpê>óÅ@Y9ÕxwÈììààäŠ^žÃðõþhͽKúF¨UH½±c=»cÄúÛȉ؇ñƒzJñµwòÀ@ÿ…¸§�½UN’NÌ…«ãPìŒÖN1®-�*? K:¡÷×'�Qp ³\1+ày¥yªiøJpõ{/8ûïÂ3óT5í{ÕôïbF>U«·ù^Å«©;�…š�2@È€i2`ræ)Ù·2W�Eñ�otÏSù«(‰¸Š¬Í³�ì×…÷<½ÅÓŽcMÂ<±#Ϋwd€ �2@È0)LÊ<•„žGÙ U]·5ý½ÈSämL'ši ‹Ô´5�hžLój¯Â±^È d€ ��ÖdÀ¤Ì“ÑîÈÀ„m­ƒÏãi>cGóù5fî›ü‘2@È0MLÊ<Ñ 4Ÿ ¶�Ó–æÉ4,þ�°^È d€ ��ÖdÀ$Ì“��#nFZLš'6Ì­Ù0sßä� �2@È€i2`ræéĉ°··Çï~÷;|øá‡h×®�Q‹H+òppp€È“T 1 Ð<™fƒÅÖ  d€ �2К ˜”y:zô(~ñ‹_àË/¿ÄàÁƒ1uêTÌœ9Ó¨eÊ”)R"/‘g@@@cúÎÜö-W€æ‰ sk6ÌÜ7ù#d€ �2`š ˜”yêÚµ+Ú·o�ÒÒÒ&뺋¼DžÝºuk²<™QÛW€æÉ4,þ�°^È d€ ��ÖdÀ¤ÌÓÇŒI“&5yÏ|âĉøä“Oš<_fØv ybÃÜš 3÷MþÈ d€ ˜&&ežþýßÿóæÍkò¹ÈSäÍ?*`¨4O¦Ù`ñ‡„õBÈ d€ ´&&ežÄäóçÏ7´kðv"O‘7ÿ¨€¡ Ð<±an͆™û&d€ �2@L“š'C{Óo²ÝË0L·ü,§Bm`>eE÷°ÎÇüÍûøÕ»¿ÆßFDq¹�‰[j³ò<¾yWb P­hFoKÙÐý4‡yâ³¶ê~Ö Ló‚õÂz!d€ �2P�š§ZzÓeÅñ8°Ð¶ÿø~ýÞ»øðÓ/Ñ¥ï콓‰²ÊíË‘¶~._á³�Þ• Îgÿ·#¼æŸF¶þ|¯ã±ÆË^«ïâUeúúÞ¼BðìÎxï‹X}ü*n‡ãjt†Î¾ëKÛ‚ë^Ü€ïÃiåÃêekôñ¶`™ ÜÍSÝF§9L æê 3õ d€ �2@L“š'½ÎtYn0&Zÿ¿úm{xÏû�ŸÀ¡íK1¼Ûã�÷¿ÄØÃI’Q(Ë>�¾Ÿ¿�O­‡cõÞc8wæv­žƒIënà…^ž�þXú‹m?Cûi× 4[�ÞCÓ$¨Ë<5Mî­š‹1æI¤©oiÓÑVò¬O7®«Ÿ+êC}È d€ Ï@cM*ÍSµ.ºç'Yá—¿±Á†(yµ5xñz}‰ûÜ grJ¡šŽÏÞû#¾VVß®¶O¯bŽõ§°š‚×b}i:~žì�öù¿ÿÞyÿ|Ñy6ÝÊÕ “¶ÿmÕÃ�ÿ×;pXvR@«4ç–z£Ãƒwßû_tôªËÏ5ëDÞeY89 :ÿýøè½ÿÄ»ÿ ß“Œ²Š}þù÷øèýwð«÷ƒ¿»NÆÆÍóпë_ñÛßÇG¿ÿ}„ÂÊðZ)lŠ¿~ö1ÞýÕ;øè³ÿAß¹'‘ñZ;HO2O:2þ_ïaØÁB@ÿx¥cn Üå«K“ÚtmÆïD#ÔØ“©‹Ã¬© T€ P*@šA�Æö÷hžt+AˆAŸˆ¿�=Wë½Iª;‹ð—w?Ä€Ýéxùx3:ô>,ÆÁsuµ;~tsÔ¼×7ÚÏ_ôYŠ3—®àâ‰íkûüÛ‡#¨¨¬Ò|üÃw/¢<Àƒ1xš#î–R#ø[¼ÿñW³þ‚®œÄjŸŽøð×í±ìN‰Î¾~‹?öX„“—ƒq-ð$n%½¬Ìó‹~+páê5\ X�žþÿþ›¿þ/_ÀŽiŽøø?¿Àœ`…öÊ‘ÿà"N^ AXXŽ.€ÿpm*ù IDAT~ÿ·ð=’­1yÚÈS—é'-•3©:å¯4‹—ûSÔ©IMU›õš§f•—™S*@¨ TÀ$ yª¥ �mïå£`ýÁûðÜ™Q}„Š<•gÐ÷Ó÷a9KD�Ô¸¿wÚú.>ø½L߀+‰Eµ§«Ãú¶¶áÊÝûxv£Ûÿ¦ºyú²¶Ùöªßã¥4²ÜÕ4iáó‹æ©…çT€ P*Ð ˜µyúøã�1qâÄ&—MäùÉ'Ÿ�o N�³À/ÿË›hï!ªHõ2›úþÿû³~8‘¥?¹f#uÄüíÝ_k¢GéÄk™§²ücèõ;1lO;y„ÈûUtý~?`#‡í ™§|™Ò5W¥©Xáøû*óô2 þñXÏ ­ŒÄI‡­w¼Æ–›æI"¾§T€ P*@¨hjÌÚµ„Ï¢-8s»W`¤ÝŸðÎ{¨�¥û�Jn¯‡·ß<üøó ^¾Œ³‡7bŒíÿÁ¿ýF†ÝOõžæ¤g&j˜)ÕŒ‚þö•%Wᚘ0⓯à¿á8®�Âꑚ #–ÞÖÎXWÚZ¾oÈ<©#—áü“wàRh8î…�Áx«ÿª2OåùØéõÞýs_l8y—NîÆá[Ù(¯±/ãÊ]M“J Zæ #O-£3÷B¨ T€ P�ÖTÀ¬ÍS@@~ñ‹_àË/¿ÄàÁƒ1yòdÌœ9Ë–-kÔ"Òˆ´"‘—ÈSämè_YQ,öÍŠ®û=>|ï]|ð_DÇžã±ãfºv¢†rDîÃø>ÝðçÏ>Â;ÿþxï“ÏÑÞi$6]O¯þÀX±S}3¡ÿÙ`ó$òJÇÙ%Ã`õßbªò�ð§ŽžXyIgªòZò–Ž»–ï2O€w·�C׿|Š÷þã?ðŸïŒÏ¾ø<ׄUFšT�cd·?ã£w…>ý+mŠBY-û2¦Ü4O†Ëí¨ T€ P*@ŒQÀ¬Í“8à'NÀÁÁ¿ûÝïðÑGU=ë¨]»F½iE"/‘'ÿ¨@c`ä©1j5Ó¶eˆ :‰½Ûv#$U/šÛL»d¶T€ P*@¨ÀÛ¥€Ù›§†ª«]&ª¡t\O£€¹™§rÅlôï·~SpòÉ‹Æj³l[ö¢Ï#[ÕÀ3Ðtö^ã^ÞÁ|{ØØ{aÛ}½IXtÒñ- T€ P*@ŒU Í›'1íxm‹±‚1¨M�&5Oe™8ñí(xõég™=ììdpöè�“bÏÕ§h «ó:ù|macëˆyçrk™ ²¶£Ô~WšŽC_BwgØÚÚÂÎÞ®=<1rÒl=‰üW† ‘cYq¦¹ÚÃF6G’ �Õ8š§z*�«¨ T€ P�¦P Í›§¦‰yP�†hRóTšŒ-¾.°±±…£kOôéÓ Â¨ØØÀÆ®'–\ÎjœÙ©­ðåň>¹ vâY#¢=RV:å³wr…‡»+dv¶°å³µCÏqÛW¢}XmûÖû®¬è2&;Ù5ÚýcÐÿ,¹ t‰o© T€ P*`ˆfmž<==ñÁ4jbˆºî�Òý^ä)òæ0T�æ5OePåÅc÷Ô^°³±ƒ÷÷´³¾ÆíuÞpëÙ^<ÑÃÙ¶"Zå½ ‰¯ÊQ–ˆ)îö°±•¡Ç€áðõöBw¯eˆ~Q^‹yR#jÇx8ÙŠ¡|vprï gGŒÝ“Ps6ÈZÌ“F§¸³a8ìll`ï¹1/Åð=înôƒÌÖvŽÝá5 œE”Ê®'_ÒÃJód눞žƒ¥Y/}¾=ƒüÒú�¯†¬Å<Õ«�¡•Ëí¨ T€ P* UÀ¬Í“®áiŽ÷¤„ ª@󘧪HŒ&"c Ç�K^Põ\³²²2”•ªQ˜›…ôGÇ0AÜ;ä8'Ó_áeÜn r°…­Ë$œÏÔÜKTöúµÆ é�Òœ ˜äf»ø& Â_¡T …º–áwuš' äú2¸sä8— JQš}N*“­Ó(y¢w8!õô\¸ÚÙÂeâ!ä••æ©–{žê;>CÌS½Z¹ÜŽ P*@¨ ZÌÚ<±©€©(Ð<æÉFaìXŒî71$Îý¿>�,áŸÊr¼eúI'£%ŽƒO^ªX¬õv‘¢QöÎý0þ»í~Z¬¹_JÏ<)o­‚›�-ìz}‡HÉ9Õ£l=æI~m œEôÊq .”¢"ߊáxº¯öƒÖ"^DÈêºç©¡ãÓ;†fJB}Ôsˆ\E¨ T€ P�Ú yªM~G©@ó˜'�{žPŽ¢ÛëÑÏÞVšXápÒ+^_{[Øw÷ú#çqéìfŒÑ£ ó$‚Gñ8µy¼{:JNØ:û`ÿCU�a{Ê›+¤h�]ï%ˆ2Ú<)¼|°fØÞÀ5ˆ{UŽŠ|m�¼±hóVlÛ¶­rÙ~è&rE䩸 ¦HFøàPRÕl{ Ÿ!æ©> YÇÜœ P*@¨ mÆ<……‡ãû•˱zíÄ>ŒEfV&öìÝ‹Y_ÏB`` TÓâU|ß‹õb;±½H'Òó� «@³›§r5’Î.B­y:úL�§&ÃÁÆ.SŽ @Œ®{‰Å}dUæéµùEš©%ÊUIØæï ø‹û˜ôŒÇëç% Œ}o,>÷L;ÙÃ+(ªš3ûÕˆ<•ãEÁS휅^RtL†1;c¥û²^§Vå;ÿX”ÚQ€/ 3‘«Ð~xйâùLvݱìj¾´¿²×/ñ¸¡ãÓ;¼ Ç¢ž2ØØ¹cñå£|¥ ¯â³ø^¬&Jl/Ò‰ôü£Æ*Ð<æÉŽî½áéÙ=Ýag+†æÙ¡×´£È(-‡"üô±·…­� ¼FMÄÔɾè-S~k†í©c¶ÃÓѽxÃwä`xˆu¶nøöb.Êõ�Gy.- {±[;8{ô”öé1ëäú�mª4O¶°sp‚³£ƒ¶l"­ ž³!I­MT^„ åÃà ÍWL½ÞÓÝövX}K©‘»,Çfö’"cv27ôéß îÃÖ#2tC½ÇWc˜^i:v�uÓDØd}°.DŽz50¶²™Ž P*@¨xkhæ)** cÇ�ÃÊÕ+ñÝ’ïà3j$¦Ïœ�‘~¾8 w7|¿b¹ô*>‹ï§N›Š#GHÛ‹tcÆ�Ex£Ooí™ð†Þ´æ)Çø ·Ö0ÙÚÚAæÒ|&ãû=AHUV“D,‡ÿÀp²×<¬Ö­×@øM]ƒ›Y¯¡xpS}úÃÍÑ^z�m÷~øno(ÄLå5Œ‡8þ—鸶ë[ø ì ';8ºõ…ßÒsÈ®šŸB£RiŽÎªyH®MÅ~aôô¥Ø{)rý9&^gãÖþe;¤·”¯½“¼FLžð¢Ê¨ÖËŒ[Ø0}8z8;À^毱?"FY\ïñÕv %‰ç±dü`¸» Áî‡/ê×à ëœÉ© T€ P�·O³6O"z$"FÂ8múq3î†ÝEÈÍ\ Ä��Ò냘øùÀ„GDàÐáȾ�€cÇpùÊœ>sW‚®àò•ËXòýRÉ@‰üîEÝ{ûHà¿‘MjžÞ¨$LL¨ T€ P*Ð\ ˜µy÷*ICîV¯”ŒS^^.²²2‘��…üü|¤¦>Gzz%& '' ã"áQÂ#Ãp?æ>Â#Ãq+ôŽ?†¥Ë—aáw‹°fýZ¬Û°¾¹ôf¾mTš§6Z±<,*@¨ T€ è(`ÖæILö îYCõDÄI§ÜÜif)3+©iÏñìY2?ID\üCDß�Âݰ;¸~#W‚.ãì¹3X·a-ÆOœ€9ßÌÁòU+°qó&‰ø– 4¬ÍSÃq *@¨ T€ ˜»fmžÄlybÒïÃqîüyi½œœìJ••�…ôŒtözÿüêßð‹_ü¿zï×øì/Öè=~ BÒ4ÓHãõ#Ìïü)¾uJ;EtÅî_ãÖünøå—þmèÙ;IøÚ* Ð<µŠìÜ) T€ P*@ZT³6O"ê$¦³ç�={IÉIÒ0½ŒÌ ˆ¨“0PYÙ™ÈÈÈ@ZÚs$''!ññ#<|ƒˆ{á¹u—.]Ä›~À¨1~ðá�ÉS§àÀÁƒWBYA¦uþ ÿñÉßá5}5öœÀ±Ÿ·âÛ ƒ0ûh*Ê˲±Þãs|d;CnâÆÕ 8²u<þú Þùë(\SŸÑ<¬·©nHódª5ÃrQ*@¨ T é0kó$x+žÛ$¦Ãñž?OѨÔçÈÈH—î�æ)3S¨t¤¤<“¢OâÞ§{Q‘¸uû¦tß“0O„íܹ‡Âü… TX…KÓ¬ñËO:aeXaíiÊ5æé¿úî‚Bg EèüùÝ�às¸ÀpóT^‚»Ûơ˟?Å»¿úO|üû`ä®GПZg7|ÛB Ð<µ�ÐÜ  T€ P*@ZQ³6O���Òp�Ý\ñÓÏ?CÜ•˜˜€ää§’‘3íed¦#33"%&�HJ~Š„„8Dß¿‡;woãêµ éž'uùˆé^ 2¬J1èâ/~§ ª+EæéÅýøçûïcоƒÍ“Hó¯�~KŽãvDnœ?€ 1Ú�Öµ~ß" Ð<µˆÌÜ  T€ P*@ZU³6OÊMŸ9]zV“˜"&æÅãÉÓ'x–’\9ŒO2OéiRdêѣܿ�»wïàZðUìÙ»GšmoÊ´©YôúòѰþà}ôÙšRù°Ï +ÌSïmÈS©¡(ÊBÂí£˜éô'üÛodØýô•ÁæIyu&>ÿïXRG”«ÆÎùEK)@óÔRJs?T€ P*@þ{çÕÑþÿœó?'ï/oTDÄ�Ñ4�šò¦˜Své("‚ ˆ`[¬±‹Ø;bïÅ‚¨4é ¨€ ±w¤íî÷æ²»ì^–ÝÅÆ.<÷œá¶©ŸîÞï�™gˆ¨=z-ž{žÖ &.É)Éȸ�ެ¬L\»v•›ç”w;—[ó‰ ëcóžØºO.d 99 ‘g#±fíôww«qÏSé啸µ‰!zoÈÓ(ž>øàÈ݇�Ðú½°(4"V÷ÚÎy*ÎÄÒßÀ éW°샃)÷Q^{m‡RV @âIF?dÍììlÄÅÅ!66–1 6@m€Úµju¬ $$$p¿õì7Ÿ¿éµxRœó”�˜À‰¡è˜³HNNDzz2³.qB)'ç:gªœ çcÇ—/gË{ž¢¢*ÄÓ¤Ék>ç©à8ú|Úߎ:‰>YÙ¹´ç©™é DÄ' 9í"rTˆ&™Ñ Ì7ùm\wC¹ŠÊpzü/ø¸óX¤È¬íI ‘}j=FÙ|£-a9?ŽF)íß'Oï“ví¥Å˜‰‰‰¸sçD"îÓGíe†R&D€"@Þ ö{Ï Î%%%�/ ôZ<)ZÛcǧN…rîlt$ã9£.^àǽ|å2®\½6d/33ééç‘””€¨¨¬^³ƒ=knmO’�ýƒ¿Ç?"0«š¹G²a{<ƒÊ5]Œ ¡ßâÿÚFÔ óÅç1é—–he€' —+Â"lr7|ôÅ`ÄK”££³÷N€ÄÓ{G^+ fee!//¯VÒ¦D‰ D€�÷K€ýæ3Ý ¸éµxbó˜’’“á9döìÙÃ-ztøNž<�ˆÈ0ÄÅÇ"ù\2ÒΧq=Ml>s.¤#55ñ qœÁˆÀÀ åë=ÒÖɰð,6d�õ:‰D"ý­eÊù{'@âé½#¯•ùÐ7ÎDé9Lþõ ü6ñŠ_7²Ò$Œþîe€žZ¯ ‘Â"@ˆPM€ÿÛ¯×âIué*xÿtF #1-1'÷ ôbQõÿèbq…°* ÀÏ[(‰§ÒÌåøÅøSŒ9ñR^ò"ö­ŒÑcÕµj™Ü+"@ˆ¨$žj;%Z× èžx:ƒr#cËhXöšŒ3wË�*â‰W+¢\lj ÷ÕiÒ^� ñä¹Nfˆ@ŒœÝã`ÖÓ©%Ò^•’ø8˜cÔöŠ—_ñ‹L¶µÆœ“•=%å‚1Âܾqj^ºyYÑÕSþTU>Ew¶Bв5†= ÆÕ5hѪš};ç·²4Lü¹5̤C,Kòž'þ9€â”ø¶éW˜Yñ£}°mÕ Ö~Y•bƒ7lOüô0>kóEé•$Ê.cöŸmðy¿]x–·Eëü½ŒüŸ7ýޱϫµ¬(Ÿ3ÔÃŒí<Q¨¹+ÿo"Ò‹ohŸ¿âL,³ïÃfía5t¥Þ—Šœú-|ü1>þøc|ÐÂ'^)ŒÝT)ž¦â O*› ]$D€Ý%Àÿí'ñ¤»uE9Ó#:+ž”ß Å{LغÓ¬í•åì�§…5¼ü‚‘’u9ÙÑX2ÐR­x*ŠZ�ù?{.�%º�@…Þªâ‹à$è…Å¡WqëÖ-—‹G²ÉTzT±¼¬ò ¼ÛÒSÒ[Àðû�òø\¾þk2oa…í—°Yž‰ËkÐôpžõBñÅÿ€äùصl†A™xšƒo˜0RìÅ«"ž¤~ªO¥åÚç�•HRˆìÓc÷Œ ZÃjA<Š!Á£¬xDFFr.âì…ʹr,Œ ñ$¶7VaØòÓ°=Õ�ˆ®"@¾£Ÿ IDATˆ€ŽàÿöëµxŠŠ=� ã{°ûÐfì:´é�‹‡Å“®#ÕEÙк,žØÐ±»¡sÑÃÒ –¦¹©ò|Ö‹d>¾R‰bç›7Oâça˜`-ÀðM™Êøô¥"5ä“ÿ­Î{iÖ tiÞãfzàó.Ìx„™Ëíð©`2¦X¶Cש1|øb‰ÎOâ§AèÕÆ&sL›óÄS…6lO6Ü’õ@^Æœ¿Úàs×�È—ZçO©€…Ÿò'}=±Å ½LJ~¤'*Ĥ#~�rVn0âéÉqd0B?ºFˆ :C€ÿÛ¯×â韃1fÞ`ŒôˆásÝ1l®;·gÇÃçÀ0ï®àعÜÍqð9nªà†Í€Ñsaê¼1:Sa”ý  Ûâ‰�ýz„ÃS¹ás²užJ¯ì@¡ FûEò¥l\ÉŽ…ï 7ëyŠ�°r®˜³å8âSÓ�{ ûCÒQ$g0¢n[Û“¶×òë˜oú ›ã�Y ÜP·²«kЭ¹7ý‹R¥ó~øb‰ÎO@1ÎÎ6ESãŽpñÞŠ“Q?º6íš)Œx…(f0¢åÏðZu‘G¥#~Æ¢D©±-óWzý$Öl<ŒèäTœ‹=ŠÙ=¿�áÏSqQfI°ºOUâ ÌT¹5Œ[üŒÑë�",xúþð ÚØ¬Ä-2U^IºNˆ µL N‰§¾C¬1gç l ÀúkºN®Åú㫲«û!àÄjø\‚)û&`Kx ÖõǦSÜžùcç«/çöËö/ÄŒ-Sà9¦�ÖÕôôhÓ4ꄹ‰ ¼µŒ�¼é�OúƒL/sÊ€êe!(ÓD€"@ˆ€Öø¿ýz=lÏÇ÷_Ì œŸ…Ó1wÖTÌš: ÿN‡ñc½0Æk(F„Ã<0l„;ü­0Û{ ¼™¿i“1uâ8Lç…±£†cÔˆ!œß±‡Á;`–®öÖh9¢§uC“vѾ٧´ïžÂÙDMýÆí;£}“O0úxAeœ¥·4§º~ó)ŒØWá¿Ý(ûš+º‹]ãlñS‡Ï`lØ [à[«qX½v&úüÙ ŸÂø³ÿÁuQ8žK žq‹îq_šý² 7Ã×]�•¿4‹àÈ,tû¶ŒÙWäfŸcà–,Ü�ºÌD¶ìK8D87Ï·�x™9êÊœÓQ5Hi†>¥ó% OÁµ]s8nÈ•çOºWA€ÄSýh ühý(5•’"@ˆ@ý%Àÿí×kñÔ£ßߘ¸a ÂBp,x?7—)äø!>¸ !ÇbÇÖœ8ºë×ûÁkÓP¤¤Æq÷âcÃ|xNÂÑÃûppßv;²k6ùbFภµÑ®…ˆò°Dø:�:‰rá¨×Ohié�ÛOCáöu+8o¼ ±(óº·Á/S¢91T? íþ иqc©k„ÿþÇŽ�y�H{žEΓ=îh`lƒO¥ãôÊ.âß_[á—Ég+âL˜�öM:`–âÚ/(CØÄ_Ñà»ñ8Ïæb©ˆ—+¤ä168~…Vöx,·g{c2p¡]¨ôEâ©’E]>â?@ërY©lD€"@ˆÀÿí×kñdãòƌĨ-C0qÛŒÙ<׸`À*' ðÀ¸À‘ð\Ýã7ŒFÏ%p_Õÿzaðj7ô]Ú .Ë0tõ@ [åçÅöp]Ú£W ‡Ó KíÚ O�”fùã׿�ÐßC£o†!¦@ ˆ`…M;t~œ[×¥(~&Ú7n‹aÛÓ�••¥à.ãÎór•"'ÿÐ`4lj…½�¥¶²Ê¯`V·Öøib¤4ÎYøÚð5Å$¸·oš7·Ä®;ÅHY @“ßçàª|”v(ê»/Oõ£ð õ£ÔTJ"@ˆ õ—ÿ·_¯Å“ußn½n8Ž„�ƦÃ82;Žºcóa7ŸŠõÝ1 ¾»û#:fæmí�ˆ¨QXµ×‡B<±ñPì:ê‰ýÇcÕÞ¾8xr†/÷€“§…v-¤4^�[ û¼´ À’ÇØäÜÿ÷ä T`£ãøÔe7˜Ábñ£½°iiˆ?g'©^D”'ÈXF4‰'ñÓC°o͆í)/Š9ûÏÖø¬ïnQÌj{žX…QÔ¡¬ƒw÷60™/-�vÈOõ£ð õ£ÔTJ"@ˆ õ—ÿ·_¯Å“•Óï²ÒçÏ/Dð©‘HŠÿ11“ù.¥ÎÆÁ�aÈÍ\€Ànxyß۳sv�Ý�ú‡óϱði©ó1p© =̵k!%ápÿÜV~—!3|W�º #†ø ò‘lE•ìÐÍmסbÔÝK„ŒÿFáê½'Â"púèøo�ÆKfkâ5Äð ‘Ì`Dó1be"ƒá;¨Â`Ă٢˜†(‡V² ñsº£ÉgŸ£MÓ_°â’t]šJt¤�‰' €êÈmþ´Ž‹ŠAˆ D€TC€ÿÛ¯çâ©+z�µÄÎ ƒ°Â×Û×õǦծXÙûbÙRÛ:³çÙ"j··gçìú�À�œ?æÛÚþ\ø�<Ñk”Ž(+ÓbQÛWÇàøISôÞ °8eð¥8:â{4é¾·D–øP–‡àyîèÚ¡ 4@“O¾Â_Ãwà.»ÿZâ©bñÉãó ËÌT¹1¾êê„¥§ÅT¯bVËóvÀò45[ŠÛ²|*z cµH<©ÅSgn&$$ ´´´Î”‡ Bˆ D€TO€ýæÇÅÅ)yÐkñ´2`1|WÍîÀ¹Ø¸vvÌÁ¶us°eÝìÞ0ÖÌÆ¾�ÞX·jm®Ø³sv�Ýgþ˜ÿís¸ð,ßU>X¿y9^½ÒÖ\¹Oý=y•ˆQß·…ÛvuBP‹÷®sNâé]Ö�ø³³³‘——§™¡\"@ˆ ï”À­[·péÒ%¥4ôZ<Ý»w7nÜà •‘‘�7u ‹ïþýûõD<½Âõ´$¤§F`Íà®ø¤ëLdÈÌ¡+5:ÑD€Ä“&Buã>û¨rîÜ9N@±‡'mD€"@ˆ@Ý#Àzœîܹ6â„ÿ{¯×≽ÈàéÓ§xüøñ;‹�Å[/†æ”e`ÆŸ¡aãøÖbŽß ¹N¯ûïOâéuÉé_8öÐd=Pì�ÊÆA“#Ô¨ P 6@m nµöÏ~ëù‰½µèµxÒ¿×.Êq]%@â©®Ö,•‹"@ˆ •HOµ_”ƒ:@€ÄS¨D* D€"@4¨7⩬¬LŽ¢G�øàƒpüøqù5Åûò‹t@´$@âIKPä�"@ˆ zL ^ˆ§+VàÃ?ÄôéÓÁÖmÚ´)'žºwïέçôÃ?ÀÀÀ�=Ò㪤¬×&OµIŸÒ&D€"@ˆÀû!P/Ä“··7'–XoSuމ«ÂÂÂ÷C�R©sH<Õ¹*ÕÏIò‘vd#vD݆XWJ ‹yRÅFü‰6`oüCÝa§*ŸtM7èK»Ö Z” "P§ÔiñÄz™Ø6mÚ4¹hb"©eË–h×®š4i¢t=77—ë‰zòäI�ªd*Ì»'@âéÝ3¦´ º‰õƒ­à¹."-¼¿/º˜'U/Ë„¯‹%Fo¿FâIº¦L@_Úµr®éŒ�·@ ÎЧôôt|ôÑGøê«¯¸!{¬Ç©K—.`Iq;räš5kƉ¨-ZpªS§N‹uæ»­bvéXG èŒxÝFàP+ôYƒÊY~ š‡Aà´K%€¶þ$ϰ¢ l¦�@1‹F’�“>.07íŽîÝM`fn�Þý†cºï$äéhí¼Ýl‰Ÿ„`´¹ þþûo¹¸­Æµr /!î„/�“P€±»n¼µrÑÓtl™3 VBmœ1zÁ^d¿�>¯´|¡\Çaß p±3‡ÀÜýÆ,‰Ëù�•@Ó}^AñcÄlš‰ö–ZöÂÐYÛpá™T¾i“'ñ3¤ì÷ÃxGX °´wÃÄåÇpë•,G²Ex’uë|&` “zxmÁß�̯l¯e=T+ž^'MYÚ5Ü«ãˆ2ÜŽÛ…9#ûÁÖB‹.»p®¼|Óߪjʧu�׎br+ü{ø�¼ •çÄ`awùÿHåÿ‹>g^Zį¶­kB«Eü•Q¨j#xkÓ®å TÃX~ŸˆÐ'uV<1‘ôÅ_È{–¬¬¬ª­—/^p¢I6¤ÏÉɉÄSµ´è†*õG¼ s†9ÀÌ¢?VDÝ{k"Ag]¸V~û[y 0. W®\áܵ[�Pª”9 '®�›}o8X ßžxÝÁÎq=aí±'S/#+é0f¹YÂþßÃxÌ´Š6/t’—›ï‹~3”�‰k—¢8É fŽ>8÷Rhº¯TNvRŽË;ÇÁ ‹D"!b¦ºZ çøx už ¿s¶‰@RJ"N~B ÛxI¡­Y‡f �ý@x¯?€ˆÄóȾõ˜Ç�Ÿ¹ÔƒJñô:iòó í¹zŽ’ÂT,pï�ikö#"6gvÏG?KS¸.‰E‰¶ITñ§¦|Íu"z™ƒÓgÁÕÊ &&%ñ„Ò§¸žy/Ê\:Büüç?¹]hŠ_S[¯RÞMñ˽«n#ykó¿Æ¥¡†±<t@ˆ€>¨³â‰UÂÆ�9ñÄz’4YÓ‹ˆˆàzªØ°¾W¯^é^J p-ö8Â.>“Ù{癬.ÍÒdLü¥~ZÑñÎ3¢û Ô7ñ$UMù}™Ù¦=¦ â‘â籘ëb�qÐÁÿ&Y®_k_šµ}­&"RÍÿ²Û'0ÎqÖÆÆc¥»µ‚x#'Ø®=­ 05ƒ¥ýLß�'ò1vêï—å솻y/ø'VÎÏ|³¶Â!8˜[&O==Æ`„kè5`"#oUöD–žÇG ŒßsK.tK¯lC?sWlÉ,4ÝçS+MÇ"' x¬J•§ñ"ÞöBWlfñI_2Õæ‰§äM¶�õÔã�õg¤o@ÿ>“z›ëå‡Py^}=(ÍéÕSÐßÞs; =î6B¥a{Ó,€³›½1Ô¥',Ìmàâ5G3+{ð”3¥¾n¡‰#“©eå QãôÜÞz®ÇM®÷MCü !e‡Ë'óÈöUêDŒ{'Áiˆ7öÇÅŒžÊâI1,ËûÝãc×3�æÉÛ�’^üÛ: \þ¼øei«k#jykÙ®kÄX–)Ú" Óê¬x ÃçŸΉ'fš\›M6|¯wïÞ¸|ù²æ ’gØ=¬ Z7Æ?üá“/~€°ÿtg¿Ô¾&>J¢1øëf0_š©ú‡G!.q~6vÏñD÷ïÚ¡icµj�?zÿƒm‰÷5†Uˆ¨.Íòlø9›ÂÙ7Iþ²¤®žÔ{ñ ìÆx˜t åÏc1ÛÉübëœx*JZ�¶Spòæä—ª2Uz›F9bì¶L”•]á‰' òs’�œ�¬¬ DîœG¡FÈ>Ѝ¿_|aúÈD‰ôÿ¬ün†š[cIt‘T¨XÂÊm:¶�@bb$vÍK¡+Ö¥HŸI¢»Øêeû‰{q— ᄹÁÓ`ÝÛILjºÏûÿ.¿¹ævð�“É‘˜l%äÚ‚˜{ÉÔ�'Å8Å…ÈMÜŠ‘={böq©á É OëK§AÖ¿7lmz Ÿ—¥?­þc’ºz�!Æo ÖX¶?Éçbqló,ôµTŠ'�iãÜš!°èý¶†§!ûb,¶Lu�Àq^Ežb™¸cõu«‘#?>ñ#ìùÇ=§Ÿ@>× ÕÇÏÎÄ�ÖLUÕ ‹P,®øM)=ouâIR€ð….°ð\�œ2Ã,Uį±­£üUÄÏñP×FøÀø¼µi×5aÌO�ΉÐYuR<1Óä²!xl?sæL­* cÇŽòp¬Jã&yÛ¶hf6qñˆŽ8‰ýf£G§æø¿CUñ‹¦1­‘ u÷Ë‹ QXP€æ _¡ m-z ûak–Âà±² ,v¶Àà€ ¨O<#*òÄÈ<9å “îø»»ýç†à¡lYi2æôbÀì]8›š…«ÙÉØ7w „¶ãz¯ü<•C}=ˆŸ‡a‚µ9Æï¹YùA‰?lOCšâ˜lk�9'˹•?Æ©�¬š'õu_|^=Gyç$MrŽÎ‚½í¼VMO¯íðó#ÒP>Yn«­™¶× žÊóc˜UO,«d% ^]üšÚº&þšâgÃMµÿ_UÁ[Úó¤öMKƲ¼Òžý P'ÅStt4Z·n-BcÇŽÕª6ds¤>þøc°µŸ4nRñÔÊi»Òðµ§èñ�Xš.}™ÝÉîøõË0hÜ _wuƲ3·Æò³¹ üpBÆH^¦þ_c Øóœ—Å"„Œí‚ÿ¶ø+Ïóz¾Jr°Ò¾=þÓÖlj¸ôöLì‰.Û¸qC4jÒß <±.F¡wªº4Ë31í·VèòoLå Ÿ¦ü‹îb×8[üôM[43lˆ††Íñu7W¬‰“þ˜J �´Á thƒ�Ðì³ï0hó•Ê^Iuí”Ä“T<Ù×}ñ$o{¢ä¦ÁwkX ݈[刞Ƅ^°ù‚tX]ñT†Üè͘> ¶Ö°sp‚½•\ýd‚SÓ}1îÅ`Dost71�‰‰ ¬l¬ajÚëÒŠU‹'”#i嬑µãAÌj¸;†ï®CØê; ÎVVðXpR*VÔÝ/CäÂ>è.5–ñ—ÅT„'®†ƒ°ÍÄS•ĵ¬tœ=²^põ9ƒçb@ü4cÌÍá}*_Ž_ò2 SlÍ1éÀM„óò“wJm=_Ü'a_l¼¨(ø”­í©O3¯.ÂÉÔ¦rg“îL?z¼<Å—”ª­ûâ´5j9VЧ\ ö†£�ü£(<#Õµ�ªõs?D ÓÊ¡uÕÕ‰¼"Ø�ZñTa¬Fèâ‹L®§S)$ª�_}[/VËÿ‘\ÐV¿æÿUY>«á­J<ñÚµ¦6¤¢ßZ–(í‰ÐauR<Éx»¹¹qb㯿þ’]ªvϬërþ“““«õ§tƒ/žÄ%xz#‹{w‚A§‘ˆåæD#jFw6ûÃý!<ì|=»Â¨éOX˜X �N ?Ò^ ?&Aú… ¸páòd¶d™* …k[#t)µŒ&».Ý¿JôÆ7Fè»å.$RôU¯y=�“A1Á¦#ÿŠe)Ò¿êÒ¬"ž´È¿4Ì× pìtNÄÈîíðŸ/"ü…%Kð?£Ïà8? ))ˆÙ�“†ñÊ¢k§º#žîa«—5zÎ>ÛH_Ždöíº—Ù°‘–þªXÛãYßS¨nŽ‚tØ^}z)x»6ÂAØw£ŽM‡ »‰ÂË´¦&Ýab&€ƒO8^åì�§…5¼ü‚‘’u9ÙÑX2ÐR.žÊ4Ü—ããÙý»¸ÿ¤W÷Œƒ™Í¿ˆ~Á>Ѝ2U^ŽÄýaî¾×Ë%¿ŒÃLÌ8ZiÜ£àâf 0ï�%g_h¸ÿÏo]@Zj*R™;Ÿƒ'9{¸a{~ŠÃö £xÃöx=OPΓ¼\ò žœ™ áH½WÉË0Œ·bÒÁ;•b¡ì|],0$ð"ž*åé:®OS[ìÅ[èŒÀ ½6¼ž'õi^B`‚^Xz·nÝRp¹xTP^…Óãkêë^6l¯ZŽ›2ä›�^ÖîX¥ø¡‹ ›UÛv$Uòóâù5L uÈ*E¹NdW¹½:ñT~þ,á±æ|åÇ6¥À²“j⯦­s¸Zþ•RS; ™ÆÿÕŠ¾äêyk󿦩 ©Êee~éˆ]%P§Å®Ç†í1QÄ^nÕmC‡•÷êÔT<}øáÁz«Ø¼'–Þ‡M¿Ã¤c_îÄOƒÐëÓ¦,L¯ìi*»ŒY´F[—�È—°¯ªšýT;ÿH¡P¥WVá·&†pÚtOþÕMá6Pt ½[â—)1U@^¥bÂÏ-ñÅ€}àd�T*‹3>˜�GØsék“ø!vޱ‘‹§| ÷ù©—Ü9�)Žæpó•æP%žJ¯puïàÆÍ?c"w€y¬?¯ JÎÁ»—9ÆïËE‰†ûU„±ÔÐ�çš4ùÈü„åU F( oâå‰_.ö¢ûôÌ\X ‡"ˆYfã^À-à0ç4d¦2D�B0ÚʳCªc½ êêA”_Ñk5rs–<Ïà‰'MiЏ¡ ß”YGՂȯh¬[MäŸDkW,WêqªHBcüòœHjÈ´J�(ƧFø(ÎÄÒßÀ éW°샃)÷5|¥TY•µvQwÄP|e<-ÍààµûOE#:<«'¹ÂL肵É/äÂZ+Õˆ'Ë‘k‘�šŠ”¤„ Ĭ¡½`ª`ª¼ÎZÛÝCØŽ8™ˆÔ´dDà'sX�ØŒ\ÙüÅVȶWzeú m0Úÿ(’/eãJv,|Uö�u"‹Gݰ= Ÿ¡åœå[§Ô¿†¶ ü5Ư�vÈo#xkÕ®5¶!^蔽 PgÄ3/Άޕ——£´´/_¾„‹‹ |}}!3Á͵µµÅþýû¹!'þþþèܹ³\d 6Œ3.1wî\í*�?lOª, ~l�vöáYü,|m¨Ac8Sãf¦XÙ÷Ç? w"ýI5½mü2#3Ø#\z@`¶‚½³;fîÍ’öLkº_†°yŽ0·qÀÀÑ3±6è+Î#?Æiÿ‰èÜæ˜Yô€Û˜8œñ´r¸€¢›X1ÙöVB˜ ¬àè9£rå=(šîWù?FôÆpcf¿-ì1dæVd<•2Ñ"Oâg)X7eœì,`j*€uowLö=€,YKPüqÛæÀÃÁ�úz-©k²~¨*9R¾P¥X|Ïpnïx¹ö„ÐÔËpñ‹õÑå4¦Yþ1ÛæahßššÂÜÖ #—œR0=¯˜ MuËò¤†ci2f÷0«ºè¬™ÌX‡ñ+f‡«aªU�Èâ«¶ç©©k= ìç�+¼� šã×ÐÖYÚjøkŽ_–yéžßF4ñÖ¢]s1«aÌË�" 'êŒxjÛ¶-ÌÍÍÑ­[7|ùå—Jøä‰õ,©rLXI$*>*ÅÄ;©N<žÅ�oŒñÕà#(yzö­Ù°½ ¥a{³ÿl�Ïúî�ÛÓì¥Éý] ü6=ž÷¬˜§õúÿmiеdó©¤÷KobMïø¿6Ž8ÌV®T!fØ—·9¶Fçí\¾ªM“V¬EU¥WE<É‹Rˆ°ÉÝðуS\Ã:‘Çñ~tK<½ß²SjD€"@ˆ¨/ô^<¹»»ƒõ1Óâ2QÄ„ëQúí·ß¸z=z4wÏÈÈH©§©AƒèÒ¥‹<ìÍ›7kVïRñÔÌt:Μ�FdØIܺCL¿FÃN˜þ”M$B$3ÑüGŒX„ˆð`øª0± AfO ?’§Øäü5 :ôÆÊ#gpúÈì‹SøB*͹øQFþÒ [ýOïõ8xì8nY‚A&_¡aã¯0d÷µ Ç  OÐì{Gø@hh– ê£Æ15üYElÕ¥ÉOZ•±Jåž§Òë!X„³‰)HŽ Æ,»öÜðÁ‹Š_ÕkV;ïÕ7‰§÷Š›#D€"@ˆ@­Ð{ñ4nÜ84nÜxñâçœ��9±äààÀAÍÎγ¸wíÚ5î¼C‡ÜýÉ“'sçëÖ­[— û«Ñ&y†]C» uSü߇⣆†hѶ#þ²‰µ¹•=Dåwq|þtù‚™*7ÆW]�°ô4ÏT¹~^]Ù‡Au€±A4iÕ ®kÎWöf)d\üâ¶Owß�?ƒQc4iù%ºö…�±w+ýKÅS›ŸÌðgÇV0hÔŸý`�²•¬´©JS¬BASþU„Qìyz· f�Û Iƒ�ð±aKtú{+×�Q(žN’xÒÉj¡L"@ˆ Dà­ÐkñÄ ;°'WW×*P¬¬¬Ð¬Y38::V¹·sçNüù矸sçN•{õæ‚ 1SoÊþ Jâé@¥(‰ D€" côZ<±!{l¨³8Äß¹{ûöíãߢsF€ÄÓ[m$žÞ*NŠŒ"@ˆ :I@¯ÅÓ‚ 8�tùòå*pO�:ÅÝc÷hSA€Ä“ (¯‰ÄÓë³£�D€"@ˆÐz-žÜÜÜвeKX[[Wá- ¹…kúé§*÷èxÛH<½m¢ D€"@t�€^‹'†óï¿ÿæz˜,,,�””„øøxÎ8› 5{ölÝ#N9ª“H<ÕÉj¥B"@ˆ D@‰€Þ‹'¶®“‰‰ ˜yr™©ò† bÆŒ˜>}ºRa鄼+$žÞYŠ—"@ˆ ºC@ïÅ“ %[·ÿþèÙ³'h¨žŒ íßOï‹4¥Cˆ D€�Ú#PgÄSí!¤”‰@â‰Z D€"@ê>Ou¿Ž©„ï�‰§÷Y’xõê222pþüù·âX\………:P2Ê D€"  �:#žîÝ»‡C‡ÁÏÏÌ„931sæLµŽùa~YöþýûÚ0#?D  OU�ÔÉ ™YY‹Åo­lb‰—23ßZ| D€"ðn Ô ñĄӼyó°}ûvœ8q§OŸFDD"##Õ:æ‡ùea¶mÛÆÅAêÝ6¸º;‰§ºZ³ÊåJÏÈà.¬Y³���œÛ¸q#6mÚ„Í›7snË–-Ptì:»Ïü1ÇÂmذ,¶ÉâTNIÍ™$©AØž‹·'ãÔ¤÷VoãÂá�¾ôuñêuÕLݽb\?³û’ž¨g£. ºGˆ ïœ@�O@@@<ˆ�;wr"Љ!m\, »~ýz®ê�S§ê½O’"ä]ˆGJÎËš½ ½n¸:VÓl¸Ûسb÷îÝØ·oŸ’Û»w/T9¾?–ÅÁ6YœÜ‰6D7±~°<×e@¤�¾Ÿ7¬KqÁUì_0 }l„0X¢ßÂ3(P”s G÷ƒ­Ðf–˜wòA•6ö*k+Ü,ûbu’ñTËeä#{?祸´u4,� %_ÿdñûaD©"@jŸ@�OË—/ç„A;vìx-ÇÂ2±Åâ¢�Ô”€îˆ' ^dÇâÂÞªâåÖÞufmŠÅ3ö¦]šŽ…},0v×�šõZ¼n¸š‚Ôqÿ©©©\™ða^Ø3C¶×öc�,ŒL<Éâ¬,º†:|SañFuYŽ´uƒ!tš‚½gSqéây¤]{±è&6 ±FïñˆH¹€‹éçpõQye‘Ø‘ø1NîÇY'ñB¬e”äã¤� ÌM»£{w˜™[£w¿á˜î» ¹LÖÂö*‹]­1zû•šýÖBV)I"@ˆ@}%P'ÄÓÂ… 9Á´k×.¼‰cÂkÑ¢Eõµ-P¹ß€€®ˆ'ñ³hL³7C�!ó°çäYÄÇGáøÞõX±?e¬|¯ûâüºáÞ€©.=—’ $X·n74O6$� ËÓÖ±0lX‹ƒÅÅâTÜ4ÖamŠ'Ñ=li ÷UiP”Fâ'!ea¿¸êEGÙ�=ð°è‹€ôWЉ2JžaÿDXz­Grz:ÒÎÅáôáM˜3Ìfý±"ê^-1®ísW?d–ªبØdè˜"@Þ#�:!ž¼½½¹¡2l(Ì›86ÜfΜ9￞$%º‹Ý{ÃcUÚë Ò“b¾I6uE<½J] {A¬;_¬º8œàï¿ÿ–:|μdÝÈ ö†kO+LÍ`i?Ó7Dã‰l\XuáTˆªò»‡1Ì«S^’"dûbD_;L°êå†'ns/¥â籘ëb�qx¥:·:w5)) "‘ˆ›¯ÄŸÃÄæ1irl¾“,ÜÚµk¹¸XœŠ›Æ:”Š'KÇ~pîa�ÐÎÃç 苊aršê¤ººd™?Aüv îc�À ÎCgaϹ‡•"‚KÛR¡ý˜aôök(eunnRyݬ¶f•(KŒë»Æ@輌µZFY®¤âÉfÚ (ý·”ßÇ‘™}aÚc "IÿªåRŠ˜e.0¸9åR±Sš  L:xGÊM‚G'fÁÜf*b^<ÄiÿIðpé+¡)Lùu üÖ>xZôEà¥\ÉrM{"@ˆ¨euB<Íš5 lÞ®Š·jÕ*¹õ=&Œ˜u=v�Ýãûgq°¸êÅVšŒ‰¿´Ã/ãC•_T¾<Ó~k….ÿÆ(}mVåµ¾^ÓñTž„a–Bx. ÇCU_®¥/ÖÃVGãZNrrnàa›_!A~N2¢“3�••�È�³à(´ÃˆgJ/äUÂixQ/»¾ Ìí1mÛY\ºr g�˜SñRÈÄÓl' ð‹Õñ”��€ÒÒRî„›kÉ‚§�“ùgaÙsˆÅÅâTÜ4Ö¡T<9ü³§c“‘ËG÷‚™ã<¤HTö.* ÚjÛ@ Îos+w,=…ÔÔìY0––Ø‘)•·Ò´û/<‰«\ûÉÁÝç¥àâ7·ƒÏ‘Läp×óð\©ýáøŒž°�~‚›U{eT ]�xÀõ’ ˜t b¨çò,Ì–cú¸Bh•^Ý�þf¦pð‰@…|,Eô’¾°·OÊ*æ«9MÝŽØs©HŠ9Še^ö•uDzÇÕ�%&î¯øÈ �c:$D€ P'Ä39ÎL�ïß¿_îØ×]î 13qêÔ)„††rþØß¹sçr_€ð8X\Úoøà÷Þâö»¦ù÷Ù~þÆJ¬çˆ™f=Nì\v�]WtÌÚWŠ×Ø1ó_ñT>m‰©QÕO’æòZ‰AZÃiÝYøYŽÏ]wâyK´e83¡ ü0éJÃ]h^JE*žZöÞŒBEP¥·àÜ}Úûï”|A$)@Ò/üÑ¡ 4B³Ï¾Ã ÍR‹O<¿âçñ˜ð{|Þc%®•ð'5‹pÑÏ_uí‡ÇáÜÖ˜ÄS-ˆ§Êª/FæÎñ°¸a{yS!v˜ß²œ=ð´°†—_0R²®#';KZjOeXìlQñU]š¨Ò‹:»&y…ܤ#ð›Ø¦¶øgÛ”VfP¯ŽÎž=‹ùù`ÂG�PÒæ‹ƒÅÅâT¿ñêP•€)ˆÀK Ì�(4ÕI5m øb œÞ•xÝæõ<ñKü~ʨ”ªñT–³îÒa{š¹ˆpuÇh˜÷[�ìñ˜Ù{Þ¸�}ì1~ï äM†¥ÛJ\e½PšêŽe�õ<�°†ÛJY/�R®é„"@j™_›h:×IñÄæ2=z”ëUbÃbؤmÙ9ëiâ;fT‚õ2;vŒPlîóÃÂÔÄ`DÙµµèflˆŸ‡ïÇíb¾ˆ�Õ¬y»ÜÑükODæ‹ð(Ø Ÿ67Åæœí3™'öúZ�xÒ6¼4ªêÄët¸ä‡Ÿ a»òÄ�QófhÔø{,HÖ0LQ�ÄÓ{O¼¼ ¿i#Ñ·§%ÌLL °î�"èüc¹€’ÛáX8ÒVS˜Û¹bΡ«ãU…Iq—˜°C­`ï쎙{³ä=TªÃ±/å·â?.=,`j"€¥]¸{yãdNŠ.ìÆ˜þö075�©¹-\½|œ™Ï°`âÉ»¯­^™*?sæ òòò�›{[K—«Â_å5‹³rÓ¢µxWW',­jëRüqÛæb�c…©r§¡3±;ù�¼í¨|ù×J<±¡¡»áná‚�^in§ï²Œ2Ø’|„Ìu�Є-’Û¦B+8ô†iªÉÕÄbÜ žs�;v^•Ž*ßÇŽÑÖ°± wåF‚*¬í)û€’x#g÷8˜÷­0é.Ë*í‰ D@wh+šdþtR<1Ëy'Ožäz“ر¬gI¶gæÉeVõرì:Û3Ñ$ Ãâ`ǯ¿!i‘ Œ�EÌêJpfâ¯øïÿSaMï¿m0úØS…¤T‰§š„—F¥F<•\XŠ«¶Ç…–"ûÔzŒ²ùF ZÂr~\…siÏSG;Oôø¦Zt›Œø§8¶7F»«�Ã7l¡ÓŽ4çIÝ?�ë>�/^pjްžì·àØ›—/Ù"Åõc+º´ý-]±.…7¼¹~_C)Ë�µ},,�}pî…§4ÄF·‰ DàÝP÷n§êžNŠ'f]� }aë81Kzl v,saaaˆ��å;–]g{¶h% ÃŽY,.m·‚¸�‰u»#ôÌß·ûŽÿ´`KN G ãî¬bBŒÌå¶hР{îÉæUíyªYxi®¥âÉøïÉ8Ž3¡Áرj&úvm‹ЦÊËAéõ¬ ÂÙD6&³ìÚ£á�Sp‘ $žß‰ Ñ¥¹1ÌæÆ«_`—Äõ1ñ .>ñÌÉÎÀüÐFˆ D€è7uïvªîé¤xbæÉ£££å޽´0QÄ„P`` g B&¬Øõ�7r=LÌ`ó«vÑ¢Eú]£”ûZ!@â©V°S¢D€"@ˆx¯T $u×tR<-_¾œ@qqq�9¶ s;wîIJeË8CÌ3Á®±5VØ}™¶g"Êßßÿ½V%V7�xªõH¥ D€"@ˆ€:ê„’ª{:)ž˜�6ô.11QÉ1qĬ۱Å*/\¸À9vÌ®±{|ÿ,mD ¦H<Õ”ù'D€"@ˆ€þP%�Ô]ÓIñÄæ/1ãL¥¤¤¼–ca™smD ¦H<Õ”ù'D€"@ˆ€þP'”TÝÓIñtïÞ=¬ZµŠ[…‰§ôôt\ºt‰3ÌLWç˜æ—…aë­°8îß¿¯µH9®u$žj½ (D€"@ˆxçT $u×tR<1JLô0cÌ@AlnÓ’%KÔ:æ‡ùeaXXNï¼½ÕÙH<ÕÙª¥‚"@ˆ D@N@�PRuOgÅ“¼Dt@j�‰§Z€NI"@ˆ Dà=P%�Ô]#ñôž+ˆ’Ó$žô£žÞF.Ù2;;›³Ô rÄ€ÚµjÔ¨ Ô­6���ÀýÖ³ß|þ¦N(©º§7â©°°/^Ä¡C‡¸u�˜9s6L� Ñ âæD1?´�·A€ÄÓÛ ¨ûq°‡"³ÒyçΈD"ÝÏ0å�"@ˆ¨1ö{Ïl*0ëÜìXqS%�Ô]ÓyñÄQXX7—)44—/_æ ÿôéS“——§—y§L"@ˆ 5#À~ó333•©Jªîé´xºu£K^ï IDATë–\4±ã›7oâÊ•+\·+ø¹sç�ššÊ­÷Ä®_»v�3ÁŒF0ÿ´�×%@âéuÉéW8¶˜6{0ÒFˆ D€Ô}¥¥¥`Cø7UIÝ5�Ol\64�u¯±ùÌ 9¶Çö2—œœÌ (&¢˜c&ÊÙ¢¹ÑÑÑðóóãü+¡c" -OÚ’ÒolL;mD€"@ˆ@ý!ÀÿíW'”TÝÓIñÄz�6àæ�®k�/šdâI&šdÂI¶ .[ —‰.& rssëOk ’¾5$žÞJ�ŽˆÿÕéÌRæˆ D€�7&ÀÿíW%�Ô]Ó9ñôêÕ+¬[·wïÜFYÉ+<¸OÞÓ$M²=_41ñĆñ�?žëub=Pþþþ4,ç�›Yý‹€ÄSý¨sþ´~”šJIˆ D þàÿö«Jªîéœx:sæ Nž Aiñ+N<1uÿÞÝ*ŠÍy’õ4ÉD“L8±¡{lØY»wïæŒHÔß&B%$ž^‡šþ…á?@õ¯”c"@ˆ D &ø¿ýª’ºk:%žX¯Ó²eË8ÑÃŒ?<}òX. { ˜pºx!ç’“8ÅD_81ñĆû±^¨¥K—jÙû$ÁãäMjù#Ú �AS´éØγŽâ!ÏŠ±èþ>Ø}j€+�'’TÔ™(K„mðÁ¨vFæØy¿œó«2¼šš¿¼ŒÝ³â¯oÛ¢©A4nÖ? úaщ›Kžb›û·hÒà?øðÃ�ÐȰ9ÚuîG¯EÉίŒUÉ߇hÐØ˜+Ÿã¸ÕHzPVé€8?»çx¢ûwíд±ŒZµÇ½ÿÁ¶Äû+ø|4F�¾Ä„Ð' We‡åH]b ƒ&" G9~™ÙþEz ì¾jûu· ¥)»U+{Oµ‚ý½'Ê€¾÷ P‚D€"@ˆÀ{%ÀÿíW'”TÝÓ)ñÄÏŽ;põêUÎ$93K~ëæM¼ÌçDÔÃ÷qîÿ³wPQ\ïÿÎ9ÿs¾ù%¢tQQÄÄ�ILŒÆÚ"ìF�ÆK4ÑØb4bÑ`ì½w± Ò¤#(¨¨X°a׀Ѕ^v÷ó?w¶° ³Ã‚»ðî9“�½3sËsÇžÜ;ïÄ�AüÙPܾq‰[âbBs&œ“$v¼æÂ䉉ֶmÛ8!+©gd©ÇÐÏÖÖí†÷Î#8å{Û¼gbâŠ(ä9XŠ žÎ0oÐÖ¦-1çL†rk.&D",, aaÁøÇ­%j6ˆÍA¡Š´ˆ¤ä15Ðv|‘BÔ?d¯¢1¥£ jXµ†ÛToì>| GönÄüßÜ1ãÐcÈe©Xéj K‡¿‰ðӾػn.×5-ZcÒ‘ûàÜO®ÜÏ~‚¢Ï *,>fÂ¥©L¿žŠø …¶È^Dà÷öõaT¯-†Í^�ýG�áÀæÅøù‡OQÓ´~=xO)P2ÜZÝ µþßÿ`ÒÞ7¸¶©« éÓƒèic‚j}†ùç² 7h¬¤]Å��hY»>þȘäIƒ ­¾ü èû/‘J D€"@*“ÿÞ/$Hbiz%O>>>Ü;vœ‰“ja¿Ÿ>y‚'ïâÞ�«êÑ(6¥�-÷n'"î\´Zœ˜4©6u/((ˆ{¹nI•:6&�ñWD ï‰ÊÇÈæõ1`}$–wûŸ¸ïÁkÍá® |œžÒF_LÅežT@§ãUµÍFð”öøØê;,‹­J,ú­”¢ºý¶¡Èk‚ó`£[+|Ô |žZö{øÖ²Áä vtü'¶ÃÇuì°êRzÑrr“±ªw3|hëßçLÇ 5³#̵D³Ú 0òà3�Q£\Düõ=,›µB3³zøÍO%˜šYJquyo4é0+|7ÃÍÖ’äIOy®ËR²a–ŸL.2rXžEb^ü ¨!¶�êLˆ D€èN€ï%¡mz%O7nä¦áiJ'Õrþ\˜Zœbc΀-LžØ6L-LšâÄä‰Åsgy—ôÉ¿³-MñõX<ÊÑ6yLŽÇ{‡Áªé„¿•âù‰ñh`åˆm÷øÓÒ´É“®Ç+k›÷Fæh1ú„Çn UŠXy×–£­©)\WÝ�L9BÅ—¬œ¸ùha\c�¥™�p·5G«_OAèí7Ùçæ¡…±9n 9òpltkÔqý>SÚ샒òܤÏöÃÕ¦†oÛƒ‘M­0p{Š0~™LñÇ|îi ±¥i{Â�DRó“°fDoŒX}yl7y'ÆâBrº†È2Ͻ…Uúà—MW£�"YV§Mü huj;µ•"@ˆ@u$À¿÷ ’Xš^É“êÝLLžT¤ú¾™tƒ›¦ÇD‰ISÏž=¹E%PÉ·qåÊeµ@©"ò±ïË—/sïŒ*ùÉÁ•�ãÑÖÚf ÛaàÔU¹ý¦è¡ÒûX"±Å·EƒÓ¥œ8üÖ¦.:͉ƒâi&U)ZäIçãùäÝZ�öf¦è»ñaÑz¨ŠaßZF”¸]rC0ôs´š€‚"ò$GAÎkÜOðÅÌ®MñŸ „_ªªòlÕEÒ(,Ëý¬MñÍŸÑ�"›û ÛŸ"óávH¬?ÁD¿4nD*n�L¾š†Ëé—0íkkH¼Jø£�äI²rU–Š=¿wƒ���ðâ<Á©÷p`öÌÞ]q>æ]†ç�.˜¸W5µR™ÉSq¾øPÁ�(‘"@ˆ¨2ø÷~1QÚ¦WòÄ‚E°ÈyLvT ‹œÇ–K åéll 7òÄäéöí[¸{÷n‘%997nÜàB–ëÚ벬GˆÜ³Ã%-afl×ù¡êiy9—½ðEío±òºê)().,vFÍÏ& .[s´JXžt?^QÛ¼›«ð­™)úmz\vyjTTžŠ´øŸu��Ó¸ü™<±òJ–§(H¹ b†,œßu»¬Ä£´@üÔÔn[îC&MÆB{|ógO.y½AòÄÂ~æ#åÖe.ÊÅ‹ñØ7{$<à¯ÉñÒm¤)GúÔ“<©Qè²Â¿€êr íCˆ D€.þ½_H�ÄÒôJž6lØÀýŸ`•0i~³@q±¡œ(±Ñ'&M*qb¿/œ +&MLœØÂ^š»yóæ2ôrâ–t‡¹I,¹È&±åâôÔoññÿˆ¦÷± ~óe£.ª��<•æxe>~ø±�ZOà­P•#>ò”›¸ _ñ¦íÕ–ÌCÌÅK¸µ?6³@Ãî+‘¬ú#<Ú¡Õx-Óöâà3cs¸m}yÁuÌlo�v3¢91Ê»±ßZ}†!Ã%0o1Ñ2@–‚Ý¡ùX?ÅȈFµ‹¬’<ÁQüGâW…óOkp§@CÒ¥÷±aTWŒXE1�“'‰ÆH• N§ OÛ+HAä¶y=¨\:wÇ ñ qòú[N¢e¯Ï`þ ¾"FûtÑâ•4¸þÔà@&D€"@JE€ï%¡mz%O„¿¿?øA%NšÑóXP6ÂÄdIsI¾uÏ݋Ƨ&Õ÷ýû÷‰C‡• ¬jçœ ‹ÐÊØ£§!ÖÄ ÎûãbB'eLÌ.cZ'kغíR�P±Qƒb#Ju¼²ò·ðÕ×sÆæZYh›¶—{ë~l© ‘/0½OŽ—‘³ñ¹¹%\–œWÊMNŽÿ×uĺD^�‡¼ûXÛ¯9þϦ?Ž¥H�¼sߪì&(£ù½ÀV·æø¿�!Y¢ücØÒÿS4´O»ü±¦’<©N9-ߥ‘'ŒY…;Üÿ<¸‡T&±Å¦íåàüÚ_àÒïìM@ÒÕ3Øþ× Hú/Äùt9˜<ÍÐC—Ÿ!yÒÒ#”Lˆ D€�*%Oì]M[¶láž[bò¤)Nl�¥ÅÆDp#PL¢ØÂ‚H$\8ö(&TÙ™éxúä1'Q÷îÝðgÏ.”yIÝ›qv%†�ž�õ{�!ðôiø\ƒ±öŸàÃ:lOÎÇó£cQÇÒ›‹‡�áú¿®0ªÓûŸ©ž|*.O¥;¾°¶��a` KÔlУlÄ!ßøŸØ�5ó~Ç_»oªAXÚMÇ©ÐPœ<�Ý«gc`[ „*/0"QsabÕ k®)BDÈž‡à×o¬QÓúŒ˜·‡}ýpxûRŒth‚š&Mð˾; YÊ Å°O,ÑuùMu·Œ‹[1î—ç¢ñ±6äbÿÐæ°r]�´b ÛHò¤ÁBpµtòTÒ3O²7a˜îÚ s^¨§ƒ¤œÀ¸Î=à£EÒëe؉ü ¨a·†jOˆ D€”D€ï]KÓ«‘§ŒŒ xyy{g‹žÇĉ½ð–-ìy¨„„‹¸qã:Î\T‚�<©F¤Þ¼y�‡rÛY –·øGŽWwaBßÐÜÆ5?ª+[´í<k#ŸB&‰-šÂRòOáKq52Ì¿»-ÌÑsõm¥Hðä©ÔÇkdΞ~ù/+'öÅ7M­aVË&ÖhÑÞ“w\F�, ;†¶†i ö’Üÿ¡¦imØ~öú{I®â=OEå �gœÅ„/ëÀ¦÷Fþ—‘%0‚¢í•ö¬¡ý‰ D€}'P%å‰A���ÇÒ¥KÎ�PŒPÉû­&öÍ$‰-,Ê“®ÿý—{g”¾w ÕO? ¬<±�Báù«ºJѹ‡;æaÏáÉñüÜŒw뉑kïÜ*xŽè� 1z`O8;:¢³ëüº4/¥ yš7ЕB•ëçéIµ"D€"@ÊH ÊÊãÁdˆ{Ø»w/(âÚµkêg¡Tò¤z).“&ö2Ü#GŽ`ÅŠœX•‘)F òD�ò>ð/ ï£ Ê“"@ˆÐü{¿Ø=¡mz9mO/{^) €›ÆÇI°?jÙèmbïpJJJ¹sç¸÷8±g¥‚‚‚è'M€´^&$OeÂfpñ/ ת0 D€"P*ü{¿� ‰¥é½<©hdeeq£OÀ† ¸)65oÓ¦Mœ8±ç¡Ø>ô!åA€ä©<(êü ¨þטjHˆ D€¼ þ½_L”„¶Œ<½ $:–”–ÉSi‰æþü ¨a¶‚jMˆ D€èJ€ï$±4’']IÓ~ÕŠÉSõènþ´z´šZIˆ D úàßûÅDIh›ÁËÓÓ§O¹ r¹¼úžÔòr'@òTîHõ2CþT/+I•"D€"@Ê�ÿÞ/$Hbi-OéééX¶l<<<¸�æåF•2ªöHžªÇ)À¿€V�VS+‰ D€T_ü{¿˜( m3Xyb#MÛ·oÇ¢E‹°{÷nÌ™3‡{ÇSõ=¨ååI€ä©�àÚµkE*$Hbi'O¬1Ë—/ÇÎ�;!“ÉŠ4þáÇœTÅÆÆI§D ´HžJKÌ0÷ÏÎÎÆùóç9�b×ú"@ˆ U�qzòä ØŒþý^L”„¶œ<ùøøÀÛÛ[ë qÙP•zôèQÕëyjQ… yª0Ô•^»0²(vAeó i!tÐ9@ç�tT­s€ÝãÙ½ž/Nì�!AK3(yŠ��ç"ë1�ŠŠŠ*öGŠcé^^^X¹r%rss‹í#š OÅJ×F¨óý Ľ’Ý5'ƒX Çê»àÆ»¸}mQ·ß6h>e%K¿‰}s~Æ­maal“Ú¶øJ2KNÝWW4WÝ<ʼn9nhÓЦ¶è0p!Τðê¨{nºï)KEÈŠ piû),MŒaió9ºÿ¶I™U;4<É“î§íIˆ D€C% &JBÛ FžRRR°`ÁNžXhr¶ð?aaaE¶9r„¿‹øo¥}ð¿�ѤßF<È×äIö*S:Ú †Uk¸MõÆîÃÇpdïFÌÿÍ3=†Fnâõ(¶5罺ÂÜâsŒ^yþ>ÿ OËÚ¨ßmJËžk±b„äopjÉDÌßpA§°ÇkZ™›à{�s(Ú¿Š¤‘m’¤-�¼ÖßJy²q߃d¿IhfÑŽ)GŒJ’§Ì ¸72G‹Ñ'�­µ€Â ²ç'0¨Y]|ù›¯Ržr5× fµÛ`äÒý Á‰}pöYò®/G[3kLðKWg s½êšÃuÕ”"/@Ž´Ä ŠF||4y ħ¦õ0Ê'•+^/u‘€47â‡6pßz[9 Q{½5Ž4¸U’'ƒë2ª0 D€"@JM@H�ÄÒôZž´ÉPiÓu¦¨”§îû�‡,D/è sÛžØ/(Ažòn­F{3SôÝø°LÓó䯎¡¯�$ž—‹M‡ËŠ˜�F¦­°0^#XÞŒn^ígÆÛ_,¯b, nbvÇúh;5ùÅ6&ü·g(Ìk|ˆþW ­Ú‰GÊ)�¥*«0;½_#yÒû.¢ "@ˆ Dà� ˆ‰’Ð6’'MäEä @Þ-,ëÚõ]¼qçM€hÀˆ¼›«ð­™)úm*Û³MYgç ™YsxĨ' ªk–ñ'lM[ë,Oby¹¸ylúujƒFõ¬P϶ l,k¢õo�¢ò$}ó—ã#qtÃtØ7²ÀgÃö!Uˆ—¥n‚Á­�<\—Q…‰ D€"PjB‚$–V¥äéîÝ».54õ|y�o7º5¬ ׋Ñ_,Ú^†~l`†ÖPÊ\ñY±³ÑÔTXžTÓö~Ó˜¶‡·GÑ«žbÚ^Ñ·]byå&.Ç×–V°ÿmBâ® 1þÆ´­S¢<©AŽgû†ÁÌÜ›ïç‹–UxŒá­‘<^Ÿ•¥Æ¬Ÿi!tÐ9@ç�tT¯s@óo1QÚV¥äID™Öä �!y×PÔ·¨ ‹šÆÚC•ËßÂgT|\Ï›o=*©>²çáZÏ\pÚž*`Ä7Ó"Ô#Òü'ªFðóË+mÿ0YtÅ�Ê0çÒÇXêܰTòôßþŸanöÖÝ·XYüzÒovú#–fHí£º*°~¦ D€"P}ðïýbÛ mÓ;yª��äÚÎAy }‚õýšãÿþ_-íò àñ1 la‰š :`ô‚�8äÿû±fÞïøk÷Í"ïy*Õ.�S;ÂØ¢5†-ÚÿÐ0Ý�“—Þ²ñ/œ÷ês˯0~ý œ>¾ >¯ƒúÝVâ�T.mO{^9=ñ¹Y8MÚ‚àØóHˆ÷Å„vuÕòT¬^Ùç±ÖÃ{N#<,‡6üIc3ÔqZŠ»\„>íeiÃlé$O†ÐKï^GþôÝs¤ˆ D€}&À¿÷ ’XšÞɃ­zîîÝ»§á±éyAAAX¼xqÙ^†«­GµÉ{ü)y$Öæ¢òIJÍÿ/+'öÅ7M­aVË&ÖhÑÞ“w\.òL“”!-¬‹†*ÏŒ“‹†¢}Óº01ª…Ú ¿ÀØÝÉ é*xŠãðy ˜˜Û ½ÛDÿ§xÓRéòÊDܦñèÔÂ&5j –imØ4ý–Çs�'øyISC0£WG4©g##cX}òzüºñÏ5^Ð+Vom¬õ<�ä©„ÊOš½1bõ9õhh Gò,6ŒêŠ므›À){�Ók¦c”{t•8ÂÉ¥'~šè‰ãWÒ ËàäI;;;å"Á‚Óé?/Ö“²—ˆÝµ£~쉤+ÜF{`ÿùÔ¼d/¼r†ꃮΎptî·±sq4ñ�âeϯÏ`þ ¾"Fô¥Õü h¹žD” D€" wø÷~!AKÓkyb´#""0gÎܾ}R©[·nåä)33Sï:ƒ*Tuè½]Žü»{1´soÌ܉k·nâÊÙÓ8—¬Ò±\\Ù:�»…çÞÓˆO¸€3§Cqíe�ZlúO߆èó—��«Ï ÓÕò¤ gì@t\<ÎEùbõÔA�t…}7•å(GžÆ¬‰Â�äd$'ßCj†L]†:/äâÒ¦qèÜu–ŠÀÅ‹ÑØ¿øté2»¯g+N2eyþÚ…3ç/".ú$þßNýâB†²×g0g@w ]~†ä©êü³¤–"@ˆxgU^žØèÒöíÛ±hÑ"n´‰‰Trrò;ƒ£ ˆ€C�'ä]Àü>Îä}ùoÂ0ݵæ¼Pc(H9�q�{À;& 9 kÑÇy¶\É(ÖlyzþêÙ¿ï¾£EÒÜChTˆmç§ó³}roaõpô›ªmÓöxÇÊÞFbFE}Ôv bó˜®è3'Ü“^¼cXqyI;0¸s¬»¨’B͆¯ó/ Â{Q* D€"PUðïýb£LBÛô~ä‰uTzz:7Úäáá�ðððªÒwÔ=&`0òÔ[!O™W7c€£#%HÔ‹ì%˜uò9äy÷±oš$.?bÒ’ˆ¸õR-J9W·ÀÍÙ ›¤C@R¸nã§ós;àÜŠ!èúè#.:�Dà]è�<½K#*òX!™©ÈòËXÿZÆlè0"@ˆ DÀ@ðïýbÁ!„¶éUÀˆ””´k׎“ &Bb‹±±1|}}9qúõ×_‹ìKe g¯W“ä©”�CòTJ`´; D€"Pª”<±Ñ#333îE¸ì]Niii`#QÚ>ìP&L("N*áâ ÔÍ›7µeCéD ’§bHÄHžÄùÐV"@ˆ D@/T)yjܸ1ÜÝÝu;iÒ$AqR {Š}|||мys�ó¥‰ÉSõ8øÐêÑjj% D€�êK€ïšš'–¦WÓöØT¼3fèÔ›l?•$ }�9R=j5mÚ4˜˜˜è”ï;í$‰ð�X|øVÑPÌš™JãÀŒ!˜°…®YsZ¯t$O•ÞRþ´B ¥Bˆ D€�J#À¿÷‹‰’Ð6½’'&A%œ9s¦¨8ýòË/jqb™±øãÆ�+&NŒ¶Nò„\8„¥Ã¿ƒ¹IKüúJÑõÅä) §§³O»`áÁpœ�9‰y½?C�Æ?#äµ PNÛû~êq\NLDbâ5<~£=|{9Ÿ_Õ6;’§êÑõü hõh5µ’"@ˆ@õ%À¿÷ ’XšÞËÓÉ“'9qbÑò„¢ê±g „>šÂ¤¹.´oñ4m#O¼= nbvÇúh;5ùl“д½‚[˜Û©>lÜvá- âÉ“ìå!ô´®‹!»žªB<Ü„,­1Á7]-OôÌ�ý{þIòôžëIöü ¨žT‹ªAˆ D€¼'ü{¿˜( mÓky’J¥hÓ¦ Zµj…Û·o£I“&EjÞ¼yZ±j “æºÖŠlÐ&O¹¸ylúujƒFõ¬P϶ l,k¢õo�Úå ùúãÔür®°)€þÐý7?†œF陊úAòTQ¤+·þ´rkC¥"@ˆ ï›ÿÞ/$Hbiz-O‡âdéÀ�G&Pª¨Å‹‹²Õ&ÍuуÔ…å)7q9¾¶´‚ýo›w‰ñÇ0¦m�å)pb[ÔüêO$ ÊÓl43±Å˜] ¸qã†ÆrO^(FžšQ´=u×TÐ ÉS�®äbøÐJ®Oˆ D€¼gü{¿˜( mÓkyêÔ©êÕ«Vq&PlŠMÝcÏ@•ôÑ&Íõ’ŽSl–§´ýÃ`dÑ^H»qáÍŠËSN¦}SŸütì(åÈSû™1Ü{ždÏ {]Stš§½âW0/¿}^ígéø^(þñô»LHžÊ„Íàâ_@ ®Ta"@ˆ D Tø÷~!AKÓ[yJJJROÑcŤ‰MáóõõÕ �¦0i®ët0„å)ç¢'>7«§I[{ ñ¾˜Ð®n1yjÒg1üBÂê»3z·†qío±ì|¦¢héx:6€U§)¸É^|›ÿÉßÁؼ%Üçmé�0ŸÜ�•;¢�Ξ‘’§a«[S7ï‡UÇO#øøvŒQ¨Ð­1´W�<•š¿€`¨ÊD€"@ˆ@)ðïýb¢$´MoåiÖ¬Yjyúá‡À¦ðÉdºG™Ó&ÍuÝØ Ë�‰¸MãÑ©…5LjÔ@-ÓÚ°iú%,�çF‘ }нtÇWMëÃܸj™Yãs§XýŸÆ nåx8ͬÑnZ¸b´)ÿ1N,†Í­ajd³zMðÃØÝx*U„@Ͼu#hKc#˜Y÷µ— ûÒ­9´W© �<•™AÀ¿€d#¨ÒD€"@ˆ€Îø÷~!AKÓ[yêÛ·/˜@±¨²|4…Is½,yÑ1Õ�ÉSõèsþ´z´šZIˆ D úàßûÅDIh›^É“±±1„ÞÙ$¢\×4vjLŸ>¦¦¦Õ÷,¡–—šÉS©‘äü ¨A6‚*Mˆ D€èL€ï$±4½’§Æ�ÃÝݽXã™ü”ua™±<›6mZ,_J Ú�f-ä_@«G«©•D€"@ª/þ½_L”„¶é•<5nÜîîîåÞ›,Ï&Mš”{¾”aÕ%@òTuûV³eü ¨æ6Z'D€"@ªþ½_H�ÄÒôJžŒ��1cÆŒrï¥?ÿü&&&åžo¹e(}Œ3†`–«�–[¦”Ñ» yzz†s,ÿj85§š"@ˆ e!À¿÷‹‰’Ð6½’§>øeá z Ë“å]nŸ¼xLý¦¾™ˆœòÈ4?S¾ª‹Ç¢ <ò+¯<Ê»�åU¯ ȇä© ëAü ¨T‰ª@ˆ D€¼Gü{¿� ‰¥‘B-S+4jÕýÇ/�ÒÛÂ= ’°ÜÍnÞqÈ/L-ûÚ{‘'9^ÄoÅè._ÁÆÒFưiÙn'‘ªëðVy·³ì„*üH’§ G^)ò/ •R *”"@ˆ¨0ü{¿˜( m#yÒì*y*VºÚÂÒá/EF"ü´/ö®›‹Áß5BM‹Ö˜täþû™V÷äI–z ýlMaÝþgxï<‚S¾G°Í{&&®ˆB®f›i]�É“ –*—È¿€V¹Rƒˆ D€�"ø÷~!AK#yÒÄ©”§ºý¶!S3=ï6ºµÂG zÁçIPp3Û[£ÝŒhÅ4;yâ6�Ç÷Í­alT µ~Ž‘Ûn�{»”ôöOí…v-maiRµÌê£�dÖGÿ§ØÎÊ)&OR$nü ŸÙÔ†±QMXÚ´A¿YÇñ¬ ‡GµF­v³‘T WÖPŠó Q£Ù8ÄæªÒ€ÌЩ°1iŒ¿"²4[R¸®K½øídGKSè5šÖƒ‰‰9ê7·ƒWt†"ß¼G8:w0:´hs³:hn7 ›ã^¢°V…ÅëûÉ“¾÷PùÔ�-Ÿ\)"@ˆ D@_ ðïýb¢$´�äI³gµÉ€¼kËÑÖÔ®«î@Æ“ŠÜ+Kñ¥yCô_tg/\@”ÿ>\UJ‹rß&}âD`0ŽnÁ”î-QËò[üsA©hÅäIŽ´Ä ŠF||4y ħ¦õ0Ê'ÿís l{¨œ0(OÅêŸÀvð¾"—g:Zšâë±>x”# /ºÔ‹×N Qs�`V» F.Ý�à°œØwgŸ±'µ²pzú÷0û´  Çù˜“˜×û3Ôhü3B^ÞKŠIž4ÿaTÝuþ´ê¶”ZFˆ D€0ü{¿� ‰¥‘ÆRç†Jy��‘Íë ›—/æÙÛÀaQ‚NQs.,B+c Œ:œ®[½xu—=?×zæÂÓöž@÷º¦è4§œÂ·«pVÒ7ÉS%�¯àbùÐ .žŠ#D€"@*˜ÿÞ/$Hbiz%OÆÆÆ˜1cF¹#œ>}:LMMKÎW)O–vÓq*4§O`÷êÙØÁFš¡ÊyR‘w×k6Eä¹ ˆ�>�͸)yWÙ”„ÀÀ£øgdG˜›´Ä_¡¯u’>€§cXuš‚€›¯�}ÑŸ›Õ�Ó¤-Ž=�„x_LhW·Pž��عö0kø l,¾ÁŠkŃ�gœ]‰a£gcýÞc<}~×`¬ý'ø°ŽÛÙ?]êÅk'��À©alÑÃí‚h�îÀÉKìXéðŸüŒÍ[Â}Þ6œ CðÉÝX¹# éñ*JîŒÊ݃ä©rùWTéü hE•Kå"@ˆ •C€ï%¡mz%O�7†»»{¹“dy6mÚ´ä|åiØ1´5Lk°—äþ5MkÃö³ïЯØKr‹†*O�ùN­l`fôj˜ÖÅgvC±ñœ2D·RRlÚ:¡SKk×2CÃ/ºáïCIÈS×HŽ'�sàÐÌí¦…£™\èóN-¬aR£j™Ö†MÓ/1`y¼úYª‚ǻѥž1,œ–á‘”o'r¼º¸ úþ€æ6–¨ùQ ˜XÙ¢mç‘XùT"]—z“'6Jö' Eû¦uaÂ…eÿcw'+òÌŒ ‡¡Csk˜Á¬^ü0v7ž«Ÿºáz»Bò¤·]S®ã_@Ë5sÊŒ"@ˆÐ;ü{¿� ‰¥é•<�;fffغu+îÞ½‹´´4H¥Ê©k¥@ÏŽaDz<¶lÙÂåÉò®”��€”GE²ÏaB[ü´Ku¯´y¾¯z•¶zº?É“žvL9W‹-çì);"@ˆ D@Ïðïýb¢$´M¯ä)%%íÚµÃ|P® Ë355µrº®\%%wâpùbÖŽê€zfãŠÐ;œtii¹ÖK— k’'Ã꯲֖-k>t D€"`ø÷~!AKÓ+ybÈe2"""°råJxzzr {fIµh+Õvö­:ŽåÉåYiÝYž’’ß5Mê µË$øÝ+þ¬“Îí,Ïzé\¨áìHòd8}õ.5å_@ß%/:–"@ˆÐü{¿˜( mÓ;yCΠMžØ6ú�ò"@òT^$õ;þT¿kKµ#D€"@Þ•ÿÞ/$Hbi%O Zå‰m£(/$OåER¿óá_@õ»¶T;"@ˆ Dà] ðïýb¢$´Í äiÁ‚˜2e Z¶l©UžØ6¶Û—>Dà] �<½+AÃ8ž5ŒZS-‰ D€�²àßû…I,Í äIÛT=mée…IÇ’'‰ªýÍ¿€VíÖRëˆ D€þ½_L”„¶„ÕàX’§jÐÉøÐêÑjj% D€�êK€ï%¡mz'Oœðˆu) &ˆ+V`ܸq�H$hÔ¨,XPì0&O,Oƒþä�ÃøVuàäy¥¸ôäÅcê7�ðÍä@ä”ÔÈ‚ë˜ÙÞífD£ ¤}«ùv’§êqð/ Õ£ÕÔJ"@ˆ Õ—ÿÞ/$Hbi'Ol:ßG}Ä ?@ÄüQìL(�<Éñ"~+Fwù 6–Æ02¶€MËpó8‰Ôʪ“§‚$,ws„›wò‹µž— ƒ<¤Da�{GØZšÀ´NS8ŽXŽó/+³ñ¼6TÐO’§ ]ÉÅð/ •\*ž"@ˆxÏø÷~1QÚfpòtáÂNœLLLðÅ_àÇÄÌ™31uêT¼«<ÉR�¡Ÿ­)¬Ûÿ ï�GpÊ÷¶yÏÄÄQx÷I„ïp&ˆÉSi²-Iž î`içO`õÍ(ì ;�¸  ø¹öÞ€'RyiJ2ø}Iž ¾ ujÿªÓA´ D€"`°ø÷~!AK3HyrssƒTZt4„IÕ»ÊSfèTؘ4Æ_"Ñý¤Ïpjñ0|Û¸ŒMj£i7üsúQátºÜ(ŒjZ�—]W?Ÿ”Ÿ¼-aZH& }н“\Ѷ…-j›ÖDMS+4í莵1/ Ö“ì;Ø=µ7Z7°€±Y=´q�à‹º¦ÂÓö„„Hš‚@¯áèдLLÌQ¿¹¼¢3nßz°üä34³¶€1¯ìÜÄeøÊ¼!þx«þñòø8Ô5ï€57+UÕõ©¨’§Š"]¹åð/ •[*�"@ˆxßø÷~1QÚf�ò$$Iå!OùwÖ¡£¥)¾ëƒG9j•ÑèÃDümÓÚ_aìÊ# 9ï`nÑžç2û•$OJÙiÚw1|ƒCtl3~µo„ÿŒÐ72@þ'&|ƒZVm1n…‚ƒObËÜAhan¢£<å j®Ìj·ÁÈ¥û‚ûàì³µ<5rù{N#Äw;~wüD]vVÌl41û óÏe«ÛœŸ¼ß™[aìñtuZuX!yª½L#ªG/S+‰ D€ yR²(yrpeçx´µ6†YÃv8uBn¿Q�ÉÒŽ¢O H8VÍ"î‘<©Ï†*½Â¿€VéÆR㈠D€�bïx$±4ƒ‘§‡bÒ¤I˜8qbIš;w®:lùäÉ“‹�¥ U^ìpÅ´6c nTH–v½ë³)qï[Ê¿‰9�ê£áÀÝŠi{I˜ý�5š ? •þ”Fže˜Ãn^|aèñRÈ“ìùA¸Ö3ç¦ê2mOSÜø­Ï¾»½?µ@›ñ~P>ÑÅߥÊþ&yª²][¤a$OEpÐ"@ˆ UžÿÞ/&JBÛ Fž~ÿýwµ$M›6Mݱ,x„ê}O›6mR§«VJ#OgWbØèÙX¿÷OŸ†ßÁ5kÿ >¬#Áödö¥l„³€V_aܪ£ =€‹Ïª*àÜ'›·ÆHï Å©-ãÐÒÔVm¯ÄÑŸDÌv€©Y3 œ»þ¡á9±]šë0"�S;ÂØ¢5†-ÚÿÐ0Ý�“—Þ*F}InQy’ãÕýˈ =Ž sG ]SÔ·ÿç^�l¨b[•¿Ižªrï¶�-ÜBkD€"@ˆ@U$À¿÷ ’XšÁÈÓŠ+8Ib/È P÷eff&Ö¬Yƒ;v _‡àÿp IDATÎvÒ]žäxuq&ôýÍm,Qó£0±²EÛÎ#±6òiað†‚§ð[4í>e¡Ê-ѤÃ, ÖUΠ;�“\ÑÂÚF5jÁÒúS|i?;®æê 0¤©8½| ìZ6€©Q [X£ù×Θyì‘:x…€€Œ!ÿ1N.ŠöMëÂĨj7ücw'C&°oQyÊÅ�Ÿ[¬N#|é0®;�§¹BQÕ¥WÙ’§*ÛµEÆú™b@ç�tÐ9@ç@õ:4ÿ%¡m#O¬‘W¯^Ž{÷4Û[âºîòTbV´C5"À.¢Bÿ`ÄÒªj* D€"@ª±¿í„¶é�<-Z´ˆ-ÊÍ}÷—²²3yòôô¬�K�¨8$OÇšJ"D€"@ˆ@e$±4½“§mÛ¶q“””ôÎ YLž¶oßþÎyQÕ‹ÉSõêoj- D€"P= ˆ‰’Ð6½“'UÏØØ½zõBdd$^¼xö\“®¶/;†Û³gO./–'}ˆ@i�<•†íKˆ D€Ã$ $Hbiz'O ûúõëQ³fMnÔˆ�•uaylذÁ0{’j]©Hž*?Nˆ D€� ! &JBÛôRž©gÏžaß¾}ðòòâžYòððÀôéÓE¶{¾‰-{÷îåò¨êTH•#@òT应Dˆ D€�b„I,Moå©XË(�T ’§ „ME"@ˆ D ’ˆ‰’Ð6’§Jê(*V¿ �<éwÿPíˆ D€"P„I,�ä©<¨SUŽÉS•ëRj D€"@Š%¡mz%O7nÜ@üùó ʼn'qèÐa>|§üýq&æ n$Ýà"ék5%�r&@òTÎ@);"@ˆ D€è!!AKÓ+yº}ç6®$^ÁÙ¸³�G@`Nœ8�£G�ÀçÐ!8x‡�ÁÙsçððÑCÈd2=ìªRU @òTz‘Ú@ˆ D€qb¢$´M¯ä)#3oß¾AZZ^¼xާOŸ"9ù.®^»Š¸øs>ŒC‡|pÐÇDâÕD°cär¹8ÚJJI€ä©”Àhw"@ˆ D€ !AKÓ+ybÄ6¢Ä©Tм¼Ä™Ø„…‡!<¢è€€„GFàÖíÛÈÊήPè^X~¦|UþŽEA…^= $yªýL­$D€"@ª7!AKÓ{yÊÌÌ‹Â\¹zOŸ=AâµD$^»ÂýŽŒŽÂ)?ì?°¾~~¸~ãÞ¼}[æ3A–~ûæüŒZÛÂÂØ&µmñ•d0–œº½ˆïGòTæ¾Õõ@’']IÑ~D€"@ˆ0\b¢$´Moå)++ )©©¸pñ÷\Sü…óÈÌÊkDFFbÎÆ"úÌ„…‡ãØñãÜ» N‡„À?ÀÇŽGdT÷|“¯Ò|d¯¢1¥£ jXµ†ÛToì>| GönÄüßÜ1ãÐcèE\?’§Òti™ö%y*¶êy�쮆ÇÎMÛý8¿z2 V"@ˆ0PB‚$–¦—ò”ŸŸ�‹ 8rô(Ž=‚«×‘“›Ã-,4ù�»w�œœŒIIÜ;ŸØT>¾|ÏÞ½Üô½S§ü°k×nîQ±gÏ‚MûÓí“�à)íñ±ÕwXÿZû!Òg8µx¾m\Æ&µÑ´ƒþ9ý¨ðù#éSì�䊶-lQÛ´&jšZ¡iGw¬�y¡�/yâ6�Ç÷Í­alT µ~Ž‘ÛnŽj•”¿�<å=ÂѹƒÑ¡E˜›ÕAs»aØ÷R?dO;I½ÝBò¤½k䙉X3®/ºõÿÇïêúoK{~•¹E–û�nßAj¶îÿ[¤XûóÎÁÃÕvŽnØt%§2›Ce"@ˆ ¥$ &JBÛôNžX`ˆ;wïr/Äe£NYÙYÜ»œØ7 W®§¤¤$\ILDô™hŸ> ¿S~Ø´y 6mÞ _¿“ˆŒ ChèilÛ¾W¯]Óí…º™ApodŽ£O@ûSS9ˆøÛ¦µ¿ÂØ•GrÞ#:ÀÜ¢-<Ï)C¦\ÇÌöÖhÚw1|ƒCtl3~µo„ÿŒÐ72ä^YŠ/Í¢ÿ¢£8{á¢ü÷!àj–²«uÈ¿˜ú"4,~§Nbͺµ¸výz‰Àón­F{3SôÝøPëˆ�,í(ú4°€ÄóráHSþMx|_¶ƒöà-ûûM)OífD«:äœ_ˆVfŸâϰ,d…M‡­ik̉.>º¥Sþ¾¬+j µ‡cç®píÞ{ØÙÙÁÎÞ½ÆoÆ� Ýÿg�ìÍiLêìPjy¿ý$OeíQ:Ž"@ˆ@¥%¡mz'O!!ÁؾcV®úÞÿ.å–uë×" 0/_¾à¦à 5„¥¥¥¥!"2kÖ®ÁÒcé?žXúÏxÿ»GŽ*±sòn®Â·f¦è·Iû³MYgç ™YsxĨFŠX¶ù™ú-Œ>ŸŒKyrAy’½Ø +KŒ:œä\Dzž-`lÑ.£àð…ÿÔ’¥SþþÐý7koK‰@ªñ•!O²786£'칑¨XåH”×·�ƒ£�=ºM9‚×ù÷phьܮ.89wÀ‘Ó±Î? Yš/Ò—8»g1Ƹ¹ÂYâ‚>?MÂ*¿$¨]GúAkçbÂÏn\>Ž’®è7z-®ç¾Æñ¿z)ê°T5&ÃíÝ¿ÁÉÎ]&ìEjöYÞ45)žÄlß#û£«Ä �»÷ÆàqÞ8—¦ ¤/KCÜ~/ü:¨':K\Ð{ÈD,?zéªúj« û·¤ùQËSáž4;ç/„›³ìì�0bmBá^ ÔòÄäK¹°ö=—f#vóüÔ¿\$N�tëƒáS¼qú®òùI¾,ñsu.�‰f»h�"@ˆ¨4Ú¼B[ºÞÉÓî=;¹ç—’n&á¿”ÿ¸%55�Ÿ®.p°·ƒ�C7LÙ[)áÙˆ[3šËÇÁ¹Üö… ¡qè……Á)ŠÑIu>öpîÚ }zvA×qÛñT*dz“³ÐÙÞ’!«q›«Ã ˜ì {;'ü¾'¹°Êg|d/ñGwGØÙKÐsàÏ5Ì =Ü'@ÙÙÙxýú5ÎÅ�S„ DXX8P‚•`Kddƒ‚pðàA„„†rQöòòò¸ïûîãFÒ nš_‰}" ŸQmðq=gl¾¡9²Tx¤,íz×gÓö®™¶7§S}4¸[ë´½bò¤Î2!Ó;â£OG!:G�òWÊSû™1Ü˲çн®):͉+ü¿îêüi¥,Þ�<Žp¨F:ß…Ï<<;ޱÜT²8p/²·a˜ÖÍöΣpøA~ñ?Ü帰a¼B”z/À…,9¤©§ð[WGØwþ>wÙÓ{2<>9 ]ìÑå÷xÉ„ŠýÁ/G~¾B´¹ã»°g�†aï�|È^�Æ”nì·¢Nücónl‡»“=ì»L„ÿŠg‡dܳ])¾˜Àòrì‹ÅA�Q€<Ü=: ÝíáÐóoĤËDëR¤ïFžTÛ3"=Ñ… ¢ó$¿’êÄ@-OÏ<±k‘Lšƒ×/RðôÖާ�óX*ÐÅXbLTu¦o"@ˆ D ò h“$méz%OLxØ»ýû÷#(8AAAܳJ·nÝâÄhÑbO,ñZïåÿbõšµêeù¿+àµt{.á¦ü%^M“&&T,¿S§0ýÏé:õNÁãcØÂ5tÀèqÈ7þ'öcͼßñ×î›�!á,`„ÕW·ê(ÂBOÀ{¤"`Äâ³ÊQ%�gž4å)ï®?Öl>ŠÈs}=š¡æWªÿ�y‰ùKÀÓ±¬:MAÀÍW�#þ“¿ƒ±yK¸ÏÛ†S!a>¹+wDN�Ò©õ´“ŠÀû‘'{Ø;8ÀAs±gÏìÊd©Ø?É•iš¸7¯Ï,ƒ«£=:�Ùn$Fàõ‚”“ø•®aØw7Y1ÿ ›êY �)iLÔÝÿE’Ð艪áì[ž†ÃÓÙôAÅô¸ç§çsâå2n72Å—'d_ÿúp£3Ž.ý1aÁfD$¿åF¸²Î,ãŽuè³—ØHûd„bŠ ª�Ør5W@ž»û¯ˆ<¥‡/‚ céüN¿’êÄ@«<É^ bÃ4ôçFœ4„Wò3ößÕMžÄ˜k%"@ˆ •F@›$iK×+yb£LËþñÆ?ÞÞ`¼>r§N�B`` æz.Çìå»ñïæƒøcá&¬ßy˜ûf¿ÿZºK×ïÇÂÕ{ñ·ç*Ølß¾çÏ_ÀÊU«1eê4�;%ÿ¿X¬œØß4µ†Y-#˜XX£E{WLÞqY1²Sð~‹†¢Ý§,T¹%št€eÁ¡ÊK�§ô˜àÔÊfF¡†i]|f7Ïi„/)Èñ$pšY£Ý´pE�òãÄÂaèÐܦFF0«×?ŒÝ­øcWç–ÓŽ*ïGž ŸÕQ”#mO†§¾sÓì\Æn��× 8ØK £ô È“ìe~còä4{nå!ëÌRNXì;üu±iÓ&õ²ùÀ¼yRµœ}Ë‘0G!LcÖ`ó¬>°·wÆ”ƒ‘ê }•„ëfcX/gØÛÙÁÞev_ÏFVLEÈS"¼+¦í ZŽùr�ÈÞ†à�Q>�ב^œ°:ö�>þö[‡±ÜÈ[)ä €6&ªrè›"@ˆ¨|Ú$I[ºÞÉÓ†M›°rÕ*îE·,ÌxPpüüüð×Ü%øwoV<Ç-[Nžç¾7�ǪCŠ´÷EÁcé:nzß…‹ç±nýzøúùaõš5˜¿pQå÷ÕÀ`Tž<±ÚјÕÛ ö]Ñ­ ›~7'ž(Ci«Å¥?Ö]dSò ðèälnœ}÷™8“.CÁãÃø…I�cx¹‰,eº¼×ÿáE¦ê‡ø»‰ägáÑGÂ�€I$°ï>!œu Lù+HGÚ›<®oåÙ÷°i\W.,û¸7‘ŸâÇ›¶—ÏMÛëæhû3ýVhÚž–Ó¤ØÈ“¹¯’ºõOôvb#$»õ7•U'¹±˜ÅÞÏäОaiÜH™¬ wöM‚“�ºüáƒW WÞE,ì+��Ö‘§ó˜×K;‡îXxZù?AD˜èP J&D€"@Ê�€6IÒ–®WòÄ^f�mÛw`þ‚…˜3o¶œIÔì¹ó±`ùüú÷Jx­ÙŽ?æ®â¾§/Zƒ…+·`âÜÕø{ÉÌ[¼k֭Ñ#G±`ÑBÌž3‡ o~Ò×¯Ü SFUŸ@eÊPÁÎήS� Mõ·Jžììá 醾ýz™Mѳw°Ï)ÞO&ƒP¯¡ÊÀ \@ˆ^Ý]àèà oU”HU>ª ź4ñk†s£9lZ¡Û⨟ä›su38» ÷Àa5r0\%Ldºa~Ð ÈåYˆ]9R0¢+ /ÎŒèŒq[®€S.^~Ū¢JPË“=œ:ÃÅÙI,ƒ U.Á€?à^Žrj . d/pdzon¤ŒcùcotºcW¡/“;‡.pûåwLž4 }X›´É“ô)¶ÿÚM1â&é‹Ñée¢j}"@ˆ •N@›$iK×+ybÓöþKIážQZ¿q#¼W¬€×?ÿÀkÙ2,öòâdjæßCÛ2{î,òôäögÇü³ü_¬]·Ä“§O+½s¨†C rå (xèƒQlôÈ¡'–„³çÚ”•hØwÆ€!ì…±tîáŽ)+ðXõLÛµ 1»=ñë�>èìäÇήp>»Î¿)mO«<ìù¿1.°— 㦪ªÀæ)3q?&�øÝœ¹×ö8 vÆB©ÒˆÙµ£¸BâÔ=ý ¯ñZÉœŸŸºþŠôÍúIñ’\&�ŽÎèÖÛc¦.ÆÎà`±'Š|JbÀ•žÅ`ÕÔŸÑÓÅ Ž’npûu=®f½ÅåÃ^ÇB«³À\9ƒ0zòrœI)|F+ã¶?MŒî]†`ûõ\”ȤHEé D€"PY´I’¶t½“'Y�‰Î�»wqíú5\¾r—._BÂ¥�¶ÿ¥Ë—qõÚUܾ}�?ÂË—/+«O¨\$P®òTŠö³(o,:Þ‹hoôwt€dÈ ÜÔ|ß‘JžD¤§ÅÑ®D€"@ˆ¨Ö´I’¶t½’'©T VÑÌÌL¼yó†{).{g{ÏSJJŠÎ Û?õùs¼xñ¯_¿AFF—oµ>3¨ñ¥"P9ò”�€yÑ»_/tqdïeꉅAÿ)‚4¨jOò¤"AßD€"@ˆxgÚ$I[º^ÉÓ;·ž2 åD RäIúg¸£«Ä .½~ÆÜ½—�©ž¯§lÉS9õ0eCˆ D€p,ÚDI(�ä‰Î" @ RäI ”Dˆ D€"ðþ ’XÉÓûë ÊÙ€ �<pçQÕ‰ D€�ÿÏÞy@Eq-Žû�ó?'ï½ÄÅ–ÄÄg~IŒéï™ÄÄ ,,]°€‚]¬¨±kTDıÆÞ{¥¢€"ö‚JìF±ƒ€”ÝïfY`Yw( qÑ»çLvçÎÜöÝÁÌ7·Œ PN¥‰’¡cBžÊ Vœöjòôjµ·¨­ ‚€ ¼š RiaF%OIII$9BdT$AA;Ù²e+[·n%d÷nbãbI:—¤YâÕlZQë¿“€�§¿“¶ÈKA@�C 4Q2t̨äéü…óœ:}ŠC‡±/z{B÷ÄöíÛØ¼e 7mbë¶mŠ�çÊÕ+,ëüb@‹\_nBž^îöµA@A@"`H�J 3*yÊxœÁ£G¹wïwî¤qãÆ RS/jÞ×t8!žðˆp¶lÙ̦͛ٴi§ÏœFŠ£Vë/I&.Aàùyz>~"¶ ‚€ Õ�@i¢dè˜QÉ“$AÒ&õ(I›ôÞ§œœ²²²HÏHçöí[œ={†˜˜¬[¿Ž]Á»H8’ÀãÇÕ¡mD«!OÕ¨±DQA@A@xF†©´0£’§²ê, UZZaa¡í "..V3´ïࡃš—ê–_ÊK@ÈSyI‰óA@A@¨¾J%CǪ�›“©âœž­ùר8¦3—ž1Îò=[­þöXBžþvä"CA@A@þv†©´°j!OOž<áò•+ÄŒ#j_û¢Kn¡a{سg7ûöG“rþ<™YYU>/‘±?4 Ù˜òª.—gO9÷8Û¾Cóñ+¿|9 Œøî¾Jö³—°ZÄòT Í”{Žy=é97žœJHN$!‚€ ‚@e(M” 3zyzüø1Ò*|û¢£Ù½{7§ÎœâÆÍëœ>{šÓgOiö÷Ç dw06n`Wp0‰II<|ôè™ÙªÒ“Y?±;-¾lD“Ԭ׈¦ 7¦†\Bõ*ËSÞ9\Ìpñ?Lî3Ó­�FžÔ÷Ù<ÂÛ±!O kzädƒØ}Û(û@!ÿ2=â¹!±ú]/¹çòg°7ŽJ¦ï½ŽJ�N°g[Ì;�˜óô¢5Y§ã¬p`Æ�‡š‹>c¿Væí™_°_ò/!Ÿ”µC°°èGÐ�—ý¯«dÍÅž ‚€ ð" ¤ÒÂŒVž233¹uû6G�ÕÌkJ8z„Ç™šå322ˆ;t�˜ØX¢öícG` æ]P{÷²{Ïnvìdÿ�šùQ’|U䣺ÃðŸòFý/qáÏš­;ضn“¹2fË5Ô¯²ÑKKì ‚€ ‚@U(M” 3JyÊÍÍåØñãlÛ¾�mÛ·qæìi²Ÿdk6iiò /�ššJÒ¹sšw>ICù¤åË×®[§¾ÌêÕk4ïˆ:xèÒ°¿ò}²þ¯×ÿ‘  GÑÈÓ»Ôý¿Ïù¤ALjÕ§ñO®Ì�»CÁíP>§uáó†õ0©ñ&u~M»q�ÜÌÓÞ,åß`Ý;¾ù´õj½É›úñË:.•*ç*Û½ÜhþéûÔ6}›&-»±äðÝ‚üK¶§Îàðb~nÒ“oQï?_Ñky *)Íü›lцfŸ5¢nÍ7yËô=¾VôdAÌ_Ç¥s ‰cþ-B§õ yãw©Y³6ï5iÉ´íꇥ•Ó0]£ ­^ò”É>?g,{.æJ~áM¹Šä•P8Ïàì“4"æ�ÂÝÕ k…æJºüêGà©{Åm«iß[ì_îMŸNmPZÚÒÉc2;\WªûX:�¾�Ûb­0GaÓ^#‘S]°ì¹ˆËEùª¹8…ƒ'‡¦²ÐÝšž NÌ¿Sg’äOÿŽö(ÌX;uaJÈÕâ2¨îrpµîlQ(¬qé3� Gnëº >!7ÉˤNöô˜G¥ Ø-!O’8MÃŪ=Þ;/‰“æbÍLÀ»�§Ç–šøä$S�-é<+A{~>'ºcÙÎë6L‰,ü÷BJ%— {cÕÑ g {âôEÌhþ,DAA@�—Ž€!A*-ÌèäIZâÂÅ‹šâJ½N™Y™šw9IßÒrå…âtîÜ9N�>MLl ᇳxÉR/Y®à�ì?EddËW¬àÌÙ³å{¡îã0\?¨Í§}‚äo´òô�r4kw†³w× ›ýÿü¨;‘% Qsït�a1$$İeZG>¬õ.î›oÜ„j¤qÛ)ì ßKØŽ% hõAqü²Ž“IĨŸ1ýЊɛöq$n'ÞŽŸóÆGÝÙû@¥ÈÓ“SÓù_íÿÐÞw;‡ŽåÀîõì9£½QÓæû±Ód‚BÃÙ³})Ãm?ã­ºß3ó¨¶÷N{Nñ|¯lx™cZïkzMß@xÔ^‚ÖoäÐMi6Xå4ò?=c“'›1Aê˦2:ÊÀã¼d<z�oFDÜxŠdrqü2Ž«înÁ¡Á;t^}£¨ŒyWÓ¢nîJ/Už2£FѨ֗LŒ1Ыf _²Ž1üÛwø°ë&4}Izç¨ïï mÃ:(üN>µ8E™å4€Ö˜‚ŒMžZ¶l‰ÁM;çIu/œa¶VŒÛy«àºÈ:ÌDGkÆÝB­•ŽB‰Ñp~’ÂÜJÚMŠÔ‡êa£ìlðÚSÜ#’w+ˆþ–öøK=!†Ò�£Ý�`¸&_íÃ�¬x&8Y3fÇ Tzq²�ÏÇÉ¢3KO=ý^6Õ£ýŒ±·dðš Å=MyWXÒ×§‰ahþ²ôÒ«ÒëE+OæŽ8(”üº:Ù€8” 'ynLÝWøw•M”_G,û,ãZQ�\&;ÇÚãèIö­Ûµã÷8i^f>I+ ì6Ÿ ™ç™×ÆÁkS‹Ti%Eâ‚€ ‚€ `H�J 3:yÚ»7œ+W2{Îïøÿ>]³ý±`>{BC¹{÷Žfž\…îÝ»GôþýÌ›?�é3§0}¦ÓgNÅÿ÷¶mÛRæÕ‘“<‡ïMkÑnñµ"1y*’ž@HÇUw×£¬_÷­éÀ’wxÓî—¯ùàÝú¼ÛècÖ}“/…ÊÊ“êÎºâø†Ò×9žypŸ¼ù:5LL¨Y³¦v{‹×ÿiBû%×P—ÒóDv"3>ŤÎÇ(Ý}Øzô¯bé1�¯4œ(ô×ox³éhNKâõÎÉ<4‘OL›0ÁÀ0£2ËùXã 06y²´˜cgÎpFg;¼jæ… F¨4¶ ÇGê€Ì>³«~J‹”Ž<âguƲÛ|.æ©É>³g33Ì E›9­[)·3Ͱ€IM¦Í×á·�Ç_·þÒl·oßæÚõë?qB#G!!»Ñßöí‹æÈÑ£üyéii·‹âJs£¤¹S³f”M;#˜ï›òåÀ=ÈÎ’Ò)QõƒÍØÖ¯C�-é<9À·uëÓjÐbö>Åé„ôýæíRåI7¾¾ è§ŸyГOj6¢ïêã$%%élÉ\�WjÏ“€ú1çÂ2Ðö+j×x+߸‚UÜ ÔK’§°¡ßQ㣠ËÓAO×’“§2ÊYvk¼Ð3ŒMžÊ^mOÍÝ(_l­‡~'‡äUXö|”Ž<Í‚] åIZΉi¡ç¹|ù²Îv…´ "TÔ:jîDø`c;‚È»�Ù?­£‘Π쨳¸r8�€�QšÙ1tÕiÍ\!�¼¡oÙ•E…OÑ5ù¾KÃoÌù峘¼eÊþkÃø-犗`6P6©,;}»òCãw¨©Yþü¿ô[£�ð^j9ËÝ/äÄê)O�;”¡¶æXZGÑ»sµÒѦÇ`úwr@an‰c×á,Þw¹ÄõA^1«&Ó§£ffXÚ93`zw¥{{q)lœÜÔõô°PÐgéÙâù:zq2O¯gpgG,ÍZcfi‡«‡A…K¡K ©î·j½Ú,UîÜÇ“õ :ÃäôÒ+Ì[’'ïŽvU¸TyaN Ê8M@w+¬û-åO½ãæÝÚÍ`sÆr_³þq<žÄ1ÖÆ‚±AÚ…5tÿÌ%ffG”VóWÑBÅGÅ/A@A@¨|r’$ntò´pñbfÏ™£yÑ­´ÌxXxÁÁÁüæ5•ß×E3kS¼f[ºóˆæ{Q`s¶„ý¾þ¦ÿ¡ÞwôØþX°€]ÁÁÌ�7�I“}+ŸöË”¢!1z™êWÁº�“™èí­Y¶\’(O¯Iø,dÀøÙL›·‚¡^s4ߣ|ç1yöR~õšËø©óðž2•yüÁ¶mÛññ�ŒçĉšåÍwî ~ÙÚºrë#ä©Ïê%OÙÜHIâBÊq¶OuÇ¡Ï.êöŠy*ѶbGA@�Br’$nTò$ ÛûëÖ-Í¥‹á?kÓfÎdÚŒL™6M#ScÇ�Gnóôšˆ¯ŸŸæ|)Î̀ߙÿÇ6nÜÄõ7 ‰oC„<• R­ä)ï"‹ûÚc®°£óÐÙ¼©�ëTX#!O…$Ä· ‚€ %ÈI’\¸ÑÉ“´²ž$:.^älâYNž:ʼn“'8~âx¹7éü'OræìΟ?ÏÕkW¹{÷n PbG(�@µ’§Ò*"Ž ‚€ ‚€ È�“$¹p£’§üü|¤‚>~ü˜‡j^Š+½³IzÏÓ­[·Ê½IçßNKãÎ�;‚@y ¼ò”‰…îÖô\pŠ|C`rÏ1¯§#=çÆ“#WgríôAަ¦£6tþ³„UEšÏRGA@^Ir’$nTòôÑGáêêZé '¥ùñÇWzº"Á——€1Ê“ên$#íͱ²‰Ûm§‚íQ–<å_f£ç@<7$’+%�s¿J~]÷gåõTUEšÄð,§«2.²Ã8�ì-QXÚá6x*!É�ô¤2Ÿ»Iá,ðNwg{ÎvX(”8tò`í©,ÐÊ“U{7\”(,lpéçÅöÓ zPôåJ#: Z¶l©ÝøD¤´WÞ-ö/÷¦O§6(-méä1™�‰:=1re�KÓ€TåÝØA_e[æÍ*½¾¥”Eõ –I�ìé1+yýTs;z:m-»°ä„¶~¹WY5¸ Î÷p?ûSÚ+¶árу‘œ”U¸Yº²"ñ‰†GÆÉÅtî0ŠÐ«²ÿBÈ^ç剛{5„!í»òGìAæt³ò$KSA@J' 'IráBž yªï³¼ã'üó³�Î.|z\xÇŽ§qÍ÷èxòÎàb†‹ÿá‚áLŧÿú›äI•žÂFïž´úêêÔ4¡vƒOø¹ÝPV¾Utc÷èÐdšÖ©‡ÍÌ:åUs7ò7>5}çEɨT·™m׈wÚ-çqq-^Ù_Æ%OjÒ"&aç<…ã�U<ˆ�Ië�ßÐ ¦+h#­è´µœ˜#'8~8†37ó€'œZæ�¥uWüÖE�pü(±‘œ½›W$Om‡þAxlG†ðû 'ÌÛOæh†ºèxÑœ(­Ðô�w€ ©©¤¦þÉí i©‰lŽÌï�²ÝPVFçÜ™XVüÖ EûÉÚž˜RÊ —fYò$[ßÒË"ÉÓDg[ºÄ–"OÒü®„OvEÙm.ç²r¹°e6íÆ±?Mâvƒ•¶8ŽØÈ�éß W‚ÆbÓΛÃé*P?$h¬VνèÛ¹v¶¸yø°íä=½a}þ¼Ê7ç˶ç×U‰äæ¦y2€Q ‚€ å% 'IráBžtȦmëË;oý£öjŸ6{BØÐïø×G=Ù§¹Y,: ÿão�'Õ½ ý±!o¾û Ý<ç²aû6.™B÷ò¦é§ ÜZød<›8 jÕÿ™¹§35eV?ŒaÀßæƒ¶‹ æa¨…<é6¦QÉSþMÖ ²§×ÂSH:DN�­è·,±x¡ý^"meÔéøÍÁ’Ák.Ÿ[XQqr’¥”öüq,[Vžôç<©F1Êί=wŠä ïVý-íñ�ˤÔ2�$Mñ „—èy2Pv)^Ye)¬zy¾U÷bðì`�»×úÙ·Å7⯢�S‚é¢Ä®óp¦ú�ÄÙ©/+�Ý-¨N^m,è:qû�%qþ\›&uÇÂn¡¡-%÷2ãæ‘²~N+¸,‰[ž�§RhŠC‚€ ‚@™ä$I.\È“Ruz�?¬Íg}w–Ž—u€ÞMêòõ¯ásòûCš�‰)¸™•ÒȺÀšŽ|ù~LLßåëÖ þûN­’Ãör®²ÝË�柾OmÓ·iÒ²Kko¸¤4òo2¥ßô6&5ëѸ¹ 3#®>}Ó«)s&{†~Ïëo·dNáТºؙµÂnÄ6î-Ò¡âVÌ<ºµwÇÝ6Vú�ÄÅÚšSöp;O�ê^(ƒ--ñ{T”ž:=šÑv–ŒÜr­HÀŠêü(+nÞíp†;ueùimÿ°�'zâ§ ‚€ Pqr’$.ä©ãlö ùŽ}Е½ÒðíçaØ0ÖúŸÃÚYúò¤~DÐÀïx«þ7ôŸµ™ðð�,õêħµkêÈS&£~ÆôC+&oÚÇ‘¸�x;~Îug¡OÑã[Q«^SúÍÞFäÞ@ü{6§v�oð‹Ï(,Jñ÷ã0\?¨Íçýv•=홇¼hbR›Ž+nõd'ΧŻõø©]šÔnD/�9y*f �<å’0¯­‹æÎ7jIK3Gâ´½¤DHªPö™Å8W@žÈˆb¸•ߨŠÈÓbœNL =ÏåË—u¶+¤eä—^9yÊ=Å4%W_(’�òÉSée)ÑÈeí¨ÓÙ?³;Jkk,퇢}РJ�ó­-ãwjç”g–ÓÕÒ�éû¢NßË0¥#·^/*;¹gñ襤÷’³2C SVܻơhÕZGR˜µnEksm}"u†å–U9q\A@$r’$.äIïºÉ>êË—µÐgkšöÈc¶¸Eͽ8Ÿ§}n­'Oª´�ؼSkÿ¤â›%½a{ª»[phð�WËLÞ•Å´¨Û€�»ÒQÝÛŽÓûuPø�,¾¹ÊMfÂÏïѨÓZé=2ÏI™Ë¦µè°ìf‘•¨Jæ.Ú½[‹ïFëôŽ‘ÇñiV˜üó5Þµÿƒ[Å~ˆ�§ôŒGž²ŽàÓÞŠÁ‹‘’’¢³%0¿¿5NB Ž�‘'Õƒ½Œ°µ(÷°½Rå)÷nJÜŸ)¾F¥¡rö2ÜF¡FXØ7¦K³Ô2ȤIþe÷¶¦Ãä},Áå‘§²Ê¢[®Ò«¹@Û>lN:Ïš!Ž´º‘›ùjrS×ÓÕ² Oèôæ=9‚·“%Ã6]A•—Âì®JÚz…ÍÌOÛÍ k+&î.Úh0ÿ2âæ=¾­#§—¹œº_7+úÍ�ãJZ¦á f$A@A@" 'IráBžô¯›¼‹LnÕ�÷Û/ãž T÷vжa}榋‘žOÉ“'ŸÔlDßÕÇIJJÒÙ’¹þ I®4i”SžÈƹ¡)_ -z2¯[•ì#¾|abŠË²Âž®lb¼Ì©õŽ �bÜ/ ©û‹‰…+ yÒÅg=OêGìï„õàõ_Š›w}}--¹õ*Y™�®×4bWùÐ[ZªÜL�µS7f„Ý0§4y’Ö߬fXÚ»âµí|ÁC…¼4bVM¦OG,Ḭ̀´sfÀô°âyBre(-Íœ«ìž=‚NJÌZ+°²ï@7oö¤æ¿Â,¥,’y×Xìò9ÿ|Ï‘­ÚÕ½ÒOáuަ͜³šž¨Ç'ø¡~]¾Ú2 y*q%KÏS‰B‰A@A@�J% 'IráF%O&&&Œ3¦R�H‰�5ŠZµjU Ý\b=[`R§.¦¦M™yRgnƒ”Šžh¿ŒÛùïyúÇ?þA‰íÿ™ÐqÅ­â:Tˆbõ=YÈSõm;c.yÁRä­iihõÄÖvÔëE6æÊˆ² ‚€ /9I’ 7*yêׯ¦¦¦,[¶Œ‹/rïÞ=òóËš`ýt«Iq¤¸RK—.Õ¤)¥ýrò8ìcÆ[ï+™—�V¼¸ÅË]é*«��§*Cûj'œŸÎµ º«&êü>ŸJÚcÝ%0_mT¢ö‚€ ‚ÀßA@N’äÂ�JžnݺE³fÍJö|è÷„<þ”æíÛ·ÿþ/4uú)f¹~K�7kÓø{+ºû…¢y…Ô -UõÌ\ÈSõl7QjA@A@*B@N’äÂ�Jž¤ŠªT*¢££™={6~~~šMš³T¸•R¦#R…Ç¥ïÂxRû÷ïפYˆÕûÜ|î¥`ãÂéÌØZú 9«w=«¶ôBžª–¯H]A@c 'IráF'O¥A”*!'OÒ1ñ*‹€�§Ê")ÒA@AÀx ÈI’\xµ’§ãÇ�ËÊ“tL|�Ê" 䩲HŠtA@A@0^r’$^-äÉÇLJáÇóÙgŸÉÊ“tL:G:W|�ç% äéy Šø‚€ ‚€ ?9I’ ¯ò$7TO.Üø›I”ÐØ y2öåA@Aàù ÈI’\xµ�§çÇ"R*F@ÈSÅx‰³A@A@¨Žä$I.\ÈSuleQæ*'ðJË“ê6{z°3U¼/Ls¥©¹:„•›bI«økç*p­êæó�ã�KY}µŠÚ@7¯ Qœ*‚€ ¼dä$}¹tÇ IDATI.ü¥”§+W.³jÕJúöïM÷žÝpïÝ“Y³ÉšZT§* ¼Òò”—œnVô^|†r¹‚:“k§r45uU6Ê‹J[}Ÿm£ÚÐ~Ò^²ª² ºùä_b¡»5=œ’oƒÜsÌëéHϹñäT´\ºyU4îËtþË~í¾Lm%ê"‚@�“$¹ð—Rž¢÷ïcÒdo‚vî ,|»v1pЀ*B.’} �<©ï³y„--[¶ÔÛÌ´úBÕôJTTžrNâ×Aɯëþ¬šò¼à LugƒmÚ0ãÀÃ*-I‰|Ê#Où—Ùè9Ï ‰äV°d%òª`Ü—êt#¾vUÙá?œNö–(,íp<•�äGz(ò¹›ÎŸátw¶ÇÁc×óËû£{$=:9bma†™…]†ÏfÛŽ¥Œï犽Ò+§îx­9JÑ=—�Ƽ;è«l˼£Yð”<©H òƵ�5 3s¬»2nñîŽéÓ¤§ÐéSà‘^€_u—ƒ«}pï`‹Ba�KŸ l8r»¸‡JuŸK'зs[¬æ(lÚãr“¼±LêdO�YqU;T®¬‹D•Ɔ¡ö8O‰æ‰tnYìÔ™$ùÓ¿£= 3ÖN]˜¢�·$SW•”®~>ZyjÓc0ý]°P(qê:‚%û.÷2é VѵऽlpéçÅöÓKöVèç¥Éÿ>G7ÍÀÃÍKs3,lqë=Œ%nÇÍ»ÅþåÞôéÔ¥¥-�<&³3QÛR”w%^‡úm#Ë6›}~ÎXö\Ì•¢^É+ pžÁ™'¥´Ii×ne×·D}ÔÜŽžN[Ë.,9¡ý[ɽʪÁmpž¸‡ûÙ'˜Ò^ɰ —‹þVrRVáféÊŠDÍ•HÆÉÅtî0ŠÐ«ÿe(‘›þNyâæ^ aHû®ü{�9Ýl„<éCû‚€ ðÒ�“$¹p£’§­êÒ»ß Öô¹¶ÞýZ3ÑÛS#O#F'?¿ð.ï¥igQ‘*&PmäI{í¨>Ùe·¹œËÊå–QØ´Çþ´<È¿ÁJ[GläFŽÔv*®�Ŧ�7‡ÓU ~HÐX'¬œ{Ñ·s;ìlpóðaÛÉ{Ų«Ÿ_á~yâæ\bÙÀöüº*‘Ü\i¤�§B|â[^>r’$nTòôK˺xMnÉ´Y?3%à‡gÚ|¦ϯËåI¶÷J|ò¯±qLg.ÕNò×ß% T^%�Mžôç<µvòåÄ5èß@£"uýÌÛøpL:.}žŧ­% çH•!O÷<éqÍ¿Ââ>6t›wÍ­ª�ô¤ªGûcoÉà5:s³ò®°¤¯5NÃÈ”Nzªüzy½Ð]—· Dz�/Ç3µ, ÔU·×.ûø|œ,:³ô”V¶tË/[Wù:7ÿËúYÓfB¨avâäœ[‰›e{þ8VØ;ñt^…íÔ™ÎÜ©ÜDü;YÉ“êa£ìlðÚs§èæ<ïVý-íñ�Ë4ÐŽÏæe?æqFÒö8‹ŒcódÙªî…3ÌÖŠq;o”/ë0­t‹¬c¥´‰�ö”š¬*ê«_éoGu/ÏÖ¸{M¡Ÿ}[|#þ*êizœÄH%v�‡3Õo$ÎN}Yyì®ö�E^m,è:qû�%qþ\›&uÇÂn¡7µ©{íéþÎ)+n)ë‡á䱂˒¸i¦yÒE(~ ‚ÀËE@N’äÂ�Jž¤ž§‰“Z2bì×tëó)®=Jß ý”ñ~ÖxÍlˤ™Œóù–¡c>¡wÿo‹zžúõïChh(û÷GOK«3¸ÌÞ3Ú'÷•Q²Üã oúÍÇ,¸¡Õ߯Œ<^¡4ŒMž¬/çLJ )Úí|ê_dI÷ón˜Fø PŽ ê‘f@䥲 —5=þ8Q°r›�F]xZžr¹r`9ãúw¡­� öm�q´6Ç5 ¾TyÊ>³ –œ.¼q—. <ŽÌëŽE—¹\È3$Ft‘åßdÕ@[:N�-žGR»œK¬é‚BÙ�!SW�r·xµ<m¥©­¡| ž›Çá9]±è:ß0;qT¢´ÂoŸFUÁ@^ÛIOž²Ï,ÁÙÌ 3…EÑfNëV ÆíLCm ïç¹ç}Ä>¿´Ò.”ÒBùq�RåÙj{SìÇñ@š:Yõ#ðF.”Ö&ÚSj“ʯoîÓõÑ<ÜPs+Â;³VØ�ØV<·bæÑ­½;þë¶±Ò$.ÖÖô˜²‡ÛyjT÷Bli‰wØ£¢?uz4£í,¹åZ‘€ÔùQVܼÛá wêÊòÓ� b yÒ¡'~ ‚ÀËH@N’äÂ�RžºöúK›_P(•(¬¬d7;ǯpíMï?4ÉŸÁc-4²1îý¾)šóÔµ[gÍïþ}ËÝÞªôdÖOìN‹/QǤ5ë5¢©Â�©!—JýŸR¹3xr÷Æõ°œ‘X9éIëË’þ~¹ Wʉy)Lø©�{ϻМžGÜ„¼þIjoî$,£�USÖ5¡†I~Ö— ;¹-� Tßg}ßf¼W·&¯¿öo˜ÔæÝÿ‹Eçq�ÓIÒ/FÞ ‚&ºðõêR«N#šwœLì­ªŽilò$;çÉÀMkfô–CÙû@Ë'ÿ*Kt{ŠrO1ÍEYÜ%)M)sžrS7ÐSiƒG@G“.’zîÓ»[•Cž–à\�å)ïêVÜ•m™sX+Ò5Y;éuW0¢3J3;†®:] _ÚJ:Ý`>ÏÍ#~Vg,»Íç¢!ñ4'#ŠáVJ|£ ê`(¯ì3‹q¶èÈÒ3si4zOÉÓbœNL =ÏåË—u¶+¤e䔸ç½\>ÍñcÇ8&m'Ry¨ù·C†-jîFùbk=„ð;9$¯òÀªÏ2®Î�’kYyªìúª1\ŸtöÏìŽÒÚKû!„\-X7Q•‡g[[Æï¼YôÿˆŒ3ËéjéÀôýQ§ïe˜Ò‚‘[¯'÷,þ�”ô^r¶XØ5�Yò?eޱkŠV­u$Y�YëV´6WÐÖ'Rïßþ’i‹=A@ª#9I’ 7Jy²wú‘Nné7 /ýô‘ݾûñ'Z¸Œ¡u·©(zL¢óÀÖ јž}›2Îó7Íœ§>ýÜÙ´yn�;–«=U÷cþSCÞ¨ÿ%.#üY³uÛÖ-bÒ WÆl¹V4d¥\‰É�ô’Ë“êöÚ5ªEƒºã¿j!»¶±Ü,¿Î:P0é^}›Ùv�¨gîITÜADíaóâ‰8|^Ÿ5éMta�I¿\ŽL³¦v�¯è3{+»7ÏÄé³z¼g3Gg‚xÑÉ•ò㥖§üË,îmM‡Éû ÚCFžÜ�ÖÜ„=’z²,‡˘ê6kÛËSî9Ü”¸ë½Jõ¨àI¸þ°½¥}­q”zV)­W‰¨¸°v0¦q*[;dOJ¶,v%²–æÍ¸£hçÇ)é¡‚!¹A.ïyÊIa~O+Úzkß7¥Ÿžþ¾T–òd8/Õƒ½ ·±dØ�¥æõä©àýt‡öéÖÕ@ÞeÊS…Xêf&ýÖc+egг5ÃÖűl€«RŠÅ¢(º^<¹kWä’ë[T†ÂjîÆÐÁ¶›“γfˆ#m†näf¾šÜÔõtµìÀÂ:½¶OŽàídɰMWPå¥0»«’¶^áhû‡ÈOÛÍ k+&î.ZY˜S‰ï2âæ=¾­#Ç—¹œº_7+úÍ�ãJZfåü?°D�ÄŽ /–€œ$É…•<µ2«ËŸØ9þˆ[W7zôêFÇNβ۷ͤÿ8_FÏXÀ˜™óêiƒ‡žmD½Zoòf­ú4þÉ•ùqÚÿ©iä©6ÿøÇ? ¶ÿW“®€ê�:ñÓ—P·æ[˜Ôû?º¯Ôöv••§~O“þ¾T›œ«l÷r£ù§ïSÛômš´ìÆ’ÃÚ1ô¥å]H¢œ=O�#GаæGü­óľ0 é[+O œW—XAîÞVwj×lÊŒ“:OÀ¥ó³лI=¾U4|ênð`ÖúœIñU³\·±É“•Ç*| ¯ý>‘tƒ'ÏrÓJ>‰+ PvÁoã^;Æ¡]3édáT°Úžê/V´Á¦ß\⯦ó$e �-l4{' gÏ‘r.ÿ^:=OêG�w¢ãX¶8JBÌn"5CR³9.-aÓ�[¥#bÙà'-Ñ�Õgµ·|Ê/5¹´`Ä ]mOÓ[gMç€x½'í¥³Ë»~ˆm»ös2)…¤S±,ÙAÓS”j¨§Hª¨\>Z.Ƭæà±=¸‡cܰ°rgý¹’ Pè/Q´/¥¯+Ory©3‰ 膹m/¶îãÈÑ8v-ŸH'¥¢hÎdrhN/JW¼VsðØqbÃØ¼û$šé`Ú±Ly*ë:”ʯó)•­æ¼<Î.뇥S;•½ØôgA/N©ñd¯Ýª¨¯Ne¤k<ã~n6 X~Vs�å^ÞF_{Æ^E•}†™nJÚxÌ"âx2©ÉÇØ0+Ën¬M–^‰¬âÂÆá(-:â»5žäsñ¬ú­#.¾yTV�|ãŠa{%Nì ‚ÀKG@N’äÂ�RžìÛþHG7:wu£]‡¶²[³›Ó̱;ßwèOK×.¸ ø–�#Kö< 6„´´4>,Ç .‡áúAm>íTÊ _ÙD�oE­zMé7{‘{ñïÙœÚu¾Á/^;I€Xi5)�ONbߘ6``pñ�>õÃm´y§6vst#Љó¼?�MžôŒ�ö-z.ârΟ,t·F÷†¹ì›Ö‘Þ={�”˜µV`eß�nÞìI•n8Õ¤Å/ÅÃÅ�^ó¥E!² –ßî䀢ukÌ-­qté†çƤ¢O®Fâ7Àk…–ö®xm;_ðÔ_u‡¸U“èÕ¾`©rç>ž¬O¸UÜ#`à¦[j;Iž¼;Ú½°¥Ê¥'ÿÝ,;°à¸9ϹŠ»ÌÓëÜÙK³Ö˜YÚáêáCPárÞê*›�féïtwqÀRÑs¥]OaÇ©{òì ¤¯+O²yIÀs®6o4�Û(1—–»8˜®¶:ò$uO¦³j2}::`af†¥�3¦‡ÌÓ1�÷ó_‡%ÿŠKe«=5ÿv(Cmͱ´®`ˆ0PV<Ùk·*ê[T¥<—@é:�Ó…‹‘�ËÉE}P´ó"þa>™—¢˜5ª'ŽÖ˜)¬ißsK£¯˼ê.q«¼èÑÖFó€ŽS »PØU”‘á‰+äÉ0C*/ 9I’ 7Jyê=à´0kJÓï›—º9»}FŸÁ�é?ôcFŽÿ‚)ÍñœÜ”½¿)¶çìÒ—ŽpïÓ³ÌFÎI™Ë¦µh»èŠìÐÕ½í8½_…ßÉ¢Gr“™ðó{4ê´–GÒ­<5S0¡^ÒŸ#“ùÂôCFKsä†íˆ'º\yêË’Þ¾êî¼CçÕ7Šê–we1-ê6`à®tƒe~ X9åI’½S«<ø¦� ¦ÿiFÇsØ{^ç]3Zyzíµ×yã�74óž¤^¸×ê|ÅÈ]OOvΌõ¾`r‚ΖœXú4©ÇcãŠ?UÞç0yzŽ:ˆ¨ÏJ@EÒòXtô'Q³Lô³¦SV¼¿+©ÌKoØ^Y51šãO èâĤPíª{FS0QA@c% 'IráF'Ož“Z0z—ü:º ^~ßñûæÌZ¨`ö³ü–ö_ `öbsæ-5gÞsf/lÅøIÿ£ß¯ÓµçÿŠäIZ("2*‚nÝ»”Ùf9ÉsøÞ´íËÏmÊ<4‘OL›0AZž·è“ËÞßSã«aœÐ,íZÐó¤+Oª;ëPÖ¯‹ûÖô ËS¹òÔ“%ý$2Nà“7_§†‰ 5kÖÔnoñú?Mh¿äjq+ª¢ô£ÜòTK•y•ýk§ÒCñ¦& ±›©Y «pØÞÛÖS8*õ¼�:ÎÁ½›™Úó'êÖþŒQ¡iE‚'¥”=šFµ¾òT¢1ÄN•È»¨™[ÔmÎÑâ§üU‘Ùß•�TöŠæU­ä)›)I\H9Îö©î8ôYÂÅ*•Þª¸Dš‚€ /Š€œ$É…Ÿ©Ùˆ¾«�“””¤³%sýA^ùzžòÿÄ·õû4t]_b®ä>ì;ÞøâWŽjVÛ{Ї§ÚR»æ×L•Þ7£?l¯ðtMÞæƒ®›Jð/¶7HgØ�¶ÓæÝW`Ø^!ñý·ÈI^…›¥ ‹OéôtVAîW>RÑ+œWu’§¼‹,îk�¹ÂŽÎCgsðfÁ\§*h²j‘dÁRä­14Ô·ek;ê>ø«U…A J ÈI’\¸QÊÓX¯¯ñûý¼§6Õl¾3¿× Ë>îs�,�÷}ýˆ€ù-3á+ú iLï�áîñ½HòT¼ÚÞàÁIJJ$%%¹lðêGlvÿš×ßµ`I’áÿÁ¨îmÃñ=iØÞ©Ãö&þòÿé¸FvØ^ yÊI`ÐWoóÃ8í;™ K&#OåÊS+OEÃØôöUi±}§¿Lglä=½¬¥¥Ê­¨]·) ‚ˆœƒóWoóžÍl.¾ÇE/ÆóîŠ9OÏKPÄA@AÀø ÈI’\¸QÊÓ’5-Ù¶[Éô9ßòû‚ïټ˂™|˸I_jÃ+šã>ðCv†Û±pÕOL 0§ÿ oèÒý3:wÿ ×Î?>³Í4ñÿõÚküûÍZ¼Ýè3Z8à�¨+†€È»Aàg¾z¿5k7äbþÊ+Q²ÊÜòT™4EZ‚€ ‚€ '9I’ 7Jyڽϖ#‰í˜¿ì–¬ý™Ãg�XØ ¯©_s4©=­‘æ6%œmGd¼-s*içò-[×ÓlÖ¶_=—<gÓŠRý�„<ý�´E^‚€ ‚€ ¼r’$ndòTOï>Ó�+w;³|Ã/¬ÝÞŠËwÝ�³Æ×¿)—|Ý…Þ‘z«ço¸°p…-m�?bà KfÍΨѽ…<½˜ëï¥ÉUÈÓKÓ”¢"‚€ ‚€ È�“$¹p£’§–­ë3ÎëN]èFZV_6ìP²-Ä’´¬®<éˆÿüùëqWn¤wáב_ñWFn=îÊâU¶´íð!kÖÎäÉ“'îò${‰ˆå! ä©<”Ä9‚€ ‚€ Tor’$ntò4`pS6µ%2Ö�9‹,™¿´±¶¬ÛfÁ$¿Ÿ�±%ì€ ƒ‡5cïA;"ÙãåûvÿaÁB/nÞ¼ÉæM›ŠäiÄÈŠ-Q½›_”¾²yª,’Õ7éÍsçÎGll¬Ø*ÈàСC~GñA@Œ•€œ$É…•s.9‰��],]¶˜é3ýpqé ù–ö¥pé¸tžø•A@ÈSeP¬¾iyòT}¯^QrA@�Š�“$¹p£–§¬¬LΞ=­™¿´yó&BB‚Ù¶u+ƒõg放šoi_ —ŽKóœ¤ó¥xâ#<!OÏC¯úÇò$ä©ú_Å¢‚€ å! 'IráF+O·nýEÄÞp6n\Ïž=»‰‰�açÎ FŒ„ÿÔ~\81Mó=fÌPvíÚ¥9.�'�/Å“â‹� ð¬„<=+¹—#ž�'!O/Ç•,j!‚€ P9I’ 7Jy’Äg_tÛ·oÓ,;.½o娱cD„íd®¿IGüxt}žæ[Ú_´`ûöíÓ¼—EZ¦\Š'ÅUÖå"ŽËò$GæÕò$äéÕ¸ÒE-A@ä$I.ÜèäIr'õmÛ¶…ˆˆpÍ· „……±dáL‚ÆiÄI’'i ˸ß±uëV¤ó¤%q¥xšø{ÃÅ>ñ7ñLª•<©qlû"VF^AõLµ‘ô yò¤Mˆ}A@�—“€œ$É…�‚€ ‚€1�“$¹p£’'i¹ñuëÖ¢™Ã$Íc’6iAˆÕ«W³råJæÌ™C›66<º>_ó}2ÎWó[Ú÷÷ëÍĉ‹âJéHé�?ŸR¾¶ÊKaÂO hÜ;Hï&3�¸ -xý“þ|"=KWs'a}¬šÒ°® 5LêÐð³æ¸LØÉméÑ¿ú>ëû6㽺5yýµ×xä6ï~ø_,:�#è\úÓeQßcU·/1­ñO^{í5jÔ¬«I¯ý�y¾õ·»úò”wŽ3\üëÕïé"=sÈ“¸7®‡åŒÄ*¿q~xr ö×ÃqÁåJ5c’'Uú)æöuÀ̦ žó6ºïÑá�¬øÝ‹Qi¨Ë’§gnÌgŒøŠÊSÎýãÌéçˆe›^ø.ÙJø¾höî\�¯‡3–Ö�ñ�º^ P¹ˆ]3›;"‰O8HØ:_ºÚ(é¿ô4O´‚•}i }ìz±8æ çÎ�ÓlÉ©ñ¸PÀªÙ·�§gü[ÑA@ªœ€œ$É…•¯Ï¿šô&ú‘ÞÌíùu[�!,&¶àü…cQ6®C­oG��ñŒƒŸôå©|žï¬¿Ažòî�a턎|Vï-^ÿ·ÉK.OÙ$Ìí�™uÖ'en­| ­ZµÅÛ�¾Æ’è<@ežÚâ¿ø…zû­0hwŽú\KïáÐÂÁøßß½�–­:àÃ/zcYXVÕ}:µõGC«)+\ñû/úcUèô~¿½y›§Â³˜ãj…>K¢ÕÆ\ÃAëI…9ê>yŽÇÄãÜéCX9±ºô\€sÂxëš§Š×ßþÇ Ñgãq&*k§ö…•Ý캪žÐ©¼±ƒl\1Ãû.]»Š qa8“^9Ù³ ëG¶Çdx�H•”ì˜ÞV= áy9P1ò4z]®§§#==óÊTæiN/G Zc~æ)/î=ìÐi´ÞÑ¡ü‹ÛÐßÖ³Þ¯š¾'L�"§½0¡{¸‡ÞÔ¼÷µ ƒûö„‹½¬l»bÄŒŸqæna½F{ª¿£Uµ�@‰÷Œi—æI÷CË×$@$@¦B@f’då&ež{z`×®] Ôl‹-ÄôŸÆàPà<¤§l‚§Çxˆ…"òøÂÙÙK<Æ!ýâFL›š'a.x�Ç_:¶D›÷þŽ>S× <­bŠ”8R…yzå•_áÕW_UÝ÷$Fb^i÷9¦…Þ®šUÙ«j#Oå()ÊÁͤP̰ÿ¿üM|Xвì½péø&øÜ­JX37ã«ö1!ô9ÊùÃáÍv°_žZÕ¾î´=Ý‘'Ý×ý©ëXåO û»í`µè¼z«ò<Ä£dÚ^Ù“@t{G½�fE8åUÌþ×Ûx¿¯r…•ôG»ùjÏ-ÁP‚3«ÀfðzÜ(£G7±kZoXÙ~‹ï{áäµlÍaQÊôêÜ�­¬`¥Ùºà›[Á-äÊ-ðž§¢ŒŒ²³Ã¬Ð‡úÍS~4Ü\l1rS²Æ<)žÝŵK‰8´¿uÀ@�cx¤ÐYå®8 A˜;ÔNc·"]Ë`cb ÝGŸ�2Ö8‰cÒ<ÕøÔ²€H€HÀDÈL’¬Ü¤Ì“y Cøûû«FŒÄ¨‘0?3gºa¶Û($ÇmÀ �àìd�¼þظf ÒS¶ tÿŒÙîîîšýľ¢Ñ^C�úõ¯Ð¢eK´jÕªb{ ¿ú¯–è¹å6òcgáÃ6�0ç´ÖÝ$Fš§:�uz>jÓ ³Å(ƒîŸÄ<ÄéÛG‰ð©ÿ‹ŸOA²¢œæI—¥x] 7g+ô_~F¾È‡>3”�ìláa¸y:»f¬U˜'qìòBdž Š©`ÛÙ “½/ª–:/JÙŒ^Vݰähnݺ¥µeâQ^©EŽ<•<�Á¬nv¼ò4 ôŒò\ö 1m/DgÚžª®�͇ƒýß.Ò;²ó4j)\ìFbÏõ—3ú$ �øyˆÊû�^Ä8Ñ<éû`³ŒH€HÀTÈL’¬Ü¤Ì“¸çI̧m???Í6}útLÿq8®_Ü÷Ùãàìl�ü‡ûqçº/X„ó¦ÁÓs1Ä^{?ÑŽº=ïy*Í€Ç7ïàÝ~»ªÝ«(q|Êßðê¾Ã9Õj{ºá.ÀÙÅŽhÛê�X,¦IéNÛ«¬®LÂ~ ÚSýþ•Šú¬æ"61‰QÛðíGíðžãj¤+ÕÓ NÏÂG­ÞÇhŸ$¤¦¦jmWq'§Âð|غfÇh£ÍS]Çš¥>–Ì<}Tsµ=MÿªíCóT) écyN,ê‹ÎNß!äfå=G:µÂ<•ÞÆ¶Ñöè:û(´Tq q�ÓXõX„ Åå(Ë ÇV³M²ô¹ò Vô·ÅˆÍ)šÑ*�›üK1Rbè(�º^.N. ×ÉNϯ¾oñ=Ïé ×éˆx gÁˆ%_G»1¼©ß¾œ¶W)$=�%Oav[té: ž;‚{qÑaØ¿c6ËÔÿ;OuŽ<ÙÁ~ ¼B"pöìIìZ4 vÖý°ñœz)ý’;qØz çS¯!õB ¶NûV5¥/]LéCâÖ ‡•m?¸ï8ˆÓ‰Iˆ�9†€ÃçQ Þ.ÏÅÁ™Ý`ÝgöE�C|ôaœHyŠR³^m¯ŠGqX8Ø v=Æa¹ßaDÇ' &l/Vüж¶½±ðÈM(ÄHSþeìߺÇ¢Îàܹ38´ ß÷¶G×ïü�Y¬DIqŽûú 4â4Î�ADÐfLékçqÛ‘ñ’¦íÕÏ8êL5Ô3òÆi{z>Ø," 0 2“$+7)ó$~çiëÖÍØôó&•†HlëׯǼ¹³1sÆ8„^�—üQøôíàééY­nå>âQÝÎfÃç @~¢'þÚ¡%>øz4Vù"Ȧ:ÿ¯µú?W¯l—·ƒGÍÂÆ�p4, ÷¬Ã˜ÿÿõ†v¤+5æ©Cg7„�ŠBdøìóZŠ‘�?D‹ÖŸbƉ'ÕÅRÃ<‰·‹5§3Z½þ%Ö]#ÏqxÊÿ¡eÛOÐoîv �Àñ_¬öŠ‚XàLµ ìoкÍGè㾇OD"<Øöïµ­cÁ­Õ÷4½ªëXy8:õŸhÙî3 öðÁá8è…�ä\ ü ¶õþ-;õÀš 0Ú�=±QŽBDŠ#^ÿ3Æ® Dĉ`,®^0ba\Åo_ñž'MtŸ”f_ÂÞU30¼—3lºt†•� úŽœ†5‡¯£ÔÈ‘§®C'al_Xu±�ë °9ò–Æx\Ü…I\aÓùt¶qB¿ñó\¹¹è\É#D{/À¨>.°îÜ6N½0Îó²+nh+Î:�Eãz«–B·qî÷ýi(ɉÁÜ>NfºT¹Ú@(§ `ÅOÒÓ 6â~0ûîùÓr%ÞW§’(ŸÅÆÿŒE_WØØØÂ¥×0ü´<—*—1/¼Ž=ó¿ÃÀN°µQÿˆî‹ü�ô@ÿ¨TC�Æh�æI÷Í×$@$@¦B@f’då&ežòóó±ÿ^lÜ´7nÀ¦M›4ÛŠ+0uêd|?i(V.�Š¢œØÚuÁÂ… 5u´ë‹ýE;¢=Ñ®áe¸½C­ÿ„·ÛµÄkmÞÄ'_ö…çáôŠÄ²O}0¡ûWèôn{üú¿_E«×ßÇ_l†cý©»êÅÊŸb稿«öÿå+¯à¿Ýo¼ÿ ¾r‡ ™ÕFdTýÒkž€ò¼8LøŸ7ð®ëϸWZ(o#xÁ`|Ñ©#Z·h�6oý_�ñÅ]ñžø+}ˆ°£ñõ'ï u‹WѲ]Gtú«5fÈR/6 kNt_«[Qÿ[×±”·â1ÿøðM´jñ:¼÷'ŒñMW�áµ=þU'´oÙm:~Š~ë“ÕÓ·Jîâ Ç üý·b©òöøý½°ô¸ÖRåµõG»o•Ï-`ÁˆÊSmÐG}f«AÐü«ÿ´=ÝÑ—b¤ì˜»îS°ïR¶þE$ôŒÐ4†q1…6ižšÿg‚g@$@æJ@f’då&ežDP.]ºˆ-[ƪÕ+±víZ¬[·N³ÍŸ?Î.N°²úʱ°±í‚ÁC†`ñ’%š:¢¾ØOì/Úíñ�êK ::²�¬¼¾Çh²ú4Ou¢qóTeî5ø»‡£øáÑ?ÀÃ7ÏtWÓ³EóT§äX�H€H ‰Èò:Y¹É™§‚‚?~ ë7¬…mZµj•j›?>† Š=»ažû(ž'¨­m¬0tøpx,\¨©+öû‹vD{ü#�ú yª/1óªßæI=â£À“›É Ú‰]×5S÷La4èeö�æÉ¼>< 0'2“$+79óT^^Ž;wn#((k×­ÁÒeK±lÙ2Lž<�­:cÆôIȸEÞyÜL W½vrrÄ´iÓTõD}±_pðܹ{¢=þ‘@} ˜µyª/ ¬ßpæIw:Ÿe¾¦y²ÀO™H€š ™I’•›œy*++Cqq®ßHCHHÖ­_‹eËÕæiØÐHK=eþ(óS¡,HEÚåp Ú_e®D=Q?44éé7P¬(†h�$P_4Oõ%f^õižÖäÑ<™×çƒgC$@æD@f’då&ižDgsž>ÅÍ[ˆŠ>_/Ìšå†Ñ£†!æää礢¤(]õs2£F ÅÌYnðññRÕÏ̺…ÜÜ\• +-­XþËœ¢Ìsit4O�ŽØ¤@óDódÒeçH€H€Œ€Ì$ÉÊMÎ<‰ivJ¥yyyÈÎÎÆýû÷T£PaaÇàî>ãÆ�Brb8že_Eò¹pŒ;sÜgáØ±£ª%Éï?¸�œœÕ½N¢Ž<5˜¶,ª!š'‹ w�“¥y¢yª! � � ˜%™I’•›œyQ†GŸ¢¢Bäåç©F‘ÄHTzF:üüü0zôhØÚÚªÅëë7®«ŒVnî3äC¡P@Ü Mãd–)'EóôR0›ìAhžhžLVœì � �@ƒ�™$Y¹Iš§%ÂÆHÀ4OF@3£]âââT£×/sE:s=–Xñ466ÖŒÔÁS! 0'2“$+§y2§èó\ŒÍSƒ¡l– ¥¦¦"33S5‚m®¦æe�WFFRRRš¥Øi  ó' 3I²òfažòóóqåj* ÅÖm›á¹lz÷þVõ(^‹rñ¾¨Ç?h4O A±ù¶!œIHHP(ñÿÊË2æt1┕•1Š'xò�H€H€L‘€Ì$ÉÊMÚ<àÒ¥‹B@À:tû÷íÃĉc±láhÕ£x-ÊÅû¢ž¨/öã ¼š§¡×ü÷÷KŠ…gÄ”HþÅ=PÜêÇ@püžÂÂ�Ãߎ9Œè˜h„„cêÔ‰X¾x ®'/Q=þç?“ªz_ÔõÅ~bþ‘€±hžŒ%g>û‰•?ÅœbäI¬þÉ­~ 7Á�?Tn>Ÿ ž � ˜#™I’•›¤yÆ'òd÷ãèÑ#8sæ v,k—�GjÂ"äÞY§z¯Þ¸ ‘‘‘ªz¢¾ØOìOeŽ9çDóôr8ó($@$@$@$Дd&IVnræIL¹#Gû÷ïEXØqÕ”™øøx;v [6-ñ`7•qæIlGƒfÀmúDìÛ·¢ž˜*"öSí~œSøšR�ÍøØ4OÍ8xì: � � � H@f’då&gžÄ=K;wù"44"�fHl¾¾¾6´/<܇aûÆI*ã´cÓ$,p†Þ½ºbòäÉX°`vîÜ©ÚOì/ÚíYì_é=Yí†å³Pf±Œ;qš'ã¸q/   hNd&IVnRæIÌ‘ DÐ�ˆˆˆP™ ‘ÄŠMŒ,͘1ßÿ=ººØ«Ì“kW¸Ï‚e G¨¶aCºcîܹªúbÑŽhO´k‘Š3ÿ‡7ÐeÑ” ŠxLýÛøÛ”£(j, åy¸sá)OQÞXÇx íÒ<½È< � � � 41™I’•›”yË�ïÜé‹C‡©îa÷1‰M,áãã///¬Y³]»: ÷ÎzÕãùXÕsñzù¢‘˜3gŽf_ÑŽh/-íšaa)¹†ÙÿìˆGCYm�ÄÎþ ¿úh,N KPŽÇñÛ0ÊîÏx·}K´hÙï~òzÏÁCáRÊŸb×è¿ãíö­ð«W^Á«-Ûâ­ßþ ÖÜ|åyµ–U/ÊŸÀ{ðghÓâ¿ðÊ+¯ E«öªöz~¿gTïIÍ�k)Ñ5O%W°¢wgô^~Vçüji£¾oGać`³ôr#�vãZ¨'ú}ý)ÞlÛ mßþVÃW!ñ©ÊÖ··Òú4OR4|ƒH€H€H€̆€Ì$ÉÊMÊ<‰ßk Øã�Ç!,,LµaåJOü0y~˜<ãÆCWäÞݤz<»¹w6!÷îÏX¾h4fÍš¥ÙW´#Ú;vü¨a6Ð<•=<€ï·FÇ Árïý8ºÛ—ÏÀw«¢P,ŽTþ«�ÞG‡.³{QG°y\>}¿ì4'su&ÑUÔoÿïÿàXtŒºþ¦°ý°Zÿu*âóŒÃÑ5O†Qx±Z�lžÊs#0ü>G÷i«‚�žCñ‡v¿Æ§cBÑ� ÔÓ<½˜ ÌaoñŸæ•+WËeʹT;5@ PÔ@³Ó€¸íE\ÇÄõŒr2“$+7)ó$~ðvoÀÕ¦Ç=Ù7m[ýKÏ«,VÕ‘+ê¿Ùc;´'>=:ï½ö.¦«(Ud!н?¾øø´mó:}=[ÎfWM�+¼ß©®øì�vhÙæ-üñ+üéÍÖUÓöJ.cÆ?:âïÿ‰F‰8zÙÍî‹~öÚ·z -;üC¼nªGŒê:Vé]2_|øZµj‹·;}�%Ñy€Ê<µÅ/~ñ õöÿZaÐîõ¹–Þá…ƒñ¿¿{-[uÀ‡_ôƲ°,õ”ºúSE J…öh\v ü¿þ›.—i2µÚ®|JóTIÂ2Řb•Oñ#¯ÅÅÅü‘Ü’2 j€ š™Äm+wîÜÁÙ³gi jIgd&IVnRæiŪ¥Ø³GüØm0BBBT››Û ÌqŽ+‰«ð ýgÌR�8åÝßg{ØÛÛâLäL›2ÖÖÖ˜9s¦f_ÑŽhoý†5µ ÓzË@󤼾ÿl߀¬"= »®y*+Æ“Œ,éñ)Z~:1Ïõ�<éš§¢³óðqËs@Lõ+@Ø�ÿB›ßÚaÁžH$Ć`®ë§xõwCžS”ç"xÂßðÚëÁØU8~<[Ýûâã¶­äæIe¦ÞÂï\æ"(ì$"�!6CQ÷±P„(÷.hÓá�î¹Ç#¼Ëq÷J*ÌSükjÎ_¼ˆ‹/áö3q¾E89óßhÝáϳz?N„aù°/жÝ_°èLž:ÒþhÅH÷ié,·ûï~»Ou°êV­Ïkš§úÐ2¿ºâÇ]333™(4³D¡„ý¥f©j€¨¡q=»|ù²ù]¬èŒd&IVnRæi±§víÚ…ÀÀ@ͶhÑBLÿi ÎCzÊ&xzŒ‡X("ÿ�/œ�í°ÄcÒ/nĴɃTÆI{_ñ\´·rõrÃðhž„¸à=éØmÞû;úL]ƒð´gU#@æé•W~…W_}Uuß“‰y¥Ýç˜z»æ½@ÕFžÊQR”ƒ›I¡˜aÿ!~ù›>8ø°eÙ{áÒñM ð¹«9NIæf|Õ¾#&„>GÙ#8¼ÙöËS«Ú×�¶§;ò¤ûº‚R]Ç*zÝßm«EçÕ#XÚt%ÓöÊž¢Û;ê}4w')¯bö¿ÞÆû}ý�+<¨¤?ÚÍW®ÀÅÍýðΛ_bíyÉ(`õ ~Eód0*³¬(¦ê‰o옌sĉ ¨j ¹k   @µrµY^°à¤d&IVnRæIŒ<‰…!üýýU#FbÔH˜Ÿ™3Ý0Ûm’ã6`ÐÀpv²GÞl\3é)[ºF�ìwwwÍ~b_ÑŽh¯¡Gž*ãTV�…S~‹1Ôê´iù.œæ�€ª¼çé û…8'F_.$átxû'Ú·ý?}¤1@ª¶*Ì“fª›˜òöJ |ðå(x'>QÕ-8=ýúWhѲ%ZµjU±½†_ýWKôÜrù±³ða›N˜sº°²{€‘æ©Îc�žƒ�ÚtÂìX=†Ebž âôí£DøÔÿE‹Ï§ YQ^Oó¡�µ» IDATT„äÍñ›×?Çä Ì*ÃXuö/ôŒæé…ð5û�cbbhœøí-5@ PÔ€Ùh@\×ø§Ÿ€Ì$ÉÊMÊ<‰{ž¶oß®úM'???TnÓ§OÇô‡ãúÅpŸ=ÎÎöȸw®ûâÐ�EX0o<=cÛ¶mš}ľⷡÔíxÏSi<¾yïöÛUí^%@‰ãSþ†WÿðΩVÛÓ…_€³‹ѶÕ±8±Hcžtïy‚2 ?üù |0h�za‰Êf*ÌS«¹ˆMLFbÔ6|ûQ;¼ç¸éJõ´À‚Ó³ðQ«÷1Ú' bJQÕvwrJ χ­;avŒ–¡1Ú<Õu¬YêcÉÌÓG5WÛÓô¯Ú>Æš'R¶ôÇ{¯ÿ SƒoUÝ3Uɳižb3n‚æ‰ß47÷ošÙj˜ ´5@ó$OJd&IVnRæI¬¶·uë• Ë’Wn˜9ã{DY…ÄÓ›±|Éd‡búO£°~íR¬_¿[·nÕÔ¯ÜO˜)ÑžÁ«í¡�£>Ã/?�“ªût*@%cÚßÞDGן‘-¹¯¦èœþвFì{.7Où§0òãöøýˆ êK…W›¶'ŽYŽìS³ðyÛö°]œ ª+¦å9¾Ù_ÎÑ¿ÌxÙ“ýp}»-¾ž_Õ¶‘æ©Îc=Ú§·Úꟶ§ˆÇÄÏßÀ?ÜNW›Ò§îŸ˜¶Wñ›Sâ4•W1çË·ñ^ßzMÛ{rr>{ýL:Ðð#N•-š§J–ùHóĤC;éàsê� š»hžäùŒÌ$ÉÊMÊ<‰ßyÚºu36ý¼Ie†„!Ûúõë1oîlÌœ1á‡WãÆ%>=GG;xzzV«[¹�xT·³Ùðßy�Ÿè‰¿vh‰¾�U¾�òß„©ÎÀk­>ÆOÇÕ+ÛåÅ­ÆàQ³°qç ÃÁ=ë0æß¿Á½a…éJ�yêÐÙ a§¢~û¼–bdçÑ¢õ§˜qâIõÖ0Oâí"DÍéŒV¯‰u—Ä“ÏqxÊÿ¡eÛOÐoîv �Àñ_¬öŠÂsÕàTNÎú­Û|„>î;pøD$ƒ=aÿ^Û:ŒÐZ}OÓ«ºŽ•‡£Sÿ‰–í>Ã`>�£�^IÎÊŸ`[ïѲS¬ Ãñ Øûå(D¤X0âõ?cìš@DœÆòáê#ÆUüö•!÷<•ÞÆrûð®Ó"D'&!)©bK¾ŒûzïМSýžÐ<Õ�—¹Õ¦yb¢ÔÜ%öŸ¦¨m Ð<É3™I’•›”y7hïß¿7mÀÆ�°iÓ&ͶbÅ L�:ßOŠ•K§¢('¶v]°páBMíúbÑŽhO´kø_îFoÀPë?áív-ñZ›7ñÉ—}áy8½bD§O}0¡ûWèôn{üú¿_E«×ßÇ_l†cý©»ê{oÊŸb稿«öÿå+¯à¿Ýo¼ÿ ¾r‡ ™ÕFdTýÒkž€ò¼8LøŸ7ð®ëϸWZ(o#xÁ`|Ñ©#Z·h�6oý_�ñÅ]ñžø+}ˆ°£ñõ'ï u‹WѲ]Gtú«5fÈRßc¥kNt_«[Qÿ[×±”·â1ÿøðM´jñ:¼÷'ŒñMW�áµ=þU'´oÙm:~Š~ë“ÕSëJîâ Ç üý·b©òöøý½°ô¸ÖRåµõ§²oEÇÑï½VUK¡W.‰þÚ° ¾á~ǀ橸e>Ò<1éÐN:øœz ¨�殚'y>#3I²r“2Oâ´.]ºˆ-[ƪÕ+±víZ¬[·N³ÍŸ?Î.N°²úʱ°±í‚ÁC†`ñ’%š:¢¾ØOì/Úíñ�êK€æ©¾ÄÌ«>Í¥æž(±ÿÔ05@ hk€æIž§ÈL’¬ÜäÌ“XNñøñcX¿a-ÄhÓªU«TÛüùó1dèPôèÙ óܧ@ñÅÍ[ˆŠ>_/Ìšå†Ñ£†!æää礢¤(]õs2£F ÅÌYnðññRÕÏ̺…ÜÜ\• +--ÕÀá0”€©™'» ?#þüyœ×lq3[ièé°^= Ôß<©�‘ã÷[�pá’N#ޱcGbŽû,;vTµ$ùý÷‘““£º×I´Ã‘'¹XøŽœ€©™'LJt~¸¹¢ï¥7±i„=†m¬øý¬²§ˆÚ:£t‡½UX9ôÄüC÷PVöÇWOÃо®°·îŒÎÖNøÃjì?°3Çôƒ³­5ìº �»ï9CAA> …JP4Nr¡ð�Ú ˜šyr˜ŠüÒRˆ‘T±i´­kž*^÷üq;¢’‘t6)÷J€Šò^3vâLR2Núã§ÞÖèì8+öžÀÙsgºvì»ô¦äB< Ÿ;Ûïpô±Ú)Ò|1 KgtŸ�b:¢<ûÀáû=È.-Gnz<¢â/ 5õ"ýf£§µ3E×Qòè&Ú9cñÉ\ñunïÿöŽNpè·©Êr äV²WÕ­qWai&6�rÀàuIêß4«qlu§ÊžEàG'¸y¬6Yª�¨`ŒµqÆòئ]%ÓØ‘'++kX[[«î{ßZ9Æúè{ê{—t¦íÝÜ‹Qvv˜ò@ëÞ&­ä / 3\l1bcŠK píÐr wµ…}ÏQ˜³.ñ·žéß�£Q4—Ô5@ 4k Ôf Ä{Æiš§Ê„¨æ£Ì$ÉÊižj2d ÀÔ̓ݤ­¸�šŠÔŠíJúõ�®1Ñ}]K=åÏÂæÃÊv*"r+ìOI:6·ÇÐ É(-½Ÿ Žè·ü JÊŸ#tæ·øq»/~p†Ý7”(ÉÚ‹vásU¬ñ§DfÔv¸�ˆîNpîÞ ®ö]ÐoÅ™ZÍSQÊôêÜ�­¬`¥Ùºà›W,†QÙ÷&x4Ö<9MõÁå´4¤]»‚ ñ'à·x,œ`CÜc(ÕŒ¨ŸyR›*Eþ=$õÅÂïûÃÁ¶¦m�Ç3.aT"aLòÁ}´Ì=“sêŽhT è3PÆ'Ž<ÕžHÈL’¬œæ©vž|×B ˜šy2øž'=&IB=å'ÂÊf2Âs*nN*ÍÂ͈QÒ|'¦ÿ*\yv³zŒÆ¾ŒûØóƒ+¦øg 3ðGØ \ƒ4e9”é»1ÌÖãWã\ê ¤_‰‚ç;ÌÓfô²ê†%GÓpëÖ-­-�ò*o˜jkžtïy*)º‚µÃÑc~ uÌSÉóXÌî^û´½�bÚ^È}=#LyHñ� »!ðM-hÔ 8  5@ PM£___ÍýO/bœhžjÏ%d&IVNóT;O¾k¡hž€’[{0̶/VmY€îC7"½¤7ý§Àyâ:¬ÿÞÃ6žW�,åŠ,›)U&¬ì!ü&9ÖižÊrÂñƒƒÆl3½eÖÌ<å%aq{ô^|Eºæ©$Q+†À¦ë$¦U,g^ùMnámìwë›î3qêQ±^sTpÙ m±8Bg±‰Ê6ø¨—“À¦IÉ�Ü©ã4 LÓ‹'š§Ú“Y™I’•Ó<ÕΓïZ(š'¥wá5ÎVV6¹9b,¨äö>Œ´µFëðVMÙ×|1ÀÚW‡ þÒ\»ƒåÃëy ·f8¬lûÁ}ÇAœNLB|Ì1>�‚r¨Œhn«í9~÷3Î$%á\üiDÚÏI}`c7›âŸèYm¯ŠÇg±|¤ l»�ÄâíA8ƒÈC;±x¢Ø¯–Ï„¢¤Ï/ÀÃs ;…¸ø³ˆ ߇e“¾…µó÷8˜UD“@£H PÔ5P«xÏ“<¡•™$Y9Í“œ%ß±`4O"øe¸<6Vƒá—Vñ›Re÷á;Ѷc½q·´b¡ árðrŒíë«o¾A{¸öŒYþ©*ÃUcQ m]•Æê©þ‘Ü®}0vúJ„$?P§’%ž¦ÆJ· èßà 6VÖ°sþ#¦,ÆþDÉbL"jM"*ÙóѸoÂÉ�ܨ�æ§š'íä£ús™I’•ÓäC ˜§Äõ,66Ö²/최½Ì$ÉÊižj�É·,—Í“åÆ^œyjj*233ižhž¨j€ š½222�’’bÙöZÎ^f’då4OµÀä[–K€æÉrc/Î<77 *•ŸŸßì/œü6Ù<¿Mf\Wj€¨MbÄ)++K5›B\×ø§Ÿ€Ì$ÉÊižôsd©… y²l”••!''G5%¦ð‰¹âÜÈ€ ¨j 9i@\¿ÄLŠ'Ož ¼¼Ü²/최½Ì$ÉÊižj�É·,—Í“åÆ¾òÌÅ…FüÇ)Fžòòò¸‘5@ PÔ@³Ò€¸~‰ë�Så•]ÿ£Ì$ÉÊižôsd©… y²pðôI€H€H€,‚€Ì$ÉÊiž,B<Éú yª/1Ö'   �æG@f’då4OÍ/ÆìñK @óô ó$@$@$@$ÐÄd&IVNóÔÄãáM“Í“iÆ…½"   �†$ 3I²rš§†¤Ï¶Ì†Í“Ù„’'B$@$@$@R2“$+§y’¢ä–L€æÉ’£Ïs'  °2“$+§y²eð<ëE€æ©^¸X™H€H€H€š%™I’•Ó<5Ë0³Ó�M€æ©± ³}   hz2“$+§yjú˜±&H€æÉƒÂ.‘ � � �@�™$Y9ÍS€Í™š'óˆ#Ï‚H€H€H€j# 3I²rš§Úhò=‹%@ód±¡ç‰“ � � X™I’•ÓvžH€H€H€ " 3I²rš'ƒ°²’¥ y²´ˆó|I€H€H€,‘€Ì$ÉÊiž,Q%<ç: Ð<Õ‰ˆH€H€H€H Ù�™$Y9ÍS³9O 1Ð<5U¶I$@$@$@¦E@f’då4O¦?öÆDÐ<™H Ø    hD2“$+§yjÄ`°éæK€æ©ùÆŽ='   C ÈL’¬œæÉP²¬gQhž,*ܱbOI€H€H€HÀX2“$+§y2–4÷3k4Of^ž � � � ¨ÈL’¬œæ‰Â!=hžô@a � � � ˜™I’•Ó<™™x: C€æ©a8²   0e2“$+§y2åh²oMF€æ©ÉÐóÀ$@$@$@$ðÒÈL’¬œæé¥…†jNhžšS´ØW   0Ž€Ì$ÉÊižŒã̜͓̽™˜§G$@$@$@ÍõGrE¢Ê� LM²odåüˆH€H€H€H y�åu²ò&y’uŒåE 2 ¨j€ ¨j€ LG4OE¦ ~0 j€ ¨j€ ¨jÀt5@óDóÄ.j€ ¨j€ ¨j€0@4O@¢û7]÷ÏØ06Ô5@ PÔ5@ P/K4O4Oü–� ¨j€ ¨j€  ÐÍ“�^–“åqø­ 5@ PÔ5@ PÔ5`º0 óôìÙ3\ºt ±±±ˆ‰‰áFM¢�¸¸8•…ùŸ–éþ§ÅØ06Ô5@ 4�˜³½XžÚ¹cд1hró$pæÌdee¡¸¸%%%ÜÈ I4�ŸŸ�;wîàìÙ³ �jº 3“"²§¨jÀ45P™³effª¾dT*•àV?yyy¸}û¶Ñ¹cP?Þúôù¢1hró$FœÄ‡�¦‰¦ÑT4 ô˜’’ÂÑ'Ni¥¨j€ ´4 r¶[·nÑ05€i�É5ƒ7O•†ÊØ4¹ySõÄ7þ¦’8³4qÃêüæÓ4¿ùd\j€ šF"gßÚW&Ÿ|4>‘¹¯1¹c`qg š>4OzgSa^þÈÍSÃ\h™°�#5@ Pæ£&îMŸ¸3Mš'š'Ž<éÑÍ“ù\외1–Ô5@ 4Œ˜¸7}âÎ4} hžô$Îéyù#=¦Æœæ©a.´LXÈ‘ ¨óÑ÷¦O܃¦�ÍÍGžôh€æÉ|.öLÜKj€ FLÜ›>qg š>4Ozg£FA°þ1w¡”µiHÙ¾�QnjýiŒs4²M𧆹Ð2a!Gj€ ÌG—¸+r�v6±©� h€ßvÒ]í͘\ìbÐÈ|uyë{mL hžŒL®k¬Â,à„I>× �µiHÙ¾�QnjýiŒs4²Mc>LLÌ'A`,Kj€ jjÀ¬wCÌPñCÄí÷Apü]š'CxÕ·N#óÕg–tËŒÉ÷hž$ɵâa8~tµA×)þ¸§PÖ=µÍ#R[åcLs�‹[(òtú”î;ûïpè^qÝýÐÙ·†ÉÓ~¿¶þh׳ÀçÆ|˜x¡­y¡%2¡¨jÀ|4Ðhæ©0içNâàþÝðõö‚·Ÿ?E"ùÖÓF1-º ´ôu#'÷Æä�ã£È½Ž£;½àwäž7ìT9 ïFæ«9ŽÎ¹i—š'½Æ@�TŸïàØ£'\í`kòóºM‹!F¤¶:4Ou3Ö«ÆYܘóIKÆ’ ¨�šhŒÄ]‘qÁ;áå·'Î\ÀµéHO»ŒÄØÄßxÖ´?ÊÛÈɽ1¹FcÄ@ÛL¨Ÿ+ð é |víÆ.ï}H¸[Ø8qhd¾5Ï«¦ 4&4Oúòçç°¨Ÿ+fHÄî©ÝÐËý(r:Izþ-Y?ƒ»;ÂÖÁC¾›Œ¡]í«OÛ3¤Nåñ 6O ¤ÍÃÀN°µ±…S�¡pÛ| Š+FÇ�pj«;ÆþNv¶°uê �ƒ·Õ÷aÕÚŸœZ6öÃ7âz´Œ¯d/IDATQE[ñXð­#~Ú—Uq—÷Î�½Ë œzZd|? ï"rû<ŒÐ.è?ÑÁ)Oä÷ŠU2z‰�Æ|˜x¡­y¡%2¡¨jÀ|4Ðð‰{!n�„—_0ÎßÏ—$è <º�}»ýàååßÝ�KHGnåhˆâÒNÅ�}»áëã/?„DàÒÝçUí)rq+ù$BvÂÛÛ»öDò� CPœƒç"²o||ü°÷`$Rïç©÷määÞ˜\£ácPÓP( nãTÀN„_ºƒ GvÁ?â*òµGoó¸cÌÅH¡Ï.ì?| —ïäV�R§ßB\?µ>Añx\[¥÷Cá…{EŠªxj÷埚§ ¹÷�-€kß…8÷L�ÇQËÐÝyB³ŠªFF”ϵrl]†cùž8s6¡ÛÝÑßÁ¶Ê<RGûØ•æiF²ó PPPµ=::OkÚžO®�ÁÉ3ɸt)'üæ ·�+‡?R›�âøy”#zÿ´§Î&â\Ü)\¸]„úó(ÌŽŽSpä�zz`ÁU ¶µÆ· ‘¯êkN.íç)þx¨0²%y8»a4zý¯ðs¸|! Û§÷‡moÄç(ªk³i‚çÆ|˜˜ ˜O‚ÀX2–Ô5@ ÔÔ@ƒ'î·pb—¢2PXKœÿ(é™wpÿþÜH>ï�8u#W�L+#>È{Ž'!#3 ™é©ˆ9¸^{Nâv¾H¸‹p'!>~�8u> ™·³�‘v÷žC©,DÖ™ øì9‚Äë·qÿn�À{ÏId‰}«%÷zLF-}n¬Q���žsxv-;Náv�yéÑØí{Wž ^ 4Ì‘‘™‰[éWwt/¼|ƒpþA…)5¤ŽßÜ´HøúÄ•œÊc=GÊQ?쎸V«>4ýªì_=�É÷hžtsÅmø|çŠQ›’P$Þ+HÁÊÁN·-Åu��cª‹~Ø�^5Z¢3%Ï�:ÕîGª0O]ºt�ÞMvÏSq6�qưõçÔýU™'gŒØ”¤é¯8Ž!ýQÜ?ˆïœºbIä””(qkßOpré ç�+q©@‰’¢T¬ꄉÞWk.Šah?žœÀO]]0÷ð} »â»AïÐ +¢sižŠj^¬x'j€ ¨SÐ@C'îÅÙ)ööFØåœªÄ¼®ÄW‘�„`_ÆÝF±¨«JÒ}qàÌͨGÑýDìóÞƒ3· ¡ÌKÇñ�Þ8”üPó¾&ÙλŽc~~ˆ¸V5=°8ç2B¼w"æf�eš'ÅS$܉ ³wÔ|‹î!vŸ/BÎݫ⧇¹²ðâ}à™†I\jÔÑ1OŠÜk8âç‹ðÔ =¨Ìµ/ÂRŸ®�ºô£ó>Í“®2âuÁU_ q…€…‰¼©Þ“`?`RòÕÓÙòÎoA_»þØz!¿*Ù×1O†ÔÑgž¿ÛŒ„ pAk‹óš[�y*DÆÉí˜9~¾uu�ë·}ÑÃÉWž®Õ<Ôa'¹`àŠÓ(Té$÷5ûöb£QÆä Ýs*~˜Œ@Ÿ \|\TaX*îÚƒû•Sçô™'e1nÅîƒwà<Óî ©Sƒo.‡í®ã—�§Tªcç‚KÚ£^]¼ûÊó6&yª–˜âìÚá°Ö7úcÕ+¢ŸªÌRž0vý°59Onž ¨S-Á¯œ¶WÇj{…i»1ÂÑW!þÒ5¤]>‰¥Ãë6OõG�+¾ßÁ~àj\zƒÙ½Æaß�;ðŸÖ?ì¾�Œý?ÁqÐ\)TÂè~¨Œç·Xzä ÒÓÓµ¶ ÜÏiàÕ«ÅVçžµ:Þ3æÃÔX+¶ËDˆ ¨jÀ4Ðà‰{AÂvza_Ì-I’ââ‡pÀÇ¡1—‘uÿ!ÞOGT O­æI™G}}pÒóäí�¨kðøñc­-Ï Š-pä©™q�رcGÍÍk7boVÜ—&3F§÷Ã'0®vó¤]§†yR"÷úIìô=‚kÏŠT‹Vø'à‰æ¨†1L•ÆI<“ïѶöS–]a4÷à÷½K�æÉÐþ¥ûc„ìÞâ�^#Äâ ÜðŸ ×ïÖaýWŒÜ¨žÎht?Ç4;Õ4HÕ´Hmþ&ôܘ“)\ØØ&XÔ5@ P�¥�7OÊ\?¯�‡‘úXÿŠnyi‘ðö>‚´¼Š9H>äg°y£PGýôOÛS½çë­š’¦š¨kà*’û Kù�§‚,DúûàPüM ðÚ˜|�æI+a|Ò]'"X{qÕûJ•�°užŠcªÅò‘¸e<ìúaζƒˆMHD|ÔNLí¡½Úž!u´FC y*HõÁ`;|·:g/^Æ•ËÑX1Ò©NóTRb`Š3±c¢3líì1zóyÕ}SÅ·öaŒ£lìÃû²˜²Wãû‘‹ÓkFÂÖaænELÂ9œ‰>Š€CIx®Ôâ¡—j&ó%•óaj¬‹Ûe"D PÔ5` hxó¤DqN:Nìõ�×î`D']Æ�›·p+# )‰±8{-E’°ßÛ‡N§"ëÞ}<¸1A†�<)•ÈŒ;oßýˆLº†›Y·‘™~Ä(Jnž>/Ÿ}ˆ8wEý^Æ5\¼z§Âˆû|á‡[Ù²Õ� 1&×hŒTŽÄ<¿…�>q¹Æ49_8/¿#HËUTLÉó�ßþ0$¥^Ç­Ì8*¾Þûp6K{tª®:úøã^B¼wûc·Ï\ÐL4žsåùé{4&4O•ɸò Bfõ„ó÷;õþ(nqf ÆÚ;àǽ·Ô (ã¬ÿRLØö6Ö°utEÿ‘“ñóÉ»š…J ©£9¾¡?’û)AË1~@7ØY[ÃÖÁ=ú Ã¬Ý—Ô DHŒPƒú£Df°ìí†ÂïJÅ}_Š;ðùÎŽã½�U¹$zÉ ô£è>Nyy`LWØÛØÀÁµ/&,=‚‡ºËÁW²i‚Gc>L¦pac˜`QÔ5@ 4–+q/~~)§Ã¤ZJÜ Þ¾;±7øâ®>D±²÷.Ç tïNx{‰e±}±; á*0Ð7 ¢5mO•0?CFR$‚Eû^^ðóDôµ'ê ñ^b$B*Ú÷Ù€Ðèkš¥ÐŸÝJÀÁ½;qàLÅ 0ÚQ™Ä“k4V ”Ê<¤†ï‚ïád½?Š[ü䂽}p,%Šbõ ‡»Fè>±ü»7vEÂ�lõ}h‚‘*.>¨µŽR }|‹s®â°Ÿ|éïK%¿†x4&4OM�˜7ÅH �Y¿Q-c>L�u±b»L„¨j€ LA�—¸7ΨBC$×�Ù†1¹†IÄ@ŸaÕ5•†ÔÑݧòuá=ÄìÛ…ÈkõX…±rßz>š'š§ªE/ÈBØ“)\ØØ&XÔ5@ P�¥“HÜë™7¦ùyѶ�É5L"†#CêT‹e!ž>¼�‡nãRT0vÇãaåê~Õê5¬Ñ6&4O4 ÃÀÑ©ªÑ)c>L�u±b»L„¨j€ LA&‘¸7b"ý¢f¨¾û“k˜D 1F†ÔÑŽeñ#ć섗·ö9�›5î»jXÓT+cb@óDóDó¤GÆ|˜LáÂÆ>0Á¢¨j€h, ˜Dâ®�p7óçÆäŒAÚ(cb@ó¤'qæLÕŒ¥²0æÃÔX+¶ËDˆ ¨jÀ4ÀĽéwÆ éc@óDóÄ‘'= yb¢b ‰ û@RÔ€)i€‰{Ó'îŒAÓÇ€æIOâl©£-<ïª7š'&,¦”°°/Ô#5@ ˜‚˜¸7}âÎ4} hžhž8ò¤G4OLTL!Qa¨Cj€0% 0qoúÄ�1hú4¹yŠ‹‹CAAx= *W*ã£ñ‰¼àhL®ÁÏ\W¯ÆÆ ÉÍSJJ 233ižhžLF¸páÍS•¦NTx|j� LI—.]­[·hž`•?‘k\¼x±Þ¹cÐpæÉØ4¹yzøð!TJ8À—9ÂÀc5ÍÈŽ©r#NYYYßê]šÒ‹}aE PÔ5ÐÔÈÉÉA||¼Ê@åååÑDa¢D®+ D®ñìÙ³zçŒÁ‹›§�A“›'‘°Þ¿bJIÌåäFM¡¡?¡Ã{÷î¡°°°Þÿ¡5õE�ÇgbE PÔ5ÐØ ¿ý`Îf\®&¸ ~Æ§ÊØ2Ʊ¯Ì-_4Mnž„D¢*œôãÇ�ñèÑ#ndÐ$ú:¤qbòQy�â#µ@ PÔ5@ PÚ0 ó¤Ý!>§@©j€ ¨j€ ¨jÀ5@óÄ›â9=� ¨j€ ¨j€  ÐÍ“�LÑõ²Oü6† ¨j€ ¨j€x¹ y¢yâ· Ô5@ PÔ5@ PÔ5`€hž €DGÿr=y“75@ PÔ5@ PÔ€)j€æ‰æ‰ß2PÔ5@ PÔ5@ PÔ€ y2’)º^ö‰ßÆPÔ5@ PÔ5@ P/W4O4Oü–� ¨j€ ¨j€  ÐÍ“�èè_®£'oò¦¨j€ ¨j€0E Ð<Ñ<ñ[j€ ¨j€ ¨j€0@4O@2E×Ë>ñÛj€ ¨j€ ¨jàåj ÁÍSEƒÿÇÇ_�Á/È€Ÿj€ ¨j€ ¨³ÓÀ/øG$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@$@�FàÿYˆíj�À3êIEND®B`‚liquidctl-1.16.0/docs/developer/images/create_vm_9.png000066400000000000000000002604151515166127400226760ustar00rootroot00000000000000‰PNG  IHDRÙ\,0¸õ IDATxì�TTWî½ë_ë~÷OTšh,1�5š/Å öرÅKÔ{¯Ø[4{Å^±£€b QQéÌ efÞ»öÌÃ0‚𞵎LÙ§½ç™=Ïl÷Ù§D NL€ 0&À˜`L€ 0&À˜`L€ 0&À˜`L€ 0&À˜`L€ 0&À˜`L€ 0&À˜`L€ 0&À˜`L€ 0&À˜`L€ 0&À˜`L€ 0&À˜@&ðE‰%ª–(Qâ¿%J”hX¢D‰Æœ™ d€ �2@È@a@ø­ð\á»Â{ |ú?bc–––¿Ú7láܲ¥ÂµU+´vqáÌ È d€ �2@ŠÂo…ç6¶·�¨P¡Â`�l .�I¬¸îõëŸsqrBófÍШaCØ6hÀ™�2@È d€ ÚØ¨<·Y“&håä„zßï-<¸D‰"ÚU…`;¶h±aÊ5\�2@È d€ ›7OmÑ}$_§/Ê•+÷kËæÍ)×ü•JÈ d€ �2Pì¢mii90¿ûhWuhÔè[°ùkµ8üZå1’s2@È d@—U’F�ž—(Q¢J~6eÿ·±½}²îÆøœ’2@È d€ „kFÉ7Ïnhog§,.ò8YY�2@È d€ è2 |X3|u¾IvcÝ�ð9Á#d€ �2@È(N ˆ.#šqÀ)ÙÅéÄóXYÑ‘2@È d 3m5@¿f?©æŸÿôÑlR²yÕïGCÄiæ)ó`d€ �2@ B¬wüü®ôj€°þ¶™æ Þ °ªÝOeòr>)Ù”ì<�“ظLÞ>¤Ì�¹‘2@ÈȦ·úûÙdk]ÑÏE÷Ö?æÚ—(Ù”ì\CÃzþЙ)3%d€ �2ðéØÜñ§åZW¸—µÉ�hS²)Ù”l2`’ 4lÙÃþœ÷©Càl§ÿî±Æ”á—ÖG|iÙ9¡ÿ˜™X¾úoüÞ±‘IqÂsÿç•užI±Ì:êÓ³,Z°uÚØç“��mJ6+V6dÀ$pç‰8™ ±Áëе¡~É6¦L¡ükÚ[‚^áý³‹˜Ý½I¶çÇ®qKüܽ;Ú8èÏècŽß¦ñpœŒL„,1 ë4Ëv?>f;yY¶Èž{ÖG&ÅY^Øä2Ÿ^šs“¹sß²v`gXºuÞ]GÄ:ŒÙ&%›šQ ˘vÅò¹Ï��Ëxœ›™L‚Ç{þ@›ì¥Ð‰Ê±Œ]¬¿™ä=VA3ÛŒm¶šx\%ñ /÷c`cÛ‚ýضÀŒ“¯!•Éwg#ºÛgì‡8/�º-ÅÝx)d‰áØ1Âö]!$N ™4§¦µ…��¶ZŽÇ…¨DÈ⃱¨kã|?£$;-cY—÷Dô}µqÀŒÓTçûéîßÑ(‡ó�[>s<÷¬Ûó�‡Üž#–7ð¹%›Ÿ•͵íuZ±ØA€ÈõS³ˆ¶xM¼¦#ÚÆv¡döÏ ;+ábR ÛØá—U×� •A&“Aå�ií²ï~`ŒDåX&]e�&¾ÂÑ)�Ó%ð“Jvƒhõ×AD&J!Kx€¿{kµNÛØ¢ïÊkH�É�¶ý…ðÛ¶Ä ™k°eÕDtijø€�ãDøÇH)Ùþ§ƒõK1©_ø=Îïñ\0p³wÖQD„LC!Ç»M³ÒE[ßki]Jnõ1î³EÉÎʼna…mT̉9ea éPx¾H€46çü^B"KÄ͵a¯Õºi×¼'æïõÇ“·±ˆ‹ǽÐpHtº‹S&Ó¶µ$[-÷·°ü—–ª/$½’ݰ~[rמ¼E\l4^Þ»ˆ­S{£©h·u„»÷;He<Ø:Lµïö?ÏGpœ‘^ÓÑ\K‹±8÷At¯x‚µý›fþâk:Ç^Š–üDÜ^?8ãØvÃæ;qª×ïnúUÕ⛥Ù®=&mðD`HÞFÅ!!î=^ÜØ„~­5’-SÿxǸ ­íl�EÀmâ·í� ‘Iðbߟê–eŒ\s÷Ÿ½At\<âÞ‡ãö9LèÖ\µïYöC_}™ž±-Ù9lÏÖÐq6¶E¶çÞÞ)—çÆ9ÛãÎn?l³cD_>|-óç€y0�ÏÈ€û:M”uÿjKµöcÝriÏ�Ö�’ýOv&à~°â)ª ØØ Ýäø ‘"òÜ«ñ8A´pßÃòžên]¹M.•"î}Â_Gá}Ð*tl¥‘li,"ž„"44·Ï„‹Ñ’-ÄûÞE<Ç“Çax•©LŠØ»›áÖÈéÛÍ®OvzÆÆH¶‘ÛÓ9Î�\sàÃ.—çÆÞ¸ãÖÝ�†91ÂØü^#¦Ì@¯&†%[Èsš\‹Vmñ8M¨õýëÊéX)Ùº_Ê|ž#49AÅ÷YÉfbÀ®=V^Ž‚TòG&¶�mÃØr72É;�¬îolßi>‚c%�%<Æ–á.ª>È®“Ofºðј2™¶+>Ëé�‹K‡cÞégª–Ü'ž“Ñmræ>Ù ÛLC`”ÒØXÔ½)lmlñó /DI¤ˆò_¬jNë+-yw £›;௽b}2Èâocq÷¦p[ˆ™/�LÐÛçÜ¡÷J<B�ø›‡¶€­�=†o¹‰LЍ+£ƒf]¹Õ}nkcƒÆö ³¶VkÕ_Fµd7h;[[ØÙ5†“Kk´ïéŽ@Ñ„9åR²3ZÓÅ�£ŒYí>Ù¹Úžæ8�9÷¹=7yÙcÉ Ö9á{¬ÉÀçe@ÜÍQŸ0§½FÉf…E &…Š�Æn+ð AŠÄ×Ç1²…�J^ûü-ú KñÞO-¯ÍGïC”h~yƒ4-¼ºý­�)“å L[²vƒ½ã0ziâk\8wñ¢´æÂÇæ#÷à½DÝzž!ˆjYTµ<7²…mÃnØ«mcÈl‡„÷ï� ¯Y=1Ç+RÉ{žàªÿ¥ýà�I¶ï/84‚ÃÏâUfž˜*ZËÕ_@ºR­û<í8³ˆ´Ög#Ë{úº‹Ø¹à¯u¾x¦jÁÖãø;XÒ£q.%[ ©D‰ö,yjIv·gÔ¹Ï͹Éë~ÈÖ9H;OüûyÅŠù3ÿ4D�4¡Öý›&Ø¢_¶öcÝriÏÙ]„•�þ/zæÂ\>é-µZ§ÕÊ)� Æ¢n�Ñ|ô^Uw’Äמªéf‘U²s.“V‘¦ÿÕ‘l!±-®Ehœ$½¥5]²5¢/‰¹ Ïõÿbí¿óê#U-Ù¶6v´îe ¸v`?Bââpéßåðy›€ˆ3à‘É_ŒoÕP?c66h;ù¸úXßžÁ¬Y‡TC&¼ôİæÝKt¥Z÷yúñµœ?Õ…�·±¸›Îè"-Æã¢x/­ŠÉvþc¿jû‰o¯cۼɘ0u=®½£•äE²sî.’×íÃGnÎMÞ÷Cýc0[F>Õg‹ÛÑÿc.Ì%Û6ÀݾYïð¨Oªõ½–&ØââÉôz8›í±»H6á Ës*¦95‚#/ “&àí³‡ª>âßphè#¼Š¢›ˆàuѸã\܈‘@–øǦwU]”§+Ù �(“…3=’mkã€aƒU}«E‹ušd7üynŠ.+‰¯pbno4ÓtÝppl W­>ú®Áã $‰‰�ÄßŲ^m0÷l¤êy¢TŠ·gfÁQk¨À,ûÔtŽˆÖki<¢¢c!¬”iˆ;]©Ö}ž¶N‡ßpú�¸Ðò-ŒuUµ„Û5l¨úkÓh<_‰ì£qf¶UE÷ÂG[¸-P�jå·­lm –9ž %ÙÃpìu‚ªkÏá ­Ó[ÚÓ¶¯ú›žqN’mÌöô�Ëmì¹7îÜ|Ä~ÉH¦|øc”Œ0³búñ>«ÚétCøÝ¾¤·¶m}Cø‰a�a–’ýN°1'†eXáœ߇·‰RH>œËܺkÓƒ7ˆa‰‹[bÌîê!þ¤ñxþ¯"ãTãJ§ßŒÆ¶EÎet?Ïé�‹ »eHbÓØª^šd‹aóÆí Õìƒqï_ãud4ßb×ÈéªMC7l»/F‘!.tzÙ̳ۢˆ‘ÈTÝ>ŽNÊf\k±6vèûwPºäK¢0]g8C]©Ö}žÎ†]+Ìóy£ÊIÿ/Ÿ…#òÞvô][lšbÌÞ'链~þ‘1âÂÆŒÑEšÿºቢ›GßðÇù 7.Zù5-Ùb”�®F©×û;F;¥ç�±š±È�';§í×^ã¶#±Åç^GÇ#!î_Y�þMÔ]OİwóöøáÑëh$HŽÐ[þØ3£—z¼pÛæè¾A�Äh.¢u>ïÂáÆùÝÚ^u-zLÁÁ€‡ˆŒz€U}µÆ÷N;®ôŒsjÉà f¿½ìŽÓ(>Œ=7¹92’– ÿæøYÐf™�õÔ£d¨@ú˜Ûª‹e�e•-ÙØhXŒ…ŠåXQ’2@È ¦Ì€¸kc¦ëþ¶9>ßÜ1çaû´�™’Mɦd“2@È d Ø1 Z¥E÷�œd[”ÉM všhS²ù¡*vª4øù—­,d€ �2@Š7â.�ë;üˆ›}²ïç߳ą’Æ ×§�#J6%›’MÈ d€ ��bÍ€ÞO·¸“£¸iM^ÅZ[¶)ÙüPë•ö‡��‹wkÏ?Ï? d€ ä'”lJ6%› �2@È d Ÿ dçs ùù ˆëâ/j2@È d€ N(Ù”lþr%d€ �2@ÈÈg(Ùù(mÎ_›3@ÉÎç@óó×Å_Ôd€ �2@È(œ P²)ÙüåJÈ d€ �2�Ï ä»dW½:832@È d€ ��âÌ@¾K¶L&gf@È d€ �2Pœ dóG‘2@È d€ ä3”ì|´8ÿb㱳ł �2@È j(Ù”lþr%d€ �2@ÈÈg(Ùù(½ñ< d€ �2@È%›’Í_®d€ �2@È ùÌ%;Ÿå/Wþr%d€ �2@È dS²ùË• �2@È d Ÿ dçs üåÊ_®d€ �2@È ”lJ6¹’2@È d€ ä3”ì|”¿\ùË• �2@È d€’MÉæ/W2@È d€ ��|fà³K¶¿¿?83Sd ·­5þÚÎÌ€ �2@È@Ñd ·^`’ NLÀÄÒŸÛ+Õ¢Y©ò¼ò¼’2@È€` ·^@É61¹ãî˜F”lV¨üR%d€ �2 Í%Û4�{QÈ d³bÕ®Xù˜<�2@È@¡—lq'NœÀÂ… 1cÆ L›6Mï,ÞeDY± '&�Ÿ P²Y™ò • �2@È€6…^²�?ŽeË–áØ±c8}ú4Ξ=«wï‰2¢¬mNL ? d³bÕ®Xù˜<�2@È@¡—ìÅ‹cÇŽؾ};¶mÛ–íœVN,É äg”lV¦üB%d€ �2 Í@¡—ìÙ³gc×®]ððð0jeçÌ™“Ÿ~•±.e_:Ÿ;ÑPf¼ÊGÅ J6+V튕�É d€ zÉ}­÷íۇݻw«æ 6`Ñ¢E*‘.Z­Åkib™¼MJ¼ÚŒ¡­Bek3”4+ƒÊuÁmÆ1DÊ$ùaH�²pYrмm€KÒ(Ù¬Lù…JÈ d@›�"!ÙT‰ö?ÿüƒùóç«Z¶E_í“'OªZ·çÍ›‡ÿýWUF”Í«d+"� k T´€eÛáäñCزl þøÛIB)Ù…T‘?~·)ÙX±ŽÙƒþ> :ê%úÏÚÉøð&Fd€ �2P((ô’=sæL9r[·nU�rêÔ)=z‡Æ¡C‡°gϸ»»«þ ÁeÅ2y™}Ç¡²yuL¾ Ñ¿¸J²­P¢D õü?æè·'F]Vþ'ç÷GÃê_Á̼,j4rÃRï— àªIñž3zÁ¡^UX›—†YÙo1`Û3( GÈú_P·rY˜•,ëÊ? ëTO¼NÕê�¢ˆ„÷²_ѤvE˜—.«òÕðSónX{M3ŠJòKžÕ�j +˯P«yl¼ú�]ZҲχ¿ù+Ù;ÑûB,äò(ŒŸ·+KERsÊœMV"!8µÓ*Ú±ûÐyÿ}œ}™€˜RR’þú-öŸ» çi¨ñ—Zîxˆ�($r%”J%RRRñö=ŽûßDw÷ÝY¶“ñkÜN»Ÿ"\*‡B Õ²2YžG¼Å�‹7ÐgÑ>ÔLÛ�‚ø;æ ¦>H‚R‹YK²æ‘±Ÿ(úq\\g6Ìñ\’k2@ ?…^²gÍš¥5dùòåª.!žžžª‹ …X‹Y\ì(FÒ½zõjÕc±L^¦”ÇÿÂÁÚ6Ã÷ã¥LKrÓV¦iÉn2ÎÁ!! ¹‹ðXÑqD† ÓZÀ¢ìO¾ò|}<±lP#X•i€WÔK§ÞÃû ¨Þq6<½/༗'ž&P"*ä <Ïø#(ÈõD5‹ ²?R#É2øÍr‚…Uü2ϧ}}qbËhÔ·°Æ¯‡âHà=¡ ,«µ†û¾ó¸p ³;ÕÅ—ÕÀ'†�ZÒNÝÇþý¼’½=ξƒ@Róǃas`N…Å"Fòƒg¨%»ÝñH¤(SpíÆ},ó¾ƒ5—žàDX•€\úãmd,û+}ïbí¥'8ú(Q©€R.ƒ÷ioÔSpbÝiGÑvÉAÔ¢˜RLÉ d �0Pè%[ô»ÝB„P‹."B¨E÷Ñš-„[<ï‹çâ‚GñX,“·I†ÛÛG¢AE3X~c‡žãVÁçQlF‹°�î"ЍÃèüu8/Îh¹N ÅŒ&•P¥×NÄ _WIvEØMòGjv;—Šé•Ð`ܤ�9Š®•­ÐtæUÕs±¨âí´*[V%ÙŠбbyôÝ‘¾Ÿ©/6 ™uEŒ:.$œS~$ð9%»æäs8.Q ùíC´ž,„:Cv¿Ÿ²WÓÚ­eE®Ð–é�p܆· àÝÍK¨£µlÆz2–]ºrO¦õÿwÞylz.ƒB™ŒÓ�l‹¶Þ}Ë8ÖŒýåkÌ‚ �2@>?…^²…8{yyaîܹ*É-úeïß¿P=¯ ùeDÙ�]D!y‰‹;b sXšUFû9¾P5 �lÉ器iY 3´»™¤Àg\C”¬?·’•ÙHvB�ÌFצ? j…r¨På;T¶.…z£½TR-½2 µ,k`š_ƺµ%[85K}�’ff077×Ì¥ñÅÌÐmcxºxç‡hçu|NÉþÞý ®¥(sëRF÷‘,Bš!Ê™%{¾›àƒC È^Ü†ÝØÌ’®®¤3–Õ•lñ~ÝÙ~8/‡<þ9ºêH~½9Þ˜ôÏS‘”œ„�ŸàÏû52¾}.ÆB®ˆÅÌÅ™»�ج¹‡7 9Îì?‚šíÄ/~qP¤¼Á ©û÷ýÌÓ˜véBãR�”šŠÈ÷ï±k߉tÑÏ~ÛŸ¿òå Ï d h3Pè%[ˆ³¯¯/þþûoìÝ»Wu#Ñj-D[ÌB®Å jÄè"ââGQV,“?“W¶ƒ•ùXxC¦¾ð±fÖÑE„èÖ°È›d'…,‡�u9´½>Wo#$è†5ø*]²%ÓQò6fJÓ)³dOGMó*¶ã&îß¿¯5‡âUL¶mæéëボøœ’]s’ÄÊ!OŒÄÄe†úGgˆ²®d I’~ç2¾×Ûå#cY}’]ã¯]è#ú�+“°uÓÞô–.àH”©ÒXxúÝÁâsa¸§€\ö㪥Ú~Ó#Ä(ðRÉtZeë�ާÞ#U�I D¹¬’]gºv¾M…Rž„›!�±æü}ì¸�Í»„”ï€1Ûæ—[ZÞüKÈ Á@¡—l!Ò~~~ªVl1tŸ��.]º„k×®©fñX¼¶`Áˆ‹"EY±L~M²ëóð½Y 9$atý¯`?50S—EÔ!tª$º‹ÜÎÔ]dfÓJø¦§G¶ÝE¢öôGÉ2m°÷½æIy8·ú&]²åovÀ¥œÚ.¿Ÿ>l ¶d+ÞíE»ò™º“ä×±s= |NÉ5¶Úó oå€2U¿+Á°\·ÿrš('bÝÖãhìî‰f‹N¢ËÖkØÿ* Šä,úg_º g®lÒ–M€~ÉÞ�§HR*p<­%y7ú_Š…<% Ó—ft1ùïÒIQàé¥sªþÕµ¦]„·L�Á�¨«üïÆÆœÇ)HŽ|€–ª–u]ÉÞ…^ç£!WH°}ëáô–ëŒ}6nÛåùåÂ,È d ÿ(ô’½téRâêÕ«ª¡û.\¨ºÈñüùó*¡£‰ùãc‹2¢¬X&/SÂå•è?t:Öî:/ooœØ·Ã[|‹ÿ|匭a)€2 ›ÝjÀ¬VW¬òôÆYÏ­Ø .P”⼸ð±ÜO±ê0ÎùŲÁê ç_Öô‹6Ð'[vcê[~§?7álà5Ü :ŽQvåÓ%[lsßàÿ¢d…Æ»þ.^<��“:àë’i>ÆãÔ˜Æ0³ªƒÞ³·à¤Ï9œ=æ�•Ûü¯çÚͼäÂe€Ï+Ù¢b؉Æÿbã½ĉëY•r¼xüC—¤µlkDYßÉR¦â¦¿?ŒÏ芑¹²ÍY²í6^*éýnÂY쉕CŒ–³Âv¦fžëƒ­oå]SÆìǤ{I�'>G׉êíמy ~É „^ðÖ\è˜Y²¿Û>È‘~�ôto1zÛYºÔä›9G®Ÿy�2@Š…^²×¬Yƒ€€U«upp0.\¸ ê"Z®E·1¢ˆ··7Ä{¢u[´l‹×r?)}cFui†Z•­Qê¿„y¹*hà2k.F¤·"KîÃàfµ`mV–ë¢÷š[êÖëÔœ˜×vÕÄ~Öø®Q,9«5„ŸÉquÃH4Ãó}ù%J[”Eå?¢Çò ôÖrE\ÖŽl‡ª–ƒ¹e%4hÙß–.‹áG4ŸŽ£îýѨVEX”, Ë ß¡ÙpDÈiÙ¹ç@ÿ%Ùôáw1ë~ZÂøÃœÓøÓû^¤(!—}Àä¥âBÇ4Q–âðqôßr¶\Äð=×°êæ{DË•xÿ$Í&èí´e�oÉ®3+—R ó•ò>ŽãÔÛj±ç¤r)Ö­Sw5i¶ëå X¾*­<³dמq “•ˆºî¯w´‘Ül»8Uö» Û1¢¬{á£X¦é®gH†§÷éë㜱¬¾>ÙÚ£‹t׌."ºlì�•#éÕ]8èéÒ¡½Ÿ5ÆìÃ_ÁR¤Æ>E§¹~8+•#ÄçŒV+uæ–ì´î ¢»ˆ½žuçjÛZÿ�iŸøº�þùrBÈ0–�B/Ù¦¡XŸq/”Q84¡5¾ÿ¶¬ÌJò|u8t�€c?ãN¿Mç·d×�ˆK2%’Þ…ÁMëVâµ§œÂªgÉP*âá¾L3Þõ˜ýh:?­ïþcCˆ IDATuFåg¿î>žË•ˆ£†dˆ²®dךtóB¥P(±ruZ�Œõdt5ÉÚ]D5Nö3õ8Ù^�kIÿ ½š…B‚Ýê?²«”oyŒhy|î¾…45Ói·àg–ìíÁ¯WâUëÞ¹]ߺs·íìö‹ïisÀÇä� �2�(ÙÅÏyÄ�@~K¶ïçc¯!nš*‹Ç…à0캎�89”J9‚/œKïnñãŠÛx*—ãõ«78tå!6ø?¾»ï™¢„2%KV‹. ÉV&ãʵ{Xæ‚çîcû�Ü�ëTâyð4ÐÓ2œ±l nÜ Åš ÷±>à Ž?ŽA´¸ã£B† g}Q_gø¿zîþ8#‡R‘Œ;÷ðÖ÷.Vû?ÁÙç/0böÎÌ-¥½àñA=‚N“›h�i]º’½ßϹˆãQbÝI¹ûkÄ](/?‡÷ù ª±Âsµm¶Zg>̃y�2@ò…JvWYüÈÉÞ�cvÃe[0‡Åâ½LŽTy ^¾ŠÀª½§3ݼîôyê!Î>�Ãû$9 âããxû>F,? i]ö@Ëq': ¹J% Pȇk°hÏü0ÖP …w‡á¥T…*!OJJÂËב8â ý—¦m#ëòõçœÅœÀW¸›Œ$…’ÄDܼÿ½æèHö_;Ñåì¤*Spp§n™¬’-ZêÍ9‹¹—#ð0.Ér9¢cbà{îBz6Æo;ë~禥‚e™ d€ èc€’]ü|�G\ ˆd³%!_ZôU||�_ˆd€ �2PÐ P² @¸¸Êâ—%›•uAWÖ\?#d€ .(ÙÅÏyÄ�%»pU|ü¢âù"d€ ��‚f€’]ÂÅU¿(Ù¬¬ º²æúÉ d p1P¬$Ûÿ’?æ¸Ï´S0{î¬âg‚<âK€’]¸*>~Qñ|‘2@È@A3P¬${Í¿ÿàÄÉcXº|1¦L›\`ÂÅ¿(Ù¬¬ º²æúÉ d p1P¨%{ð¯�1bd3ãæßš¢ÿ€ðXxòùá—I~R£,\–ÜËŸõé“jJv~œ©ôuP² WÅÇ/*ž/2@È(h µdws«†Cš o¿>2tp–¹Q«öp°m‡LÀ¨qß¡ßÀ¦*É>Žûgº åæ�"Úc*ãËrõà6n<Á¡]ë1gtoL:ž?-Ï”ìÜœ“(KÉfe]Е5×OÆÈ …‹�B/Ù¿ j†ƒûíg÷,s³Ö1pòbü:e"FjIöÄIàá±#r&ÅÙ±öø¢\c, Š1¼¼ü5NÎï�†Õ¿‚™yYÔh䆥Þ/Õ}¡ÅRòìú³=Ô®‚²¥PÊ¢j8ôÆš€÷jIWI¶J”(¡žÿÇýöÄŠ·ðœÑ õªÂÚ¼4ÌÊ~‹Û4­ç9mS·åZ÷¹Ø¯ä—8<«ÕþV–_¡VóþØxõƒzŸ²Û¶á$ŠÍ;y‘ìÜ~øX^fÀ È d ¨2P¢D‰Æ%òqjœÛ „̤M¢%{äŸöprm‡æÍ³Ì�{ÖCŸá?à· ¶˜6÷Gü2@Ý’=bä0,\´ m5ÆÿM<ƒÞU­P{èQH .%Ã…i-`Qö' _y¾>žX6¨¬Ê4À‚+ ê¥RïaŠ}EÔè2ÇÏúàÌ‘�ø­EUü§úøÆ*MKv“qž AHÈ]„‹×UËU@õ޳áé}ç½<ð4€ÛÔ•jÝç�À{BXVk ÷}çq-àfwª‹/«€OLvÛ6D±zƒ’ÍJ?·uË“2@ÈÐfÀÄ$û[Lwo€)³ëáïuÍñÏFG,]Ý«6´ÄÒÕM±r}K,_Ó sÙaèïÕÑç—&éÝEÆO›k L~øì--Ðeý ƒÝBQ‡Ñùë2p^œÑr�ŠM*¡J¯�ˆW2j$Ûn’¿ú"D¡É×Üñ½e5L<'I—ì,}²õ,'¨mêJµÎsŇèX±<úîˆH?¶ÔÐ̺"F�׻Ϲ°/@ÉfE©]Qò1y d€ ��Ü2`‚’mƒ+ì1sþ�˜»Øc&×�û;ŒWó—Ûã÷ñµ1dTu þ­ZºdÏœ=gÎxåZù’CW¡¡¥ºn0Ü÷Zry&jZÖÂŒ‰ÖúSà3®!JÖƒ[ÉJ½Âªx¿ ®å¬1ä`|®%Û¨mêHµîè"’À¨Yê ”43ƒ¹¹¹f.�/þc†ná4 øZY¬R²Y™æ¶2ey2CÈ Ú ˜œd/^Ùë¶5ìÿÅßëì1az]¬ÞÔ£Ç×Äúí-1ÝÝ“g:`´Æ8¤�ª%;Ï#‹$œ@÷¯-QoÔi$PJ!«5,r/ÙʘýhW® ÐHvM=£‹]£¶™£dOGMó*¶ã&îß¿¯5‡âULªÞ"(–/S²YQjW”|LÈ d · ˜œdï9Òç¯vÄÒ5¶¸x£#f-ü—nuÂÔ¹õÜë·» }ÇoмeYtìäðq’­ŒÃþ!?à‹ ­°ñ¾vKu†W*¢¡S%Ñ]äv¦î"3›VÂ7== vÉ$ÙÉA]ÿ+ØOÕŒi�¶z’mÔ65’m?% Ó8ÙiÏïö¢]y 4�y)iÛÓþk`ÛÚEŠócJ6+ÓÜV¦,OfÈ d@›“ìjðöïŠG½ðï–Fx׋WÙ <¶/þmƒˆø_pàøÏèîV §N{`Òä?>N²Ewêð#èYÛ¥¾n„¡s×ãÀñÓ8utVÏþ“=B¡€çÅ…�å~ˆU‡qÎ÷(– V_ø8ÿr¼ÚCõk&ÉVFa³[ ˜ÕêŠUžÞ8ë¹û"³é²aÄ6åϱÀñk”k:§C£¡Ô}ŽxœÓfVuÐ{öœô9‡³Ç<°r›â ô#/ÎR­{ì”lV”Ú%“2@ÈÈ-&%Ù?w©Š�~†ßÕ¾X¹¾®„t¢Mqùv',\Ñ7tÁºmNèîVoß¾ÅÒeK>Z²…\¥¼ ÄÊ?ºÀ¶FEX–. ó2QÛ¾=Æl V·§Fàļ~°«&†ð³Æw�z`ÉY­!ür’lÒ‡û0¸Y-X›•„eÅºè½æz–K—½œ¶ %^yÍDËša7þðHÕÿÞÛ®N]±Â?ROž‰Ùö;Z9ÅÁ§ ê÷%o°{L;´�x1â‡G1üÒà1ó¼“2@Œc ÐJöGøSÆ¢š–lµdH~ˆ%mª£’ë2<Ž=�éÂGIà Ô,õJš™ÁÜÜ\3—Æÿ1C·�áPºðQþ +ãûQ§‘¬ˆÆ¦µñóìhWÙËn'!ùá?°/ûÜ�Ary&jZÖÂŒ€ôN+Rà3®!JÖƒ[¢ËI¶’]VåÊ¢´ù˜¤½ŽŒCæ#ã0 ÉV �ëˆÕð¿„+çqrÿzÌøµ3œ\û`™÷3ãºmäU²u²I¶L‡ëGÂ¥ÍP칫’aé‡ ,ìëŠ. \"…L&Åã=cáÔ¼\¯Ch¼x-£âL|å…±ÑÜ©6ÜT¯CFÉΔ‘v^|œÁ³`d€ LN² ôBG]¿Ò•l¡´O=Ðö›òh?w>ºi�." œŽšæU0lÇMÜ¿_kÅ«˜TuKvM}£‹Èqs¡ Jÿ®½?�žÕ°úÞ3¬h[ m—ßCèšÎ°¨ÿn&)!D¾†ÅÇHvEÔé0k—ÅW¥3bŠîñó¹ÁLI²³´šÆ?ÇÁ©npì8gÂÕÒÿÞfàמáêÒn#fãЭHu˵J²�мysÍìŒY§ÞC&“àþÁ™èõs8;:¡u§_0é__¼JÔÈfb(Ö jƒÿ©»‡èJ¶4·.Â0·öšåûÀÝóqîZ˵¤6ß¿”â`ýˆöh;|#Æ~€ÿŠApî<g^h2“%"hõ ´êÒ =ZÿŒ¹^¯´ö=WWFë½Ñ£U,¾­Î™’MÉ.Hf¹nòEŠ&'Ù:dŸ®Ré‘lÑ¥#lG?T*SeJ™¥á§x·íÊ[ éÌ«HÑ]�xž„Ñõ¿‚ýÔÀ,ãT'ß_ë:ø}Z|c#.‚”ãÞŠö¨è8ã]¾�ÝD?Õ:Q‡Ð©’è.r;Sw‘™M+ᛞFuãd'†íC·šÖ¨Úñ„¥]p©oŸùšÁLZ²e2Ä?ð@ÿVγû ¤²¬×.`“×ܾq&¸Á©ël¾—@¦iɺÒwU?à剪%7òÞ%ø\º†ààk8³m*º:w€»×kµlæ Ùñ÷¶á—N˜´Ù7BnãÚÅSðcRdlè> o׿N7—Θ{ê¹–H'À{^w´³^+¢õàux” þ�‘øêÆtìˆ9GNbn·Ö˜âùZ}\”l“:¿ùþÃŒ‚ÃóKÈ@>2`r’-¬ç“Ý|F¯d�¿ÂÚ®µðÿþ§tºdñ85¦1̬ê ÷ì-8ésg�y`å6?Ä‹¾ÒÊ(lv«³Z]±ÊÓg=·b_@¤ºÿv긷øfæ–h*]²sì“�øk‡´A¿•WÔý˜s�ì˜Ë+ÑɹÖ]­â¦ú_ƒ‰¸³u4œ[´@û±ûðZÕM$m_£phR{ü<ã4b^xbTû.Xzád²DÜÚ8®¿¬ÄÝè;XÙ¿-FmÓŒ¨BÉ6ás�v^ù×t?�<7<7Å‹“”la<Ÿä6ê†$[4L‡m�sE+-É}IÂqÔ½?Õª‹’%aYá;4î�¹zˆ<éÃ}ܬ¬ÍJ²b]ô^sKÓ"­@؆î°0ÿ‹oinž#Ž…Î•aÙlÂRµ†ØK�À‰yý`WM ág�ïõÀ’³ZCø)Ù¢/÷­eíaie‹%7Ø?;‹EçðBa’ì7Ö¡»cK8:9ÃÙ9mvBËΘt(Rƒ}²ãñÈg& ë‹ÎíÛ¢}çîø¹µz-ñ3J²eq¡Ø>¶œ\»ã÷yqöv„é�:{k‡·‡KëÖpÒ꟭ú¢“¼Ä¶QíT?T¤18·¸/Úÿ± /"ý1³[{L9ô RÉSlÑ.£Ë %›’m²?(‹—¼PVy¾ &+ÙJ¥;wîTÝN]üÏ91�O•€©Kvüýíèç¬î.}}-º;wÆ‚ãwððáC­ùÂß'lÉŽ¿ï�®m1bÉAßÃýÛ>XÐßÕxɲ!�Æ£K°ä¯>pul�?6_W÷g"‹këGÀ¥Ýo8pû&þÚm‡mÀƒ¸Ì}ÎjúœÇ?Ü…AmzaæœQhã6×¢¥�I^c×_íÐcÁyõJ6%Û$ئ`Áâ>’S“•l!SR©T%Úâ/'&ð)0iÉŽŠý“z¤_ø(ys µuÆÐõš¡öt% þ–ôvÍ2¾uä©™pvù§ßj.Ô´ìæØ’½Fß8ÙÑ\9N]Ü”&±ºûñ‰ŸGÝÚŒ~®í0n÷U {ÌÝ�ÜÆ#7«…9þõtÅðM!êQZ$‘8<¥ Z´pƨ­÷4#·Dãð¤h?í$âÄþS²)ÙŸ˜cŠE� ^LZ²?¥Tq[L@;S’l×á«p!ð2üÏáøÞµ˜6¤3 á?1r†KOLßx¯àÒùØ}4Ñ!†ïpxJg´r›ˆ=¾�¸ä{^×ß 6d ú:·ÅÈe‡p#w‚ÏcñÀÖ†[²%ϱå·6h;lü½Gü?ì;ì�«·B|íÖ�íŽVýVá¾æâÁÏúÅŠõÃÚ¡íˆÍxœ¾?ñ¸¾aœÛ žÐ8Èâ1«³ þðx”Þ—=úö,š¿ WÞ¤�@�S³:¡Í˜}ˆý¹5’í:|%Îù_Â¥Kis §€R@É d �J¶¶Yñ1Ð$`’­¹MKõÍh[µAgC7£‰‡ïæÙâÖ­áÒ¾;†/8ŽWš ýâ{Á}x´vr„K‡^˜¾÷$éCðu€sË–priƒN=úa²G°ºoµî…�2)ÂýÖá·0påe¼»¾£zÿ¬ºYŽ£K{ô1 oj† ü¬•¬O�LE›V¿`s°fè=ÍþH£‚0¿— :O>‚×Ñç1±M+L<ø2]²³þ0HÀ¹…np±ϵ$;c8ÄŒaÅ$¹º£ægͨð¶ e=G<fBÈ€i2@ɦV2= ˜„dSÂÒ[øbš_ qqqx÷î�êuñ¾(lj äw”ìœ+V°Ìˆ �2@È€aLV²Ož<‰çÏŸ#!!A%ØB®�;¦’l!Üâuñ¾(lj äw”lÕ+TfCÈ d gLV²·mÛÑ‚‹˜˜Õ,$;í±x]¼¿eË–üö«‚]Ÿ2�/�€Ï�h( vK\ûG$@Éιò`ËŒÈ d€ fÀ$%[ˆôÞ½{UB…>¨„ZH¶kñ\¼žVNwž&e$V¶¯‚ò]· 1O+ÈÃBI~R£,\–Ü{“ç!¿O´%Ûp¥Á •Ù�2@ÈÈ™“”ìÐÐPøúúªdZô¿sdd¤ª»ˆø›öš�mQN”ÏÓDÉÎSlÅa!JvΕ+XfDÈ dÀ0&)ÙBpnÞ¼©’é·oßâÍ›7ˆˆˆHŸÅsñº�í7n¨FÉ“øéJ¶<»þl�µ« ¬E)”²(‡½±&ེk‡ü5öŒûvuªÀÚ¼J[VÂ΃°ÖÿMF«´ž–ê”°µp°®Šñ>‰€ê}+”(QB=ÿ�9úí‰ÉÓîs¡‚K  $;¬¿-8ëÏ€•´áJšÙ02@È@ádÀ$%ûðáêáù„L‡‡‡ãÅ‹ª‹Å…ŽbÏÅëâýÇ�C”ÏÓ¤+Ù©÷0ž"jt™�ãg}pæÈFüÖ¢*þS}|c€æýï:»ã¨×Yœ>¼ cÛÕAië†Xz]ÓáÄ(É.‹&ã<‚��»ëædR P²õËpAýHàHáüáyãy#d€ fÀ$%[\ô˜&×Ïž=CXX˜JºÅ¸ÙbÏÅëB¶_¾| Q>O“ɶ›ä�TÍ e×Üñ½e5L<'I—lí÷!½�±6åQ­ß>$ˆeŒ”löÉÎÓûd åE²Å2ÙÍ%¨Ea½ÙåÆ÷²çŠù02@ÈÀ§a ·?(LR²ÅMg„«d+> pÇ\ éÞÎÎmà6tö\‹Ì_¥÷Ž.ÈžàìèŒ6�Áü“/Õï«Z²�ѼysÍ쌹Þñ™Oª¡VõÔ7ðœÞŽ'âÜ;M«zê[\Ü2C{ý W—vè5ÒÇîÅA Î/tƒË õx.·:“ž“àÜq:.džaÝ�6´övÆðŠh\Ý5C{´G+gWtì5;oKÕ‹Ü ˆ¹„9½:`àßДV/Ù`L€ |Â(ÙŸ0lnªè&PP’ÝvÒQÄ%%#99cþpf¶Vw‘$ÜÚ0.múcÉ� ¸qÃ{æÿŠÖ­ÂãžZ1SžìB?—N˜²ý"î> ÅíËÞ¸¦é„¢é.2lµ‡…!,ì)"t:Ž’l)O÷``+gŒ?d¸¶æW¸vý Û|oâÁ�KØ:¹œ»¹ãZ¼1çæ¡µËHœx“ªA‚S3:£Ã¤£ˆO}¦#ÙI¸½y$\ÚôÂ]Þºy—¼}q÷ƒX6ûíÉžÙ£ú-¿DÉ.º9`LÀä d›ü)↠J²3Z˜ÓZš55}²q1©ƒ ~÷xœÑr�ú‡µAç™g zLËn®AçV}±évBÖ(�ê“m¸8’¯cNçVèµì RbÏaBû¶˜uú}úE”©o�b„K, �@í�±íZcê±HõûÒ+˜Ñ¹ &‰€BžY²•ñ~˜ÜQ}\º=Ï9l'ëAò&À˜`Ÿ>�B-ÙÁÁÁhÚ´),--Q¢D £fQV,#–åÄò+�‚’ìÖ£7àÆ�;¸£5_Ý>NÉ–ÝÙ·VnØ¢}yd*®­€V¿üƒÇ©J ùv�wƒ³kwü¹p.<ü�Ñ%#?$»“Z²ïlDGG8:;Ã9}vBËΘzì”ÊX�Ò'CœH¸ò7~nó'¼DWÉÖ\ê³%Ëi;ùuR¹&À˜`‘@¡–lÕ]###¡Pèü·žPDQVÜ ²I“&zJ‚—”àûïÌÝš!J…`·‹ú.”dç4ºˆJ8s’l¾RŠW=±|\_¸:¶Ç_ÛCÔCå}¤d§„íFMwÙ� èáÜ‹¼©î°*ž_à]‚h�Vâ½÷\´m7¾qqQ/tœè‰ñÑÍ"ÙÐ#Ëq©)Êy;E�6`L€ † µd›››#&&&×9‹e,,,r½œI,�Ó]$“ƒ0ζ*lÇxeúÍ$ö¿ˆîÄç’lEÜLlŸµ»È¦amÐi†—ª»HæÈEæ!p“”@Ê,ïãŠ!îþÑf¨OvJOí¡¹ð1ŠŒmëŒá›³†/ñ fvm‹I;`Z—Ÿ1ß7ZÝuDG²ÅºÆµk¥ê“¥»ˆ1ÛÉ|Ð|Ƙ`Là“'P¨%[tÉëô1Ë*âC±{æ@4¯WeÌKÁ¬L%Ôuèˆ1›‚�˜×2v¹œ$;õ–»9ÂmÙUŽ7ll¦ùPîsI¶¸ð¦¸ð±m,9(.|¼„= Ä…�°ã®šÆÔW—qèøE߈û·/aÓøîpé¿a¢+‰2'¦uF«žSpÐï:‚üOÁ÷ŽF|ÓrÑHvëßþÅå7pýª?¼mÄŒ¡�á˜i? .¯ g×Þ˜µõoÜDÐ¥3Ø*’´E�Œ««ÀÉÕ®=àfÚ:’ HqåŸ!pví ÷§Uëºzñ4.=Ç”ýv8ºHÚ‰ã_&À˜øœ P²s™¾"Úc*ãËrõà6~9v:ŒýÛ×bþøþ´ü ÒÆMÈåj�/ž“d¿&–ÌÇ>ŸdP¼GÀö9ÜM=„_�¡Ó±;èmú…�’�Ýø½o'¸8¶„£K{ô9GUÃê©Hzé‹¿¹¡�³#\:ôƬC�Ò—U•PÆáÔœ^hÕRÜŒ¦[µA—>Ã0EßÍhRßÁ»;†öìˆVŽŽpiß¿->ƒZÍÑ¢‹‰‘d覻­çY$@ê;\Ú>¿Š!üTCöÇ’3ê}Ëf;B²g÷lÏ!üò‘o®Š 0&ÀrŸ%;W™Iqv¬=¾°n„ÅW³é¦¢x ϽàP¯*¬ÍKìì·°í�#dý/¨[¹,ÌJ–‚uåÐuª'^‹E1É_cϸŸaW§ ¬ÍK¡´e%üà<kýßdH�J²+ÀúÛº¨Y± Ì,Ê¡†Co¬ ÐŒè OÂåoáµh Õ¨ss+TªÕ‹üe®n‰&µ*¬di”ý¦>oy˜±­\eS¼ ç»dï8yôL€ 0&À }”ìÜœÂÄ3è]Õ5ʾ[ˆF„«wœ Oï 8ï剀§Éª ¿¢BÎÀóŒ?‚‚üq`QOT³¨€!û5Cšiù»Îî8êu§oÂØvuPÚº!–^×tDѬ»ªëDìÇ·âwÇoñŸê૲H¶ ~³œ`Yö ^¼gÏùàèü:I·ãG«oÐmÞa\¾~~§vãô�|ºMvnr-e)ÙEà$ò˜`L€ äc”ì\„™üðØ[Z Ëºéãë]<‹èê-¤†bºC%4wAÝZßrÒkSÕúíƒj”c=ed×çá{Ëj˜xN’E²•ÑGÐ¥r8/ÎÒ•ErnªXÔÃLÿlZå ì:_Μ%;s|Ƙ`L ¸'@ÉÎÉ¡«ÐÐÒ]7„ëHv*.Ïo‹o&ãV²2‹èfl" ¡Gf£kÓPµB9T¨ò*[—B½Ñ^†%)ðú£Jý4!Ö­ø°®å¬1ä`|–mK.ÏDMËZ˜ §…ZvK:Ö†Y™ïà:d.^“EÄ3ö��²K€’�]:|� 0&À˜@ñK PKöÇ á'–Íõݾ¶D½Q§‘”iáTøMqÀµG!H ‹¦§µYO Yërh1z|®ÞFHÐ kðUŽ’}æ/[”üq‚AÉVÆìG»re0ð€ÉœŽ$[ì”2άèvõaU²òQÌèPSÕ-åŽè–Â)W P²s 3&À˜(ò jÉÖwvDkµ�iíÙ˜Vn}ë2ôZÊ›@¬ü£ lkT„eé’0³*�êõ£ãï;ð\ ǧG„ÕëJT ™×´vE˜ù%J[”Eå?¢Çò u_hÕrP¹�šÖ©³Ò–øæ¿m1íÀõ-°ÅJô¬;»–lÕvSÂql^?Ø×(sÕP}ÿÅp�0Ä,…Ó÷•aYòñ¥EyÔmÞë¯|Ðéon(¾®�%[; >fL€ 0&ÀŠœdŸ;w.“` Ù¯ŠI�@ŠýæN‚’M˜`L€ 0튔dk·^ë{¬}à&ù˜’m’§Å˜�ÊOÉëâÌ È d€ nŠ”d#C&]†’mÒ§'»�an?L†Ö'Öʼn 0&À˜(¼ äÅ J”(ѸD>N�s+&� \QÞó¼|˜ åAÆ %Ã×™`L€ Žòâ”ìÂqn¹—Ÿ8�¼|˜ í"%ÛP2|� 0&À˜@áH /^@É.ç–{ù‰ÈˇÉÐ.R² %Ã×™`L€ Žòâ”ìÂqn¹—Ÿ8�¼|˜ í"%ÛP2|� 0&À˜@áH /^@É.ç–{ù‰ÈˇÉÐ.R² %Ã×™€ž”p~ý Ì?ø9ß÷WÏò|‰ 0&P äÅ (Ùp"¸ÊŸ@^>L†Žš’m(¾žmÉAg[¶c¼ ˶`{“£2±ÊÃaE#�¼x%»hœ{E>'�—“¡]0(Ù©8:Ó ?|c ‹2UШ§;.½Õj»Ëé}Ícƒ7¢ÃweÑiíóìïî™Óú²{_ Ÿ¿GÁµA5X››Áºr}´½•†ŠøPìž9ÍëUAóR0+S u:b̦ $\ª½¡ŒÄÊöUP¾ë–‚9žÔXîæ·eW‘ò1±ô~¦í[6Û‰Þ7¥¬±-<5­´á¿”lÃÙð&À>[yñ““ìàà`4mÚ–––Yîô¨{CQF”Ëpbù™@^>L†¶¯_²SpmQX•©�¡+âÔþ¥è\§,*µ]…r!®9½¤FÝÁÎ=Q§li|ñ¿f9HvNëËá}e,N.üsÖÀïÓØ¹¨?¾·2G“W O›ÑþëP_–«·ñ˱óÐaìß¾óÇ÷Ç åú—1”ŸÉ¾ž�TšÔ>ªýÌf;”l“"‚;Ø@È‹˜œd;88`Ù²eˆŒŒ„B¡0ƒxO”eÅ2Ej’¿Æé•S±ìÄKN H±ÉL^>L†B¯dËüðk­²°{Éš?œø•-êbÎ)�Óû�ãÎòNø®Qü}|#ܪXg’lÅ»ãø¥N%Øü~ bý9­/§÷uNù«;VEù.›Ÿ¥1[гcíñ…u#,¾£»dæçÉ/qxV4ªý5¬,¿B­æý±ñêu‹¼<»þl�µ« ¬E)”²(‡½±&à}F‹}vË+puÃH4©Uf%K£ì7õ1xËC( ÅÁ!õPÚn:¤¦í¼×ÜñeÍ”ÅX.ó®#©T•”¿ÆÉùýѰúW03/‹�ܰÔûeæ~ÆŠHx/ûMjW„yéR°*_ ?5×d€¾]ù[x-ˆF5*ÀÜÜ •j5Ç"ÕÖÙ9­§ºûiL®ù±­]È$ÙI~R£,\–ÜK¯ßRÂÖÂÁº*Æû$jŽ»*7pBÓ:•`nf…*ÿm‡é¤V´V͇L€ 0�O’@^¼Àä$ÛÜÜ119|1kÅ)ÊŠeŠÔ”|#¿ÿ N ngþB.RiÚ“—“¡#Ò'ÙÉ÷–£�eEŒ:Ÿ¾˜2ö~.o…ö«C–Ãûª_ …ZR’¼Ñ·Jæî"ŠwGÑ«fyü8ú¸J²óe{i{*�Gèiw4ûº2zo~”.Jio#ñ zWµDÍA‡rèF!�÷„&°¬ÖîûÎãZÀ1ÌîT_VŸEºdÖè2ÇÏúàÌ‘�ø­EUü§úøÆŠ²_>éöbühõ ºÍ;ŒËׯÃïÔnœ¾# ÄÛ=aU¦%¶¼ÐtÄPFâŸߢJŸÝˆ2¸\úªèÊk¦·e¸0­,Êþ„á+Á×ÇË5‚U™Xp%MŠeð›å «:øežÇÿgï< £*Ú?ì9ß9ú I6›Í¦B ¡#H‰ˆ"`APAøQ:*j¥‹@ªR©b¨RC ��F ÔÐá/EDDj�’BÊîó?w³›ìnöî.—²:œsOî�¹3óÎofØçÎ}g.±IIl^ÔŸºj-ï­»SXÿÆÃS�o î÷ò©GŸo~">9‘�+V²÷/[ïÌŒ±¶Óïòº>`9æs#+Ûâ‹©——u/rq²µu;1vþjbc×ðM¯gÐxÖäó¤›f§B¡€P ôPÂe²%—ëgϞ嫯¾¢k×®4jÔ___rrLóÜJ¬Ó8w­çzÚ¼ÿJ‚µ*ÜTÞ× §sä&®š¹Æ:—W Þ% »ÅT–•’Á$W’-ÈÎLN%umÆ¥™-iËÙÅûa>4±›Ûâ-°Êd[ÛRRåI°¤)ÿ�=îA�n‹¹�kš .*1çÌw4õRóæÜóE3ÎEÑ…gºkx=Пw—\*¼/ïü|žÓc 2!ûÀ8j{UaXr&ŽÒg&%D]‡Q©ÅÚuWVÐ&À‡ÿ-¼PP¶áÁÀ—NóÏ“a']¡ñÒ‰5¼šEêÒ£éPÁ›Ö�=(çž&òÙ BÞ^Æm=èÿÞHÇ` ÍGù\ë®,áE›�­¿¹ž7ƒ ò´h³rmžZÛic†Ü\×-ÇÚ­¯ðÚä“ídRôpä�ató ‚;/1hg³ž"P(  O)ú‘+,ÄtâȯÒѬŒ3þ�YgY:¸=u*x£ò  Þ ­©ï¯î"¦6x• &93mA¶É}£¿™»·£y#ÀÒ]D.Þ‚k�€ì-ÏPQ=­è�—æyünµ÷Å�:Uð¢ND¬ÕÃj;G4£\�ÒîI�=’êž!|°ä0'Ož4;Nóçßy6Ü%¤ÙßÕ´õõ¦× ²¤—ìÔgpjÛ\"ÚÖEãæÏ+ãw·ÃÓóת>øú¾Âò?³98¡5^ÏŒæ“�¶l:³V¶†W³(é"Tm²3w�$Ô«£÷MØ…ì=#mäiV¨Ü©µ�6 ÛZ×â¶Ëenn]ŽY”…O¶á��/-'Íò÷ɶšÉ&—¸ qo0Œã²Í”§B¡@i) „ \²Í¡º¤ ;÷ì÷4Óªyºßj.dÛšq¯ÒdÐdýõ·ÙÑ߆|8}5ññ›X8úmjh<d—ÖȱQŽ’Ád#C�-È6-Dl4$¥p1WúÖÅ>ÊÆ›æd—hy†²õ\þ©'¯gøþ+ÈÖßbUﺔ |‘'‹,![wm%mýÕîæÕ²µðϦ·È,ƒÄ¡Íx²J_RMc=#…>a~¼úu cZóÂøÃE®…im¤3ÅÙ�J]ú:ÚI®fë*rO3ªy»,5¸<ä_^ÂK¾^�v²Ð¯Ýdë®­¢]€Æà‚bz³`2Åî_k;@v‰•cf”dç�bä3�TëµÓô†CÈÎ>Ì�FþTî¶²`!¯YÞâT(  ”†J¸à_ Ù�ͱÅÓ0P…WÅÆt<“Ä_n¾âvƯ'!ÛÜ¿ÐÜÿQ…Wý½i3µè‡á.RãÅnJ“\†6!Û°Eß+h´ øxÎF6Ìä­º~½:ƒ? ·ð³oVš È.¶»Èƒ–—u€Ù‘SY¶1žíÉÛX3÷sZWõ¯Õ7üjšý53)ïB4]jhq~†~ã²!6�ø-kˆ|#Œÿg²á[>ƒJS“®c±%1™øMK™µ³`Ç0è(}ί[™µ šû’–º‘ÈתfBO΄æ²gt ¼*V&Ø»Óÿ¯ÀIÌq:cE�ðª}~›¶m#>>Þx$pìÒßl—>ú6àÙÑ$'mdjŸ‚…�ö»êÓYÕ§>nÏ0hÞ&vìˆeÁðרà&·ðñ.qƒ›¡ò®C�ñKØš”L\t›ŽÜ†Ü# nèGhß Å÷Ô¾OÈùrŠ÷+³F·.Ç,ʲÉcߨV¨4uè3u%q‰IlYø!5Õ!f»‹R­Ã6'n')f1ÃÛ×AåÓ„Éþ;¬›)#N…BWQ@ ”yÈÞ´i}ûö5¸‡äååѤIªV­jX¹nj¥>Ù¦ôºÌ ìX6‰^­k⥠¦ÝWIH›Øö�´ô«TÙ–~¥Ò+ã0F™½2�mj™G÷WÉ`’³Ö6dK‹¹.±!ò-êVðÆSLÓÎcI½l6Gé(ÞT  d¿[#°h ?é^GùىϿšÈð7šQ-@ƒ›› ßÊõyí£¤]“_!œ{y3¼I£Ð@¼<ÜPiü©Zç^ÿd ˜À<÷"Çõ <,µ›^Õx®ßR.I![ÚN\>ý�ÝShU;/·')¯ö§ÖóÝ™·Ï¸= Q»¼‹Ky%@…w«É\0<Ü€3é É�PY¸°ï±Ç ööÿ�Š.?^AŸw‰Íã»Ó¸Š´…Ÿ–jáo19Þr ?ÝíãÌù¸-õ*ùâéDéìáC¿õ¶~JõÝ4¾;MCýñ4lKXŸ~KÏ¡ËÙODm?šŒØ]äwnêÖð뤮¶ÊÉ»C±~%WŽ)°„l ë¢>mG�@ nå=ÐVá©ïuâH.vŸµ¥AhUy<¼©Ûª7sR/Îø›e-N…B¡@©( „ Ê4dgffòä“O¢V«‘;77—š5k>@c®èƒBvQ^™ìŸÔ�g=&Ê6,¬*î›hÙ ü Í_yúnî2½8ÙE-ò¨Î” &9[e![.�/=²öQ/„nKŒ»Œ”^É6K2øÎk­}¹mÞj¨K_M»€`úÇßIÅâFq! „ŠPÂe²%–/_ÎÆ�í Rr� ÙÇS[åmؽÀ¿JøšCvAž“VôšW¸‹ØmïÒˆT2˜äì�-§Ì£ Ïâ×Ãû9z(™Ù}à É1“Ÿv©š”Ç‘µ3Y°2†äÔݤlþ�OZUEUÿ3dÚZ#"oÜí¤aT¯÷1{ì|æ^>µˆ „BG (á‚2Ù¥ù1š»{gÐãý‘ÌY¾ž¸„6¯šE¿•y¯5?J[y‘娝ÒIÿBsŸlsÈ–üÂSF¾€Ú«:]FÿÈÖ¤í$nü†65bᣣÿã• &9sdË)óˆÂs�ñå³q÷ô£ÎËŸ²ù·G´a§>�uC_¡vå4*¼ü«Ò¬ãP6�Qæwœ—kæjôˆ¤Å „B�ªJ¸ ÌA¶é³êÒ–}ùùòþžRœtÏ”)SxöÙg´©ž›‡–ñæs„kq²<ž¾!4|©³w\*òýs¯Ү¡3þ�ùWI˜öÏ׬€Ú­<*ï@ž~‘ëËÆ+lâº|%ƒI®Ò²å”áB¡€P@( p ”pA™ƒì£G�òÜsÏáããS°ˆÈ´˜ÈÆ_oooýǎs�VºŒJ“\ådË)#Â…B¡€P@(à (á‚2Ù®!µ°òŸ®€’Á$§‰€l9eD¸P@(  \C%\ Û5ÚVXYÊ (Lr& È–SF„ „B¡€PÀ5P²]£m…•¥¬€’Á$g¢€l9eD¸P@(  \C%\ Û5ÚVXYÊ (Lr& È–SF„ „B¡€PÀ5P²]£m…•¥¬€’Á$g¢€l9eD¸P@(  \C%\ Û5ÚVXYÊ (Lr& È–SF„ „B¡€PÀ5P²]£m…•¥¬€’Á$g¢€l9eJ(<ÿ"+‡¿KÄÂÈï¬_Be•µlô7Ø>/’ kÏ”�ºÿ›Ûãaõ�2ÙÎ;ã ¦n¾Pô]‰‡U‘¯P  ( „ d—�†&”=” &¹ZÈ–S¦„Âs3¨�?á_îá_÷ÍC»²«jNƒU¢ÑÀ8²íÞø‘¥Ñ¥Q�� Ä“Þo;—¸62ÌÙÇǵýÄ—‰mH#‚þ™ (á—†ì_ÏýBBR,¿Ƕ„-ÿÌVµz$ (Lr†ÊBvÞ%6ŽêL½ŠZÔÞ!„wÇ®+fs±Žâ�Þ:º€×ªùÐ~ÎèåŒ�Âåç(¾0ï<ήêG¨§Š—&ÿlw+ÿò3¸CÛ IDAT*^« Âïåé\Ì·k]aî÷}R’P§¿ÊŒv!øw\„²�›;i½�rn®ê…»¦%Q�xd¸_øÊ;Å´Î-éd Fû=ûÄ*LrfÚ„ìì�¼æÃÓƒ’É1&¼±ù‚Õµøj_8Š'ŸÓÚS-ü¦Ç, sˆÖ²u×bèV3ˆ§?ÙŒmåç(Þhã½3‹x¹j=†mÚÂÀö!ûîvú„ñÖœL{µ2•».ão�™JùñÓà7h\3­§;^AÔkÝ›9©—‹fÇ�¹ÇÔå\ zô;„ר€ÆË�°ç{°`ÿ û3ý’iÖ°”‰åŸ¶£a�|Ô} mÖ•Ù»¯å•…¸¯{€§§† °çù:ÕÁ…u9f²X@ö½�ô õ±Ð9÷Üši+1$1 ð@pÃV4¯„§JCHý¶Œ\{ª°_™em¼?�ÆÃS \kœ©ŸE€£vµnGu0ÙV­Ú7µuÚ|ʬïGò¿æµШÑV|Š®“’Šú�5tšò�k§‡aƒ¹.æí©ÏåôЍ®­Â» Ž[¶ƒl¿Ìbmß:x4É©<ÓŸ|ŒkIùê²7ãÿÑÔ‰vÎÿ‹-zФª*OBÃ;3%á‚Ù,z>Ççu£V°*7w´ÁõèøÅþ2•©»Â†È·iV§ZOT>•éõ{ÁxÌ:ËÒÁí©SÁ•Wõ^hM}µp1ïâü­€.p ÈÎÈÈ`ô˜HÀ·Ó'³|Esç~Wv!û~ý­”þÑÝÔ5*§d0ÉÕÌdçü<�†^�Dl¾S˜Lkoøkh7ó,Ùâ ¬ªÓüøÝKàÝKwݵ�¼]ÝŸ§úÇ »DÊ»÷3cZ†òÒø}ÜË‘ü íA¶ž‹Ë{àÚ›í·ó¹¶ñc*ø¶dÑofN FPªÖaãâ‰�^È ¶5ñÐ6aÊA£³†3÷?™$ }¯*¯0nÕvìÞĘöµ(_µ'‰”_(}щ9,I¡ÆòCßœ@L|"ÛÖ/ࣕx¢jO’nI­�ÍÎÑ­ðò©GŸo~">9‘�+V²÷/®¦r:ÌçFV6ÙÙEÇåeÝ‹ÜEÁ¡Á¾´u;1vþjbc×ðM¯gÐxÖäó¤›Eõ2�ëSÙëgJhúëD»Z·‡Su$´Ó7Ä&o'~íTÞÓð¤_"f¬$.!–…ƒ^ÄÇ#”)–ýÂéz< L’H�íðæ\ö/îC¨¶ Ýž°lìõË|®üÔ �÷ ,:o#ú«|÷ZeBÞYA†SíœMÊ—-Pû4 ßŒu$%n`jïp4Þ ™¸ÏôЧ'ýø66lK%--•5_w¡Š:€¾«¯<4Ë©úú6$¤°=n»Ëým6F4Â÷!N_M|ü&Ž~›OÙæý@œÿ£PÂe²óòòød@&�eÇŽDÜËÉS'Hݵ½ [Ïõ´xÿ•kU¸©¼ ®NçÈM\5s�½ï^s¿þ‚Ö?J÷] HPÒ (Lr6Ø‚ìÌ”áTR×f\šÙò³œ]¼æCÓ»¹í Þál@¶µ-^^.‡'·¥B‹±œº§CŸµÙù¿3©uM>O-xUž½Ÿþõüi>jÑâDkà“ŒÎ:Ä §ý©Ò}UÁ ¼3÷X�Ý�5¼èÏ»K.Î6ç�ŸÏsÚ@"bŠj¬52\›à×ä“m£üìã¨íU…aÉ™èo®çÍ`oZOXr˜“'Oš§ùóo‹Ç“âMædëÿ^M[_oz­¹ƒ>ÔÊ!ÛÖ.&>Ù†·¾´4ÍàJ óÉ6ó±6ÔÈê!ļ–Öš[_K“²fõ3O N¶«U{  ·×õÅÝ» +¯çdóÎi˜qÝnÕãaØ`.ŽY¿¹›u–…=¡ö®Çà�ç AÛq¿Ôóת>øú¾Âò?³98¡5^ÏŒæÉ_ÚFý¤±bþ@*A|h±¾h Ù÷ŽOãi­/-úÏ'qÿ1ާ­çƒ†~N@¶1ï]f¿•²Í{€8ÿ( „ ÊdK~×ݺ¿C¯>=9ê æÎ�MlìfN�þ™eË£øaÑ\.œc8æÏŸýÀ��{ö{šiÕ<Ýo5L¯%-:Š=:�ñ?¾Šù¯ûÑ�œõ�’… ââQ( d0ÉÙi ²M  I)Ôô­Š-|”�7/Ì È~Ðòòn]ä”9°_G¯Ú~4º™SÞ¶œ¾›H�j¾¼øåV>ÌaÓq0ž!Í 鼤`[±qbÃÕÁ™{ŒãGr³‘ZzµÝÖ_mpM1ó7WLþÜ – Þ¿6Ê7‡PݵU´ Ð(vqÙy§ùL Õz­Å„7!;û0CùS¹ÛÊ—óÚZ×ÇúÚd;Û®Ví!m·w¿u(qÈ~6˜ëjÝotWX÷I3ÔÞõù<î/Ãøpª_f¤Ð'Ì�W¿ŽaL‹`^ض{ŒT¶U;ëÒ×Ñ>Hr9V´Ð1÷4£šQ±ËRƒ»Hºô†Àüá%ÿ"ß¼XÑ!dä­áù1i9Rù²Í{€8ÿ( „ ÊdÏ›÷=;SS8x0�´´½¤îÚÁÁCilOIâ»Yß³f}Ë÷ßÏx`È–-[ü1 UxUlL—Á3IüåV!08ò¡³=» �ÂÏŒhj=»dÖ­ýàd›‰S6N• &9ËmB6Ò–y¯ Ñ6àã9IØ0“·êúôê þ(ÜÂÏ^¼Yi6 »Øî"%YžT´¡ÏÚöɾÝ?m ˜/r4˜«ãçoÛáæ×†Ÿ¤…�†q€O½NŒ]°†¸¸h¦ôif¹hÏ™{òÿ`bË ø6Dìé›è¹ÃÖ�Ï ÒÔ¤ë˜ElIL&~ÓRfDíäŽä=‘{„Á ýí»¡LrZÃ’�±lÙp—¸ÁÍPy×¡Çø%lMJ&.:ŠMGnS¼ L…ùð:„lòØ7¶*MúL]I\b[~HMuˆÙî"�Të0�͉ÛIŠYÌðöuPù4aò;}[×ÇúÚd;Ý®ÅÚù:˜»•8d;©ã}Ù`Öœ¦…�í™{žÞ©‡[Ћ,øYr³pÐ/ ùå²gt ¼*V&Ø»ÓÿÏènel'ûíœÅviá£o>œMrÒF¦ö)Xø8aoÁZ„ìC©ëåG«O¿ç‡Óbˆhìï²¥ßÊ”‘/ öªN—Ñ?²5i;‰¿¡ME�XøhÞÄù?Z%\P¦ {åªåÌ�;‹Y³§3cæÃbDZãG½~-“§N´8æÌ)¹ÝEt™رl½Z×ÄKL»¯ ¶ŠrèCgãÊÐÊ…;ðƒ�]榒Á$W Û�-=Œ]bCä[Ô­à�§&˜¦�Ç’zÙÌ�ÁQ¼©@È~·F`Ñ~Ò½Žòso*Oú+Ùú,|+më)6?>“ûëšykxý»_ÐƉi[²@T^T¬ÿ*_®1Û~Ι{ÐógÜ(^¨Hã!Fw‚Ü‹l׃ð°@ÔnnxTã¹~K¹$=Àäì'¢¶MŒ3ßæÕ*KÅÆ² wŠÜ‹lß�¦¡þxºyàS±>ý–ž#ïZ ÅÚÀT˜5̛ w)<ë¢>mG�@ nå=ÐVá©ïuâH[×}Ö–¡AhTåñð ¤n+«mÍò.6àLý¤ô÷Ó®¶ÚÃ^lØPò�í@G%6˜ë*Óžº[»éÿ´?ÚgGñÒÛR{ýÒ˜_ÞÅ¥¼ Â»Õd.˜>àäl;ç]bóøî4®"má§¥Zø[LŽ7ßÂ/ƒýó?¦y�@<Ë—ÇCíCpèS¼5-Ͷ¯»yó¯’0힯Yµ[yTÞ�„=ý"#Öjšß+Î…ÿ@”pA™‚l ¨û÷ÿˆž½ºón·®|6p€a?ìÙßÇŒ™S™2u“§NbÊ´IDE-,�™lë^�ÉþImÑxÖcÒ¡lƒ¿¥]ßNÿ1r´ wè' Ûº!ùµ’Á$g´,dË%ø·„[�›Õvæ› åué«i ù†ÿ-“ˆ <*²öQ/„nK¼>ª&å l) „ ÊdGŽú’ýû÷‘žn\l‹ßÆ#G|³—.‹"*ê/þ�ظ-²!ûàxj«¼ ;8ô¡“«p‡~pFÈ6ù”Új\Vº (Lr È–QÆjœØ¼Ë™{l&”¼�4Œêõ>fO†ÕÎòIDŒPà!+�ů‡÷sôP2³û†>’c6× =d3DöB¡€¬J¸ LA¶­šåççf´gΜNÚ�}ìLÝNBÂ6ƒßö¶„-<Èïî�A�÷G2gùzâؼjýZTæ ¿Öü(m›äȇN¬ÂúÁóa´¥„+M” &9ûdË(c5NlÞåÌ=6ÚÌË5s˱«ˆ <|r�ñå³q÷ô£ÎËŸ²ù7ÓÖ—¿hQ‚P@(àœJ¸ ÌC¶Tõ¬¬,&LǨ1#Y·n iö#íŸý`�­çæ¡%D¼ùaÁZÜŸ,�§o _êÃì— ·]²ëC'ÅÂøÁÙòat®ÍÅ]I%ƒIÎÙrʈp¡€P@(  ¸†J¸ LA¶^¯GîÐétìÛ·—¨¨E >”>ïõ">q+W¯^fâ×ã ÀíÍ$¬t” &¹z È–SF„ „B¡€PÀ5PÂe ²¥O¨çææÊR¼tH.$tŸ9{Š„¤XÙ®Ñ?]ÊJ%ƒI®‚²å”áB¡€P@( p ”pA™‚l×�YXùoP@É`’ÓE@¶œ2"\(  „®¡€.�ím+¬,e” &9dË)#Â…B¡€P@(à (áٮѶÂÊRV@É`’3Q@¶œ2"\(  „®¡€.�ím+¬,e” &9dË)#Â…B¡€P@(à (áٮѶÂÊRV@É`’3Q@¶œ2"\(  „®¡€.�ím+¬,e” &9dË)#Â…6Ðß`û¼H&¬=C¾�h$ …J¸@@ö£h)Qf™W@É`’«”€l9eD¸]rÒܨ�Æ‘m÷ÆXd±�yýÃê'ª# ¸¤J¸À¥!û×s¿ˆ}²]²«–}£• &¹ZÉBvÞ%6ŽêL½ŠZÔÞ!„wÇ®+fswŽâ�Þ:º€×ªùÐ~ÎèåŒ�Âåç >ÿ¯(ZjËóØc�åêæhŽíRuwN³bT/ž¯‚·§;*ï j5{�� ÓȰg§«Äé¯2£]þ=œúä�bZç–tžºŸÜÑäaÛi²ÍN97WõÂ]Ó’¨‹N|Î^@¶IQñW( (C (á—…léË�Ò‡hÄËPü™¢d0ÉUß6dçràë6h¼ëòþŒµl]=…5}zu&çó%huyé'XÙ…š>”{Rå²åç(rÎ|G߆ŒÜ´ŸÃ‡Ž#'ÿ´9˪»™Ê fÁ”÷­Cç!ÓX¶.šÕ‹ç0aHzOÛ‡¨%'gÙ ·•eÇH ´ì´SŽ€ì2Õ#„1B¡€”p�Ë@¶ô…ÇÔ]©ÌŸ?—�?¥gï†O©ßL¿áš_|Ì¿ÈÊáï±ðD�ß¡õµ£p¿÷;ÊOÄ[( d0Yd`va²³wò^˜OJ&Çxï�ÍŸ¬®ÅWû²ÀQ<ùœ˜Öžjáï0=f�C´�­»C·šA<ýÉfîJù;ÊÏQ¼”EÚXjøµcíM�Yíl�f?¨)å´á|³ÿo[7…å\ zô;„ר€ÆË�°ç{°`ÿ�‚ùüK,ÿ´ k„à£vÇ]íKh³®ÌÞ}½hÆÞ^zý]öÏÿ˜gÃQ¹yàS±.}�AGkûÖÁ£ñHNå™fáó90®%å«ÈžìÛ2éŠÌ6œÙ�JC|þ_l™Ðƒ&UýPyúÞ™) ,ýŒuWI˜úÏÖÄÓÃ�<߉9²ÁÖŒnþâ¾îExhžž‚žçëTC [gvim§3º–D9f&X@ö½�ô õá¥É?cêI¹çæÐL[‰!‰ÆzܰÍká©ÒR¿-#מ*+fY‹S¡€P@(P* (ᗀ쌌 F�‰dàÀ|;}2ËWD1wîw® Ù¹‡ÔÀŸð/÷ÌêY_;ê2÷{¿£üD¼…J“Ef¶ ;ççi4ô $bó�Â;õ·Öñ†¿†v3Ï’í Þ':]¤ÜKàÝKwݵ�¼]ÝŸ§úÇ »$Ê»÷)�o°øÿÎs3Û„G…æ�dl£k%/ª÷^çÀ�"“„¡ÏâU寭ÚÎ�ݛӾå«ö$ño]!d†¾9�˜øD¶­_ÀG-*ñDÕž$Ý’Ê·ŸþÞ±oxJS‘Nã£Ù{ð ;·® öD¦4µË•Ÿz¡ñ~�Eç�Žú«|÷ZeBÞYAºlº¢*άáÕ":›”/[ öi@¿ëHJÜÀÔÞáh¼2qŸ гÙ9ºjMMº�_JlR›õ§®ZË{ëîÖ¿ñðTãÌÁý^>õèóÍOÄ''²qÅJöþåཀµ�Fx—×õËé0ŸYÙdg——u/rq²µu;1vþjbc×ðM¯gÐxÖäó¤›*‹ ¡€P@(PZ (á‚2Ùyyy|2 ‚ “ƲcG"îå䩤îÚþà�­Ogq�:x¹=Áã�?Ž›§7Á5šÒ!b©šæRóYC²õµ£bï÷~Gù‰x ” &‹ Ì.lAvfÊp*©k3.ÍlI[Î.Þó¡éˆÝÜvo�U6 Û¬xÃiI”w}ý§Ô®‚¯ºOxøÓ°Ãâÿ¸g]”Á­¤©—š7çž/šq.vèn¬áõ@Þ]r©ð¾¼óóyNHDŒ-È„ìã¨íU…aÉ™Óg&%D]‡Q©ÅgÓuWVÐ&À‡ÿ-¼PP¶áÁÀ—NóÏ“a'�E5¬áÕ,R—M‡ Þ´žx´hæ:÷4‘Ïòö2nëAÿ÷F:kh>ªÈçZwe /úøØ„lýÍõ¼\�§Eû›•kóÔÚN3äæº>h9æ>ûç&Ÿl§ ;�¢‡ i=ÁF7"¸óƒv6ë)…B¡ÀCT@ ”yÈÞºu £¿ŠäÌ™“œ;w–K—.ŽÃG”d,\Ò¶ζÔ]ìLŽeõ¼‘´«å‹{­÷HN7[„VÒ g ÉÖ׎ʻßûå'â-P2˜,20»° Ùà (Ùöã- Ë)ȶŸßíûñååÝâTÒ\ºÖ÷GóÌ(Næš\. *�sz&M¼Ôtœ±ž bòØ;áU*7ûœ#9z2÷DRݽn*žžžÆÃƒrO¨è´à"z0¨»¾œ—}µô]{Çqú쟙üz TÞÕx¹ïXÖ¼\ä ®¿ÎüNÕl?�ë:ÈÜ;ŠêÚæÌ;— öÒ™µ«=_gC~^aDî–fÎMÿrIÜ·º õÏÚ7š0¯P¾ÜYt�=ȶ�§)o;�€l ]%-ŠÙn'S”±Ÿ–_’¼{{öqã^ÃíA ›\¶}Ö÷§†pLf¡­É ñW(  < ”pA™„ìëׯqèð!Ö¯�¦WŸ9rˆ#Ç‘šº�˜˜hÖG¯bÅOKK ²­wÈØ3Š0•–Þ«¤W“ùŸ×�ZÁ>¨ÜÜÑ×£ãøËäË©»Â†È·iV§ZOT>•éõ;:Gé¬!ÙúZê!öüMmÝÿ0zÕ¿4O%ƒIN*[�mrßèoæ.ÂíhÞ°t‘‹·pÖp²K´Hrí8V”gîiF5¢b—¥—‡üËKxÉWëÓN.´Ùºk«h 1¸ X¼Y0Ù#÷×ÚN�]bå˜ÙcÙy§ùL Õz­Å4‡ï²³3¤‘?•»­,XÈk–·8 „¥¡€.(S�=oÞ÷ìLMáàÁ4ÒÒö’ºk¥±=%‰ïf}[xÌšõ-ß?£ä Û¸P'ãÖNï]ÃЗªñ„_k~”^[ÿË;ÍÈfA4œR°w­�,ë$†këtÖ�luíÐ_Õê~›eŠ@Å (Lr…Ù„lÃ}¯ Ñ6àã9IØ0“·êúôê þ(ÜÂÏ^¼Yi6 »Øî"Z^Þoü4q?¬ÝJrr<ëæ}ÁKÕ4h›Åi+wɲ¼ Ñt©¡Å=øú�_ȆØâ·¬!ò�0þkœÉ†;lø *MMºŽYÄ–Ädâ7-eFÔNîHlcl™C¶£ô9¿neÖ‚hvì;HZêF"_«n˜ =Q8šËžÑ-ðªX™`ï¢yÇéŒÚáUûü6mÛF||¼ñHàØ¥¿Ù.-|ômÀ‡3£INÚÈÔ> 'ì5.vÕ§³ªO}ÜžaмMìØË‚á¯QÁMnáã]â7Cå]‡ã—°5)™¸è(6¹ ¹GÜÐ�оŠï©}Ÿ� òåïWfýк³( È&�}c[¡ÒÔ¡ÏÔ•Ä%&±eá‡ÔT‡˜í.HµØœ¸�¤˜Å o_•O&øGì°n¦Œ8 \E%\P¦ {åªåÌ�;‹Y³§3cæÃbDZãG½~-“§N´8æÌ)�ÝEŒ? ‹s÷ è©LŠ;oœ�ºÇéõcèØ¼•| ©F°Ö�:ýã@¶ƒtÖ�luíÐ_Õê~W餮b§’Á$W7Û�-Aä%6D¾EÝ Þxj‚iÚy,©—Íæ(Å› ”�ìwkmá'©³" IDATÝë(?{ñ9'˜Þ½5µ‚µ¸KÛá×áåÞ_³ó’�Q£]¹—÷0cÀ›4 ÄËà •ÆŸªužáõO–ð‡É-#÷"Çõ <,µ›^Õx®ßR.I![ÚN\>ý�ÝShU;/·')¯ö§ÖóÝ™·Ï¸= ÑƼ‹Ky%@…w«É\0<Ü€3é Émýÿ!}¨ç?*ºüx}Þ%6�ïNã*Ò~Zª…¿ÅäxË-üt·�3çã¶Ô«ä‹§W _§²‡ýÖÛ^ø)ÕwÓøî4 õÇÓ°-a}ú-=‡.g?µýh2bw‘ß¹±ŽÅ|Ç�ÔÕV9y×b(Ö¯äÊ1…cå."…gýBÔ§í¨¨Á­¼ÚÀ*<Õâ¢NÜi‹ÁÏÚÒ 4�ª<^�ÔmÕ›9©— güͲ§B¡€P TPÂe ²% îßÿ#zöêλݺòÙÀ†ý°gÿ3fNeÊÔILž:‰)Ó&µ°Äf² uöì%íð Î]¹[ôz¸w|Ok}iÑ>‰û�q[wO?ê¼ü)›³Ü¥Ô¬Ò§³nè+Ô®€Få�—Ušuʦ3ÊüŽórÍ\�J­¢ ¡€P@(ðïP@ ”yÈ–š.++‹ Ç1jÌHÖ­[CÚ�ýHûg—dC†áËͥϗ/�‡Ú‡àЧxkZZÁ ´ ÿÆ‚îæ zþŒÅ Õi´Ÿóú¢ÔÅÏåç(Þ�c—Ó–3¼{žªH@‹±œÍ³*5ï ‘Í }o#¹Vä±;ò9ÊUÿ�=÷¤4z®§ýÀû¯4 X«ÂMåMpÍp:Gnâª$ƒþ&+>hL�Ö“r�?Ny•†€*õyñÝ/ØxêŽEÎæºÛ§X1º7-êVÂÛS…&°:ÏvüŒÅû.£3ݨOgq�:x¹=Áã�?Ž›§7Á5šÒ!b©æ@þE¾y1˜Ç{Ìö¡y‰å—.1£]þaþ!tÝ�Ó¬Õ“çê„à­rÃÓ'„­ßaÒ–ß‹Êò/¯âµ *ü^žÎÅ|+ õWmæm2ßúïßÑï¡ñ¨Ê ¸ÖQ@‡¾y•Wsæ�³l§´*±ö,¨S1MÿãN«‰Ç0ëù6ê ‚„B¡À£U@ ¸,dK_†”>D#¾øøh;Ý?µt%ƒIN Û��Ë�¯Û ñ®Ëû3Ö²uõ:Ôô!èÕ™œ7—£xÈK?Á²È.Ôôñ Ü“*�í(?GñRí²Iû®3U‚ðÎç3X»ƒ'/‘m]q'¡Lwu=CÔ6íÉÔÅëØ³ŽESG0`úNîIyAÓ§ÕH’wïagr,«ç�âõZ¾ü7ì=Rn"s¡ºë)|Ò4·€†ôù?E¯gå‚ ô|® îêê|´ê·Ð5æ­m1œm©» òž7’vµ|q¯õÉ陜?¼ƒääd’“ã™Ò¹&î¡]X°-© ,å0WîaÝÍT5 ¦¼o:žÊÒµëY·|_õïÊð5Í‚ò98ñE4*¨®É¨]w ë`8¹/ÈÖqæ»7ðøÏãx6�ädŽ%°ç_ZÅëÁž<æQ‹¯öe–ã´V%ÜžÚF¿c';wšŽTŽ]4L)4Qœ„B�2£€.pÈ–¾ð˜º+•ùóç2pà§ôìÝÃð)õ›é7þù_|Ì¿ÈÊáï±ð„˜í)¥á¦d0É™f²³wò^˜OJ&ǘðÆæOVAÈQ<ùœ˜Öžjáï0=f�C´�­»C·šA<ýÉf øæ(?GñÀ­�#©]íu–þRj6ëì$”e$ &س*Ÿ§dÚÌÆÙ�o-±ùôµ}Ñx6`òQŠ›¥Ídë€Æ”ó{ž™G¬fºï�cfûê<Ò™˜kù…o= �±ga*-½WÝ4Ë7—„A�q«?˜£æ[ „³ˆÔ”r¾Ï09ío³ô6Nïn§OXoÍÙÁ´W+S¹ë2þ6f(–·�< ƒòØ9¢^•jRݧ}Výeó÷HùüY´ÕkSÝ+€þ›M0Z•p{Zk^X q" ʰJ¸À% ;##ƒÑc"8pßNŸÌòQÌ�ûÝ¿²s3¨�?á_î!¯ wÀ’iJ“\ýmAvÎÏÓhèHÄæ"ÔßZÇþÚÍÁ„IcÙ±#‘÷ròÔ Rwm/1ÈvÖ‡ò‘õÙ¥.½’Á$g¤-ÈÎLN%umÆ¥™9[äìâý0šŽØÍmñ[6 ÛÚ–./;žwB4Ôû¢“Ó8r žo»=�G`–þn‡RÁNB™ä~rlñÇ4 TáU±1]Ï$ñ—[EÐnÍÇ/Gùòå ~Ù’?ïãÞusÑ¿Y*6çÌw4õRóÖæ3¹fJdÆÐ1PM£a©ä› »Ã|nde“që §÷®aèKÕx¯5?Zø.;Ù¦òßœw¾¨fÅžæÿΤÖ!4ù<µÀg={?ýëùÓ|Ôþ¢‡èû‚ì;,èT…�n«È8ÿ#­+3`sºÁ{ÿØVx6ÂÑ;Gòt ­¿.xf²Õ)­òN;écï\{óɮԋ[Y…‚‰¡€P@(ðèPÂe²·nÝÂè¯"9sæ$çÎ�åÒ¥‹†ãð‘%ÙÎûP>Â�]êâ+LrFÚ†ìa„¨ëØ�lûñ÷Ùöó»�b?>çÊ^ôÑÐm¹oÿô7×Ñ>°`æÝbNÙiÈ.ÈG—y�Ë&Ñ«uM¼TÁ´û*©Àuš~m&pðøqŽ;ÌžÄÕLêÝ ­¦&Cã®YÀ¬ŽMœ‚ì�…�m|�{ôT&Å�·rËr²OÏ4”ßq¾¹ïµI­¢¿ÙG¿¦¾OfülrwÉçà„q¯Áþ,ãŒþý@¶a‘fEjGÄ’G&›>nˆÿ+3¸�G·Ð@:/ü]þ9Ƶ¦Ñ°��¿/­œ†lçÚÓ§õv:ÌáÃÇ‘pׯ‹Œ"ÅÄ™P@( xô (á‚2 Ùׯ_ãÐáC¬_M¯>=8räGŽ"5u;11Ѭ�^ÅŠŸ––d;éC™ÿ[&ô IU?Tž>„†wfJÂ…¢âüK,ÿ´ k„à£vÇ]íKh³®ÌÞ}½ôwÙ?ÿcž Dåæ�OźôYt¦h&ÎQþ¶ ;çÑ£ß!¼F4^~„=߃ûoX@ǣk�’Á$W[[�mrßèoæ.ÂíhÞ°t‘‹·€Z'f²´¼ü›+iãëÅkßýZÔosöòqm?ž¹¯hV!ÿ7Æ¿P�à®+¬Ü6r‰؈òµpа»ˆµb™ìŸÔ�g=&Ê.ô›.t1Ýn~T꾪`�¤)üîVºTô¢öÇ2î"ûÇRK¥¡óº‹ø´ü’ä={I;|‚sWî�iSž†¿ÎA6w7ó¿ ^Ô‰ˆµ´Ë"¯{$ nB¹ÿØØµ¤\0ýcŒ1÷Ùy?3¢i �‡§ôÉ4ñ­Å»½Z£©ñ©wu »Âô¶•ë·¹`öü~´*áöî"B\„.¢€.(S�-ù]wëþ½úôdä¨/˜;w6±±›9uúg–-�â‡EsY¸pŽá˜?öƒC¶S>”Ù¤|ÙµOúÍXGRâ¦öGãÝ�‰ûŒ‹ˆŒ?r¡oN &>‘mëðQ‹Jš½²së bO˜{9‘1ÈÎ$aè³xUy…q«¶s`÷&Æ´¯Eùª=I´X=å"=· š©d0ÉUÃdc\hØhHJáÂÇô­Š-|”�7/Ì È~àòr3ð)?*¿³œ[ÆYǼ?¤•¯][»gdý~þ[½/)·Ì²�0¤‘?�íçqÃ,ؼ*ÙÇS[åMßµwä!;cïÕÐR­ï«-ï²éã§)çß’ï�›øsÏù�ÙÃøop'ÖKÛ$ÞÄ:ë“­¿Íê¾õ(ð" NšÆ·y퀻‰ô¨æË‹_nå�q&×0£{0ž!Í é¼Äbß) ÍÙgxØi1îpÁC‚þ:?tã¿O¨h=É´5Þ]vªB…·WîC+J¶=�ª“•lâR(  ”ºôh:Tð¦õÄ£E³\¹§‰|6ˆ�·—q[«™$©#dGm¯* KÎ$3y¨Á5`TjñœÊß ²u7Öðz ?ï.¹T8s�w~>Ïi‰ˆ)ZH÷¨;¤+—¯d0ÉÕ×&d#m™÷ m>ž³‘„ 3y«®A¯Îà�Â-üìÅ›•f²‹í.òÀååstZ;4ê0zËÁ´XÆw¨…[X/Ó‹ïpœqèžöQQéù˜¾4š +ç2øµÚxxÖ`X|Á—»{gÐãý‘ÌY¾ž¸„6¯šE¿•‹|¢� ìÓò vìd{b,k£&ó^ËPÜÔµ‘TäºbRCw-‘�â؈Þcæ²6f3kü†>/TÃݳï­8kQÛ MùXþur&[ú¯àâzºÔÐâ^!œ÷ÇÎcML,[7þĬ1ŸðùÒÓ\‰þ?m ˜/r4¦ãçoÛáæ×†ŸþÊ+|Ð>?„MÛ¶o<8vÉ´�ÑÊ{Iô¨¬¥Í´Ó…oîú�ßËvi'ÿ{üÔ= ßvsH7>à8­•´¦´ÛSÛb[“Œ[!¶HL&%í2�%FûÅ¡€P@(ðhPÂe ²W®ZÎܹ³˜5{:3fN1,v;~4Ñë×2yêD‹cΜß]$Ç Ê̽£¨îFänóŸ€\7Á­î@ŽH[zÙ€lÝõå¼ì«-˜‘Ëþ™É¯×@å]�—ûŽeíÁË…¯×�Êß ²3÷DRݽn*žžžÆÃƒrO¨è´À¾?è£í¢®Sº’Á$W;Û�-Ù%6D¾EÝ Þxj‚iÚy,©—ͼ­Å› ”�ìwkmá'Ýë(?Gñù±yÜ;<]Ù×à6Öâ=–½e²ÂꯎK©ßÓëÅúy«ððò§fó·ùfë9ã쳞›‡–ñæs„kq²<ž¾!4|©³w\*€EýM–¿ßØ�þ¿�?ΓîjüBjò\û�ø>ù|á²*Ý­ÿcÉÝh^»"O^þU #‚…».=(?Œ™l£!¹—÷0cÀ›4 ÄËà Oï@j4mÇÀS˜÷V(ÚÖSŠ|FÚÃä×94óÖðúw¿ 3.Ì´ð—>Œó•a‡ æ¬:xÓqþ…‡nkM ‡MÖëÅDãC\ÁNie¸µ$ÚSæc4�=†{ã/9iýQ£â•!B¡€Pà‘) „ ÊdK@Ý¿ÿGôìÕ�w»uå³� ûaÏþþ;f̜ʔ©“˜û2Ç÷íaÏÓ±“#žÁ³ÂËDýb"3t7SÔ,˜ò¾uèjwÜÕ¾„6ëÊìÝ׋~²Î²tp{êTðFå@½ZSß_mé.’s�èÑï^£/?žïÁ‚ý7 òpFW#@ûw\D†™Þ{F¦ÒÒ{ÕÍBȶ¾çfÜgTôfà6)e&[4¦œßóÌ‹W•W·j;vobLûZ”¯Ú“Dé Á]e [jßúj5]—\“…ììý_QCåC¿õw #Ž®!j´Å¦Ÿ}Ö¾1ÔPièò㥢‡‹B¡€PÀ±J¸ ÌCv^^Ÿ ˆ`¤±ìØ‘È�ƒ{9yê©»¶—dÛõµ´þQvÜ¥{‡€ì‡¢·’Á$gˆ-ÈÎLN%umÆ¥™-¿ËÙÅûa>4±›Ûâ ³°¦m@¶)Êô·$ËË=;‡g}*Ðg¥mhÉ9#ùo«ysÞyY¨Ñ¥GÓ¡‚7­'-š¹Î=Mä³A„¼½ŒÛ»ËŒ½Ìä¡„¨ë0*ÕÎ,¹©ây§Ù,ˆ†ƒS |°­ó´¾6¥3ûûðê“Ïñ)m(W±;Û³�+YIô¨¢å… F]ŠÙçD3Û §Ž4�^tGm¯* KÎDwm%¯ú{ÓfêÉ¢·Vî"ºkx=Пw—õ�¼óóyNHDÌÙ¶³0ÍÙæs#+›Œ[W8½w C_ªÆ~­ùñ\®dëÉËþ›ßÇ0¢M(ÿ­Ü…ÍWó1µÏ[?üe»¿eÆÐ1PM£aÆ·Fˆ ¡€P@(àœJ¸ ÌCöÖ­[ýU$gΜäܹ³\ºtÑp>r D Û¡¯e±9ç£Ôî�ýP¤V2˜ä ± Ùà  (Ùöãï²íçw;Å~|QyyìŽ|·šì˲1‹ 䜞I/5çËû^gîEu¯0"w›f %õrIÜ·º9’£—µìŸ™üz TÞÕx¹ïXÖ¼löç§×�¡cózT ð% ¤ÁZwêô�SÙ±>7~ê�›¶-kÒ�þ!¹'Þ$�FCwÔÉÆÿ?ÓpŸH^3ח󲯖¾kï�¹g$¡^aŒÚcö ²3÷ß�Ñ IDATDRݽn*žžžÆÃƒrO¨è´à"zvFȶXLû¸AOu`RÜù‚‡/›÷¸Q©ùû,>”n€j ²¥þæ²wšõ“bÖˆ¡€P@(`W%\P&!ûúõk:|ˆõë£éÕ§GŽâȱC¤¦n'&&šõÑ«XñÓÒ€l'|- ?h+×¢z 7ªbþ‹èÿ茤=ßGÙv…ÒH%ƒI®,[�mrßèoæ.ÂíhÞ°t‘‹7¹ìÊtb&»ÄÊË=ÌgõýyzÈùÝ9în漨Ë=Q$H U+„l)O}§¶Í%¢m]4nþ¼2~·ÁUàÞñi<­õ¥Eÿù$î?Æñ´õ|ÐÐï� ›‡XŸÛëúâî݆•×�þÂygˆ4̼o·ýP8JsßHrþ½š¶¾ÞôZ#A¶±mv™=ƒì‘T÷ áƒ%‡9yò¤Ùqš?ÿΓ@2ïF€öiù%É{ö’vøç®Ü-z³ahç‚…�>­Ç°ûÐíü�ÿU÷¦bÛœË5>äÝÝJ—Š^ÔþXÆ]dÿXj©4tþáOÛ3Ýæ6‰s¡€P@( £€.(S�-ù]wëþ½úôdä¨/˜;w6±±›9uúg–-�â‡EsY¸pŽá˜?öƒC¶3¾–FÈ®ôò0–mŠ'1æG>iY¹ÈñAý�3>²þ‘8ð}�-3,XÉ`’+Ñd›"6’R¸ð1}ë€b eãÍ s²Kª¼{Ç'Ó@S™¡IæKÕÌ�‘ˆí¶Ág»\À‹,8ijf·éÒ×Ñ>Hr1ÛwùÿÙ;à¨�·�ÿg¾™°q=ccLè= 0$”BI°1%“Ð!4Cè5¡„B ½6ÍSM‡ÐBÜp7îí|õùF:Ý�N'Ý�eãÜÁ2sXÒJ»ï>û®ôÓêÕJþ!þ^¨1x·ÉpV6T8ÎOk‡k�@”T�,jd˜ ­ÊD,ïZ£l�ýëc˜ùBfÌSj 8�­itœ­¿‘â@6RÒÃà þ!S!–b$›ûR£AûjCJt/Gª‘yyšºHðÅÒÛŒ}81®%*yt†GL<¿6Y~ï_xÀ1öô˜Útò—(@ X¨€.°*ÈÞ¼y®D]Â�;ÑˆŽ¾�¨«—qçn4.^º€uëÕýÖ¯ÿ6¬)3dkcùLÅŽò]ä¤wéâ�Ú¦”ñ�¼ù³ã#ÍÅ>È6j‚òØ ¦3 •Ë Ùô}Ýà"iŽqCqîøZ lZ^_®A¼n ?Sé¬Òx Ûhv‘r)O�ÄíƒaïÞG³ ÆÒYÆh‰Ç0¸�öÕý0jÁf ÇéÐ}X?ÿGü¼û9T(ÆEêÅG÷æ³ö("/„bÕpÍ‹�‹o0/ƒ €šìßÓX¿õ(.ß¼ƒè¨PÌíUöͧã±L éÝ%hê\�'lÃÙë·q/: Á­<ÊÙTxøª�9`æ;?˜;¦Ôp �âÒœÏàä\ƒçý‰Ó.â|èrt¯áÂzñ1§'µ…ƒKC ™¿§ÎGâì‰ÝX³ã òMÄÓ8Š@¤jVx÷‘âJH'8ºûcýßšwTç1Ö×öž¾š¿ ‡ÃNâðŸË1ü³:°w¬ƒ‘{_Ž�óE6ˆDS ˆá«‚ìýþ¦Më±þ÷ß°fíJúeÇ‹æáè±ÃX±j‰ÁoãÆ²Ï.bIì(ßEN•¹W¿ˆ2Æ?òæoi&ö‘@¶©>!:MLg*Œ²5‡9>w šVw…£‹7Ú Z€¨T}ô3õñ“éÚ û»žú)ü¨}Íåg.r\œî‡ÊM&à.3mæŸ<õ:Öüô|ëz¹Š]=Ñ MOLÚñ€ …HÆÉECѪ5…ŸuübÅYÖ~��m%:7ö†³Ý‡¨ìä�F‡bóMfê8ÒÓûù7ð„cåʨâäﺟ`àêhþg�2øªö&êc˜ùÎf�)­F� @™Žs«@džÕádW®ž¨ß²+f{¥¹�'"taüê{ÂÉÎÎÕê ÃèÝH¦n-Ñ• 9Ê ì£.¸�àOªÂ»ïf¤Ð7¥€*÷oìšõ=ü×€‹£œ=jïO0¶]M&€Í‘•¬ˆ¥W@ XdS@=~üXŠï¾‚‰“~¢çÃþ}Ã:¬Y» +W-ÅŠUK±rõRìØ±­Ì#Ù–ÄZò],Øñ‹e�4—?õ’ÉØGÙ¥ï)!¦3 e+ÙB�íD¢Q€(@ X•b¸Àª {nÈlܺuYYY:aÏœ=ƒYsfÒ±Ù»÷ìÀŽ`çÎ?qªì�mA¬¥9.kü£¹üÍÆ>2�MMûÆÕéGÄ) ¦3 •D [H²�(@ ˆ¶¡€.°*Èæ“Y©TÒ#Úk×þ†èÛ7q%ê"Î�;CÇmŸ9w eýâ£ÙXKžÇžì‘ì2Ç?šÉ0û¨ŒÇ’NÕáî?áϳõ�rùÄ$Û,V@LgÊœ@¶�2d;Q€(@ lC1\`õ�MI_\\ŒÅK"dþ9rÑ·o�š?»< ›ÊßT¬¥Â,—2”ÿh6Ê@±�P#)"ŸÕóD«©Ì´_¶á¯Vm¥˜Î$T!ÙBÊ�íD¢Q€(@° Äp�UA¶Z­†ÐO¥RáæÍرc;¦Ï˜†á#‡áìùÓHOOÅ’e ià¶�f"VÚ‚b:“P½d )C¶ˆD¢QÀ6ÃVÙÔ'Ôår¹à�J§~T Ý/^>ù á²mÃ?mÊJ1�I¨‚²…”!Û‰D¢Q€(` ˆá«‚lÛ�™Xù.( ¦3 éBåàK~DâĈ >`£> † d ‘ÙþN+ ¦3 F ›Ü`�›,âĈ°mò…Ȉl§Ó™„#�mÛ'Vra$íG|€øñâb¸€@¶‘íï´b:“�`²ÉÉ™\ ‰ >@|À¶}@ XddzmÇ{ÛOLg"�Müømì ¤Nበ>à 1\@ ÛFð‰Ã¿Ù“ž˜ÎD ûͶ ñù·@ßÀŽHùc^ÿÚçÝzù+°3Rwl@ƲnïV½Éõ•´÷[äb¸€@ö[äBÊBÄt&Ùå§ÿóå ÁÈKÈBÑÉQˆ%}¿ìPZ=‡õA^|1ŠŽð—Ø¯æ�Fòôކé¥-ÇÚÚ6è¤K‘ÿ×׆õ²6;‰=¤}ˆú€.°ÈÎØ:q#Û!7|T%Å´©k&"þÇ®‚‚¼± 5q·^s1�©Ô�=¬ ÒG@–S•4 Å×V#q\k½¶æÒ?Œ›9Å™EÈÛÚC,Ÿ�šËÏLzlð÷ȾöÊbT…¯P¹‰cXörÊŒÕ é‡�Bš”µBUq¤�C‘±ôKÓvrò)×~<¬7²nF#w×�RÛ`I}bGõFú¡#(NLƒJ.‡*?E7·#uNg}y�‘q5j¥P«y)÷‘j>ǵÑí?gò=‡²X( é}ò�E\ áÍLlð$H •�?\ŒxNZLàgÈzX Ù­Yš› ËÖiÎ=žÛ6¥ÕÓdŠ¢ìäïî¯Ó�¶¥´åpí4µNױЛ‘øÇŸGŒBqQ ò¶÷6´ÇT~|iåÙêL»ŸÓäF�¯}ɶ²õÑO Ø dƒú�´P)é~¯ÌË¢ÿfŸüã�h\ÝEÏFœÑÖíÓ™Œ/Hš-T^Æz´Fò¾h¨¥ÿ gûx¤ü¶Å©%�ß_È€’¹t_ÄŽî‹ôÃáP+µÌ d›ËÏLú°/‘ý$ŠØƒH]0‰KBP˜\ Yô<#è£ê;ú;äÇäA]øy¡‹‘¶zR×ÍAVx2µ½Gæ–Ô'vl òãò¡ÎŠÜCó‘¶jR7¯Bþ‹t@–€ì_™› `O7#yÞ·HZ8©[7Bš!ƒ2nG¶Bì¸ñ(ÎS@ñò02~FÊòñHßµÙ;†rFà[!ùÀ=(sÓ¡’ÇáuHC_ãB²eø*÷ø²žÄBvYË5u ÅùRÈŽ;Eé9(>5F“¿¹ṳ̈ÇÎX …,™K>Õõ³øÕ‡ ’=DÚ”¶ºmšvk‹ÔÓÿE÷‘1›óØŸÝ–Ã:#u(J^çC-χìåI¤/bx`'¤9 i5*L�„§ gCĶCÒÖ}(IË�Z)‡2ûdoÔÆø¶Bâ¶S�ç@­T@•óyGÆ!nN\È*ƒmg€%õi‹´3±@ám¤ýlº±AÝ‘u/êœSHÛZ€Ñ�.3eÅ/Û•2™‹;"nñN¨Ixý‹éóZìÈ@¾ÎEîÖ¡Èz”‡’«S oz¸�Ì]ç)Û ï ì¯Û‡«'•_àgHÙ}%©Ùš6(H�ôi8ÒfµC ½ ”™±PäC-σìÅ ¤‡tÒø=’­HÑô§ä¬éÌÇ 3 ì‚ôðË�¥R7 €›�9;˜zÓõ`ꨈ¹Y^! èúd d›ó[ê&sx¤ŸŒ„,·jYJþ¾ya‰á(pÐçH;|%©YPËrQòì(Òæ|ÆéK”ßV¼ÿ ù¨®ÝÙú‘ež6cݨ}Þ}Äp�ÕC6ÔÔ?jä:aëà‹¼KGè4µBŽÄÙƒÞš†,·™P|cEwzŒ§Ó™4P`ü?•·Mc§/‡B‘ƒ¬ezh�ùaJJdô£isé8h¥ÉwøÈ‡¢Ì‡�¥�Á\~æÒãæo†R{ÀøOì¤�+ò‘½’U*mäHçË!=¬‡#ŸóCÊñÇP=£Gò“�Cæ¥'PKŸ c.© �Éî¬AÊ¢¡HZ2‰üûó*(dÈÛŒ¤Y‘´t’§ëG×âg GÊâï�8ç;¤í ‡R‘ƒì_™°2. ”aÐ^–Ôgä(ºÎÅg˜›N}ãæþ¥²9» BvÜÜõP*5zÆN^¹LŽ¢³‘0\ø‚ýjýI(3#iTkį:Uñ-¤NôÓû’¹ëŒ�ì² ê.°¿n®ž~H9òjir÷NEòÂaHÙ´ e!²W¦ƒlÙÃÍH[>ÉËg ïi&Ô¯�"é‡VˆaÂE O#qz?$Nï‹øQ­Œ!›.WŠ’[«�¼hRVÎBÞsV>æì`·�¶ŽW§!aÅ(K^!{%s­1‚l ü6°=ÒÎÅ@UøÙþ„äÅ£‘~ð4”29 ²Û"5ìT¯¯àõ¯C‘2Ùw’ ÒêÀ¶ï?ð?ÙÂ}Nçûì6"ËúsÎ[¬….°zÈN[7…¦–¤_¾çmÄ’¸' ~¢X/䯖@z>˜s|+${UÆ>¼bšŒ� 쀌ÈèXU:ÆRQÅë(¼ò;’§ðŒDiOêÚ8I–S&¬ ƒZv©ãõ±™¢êFå)ßÈ*/Æ FSµ,Ф»È�X�¤)†#r¢íx“ñ”캔㲘ÎdŒ×š-|�·p;”òdÌÖÃaLÐ÷ôèváÑ¡0—nÐ<�m�àk6?såÅŽ§çK3‘0ª5b‡µEÂâÍP(‹‘ó«áè[ìÔE�+eÈÛ"#;æGH鑽�ú¾Ô ¹1RÈ®MÓÀ¹Ài.|q‹ÿ„Jþ/^ÏãÀ=_ûë…¼Øb�¦)‡›'w�'‹êÃÔ9w“á@€®FŽƒTªÐ¼ðÇéÿ±Ãý‘0s r¥C�uR3ÚЉ÷B^ ‡*ë1òBAÒ$ι$°ržå£ðóáðoP�RŒÂCßê5å”Å…'þ²Y€Á=ž«G¿ØÑãP\(3°!6xdr6d³F¤©QßÙk¡�§ s�¿ð9‹SŽfDœ“Ïœuº|ÌÚÁ®‡¶ŽW§"6 -’Ý…*ûR¨›d[â·±c'£DZ‚ü]_éÛ�“;v"JŠó‘ó»Þ_b'„@.ÏAÖrC¿þOü�Ñ„{NSçEâpææž­!YÖ·5Ñâ­ÕB X5dçFìÔ*ú§»Xq¸ðn$} ÂG„öÜn!d›��dNHòÇë‘2Dc¹eŠRŠ¡N?€$j$†m·ö¤n�­y1Jþd“&önÑh¤ý±ÿfÒ—ÈZ- Jub×ï-XÓ™¸$íº0dÿk²…Ó ´·²…óÓ@¶pzL@+$¬ØŒ’ìP±«ÔOU˜(Sðš‚#V›ÇN]¬�ìÍÝ ¶³÷‰›·Jy^‡°�m�ÔS1P&ý©¹¹å‚SFìð>ȺŸuI" ίFʬ.¬rÚ qÕ:> e~>Ù¯ ,V 8üÍ>Ü<¹ë¬zhíµ¤>Z2Ù�º‘l­ÐÕ ÈŸíGêL`�üÉëV"ÿï¨Èß„XæåÆØ™«¡�>FÚ4m¸Ÿ}Ê”Ýx¥!žʦëÏ=ž«G¿¸� PÊñz¾¾]ÍBöØ©�É‹4#ÝBœrx!{Ü4]>fí`×C[G²}ÔÙ�³ {¸ñ£ _|´Äoãæmb|›}m8»½�J(dPË5?:ìE-Cî&Ã~óŸø£‰üÑZ$Í€Díoz7�ÿiûù˺)eûYf�—ß�Äp�UC65Š­}Á1.ˆd·øÙmú ý‚á¥oP !Ûl|¤ö$}cºÁãñø5Ç¡VÉsú!qv0 ^•” ²c,¨OÌÈÑ(.�£8B(\d==êO”ÀôGâü™(z-‡ìÞ"×îØý”aÝwjÅ?ȘI�OÚÐ7$,7Ó/ª3�µœ‰qæöïÒ–Í=ÞÀ&_£0MXQ<^‡èÓ,d�žˆ¹TóDdøPfñÍ.™ú� Ýô˶ú|ÌÚÁ®‡¶ŽZȦòš8Ò¼|äï[i0»ˆ%~Ë»g$›ÞG‘†ìõ_#ajoÖ¯âà\ëþ ÿÓjÂs�b÷c²\q×$¢õ¯µ.°jȦœ*õ· ôÅãõÎņ J=Ùò×É�¾|ˆ˜@Îh1û$*´l!d›��Ôž�´�Øq¿Eöí$(Sö"i$Ç6fyô\Ä÷Cë—°á4+\Ä|üŸÉøT¡øF¶ZÛyN¦4˜Q�ýéé«LÇ&¬=µì6RÒÆƒ¶GÆ­È£ç .ˆs�ÔÆKýƒœÝ‘¼`RÖNDb0uq1]NE�hÄt&=å.ñA¶îÅÆÐa:�_¾×øÅG¡tvZÙåZ!“§¢8[Æ•�í‘q9ê‚ëH�ª‡-vÛÅŽù Ò"+F•Aì…œ͇‹°ó¡ýåäs¨²Ñ�±ÖŸ‚Zv)Ú©»"ûiQÙ Û‚úÄ´CÚ¹x¨ n"mûÆ�ªW7dÞI‡:÷ ’©)yú\ü‚MPÈ ‘¿g°ÑyN[_:¬BÛæNg—vCÓ¯11Ù–Äÿ™ŒOzôÊ>š:™BQžRjDÒL aì¸É().Bî&fdêE°¼Bämíe4Ú;f¼q<.c“¹rt²ëð–Åt&}.ñBv5eÞm¨‹Ÿ!{ËX¤¬\@O‰'¿¿ˆ5…Ÿ©t։в�f)‡òâ&|…¤Ec‘~ð0dyrÈŸn0žWXÛŽ?ŽGQº êœÈÙ?©ËG"eå$¼>¸™ë©™@Úê^|ÌÞŒä…c‘y‘zññ)2æ23’pÁJ›÷¤QÈØŒ¤9_#qþäÜOƒ2~+‚¨øÞß Pä¢àäL$ψÄÙ£‘/-dS7fëã‹Ø±AÈ�/€:ï1rÌAêò�ºqòŸ¥òDd¯é¥9Gñö9?¤}uÑ]:ü#~Þ"ä�[‡ôµc‘¼()kæ#ÿùk èýbcü¯‡¡*¹mø’#­5ëÌM¨‹.#…ºiå–Å]§�1,Û �1û+žnEÊâáHÖý‚ðj¼ŸQߦßñ¸œuþdmƒ¤ù#‘z*•‰˜lSÇgFç@•z+ƒ�²rRCxfáñ�XN>¦ì`|‰®«VȦfIé‚Ì;¯ÈYód[à·~H=þê’ä˜�ä…C‘¼r9Jòس‹´GZø úѼý3�¼()+¦ }ÃPÞpŒŠö?­ß(žn¡¯­ÔõUûKšý¥n`ÀÀWØš’åÒóÑÌê5ÃV ÙE¢�uh-ý‹Ýq#Ú‚šA„úGýUê(&ûøfÄýà�îG,qX‹![4±Bñ‘ÌIZ~•æ�ø�´è'd]¤N´qÈ\Ìúe—vÿ¿×ÄpSqÜÌ/õ`”n$Û’ø?“ñ©åÙÔ,á£OÅšŠ! ü™wr!£F®}¿l/TÅ×4/pr.ˆüõÒhL?F5UŽ%íZûˆéL:§ä,ðC6õ¨½ ÒŽœÑLóU’�âk¿|ŒÄlº¶žB��‘«ŸÂ�Ú·LåµAFTT…©�>9…¬mA&B˜þ2n^Ÿ>Y3•›4 ²—‘õûÍÉtX¤î?�’Lj ¿È^ž2œÂ�ã7Ú züü(N΄ZI½¨›ƒ’gÇXSŸµÕLïGM§RB-ˇ"ý9rw~ÔÉyª"P†¶,ößXsõ¡`|Td …49Có1š‚$ÝÞ…´ÖG³´PÇ%Œ9ùI%ôÜã¯fOGnô]z*B:þ½( Ò‡‘>¿+´ *¼Ìøã3ôS†_ —K‘·½�î\£›.ÐlÙ!¼Sr\€ 9¿0†lZƒ~x}ö dYùP•dBú÷Cݬ)æF )½c§LBþó$ÍŒòc�»íkãrxÚͲÍÙ¡í;Ô_­&\Ȧò˜4%…œ�јó[º¯QÓ€4% júY�Å^C¦vÖ*ï ®H=p%iLÿÈODáÙi†ú³ì¬8ÿ AÜ0Í»:Æí£°@v!ˬÁVÛ]Þ]Äp�UAv|pg:ôƒú¢£"+•þ²£,9†¾8Rp]ôøºn~ìü«¡4pgÝ þî'°;r^H!3:¹¶Fjx<”);u³‹vN|¤ö$­ Ñv® ÈO”Avy’á�¿vÎE–*ƒ=»ol7n•*K >•š]„7¾Qk},ç‹p¬4zndæQ) Ùfb_­cFÐü‘~1òÛÌ›sAä¯ ²Í”cØo¦óŠéL|$j› d³´®ˆ:‘2ÞŒ¯]MëJ‡�ɸ/¹š>æMhj-v¼‰º‘<+ÞŸˆæïžæb¸Àª »øÅ]PPMÅ(SL=š¤`;eùݶôͳPüâ�®ÝO¼³û!ýb:Ôé5s´2Ð;|ò^É@ÅLs?a¬-Ë >R ÍÈŽ9…rH/Œ7¼Ðîo²µ±}ù}­?ž·jjm‘ÊŠO�Šod#` õ�ÌèTÝ‹�–ÄÆþ0 Å9ÈÛó Šs³ç&Ž; Òb*—5}›V{zú+ cÙõ(çe1�‰@ö»wÒÕžÈ_mÛ·BÒo �þÛh$Ï‚¤å3‘÷4ÊWêg<)ç¾Ê¯½µØ¡Õ…üåo'¢ ÑÅv|@ XdS#Õ¹á»ô@à yJgÃXy9fÜì•�—( {¶ëÆ!uÍäÞK€Z�ÌÅš7ôÍÅGj7ÊÿÞÀLƒ7©–"ÿi ‹Åë…†ók÷×=Âe]tØ#Ù–Ä­ÆšˆOÕ>V6Šod•§µE{·d Òÿ\�‚˜×œ)ü,‰!lƒÔðX¨KŠ¡Ê8¨á“3’M½¤“zê9ÔÒ‘³w’ eõt¤Ð_ʳ¤œ7ß)Åt&Ùo¾]ʫߓ|ÞP[vDZØ È2³5áT¸ÌÍÍHžÌÿìkk±ƒ}®%Ë×ö7ÖöDg¢óò1\`]�ýð*Šî_Ñ9õ©t*L¤àú)ݶò�0>òÿ~ e‰œŽñ”=?�ô¥Ì |ÔÛ÷³LÄGR�I}ŒæâK(¥rÍK�J)”Ù±(ŠÞƒ´Â/>š‡lM­©¸UÓñ©ñ�l¤>Fs-j•Zc»<Šä{¼£±$†0vÆ (œ‘h#Èfâ5»K• IDAT©OjSSø)åPe?Göºžt;[RNùû�!tˆéL² 5|ÓmDò'z >@|€ø@Eù€.°*ÈN˜Üƒæ”’øgÈ¿zòŒ$Þ½ø›8gE9§­•#¦3È&ýÉÖüœØK|–øñâ–ù€.°*ÈŽÖ SzAY�ƒ’Ø¿A}`&~¬áЈ3Xæ D§²é$¦3È.›æÄg‰~Ĉ >`­> † ¬ ²­UXb×»×éÅt&S�-”F¶ˆD¢Q€(`ý ˆáÙìød²LBsÓ™„NT^äQ€(@ ˆ¶«€. �MÀš€5�ˆéLB§ÙBÊ�íD¢Q€(@° Äp�lÀ"á!ï^x·ÍÅt&¡Ó�l!eÈv¢Q€(@ ؆b¸À* Û6ä%V¾K ˆéLBúÈR†l' ˆD¢€m( † dÛFÛ++X1�IÈDÙBÊØÀve2öNé�aëîAiæ‰ï„ÊDìŸñ‚·=ÖôKîú;!©dE+ † dWt+‘òlB1�I¨b²…”±�íŠ'˜ÙÆ­fDAaæ–ÉDu^^=‰ó�³¡.SFä`¢K�7áWò{˜ÜÜ~³¯kú%w�UÇžTø,²Uùϱ7$šøÀÕÁŽn>hÞå[,=•A=¬l¥ä FÔuÃç+ž¼Y;ÕéXÓÓý·£°‚$0釖ú™: ;šÀÙî}¼÷Þ{°s”Ðþ:`ÂzÜJ3ôPmµL–«Ý‰úkN&ÝÈ�ÿÏ�—<„RŶíCTqrGÍÆí0`ÜRœ~–Ç.Éhù�ûë›ð+.Ts×�jI6Ê®€.°ȶ³³ƒ««+*W®L_,½¼¼è¿'N,»r$¢G1�‰“…n•²å¸½¬;\\›bÔšÃ8}p%ú5tƒ×—k‘@è¹t@‘õ{æFC·*¨ô¡ƒÈ.k~æ�×UX· Ä�%]áR½<�"äj�.…ZP¥C'x¶ Ī�Gp*춯š‰Ÿ~»‚j áÇt>%H¸w‘‘‘ˆŒ<‹•ƒ¾î`l=sA³íÒ=¤É¸ðÏ2³”�­ÊŽÂävÞ¨ìÞƒ¦¬ÂîÃÇpä¯ÍøeüÌ8”hú&ˆUì²ø&`ˆ¯"怒ï˜2m3퇖ú™„%ŸÎÀ™¨«¸Žƒ›f⋺®pj9Ñ\?2S.»Næ4aÒ%ŸÍÄÙËWpåŠö…‡‰…:H—|ö3Î\¾Œ‹çÂð׆yø¶mMØ»6Á„#q¼áNâ¯o¯¸PÍ]gkK–‰夀.°zÈÇÉ“'i¸¦»U«Vøâ‹/àééICvÿþý±wï^ä噾[/'�I6ïˆb:“�4¼�-½‚‘õÝÐrr$dÌ�™'„·S#ür³0—%¯î‹:~ßâ·°­ä#1€lUF¾oè…–?ž�¶eÌϼ=<µ/¸ˆáõ½0pãe¬þò#|4drXC¹…¦ÀÛ±6~¾TÄs°å�m6]îrœ›Ü vOÁ6XË^áè¼oá× :\œ«¢~Çl½•©bd«r®cr[o|Ô{-^Ò£èºÌãìä6¨äÞ+¢sØ †ËÊœZ€Öµ«ÂÁÑ uýaå¹WzR&㯠=Ñ¢~ HœìaçTMºOÀú sðµ#Tsq‚¤Æ'²ô‚^Oe öMéƒV } q´Gg/4ë„�Q©úQiØ‘ÇlD;IML=_Ðé.úÿÿsÄÐ}L=Li¤JÃñ¹ß ]“š�8V�ƒÛGÜabÔž ”Úú6ð�›“=ì�ÜQ·Ýü~íµþ¦D™†ˆeÃàW·]àU¿#–EÞ´ŠÌZ3㇥…lî|vÄDÔ¨â�Ig8ãòæÊe™¨xnÞº]¸šé˜¡tY<6jŒ«÷ÁÁ$î›röW¡öò+S~c®�p¡š»NÉRž>ËÕ›¬¿“ ˆá«‡l ¨©GdÔÈu\\œAÃÐiˆŽŽ6H{çVÞDÜ›eјâ[¾“" s¼•#¦3 ™ÎÙ²'«ÑÂÙÁ'óu‡©s� �‡ z®} ©™tšUU* @•œÃw>†á"ªŒP|SÏŸŒ£!Û\yæò³èx]M¨5ÿ €{Ý \ÌS"#tª»wÂöXýcuùË h'qBËÑñJÊ´²Í棳‹²‹pnZ{8×ꆅ.âöµ˜ß·*×ÄyꎀÙré ¬é×UÛMÇÍlVX�6ÿÂ3RÓ F…¢X»Í诗f '·æ½æ.œ?ŽUA~pqm�%7hdʬ;`9Â#/âìáUèSßVm�à5ûq.Û&w…[•º˜y‰;æ˜:ý"4â,Â�nÃä QEÒ+ï0ûXÙnh?å8ßìAu¯Á@§þeK%­ìŽJ5†â¢öf¤øjIðÙb&£c¨�õ»˜ÜÒµ†Ð<Íà9G�dÇd[ª‘Þ^n­9ëÜs"�íÒÛ ÑØ¹¦GA�} _yk4ãWž“?{Õ?´ÔÏ ìVC!ÍAܽ0Ìì^|4'é ˜Â-)—m§AÞìf™I7ŠÉ®9 —(Ÿ0u|Éy ýÈ�ƒÃ ÎÉoÎ_vûiž�û•±ŸkêjQáB5g½Ü}–§IȦwO1\`Õ�Œ?ü�þ 5gÏž=i¯V­šÐ.ÂÛ™“AŒÝæ9èÙÈö�F"2K3Ze6nÍf [s3PÚ¸=aßÞ1�IH ~Èž§&& ÛtºlXÙe˯èR)Ž }° »µÆš'tt5Eݸ³¸+ìãV±á¨µªè.ïYŠa]ÂÙÁ=a ,…FxÁ|t c ÙE×碞}%Ø98ÀÑÑ‘ùUA¥÷0`k"ÔÌh›‹»ª86Ãâh�Ðêéôóµhíì„þ[„c¯‹n„ žs}̽ÆÎGŽóSZîé$ܧÂXx 3s_ì$=p(‹‹”?ƌ֞ð�vYsÓÂs GÄO-`ß|:QùŠ„lË4*Å ,\ ä±]õú/|á.ÁˆÃùà×Lר&,òCKýŒtß³CMÿQØy7ËàÆÊ¢rÙ–s5a§QËLº[—ù¸v÷îÝÓüî?Ž nêx ²kò@öôWvûñù]=žv§¶ó·7§�p œõr÷Yn{�õwR1\`Õ�M�bk_p”É G–µ-Ü¡CúMïh7YþWàÄTx=õ$:�mYœ¥@>´!&ÒŒF²ÍÅ¡© pkË8´¯ï »*p«Ñ÷¿`B¨™â)µŠÙ·'ÏVŒÃ#› J«ÙxªÐÂ’±›úîú œÎ|l<噩xJÁr´Fÿ7Åt&!Kù [~1ž.‚¼£èSÍ0\D(Ý౯�m®�²ë—°è(nܹƒ+§÷"ü13"&÷Æ®¸Öž©³ ãöLÇ`¦ ‚«ë§ø#^_›‡ßÔƒgß-È’ýÍ�lSñ”¦Ëa›^ÑËb:“��|�­}‘Ðwê%Ý‹�Y§2zñQ0�]˜�m¶<4 ñ÷B�Á»ÂEQ�­x�yþ^ð´‹É÷æ´õD�a‡¡µÎ²eÑß´*ÚÌbæfÌ.�FOXôÕ6\➇Xk�gCš*ãzVs¡Cl´é† ¬Yì‡ú×n¨‘yyšºHðÅÒÛúP ‹ËeÙm”7+�Z›^‹ _7d^|äxøôWvûAÀ¯„ Û¢>Â@6ZGûg½Ü}–ÓdõÝT@ X=d·nÝNNN°··ÇÊ•+u-O65µõ£¦è*õ?퉋àÂÜ4<¿qÓ>¯ƒ÷«vÁŸ1rX·fòÈ”aK§�·—‰É¶$­(rbÅ3sÏ£`#=´õå�l°âöJÌÄ©ªÒ÷ãËjn¸�y,^�!5ÝÑoc Tœ ¦©xJ³qsF¨¸ b:“�u¼� jJ¼np‘4Ǹ�¡8w|-6­ ¯/× ^7…Ÿ©tVi<�m4»ˆÙòLçG…˜¶W|ÆÑѨ*ù[Y/9jRUxòkOØUíŽ}) ÜXƒ€Qs°ñ¯cˆ8w'¬ÇèO?Òõ=ê˜Â»ËÑÒÍ5;þ€ßvÅñý›0¥WcTql€ég53€X’�¦|cÈòqzR[8¸4Ä�ùÛqê|$ΞØ�5;® Ÿ'>:÷æ´r— ó/×9£ëš‰Ç0¸�öÕý0jÁf ÇéÐ}X?ÿGü¼û9T(ÆEêÅG÷æ³ö("/„bÕpÍ‹�‹o0/Îqú•³e�] nÍ`ÁÖCˆˆ8Š•ÃÛÁű!~¾@=‘£þ)psAg8¸4ÁðUûqþNmƒ†N>šÙEÔYøcP]8Ôï�µÇÏáìñ?qàZ:Ô¥Ôˆ.J~SZTEÝÇõð©1Âyêki(@Ä”vppm‚€E»púB$"ŽîÀ‰ûy0ösm!€¥~Ha‰ŸñŸç¥¸Ò ŽîþXÿ·æýŠÒ”«³–97K:Nʼn3gpöìYæw“e:Í$ŸNÇé Ìô“ô´”‘¸ƒ"&dQÒqN]¸€s¡Ø½nûùÀÎÄ~oÊ_ ÚOȯxÚ]£‡}D�%�ªÃÝ2ŸgCÍ]ã³ºÆ D~Äp�UBv·nÝBÿ²²²P\\ j T©¿‰„^¦Ö§M›†ÜÜ\¨ÕìÇuümåà÷ªÀë“~X‘@�4YgÉòeJcÊpë4‘×®ãúuý/ba/Ø1�mQšô Vôn×:øbľ“ª‰¬< ›‰ÛË3§ª~�-ýëÀë«­ BDsÂ'ÀËýs즦ˆâœ8ùë¥ÑÆlÜœQƒUÜ1�IÈ:~Ȧ˜'ÇçDÓê®ptñF›A Åþ0йtm��ý]Oý~Ô¾eÈ�.Ê’ãÕ™Ø6°.$]Vò||�ÿ»í\]Ð{Ý dÞÝ…à¯: ¾·öV†£»Z|>¿_NÖO;’£6`X×�áåê€*Îhèÿ –ŸŽaàM�l‹ò¡jÀÙÔæD„. €_}O8ÙÙÁ¹Zt½ÉÔÍÇŸ©<î¯ê g_¬¸«Ö6„æ¯<õ:Öüô|ëz¹Š]=Ñ MOLÚñ€ íHÆÉECѪ5…ŸuübÅYÖ~FeZÙÞ-:ÿ¡'ª8£ÆÇ_bö¡gº'%´uÅÿ`Ç„žhàé»ÊU ñ¬…O>ý;kbç‹_Àðõ!q°ƒ³g# ùý¾fĽTQê·ܸ*ZkGÙqoöyêkiÔ±òDœX4mêzÀ‘•û£wÇ@‘#?§ö·Øÿa|ÍœŸ �&« n ø“ªð Ký_[.# ßµˆˆù? þ3 j¢ùkì©Ð=Y&v m§ÊšåØ;¹Á§Q[ô·àc4oÂ_¹íÇçWܶ‹Pç*“}j$E„à³zžh5• ™â®—¶_”NVˆ¼ ˆá«‚ì””:ôƒú¢cÍš5é/;6jÔˆ®,×�;wõ‚#u¢2d Ü3gÎäâ�l¾~Ñ÷#&­@ÿ—ÊÄ‚¸5K [7]Ë0vL¶EqhÔ±êB<;³ Á=šÂÅÎÝ]ÓŒ¨Q�Í÷Æ*Ï”�츽‚kfâÙ Fò¾@HnÏLœ*�§g&µBgg8Ô�KÌhF{áxJ³ñ°lÛ+xYLg2‘@¶�2d{¹)`ÔïÊ-gÑ)ä¥zMQt9ä@¢Q€(P ˆá«‚ìÏ?ÿÝ»w×iE}*� 4h�n[¹.XÙT™¦âÖåÙš˜YSqhù×V¢sco8Û}ˆÊNhÔq(6ßd>ÿLM6(O©M�eyÜž©L&?ÙãUháì€vsoêcÃù.öñ”4–[PŽÖüŠü+¦3 ÙG [H²�(@ ˆ¶¡€.°*ÈþçŸèxëæÍ›Ó1×µk×F�=lC}bå[¥€˜Î$$�l!eÈv¢Q€(@ ؆b¸Àª [.—ãùóçððð@Ë–-ñõ×_###Ã6Ô'V¾U ˆéLBÈR†l' ˆD¢€m( † ¬ ²mCfbå» €˜Î$¤ �l!eÈv¢Q€(@ ؆b¸€@¶m´-±²‚Ó™„L$�-¤ ÙN ˆDÛP@ ȶ�¶%VV°b:“�‰²…”!Û‰D¢Q€(` ˆáٶѶÄÊ V@Lg2‘@¶�2d;Q€(@ lC1\@ Û6Ú–XYÁ ˆéLB&ÈR†l' ˆD¢€m( † dÛFÛ++X1�IÈDÙBÊ�íD¢Q€(@° Äp�lÛh[be+ ¦3 ™H [H™ÿ`»,S|kÂwR¤ÿAñe*Ò–m/SÅÉÁD¢Qà¿W@ ÈþïÛ�X`… ˆéLBÕ„lE2BC¡Y œ\}à7x!®¦)õÙ˜KgöÌ}°½ê¸¡ïÆx¨õG/•S~––§Ê޽!�èÐÄ®vptóAó.ßbé©8Ð_û4¶ðÍoQ<ÃêA�0hÕ-È--ÍÄ—a³ ƒ½K'ìH4ü„¸ FæÚÀT:×vuv4�³Ýûxï½÷`ç(�wC? ˜°·Ò k§i‹aèHµ…£=\½Ð¨]oLÚ�BJu6öþÐ ^GTzï=TvpAµZ£ëw³ú,_£”Qy®ðnÐý‚W#*I&°� ›òžaï¼ |Ú´&\àâYíûOÄΛ©:ÿÈ»±Í]ÝðåÊû¬öR#óÂÏhà\ ƒ6^ÄÒ®ÞôGÌþ÷¿ÿÿuù{R ÛÆÒf'ûˆD¶b¸Àª ûÁƒð÷÷‡³³³ñÉ’ïú¿ÿÑûRÇPÇ’D�òR@Lg*›²å¸½¬;\\›bÔšÃ8}p%ú5tƒ×—k‘ ¤PÙ\: ÈzŒ=s£¡[TúÐÁ d—=¿Ò”§ÊŽÂävÞ¨ìÞƒ¦¬ÂîÃÇpä¯ÍøeüÌ8”húf@HÈÿj{) Û´FæÚÀ\:GÆ.ɧ3p&ê*®D†ãঙø¢®+œZNAt�æ–Ë -¦®Æž#GqpçF,ž€ Õ7A#(“—[ç9ˆ¼v]“×–ônäŽê�Ä¥<ÀWÞæ9èÙÈö�F"2KÉ¿ŸM¯/áÇ6^°«ÖsÖaßÑcØ¿u1;Ô‚½S=Œ=Ë€¶×t…“{{¬{TD  Î�ÂØ�«¢æW›‘¤,A½ˈŒŒDdäY¬Ôöucë™ šm—î!MfòÖ“#*Y% ˆü ˆá«‚ìvíÚaÕªUHOO‡Je~¬‹Ú‡Ú—:¦}ûöüªTÔVe Â×̪“¯t£0U4)§üÓ™„¬à…l錬“#ÁŒ"óä�ðvj„_næÒ¡ÄãÕ}QÇï[ü¶ƒ|$�­ÊÃ÷ ½ÐòÇ“(  +c~0SžaÝ‹qvrTro‹Ñ9†Iì5e N-@ëÚUáà膺~ƒ°òÜ+èÆòUi8>÷´kRÇ*ppû�;â RàÖ–qh_ßvUàV£)†oÁô;%mþ�¼Ýà`g‰w3ôŸu) ´O0³�'Z͈ÒÀ¥Pl;-†lÓmb¶ ̵×v»²#&¢FoL:C�Q3m!ñÃò[&Ú‚ÉËsà.ƒ0š¬Ã#àâØ+”èÚ£ÿvÍè7£QáõÔw� è@¶à>†6áôO­P©jG¬½ÏŒ’kõ.‰ÁÚ¾õð¾Ï „e0ž ýó>ó�{Ç_ð´8“Û¢ŠÏW8üÊp´žº1=7¹ì>ž‚¬µŠ’¿D¢@9) † ¬ ²‘“câB uŒ“““@j9l¶$RvãWEç%õ�PE“,þÄt&!Kù [öd5Z8{"ø¤2Ô¹GÐÇÃ=×¾„ÔL:} ªRiÀ²ä¾ó1 Qe„â›zød| ÙæÊ3—]7åÔ½ð †ÔtAƒQ¡(6H`¯Hqiö§prkŽÑkŽàÂùãXä×Xr“¾-h¨¬†Ú½çãø¹K¸q×be(y¸Ÿ¸ÔÀ€EGqãÎ\9½á�5£œ€Y�Îàø™(DGGáвÁ¨åT #¦kFϹ *PÛRí®G¿-È,–B*ÕÿR÷ 5 1¡‘¹60Ûæ\Û [zë4ppÃècùÝΨtÄŒ êG­p![U‚¬Ø«XÖ¿�ÅÕ|ýH6²©öøØÉ CveèòáîchS†ø¸ ñØS@¯µ©øæ|4ppÁà?“uO<¤O~G‡jnh׿ê»ø`ø¾xžÁ ÙZ É_¢Q üÃVÙTL�Ø¥>V��íƒëáý†Á¸%5~œXxu6ê:zaÌñL€ Ég$�l>Ulv›˜Î$TY>È.º45�ca4ëõ;ÙUŒªï†63¯!ÏLºA”)dsm1W^©ò3SžìÅ:´qvÂW›t�ĵG•uýª»¢Ë’ú›RùsÌmïŸoö �ê’\¨d2)Šœ§&‰²à†\ñsÚy¡Å”Kš˜^nžÜu®¡Ô: ¼1¿TOL6x42׿Ú\ɵղÕPHsw/ 3»×Å ÆÉt%tm±I¸-è*3y½÷^%T®\™ŽË¦êûžkSL KÔ­¶<æf£07 Ïo´Ïëàýª]ðgŒ\§•²MÛ4ð�~ÿ( CO'ØAÇÈ IDATøNgž6Ð*poY78¼ÿªõÚ€4Þ�²ùÜ—l# ÊG1\ðîB6€Œ#?À£ÊG˜v^?š¨iŠœ™è‹jábïÙܸÅdkbÃ[Ät&¡êòCöt…!Ûtz© @Ñ¥rÌ� Ùu—=_‹ÖÎNè¿E8öºèFê9×ÇÜkÚh*9ÎOi »¦“pŸzÜÏ…Jm!Ò'XÑ»\ëà‹ pøNª&ôƒN/ÁócóÑß¿jVsG5Ÿ:ð–Ø£Éøˆ2C¶[§Ùt¼òõëסýE,ì;‹!Ûtä™i#!È6€ÿ÷ìPÓvÞÍ¢V¸-¸±øK|Ôîg�Ö @Wí¾w=£‡÷pýüA, j‰KCL‹È€Z•Ž5=} ß—y¯ ¼>釥 š›%&“6½XGû‡yȾ¢o×âG˜Ó±œ]]aïÏÖº„æ/�lC=ÈQ€(Pž ˆá‚w²Õùgð]-4üá„ácËb*^V‚f?�ÕÄËò]ì‹_b÷”¾hRÝÎÕÐì³.øØÃÉ0\Dö Gç} ¿Õáâ\õ;`ë­Lýè�¹˜Ôòô’W©Ó™„ àƒlmèÀxV¸òŽ¢O5Ãp¡tƒ[?3ÐKÙe®¼Råg®¼‚“øºº3š‡£D@”¢ësQ×I$dSyª ñìÌ&÷h ;t[t�îÃ%�V£¥ÄŸŽß‚ó·âQô1üТj¹@67‚2Chv¾‘lsm  lsîyˆZ·.óqíî}ܽò¾®çŠ=Ö FÎ<�ËÃÞ¶PàÊÌv¨Ô Ñ%jÝ47&ò{˜Ü¼*j=€²é›�ë7}ï1bÒ ôO"èvÑ€¸I› Ncp g4'.rk9¸`ÐI̹RЍy�áäÑ ›îÜÀ,oHüçá‰ÑHÙÝ�l& ÊA1\ðNC6 Eø_|Ps(ÎS1‡Ì¿Ü3“àíÔ nk¶]Üòì‹*î-0æ·ƒ8{ö¶Íû \Y�]„sÓÚùV7,>ð€cÌt–ù·ãתè³öozd»ðþj´q— Ë¢hÖ´~T²µ2’¿D¢@ù+ † ÞqȤw¡‰“'FÎ`Z¤‡F4…cÛyøG`FUÆ~|éáŠî«žê_¾á„‹¨2¡·§¾Û¥yG‘°$žˇE1©åï#$G Ó™„²æ…lzоnp‘4Ǹ�¡8w|-6­ ¯/× ^7…Ÿ©tVi<Ðk4»ˆÙòLçÇJß(­A:N�x ƒH`_Ý£lÆ¡°pœ݇õóÄÏ»ŸC…b\¤^|toŽ1k�"òB(V ×¼ø¸ø¾Å…J¦Ù¿§±~ëQ\¾yÑQ¡˜Û«ì›OÇc™Ò»KÐÔ¹*:O؆³×oã^t‚[yXd›mj ?mÎÕÃh)�¤¸Ò ŽîþXÿ·&Þ_ñꨦ-¼Ûbô¢m8~gOÂÜ>õñg$Û­Ó,œ»|χãðŽÙ©.ìœaæ…,Ýhwé ›ß&UÆyŒõõ„½§/‚æoÂá°“8üçr ÿ¬ìë`äÞ—šrÙ„tð†û§‹ñ�vt%¸6¿3ÜýñûÖ; ²¹Ý�¬ˆ娀.xç!бðSoTð²T€*ë¾òvGïuÚ)ÁŒ_À*º>u�ë#ä:kdˆÙÔãðzö•`çàjÖͯ *½ï€[AM{e6&µ�ƒdU:Ät&¡ø!›ò«dŸ;M«»ÂÑÅm-@ûÃæÒµ @öw <õSøQû–!?mQô_žò Ò™yêu¬ùé+øÖõ„s;8ºz¢A›ž˜´ã�Œ“‹†¢U-j ? êø ÄŠ³¬)ü¸PÉä›m%:7ö†³Ý‡¨ìä�F‡bóMmV!=½ŸO8V®Œ*Nnð®û ®ŽÖÄ÷róä®óU„f5;–&\„>Â\˜JçÚ*`—ºà‚?© ï¾›‘Bß°ܶppñ@í&mÑûÇ]ˆ§ÔÙøkT+x¹:àƒ÷ÞÇöN¨êÓúŽÅ†È�våH&°ŸMªÜ¿±kÖ÷ðo\.Žpö¨ ¿>ÁØv5™ AQáßíCàæü GÓŸÌѥο‚ÑMÜPsÀ¬— ÉH¶N ²@ ”»b¸Àª »,SøQÇŠû§FüŽ!puëŒñ%ˆÛ>.Õûã¸vŽV*SÎÅMOz•õ(ܲ砞£~ØuOŸ>eýž#)G]¦^üW!rT9( ¦3 +ÙB�íD¢Q€(@ X•b¸Àª ›ú  õa™´´4(•ºORŠLíCí»råJP²ûO��okKð霿0Ç¿:šŒ=i8¿/²5ñ¤.è8ŸÈ�l*¤¤‡‡üCø?ßlQLªØ ‘ãʬ€˜Î$T(�l!eÈv¢Q€(@ ؆b¸Àª ûáÇôgÕ]]] §‰ø¤:5Mµo‡@+þŸWçt€ƒ«ÎÎͱò;ÎÏx$›~iqÎgpr®‡ÁóþÄé q>t9º×pa½ø˜�Ó“ÚÂÁ¥!†ÌߎSç#qöÄn¬Ùqùô‹ÿĤН9²Œ ˆéLBEÈR†l' ˆD¢€m( † ¬ ²ùd¦F« æ\ýßÿ,åæËËÔ6EŸèRµ ¼únfÅø1GpF²é­Êtœ[ý:6¬'»ÊppõDý–]1óØ+ý}òD„. €_}O8ÙÙÁ¹Zt½ÉLœ$#k2&Õ”Á$í�* ¦3 D [H²�(@ ˆ¶¡€.°zÈŽŒŒ4‚ljùGx“ ˆéLBöÈR†l' ˆD¢€m( † ¬²¹#ØÜuÛhb¥-* ¦3 Õ“@¶�2d;Q€(@ lC1\`Õ�m²+ßFÄt&!d )C¶ˆD¢QÀ6òm£m‰•¬€˜Î$d"�l!eÈv¢Q€(@ ؆b¸€@¶m´-±²‚Ó™„L$�-¤ ÙN ˆDÛP@ ȶ�¶%VV°b:“�‰²…”!Û‰D¢Q€(` ˆáٶѶÄÊ V@Lg2‘@¶�2d;Q€(@ lC1\@ Û6Ú–XYÁ ˆéLB&ÈR¦œ¶+±ÆwÞöæ¿[NeVT6osÝ*JCn9êL\Ü<‹¿°Q¦ |Í,¬:ù *®½ºõ"\Û‚-72ôßbÐ¥UôB1ì]€_ϤZ�-]wRÞ»ª€. �ý®z ©·IÄt&¡ d )SNÛå÷0¹¹üf_‡¢œ²´šl*¢n²hLñ­ ßIà|ëÖjd(WCø>.V®ˆÈLvãWe}1Ø8�‚[ ÑLÒSÏXdKqcaW8×Â…¬·îÖÖX|²…(@ Ø4dG]�Â/ çaöÜ™˜¿`q¢@¹) ¦3 .ÙŠd„† B³8¹úÀoðB\Mc]°Ì¥3æ>ØŠ^uÜÐwc¼éQ¥2åW‚aË1¤c#x¸8ÂÅ«º ÿ w³Yöò L=€^ÕPõ‹ß�¨ýÒ)Ï~eÚTž ªNÇšž>ðè¿…e2ÊòƒMjTžu2Iñ «u U· Ú§"·ó¶� ÿñ=j¸ÔÃèýÿ–mÚ![™Œu}ê Öà�Èä u›ôZËš¨Ú~nqûª4ßTwE¯uÿ2£çj¼Žþ£º5‡·Äv®ðnè‡AsO �êæÜv)¸‚{ óâ{ek�Šô-RQ  ˆá›†ìß7¬ÃÉS'°rõrÌœýs¤#‡ Ó™ sЯñC¶·—u‡‹kSŒZs§®D¿†nðúr-h5—(²cÏÜÁhèV•>t0ÙeËO�‰áŸ4ÅWS×àà‰økù04vµG£Ña(ÒW•³¤Ä�%]áR½<�"äj'½œVËD¹ QN& gcF£ò¬›°Ö•bÔr<ÿkê¸ÖBÀö'e¿°AÈ–ý½ -$õ0ë ·™ñFËÿ½W uúoF¼\­okd«Ò�¡¿�<ÛbÕÎ#8vÛWÍÄO¿]A u”Q»(qÙ°oŒ[RV¾úÈQà­R@ XdÙcÆu°ì7Ö�½p<ô(Ö¬ýIII¶Û˜êL\Ø0 >·|DÀ¢>Û•ä¿¶\Lg²™²¥W0²¾ZNŽ„Œ90óä�ðvj„_næÒ¡ÄãÕ}QÇï[ü¶ƒ|$�­ÊÃ÷ ½ÐòÇ“ /ËeÌ�2Q.c�saï÷ `ï; OØ‚‹^ß 7^Æê/?ÂGCö ‡= §LÁ¾)}Ъ¡$Žö¨âì…f]‚°1*U—jÉ>| *{…£ó¾…_ƒêpq®Šú°õV¦é‘~ª’\�P&㯠=Ñ¢�Üœìaï䎺í†à÷k¯õy)Ó±lüêVƒ££ ¼êwIJ(. x‡9�¸u+¹‚uÝðùŠ':�ä1ÑNRSÏZ{ë×€ÄÉvNUѤû¬ß0_û7B5'Hj|‚!K/èÛ‚ �Ú<„êü&l`ËÃnµÏ÷þ€z’Zønë#]_¡wlãbÑUZÍÁ3�o*q{a'T®77 ÿÆÌ6ÕàÝ¢3üzÁÑÁ>÷ÀœÃÏ óW¦àÔâ´®]Žn¨ë7+Ͻb�£•x´ù{4òvƒƒ�=$ÞÍÐÖq¤hËT¥áøÜoЮIMH«ÀÁí#îˆÓ´[ñKìžÒMª»ÂÁ¹š}Ö{8 „‹(ñpE7Ø×‡›\˜5ç?Œ–î¾]ÐÁÛŸ…\Ößs »ðÂx;ÖÆÏ—n›Ùí´—ìé¯h)©�¹×Ža·+Y& ظb¸Àª »ÿ �°j]',[ÓË~c~Ô2Ïoé¯í1v|²wîÜa=M§.ÀË«'qþq¶þ"lÎ:îEÎÜþTº1|–dCöáW@LgâÏIÇÅM“=Y�Ξ>™¯KRçAô\ûR3é4«ªTš vÉ9|çc.¢ÊÅ7õ<ðÉø0²Í•g.?�‘ÚeVu« ﯷ#› ÎÚt¨‘øWÜëábž¡ãPݽ¶Ç²@�ñû:ý"4â,Â�nÃä QEÒ+ï0Á–ìÃQáÜ´öp®Õ \Äík'0¿o#T®ˆó”¯3V¿À ¦üº_-FØÙó8sl+Æ~Zï×Ä…\ªâR\™×ÎnÍ0|ù>œ�<�нûq#Å’èp 4âÖÍàjí°á‘qöð*ô©ï‚«¶Fðšýˆ8Žm“»Â­J]̼d¨q«Qš˜vmBu~6è[@w£Sí«M¸µs8êJjaè¶Ç†l²�•HÛ7 .®Ÿa{ãoêt¬ëõ|¾Ý‹Bº~Õ i: ¶Dxø!,Ö.Ž ñó…lÆ).ÍþNnÍ1zÍ\8«‚üàâÚKnjo ÔÈztÇÏD!:: ‡– F-§jq0]sîgÊ©Ý{>ŽŸ»„‹Çq-V¨óì‹*î-0æ·ƒ8{ö¶Íû \ ;ÛÖ�××"ßà~ÖÿaüÙ{ÈÄœœ€z®u|,Qc²å/7 �Ä -GÄ+.ÌSªpûµ�öwô\ó�î¦�Ý”d™(ð6) † ¬ ²kaÚœVè7¨zökbô?µ üŒ…¿Å„õ0lä§4dO™2 ¥m%nýòÞóè�°<^J0ð�¬##àâÜþaA‚ÁÌ Ïˆo7ƒmÌEMw‘3HX!�- LùlÓ™„J¦òâþ+º45�ca4ëU3ÙUŒªï†63¯!ÏLºÂñ@viË+]~2<Ú2Õ=ü±î�À–2K»ø õÏQšÇûÒ[ßÌþ!·ô/'òù}ñ]Lné�ZChFà-Ù‡¢ªÌCèíé�ïv%ënt [ÐAâ‰à0ýM W#z� <åKo/DcçZ˜Yuö1|åíŠ.KèëÅ›1ÏFK4âÔM5&F²�ìUâÑÊî¨Tc(.jÁ©øjIðÙâšQYî1ÜuêV‚Uç7b[¦ ªxzóŠ3>_r‡Ø€¹6V¥íE÷jnøzÛ+�žÁ�šî°%jžúAñóü½à=hòÔ€*ë(úU×´«î­ùsÌmïŸoöÐû°M¦—Ï1§�ZL¹¤ñy¾r¨2öãKWt_õT¦¦ÎçŠiï…�'ž7 •±Ä-«Ù еàs¸øôÆ> ö9�MÝ0>Ü9-<à\£OY‹óÿäêú/d+^â—ÕñÉÄ †¶‰C6l_1\`U�=`P-Žh�ï†~‹£†ýüºöDçÀ¥ørÄ4O©ƒ¡ÃüiȦ^|œ4yB©[07t,ÜcÑmèÈïã—^mÑwñ5ÖIC�ës;àƒZ#qU{¡*�@¶�26µ]Lgª ?dO‡�S�m:½tP ]*¯ü¤¸¿å{|äÞ�'è!�SyéƒeøØ­5Ö<¡£9(qgqWMüf13Ç !rDüÔöͧã‘L X²D‹®ÏE=ûJ°sp€££#ó«‚Jï;`ÀVf�c¯nÕÈV½þ _¸K0âp>Šn„ ž³¸ÇåiÄ©[éÈÜ;IÊbä�1£µ'|§]6¹ÖÝäóhήó±A×úSW߯0¤�7ìªwÀ‚³‰¾f¶�Õ¯±e@xöÝŒ×*hÚIâ�Í1rAŸ:3ÑöŸLÅC™Z ]å8?¥5ìšNÂ}Ê7Q‚çÇæ£¿3Ô¬æŽj>uà-±G“ñ&!»èúÔu®��ëÅúZ›‚lùLmY ­g^3¸‘³È ›zú+º×†×«ð27œóâ£ÆUÑ+\Þ³ú4„³ƒ7zþ„qûµ»2 +>¯�£ÃX×K}µÈQàmR@ XdÔ�Ã0hð×F¿ÝzcØÏË1rætŒcAöôÓ°{÷®R·¥«’ç5‡�™FÉB”ï8tll C}˜X6@Ë.ƒ°Qù�Æ;“ü÷�Àg0qQÐ$ÙŠô ¥tä÷Vªé"\ûU>{©ÂL¶¶ëU­¾"\ Žºæ-àr_)7U½å…ˆòl‡ZŸÈÇ€b,0?kÙÂ#4[v‚™ŠÁÈŽÞ3+•l•cÔD”‘C;LØ�Š7n(=Òñø•ÊÛõÀ+~$®!Fé«CègnŠÑ‡ß€&#>’]EFjmûi‡9¾RÌB3¹òÊ9ÙâÍ9:ú¦}pð¹|N¶ä¼Ù×3šePCÊmþ(1(÷„’ÌåæßÁÖQm`dÚž!åoê´÷±™�c`nÞûàâ’0þrn3ùÒÚǼî”ßÜ1o_¡_U%»0Í­Åæèê±ÑÉW‘–„ ­,ª ÙòºÏ*} T™dkœÉ®âëG]²™×Ëß{з®%\.Á •ÕE”;�ÙÎCò²~01lŽe— *Ž æùLv…Yvõªè9øàã:'Ù“§¶G÷^]áÜ¥K…ÇwCœ0|bsü<³ æ.ü?Ž’ÍdOš<Ë–/}÷.,J¤¦fh:ù¤ü]83cÝö.CÑËösÌ?'ÿ%X”È~Œïìu%Ð’‡'ŸÉîèŒ+iiHKû�´ån²¿ô­P¯×oØ{<Ñ¡;ðËWõËó>«”ÃW•BYþ¨‘Iü¸xÂOŸFØv43cÜQ-£¿;]AŸÁg0q5X“d+nll3#¶ì£ðì“S*ÜøÈ¹_ùbU�l­×«B}Ù±^p2o‚_‚ÊeGù´²íÜh¸52Ç×sOâRj*R�‹‘˜ÑÉvƒwËnºÓ$;jÛk"õcä"ʤÙ0 Í|ßÏÒˆMMÑ’ÜUrÙ†’à±ËbTNɳ@¸X™¼{ºHU©µ %7áõ¥5�>Rv[µKöLj¡¬Êg²Ë–Q”<ÅÑ_œadÚ¿Gd²é Uêã·±ãh�¾ËC1¿«-º-–/5§¡OQ�Šm,Qÿǃlš’$û(Ø0é"WËßL§Ã§“ êÙæ‹d3Ÿ(¿y)}„_×Õ*Ù²ºMÐe~Jùìoe’�lcs²wÊR¨VU}ýh�l@‚»»GÂÆÔ ¦ú"¥%ü”;A¶]pq1>™²ŸÚhL)ŒÇ8sô[sK哆Š5Q >>^ c’]^‹Zaö|'¬ÙÔë¾Âªõ±vK7¬Zß þ›»ÁoCg,\Þãiˆá?v,K™1s:�|ƒ�CíaØq!þbf8ŠS1­e=Œ ¼…mCÑjz ûK°øÎt0µ�GXNÅk¨çáq¤‹Tš»©á—>ûËMž÷Y•¾ªäJ_…ÀÕÖDE>$Owãk33’lµžå3˜Ôª({ªQ²Á,©×&â–˜¼1QÁkñC3 ØôõÇý²%ü*Û_V= A²+¬.¢õz•ׇÒGðíS¶.K‘pIIœ/_Ç“<•»±ðìØDXˆ»"@ù&G¶z ®¯v�žE`n d_÷V0k> #"âV�qV½­*Ç”ÞÇÒ¯êÀ¼Ót„§37¿ÁÉi_BdÒÃæoljèDßÿ�ñ²ÇŠ/ó•ìÇ—KŽ¢ùï(Ù@."<�!2u‚ÛâÝ8y:ÇvâøåTìÅEPuFÚV‚ó »Cdâ„1¾}'¶NB#;Ùê"~—|ð™l|„ÊÑhž1-~€mÛCÏæk\gÒ,´ô1[_1’æu…qÝú°5mƒ5ÊS—äŒ}·aÑgp:tf p‚ȬV^P¬Žž�3Ì��æ-1ií1Äœ�ïÙ��KÎÉ&$ .-E3c tŸº‘I�š ÷¶–Z%›É}Žõê#c ™·'OŸAtÈ ô©kÂqãc)®0Kå5qGJ¡l¬UyŒi”lYšÇFWGüïƒ2ÉÎ=ç·ñ^ظ/QQ \�‰]ëãS‹ØÁ¤Ù¨� &û$ÝmÅðJPš•WîKÚ&ÿ"|¼@%»5–®nŸ%_`áŠ6˜ö{,ZÙžXâ׿ÌhŒ±î 1æçe’í3ß§NEðèJ n®ùµÌ¿Á‘¥x{v.ìë ÁÉW%È<0 b‡ñHÈ“àYàO06ëƒì…hÉÃã�ìJs75üa”¼Ø_ž÷Y…>Íõ«~¼™~�í17¾ü"I¶æ— ŸÁ¤¹&Í«‹°Ç–d Øû4«c C[´¼ O”Ò´íW\�C²G4¶._Â�9ö=êCA$†Õ5,OƒR¤€¨Ý¼)}�­?ØCÜc•Æ/Ÿ)þk#œMMÐÝmHä-[JÍ"cÔmÑs+-¥V•c Åãts°FÛòˆâGY䆎Ö0ÒÓƒ±U#tž¸Ì˜¢d¸nQ!Ǖũ.ƦòL6{Nñ#_<íí-a¨g³º-0qÏ]”< E…>`NxFšÚ–;§º ±µ ôj@lÝ_tŽ�× 5¦B|xÉð¡c`AÊÿSïy±äu"‰oßíõ#‘}¹’ìÆGÕJ‹înGk¹dKñòÒn¸ì G[1ô?« Cs;´ê9â2d³ÔúEvS­AãÉ8¯¸ÏBõôŒü«ðñ�“ìþ_bÓÎΘ·´Ölj�™^M±~kGxÌpÀæ]Ý൨-~÷qÆÌ¹_bôØ>ìLö»¯,RÞï©ÌlD]L‹ÈÂñŸ[Âaôö›ÞØ™a[;Ly‚ð©­aÒe î•J¡5�‘lÕ»ÿ™«Uš»©åyY~`%9|eǨ¬Wª*Ùy‰Ì 7�1O醒ìòׂòŸÁ¤|¾ò6SýÓ@@Ãë¾ÂQU9¦ÂI•H²ÁÅŠÉ —ß+Qùá´WÈòÏý¹~Ü­Y^Ó´ÒÇðÿ¦!ß˱dæ?Ð’·g1T 6Y IDATÉÉÝ]*O©ù K�ê"ÀÇ tN²õÁ™äþXµ¡ â.õǼeÍqöòÌY脤+ßaó®žpé_]º™¡ÿç÷–l&bbs´�ø\ë7‚g¤"%$�?9¡Áwž˜ÐÚæ$±³ZóðŠRàÑÌíåÇ+:¿ÒÜM "¡<[V•¾ªä–>Ù�žæ&èëW¾tI¶¢‡TòLª5”?#É.g¡²¥áu¯²ŸyR•c*œTyAÎéßàÐ|2’Þª¦¹T~í�|ü•šŒ+—b°alXuðÂUm«B  qoÎ-€“¸ fEWáK•>z{ ‘¼´ŒF!êEÙ"‡ýªt"ðOàã:&Ù •àŠÛCñÇöxœ3+Ö¶Æ£×#°lMkd¼ù‡C¿Å÷ƒq2|fý>åý%�üjëÀÀi*.*ý2Ήž�úFÐ3(_=@kž4ÛÛCä芵ÁQˆ Þ�ÀDæË ¸s75‰„²dW-‡O{!¤ÙÓzV_búæãˆ‹ GÀ¬oPG�n|T¸|“zŠç$Ù j?«"ÐU9F­Úª<-)VJË©Ê tŒp_ÅÜŽu¡oh§^Sö·bIá4As¤o¿n6þ8+ÿ²ÍUSiRw{cåIÙ�¨ÕtQº øG ðñ�’ìoÖÃÞÃß">yü7wÅù´X¾ºÎ]€e«;áÒÍ�Ø´³;¾ÜOŸ>Å*ß•@²�×§~…mm=tô‘çÒ)º±ð¦´0Çÿ5qGr™|kÉÃcÒobLgGˆEz0¶nŠa.Ë>NãÈÝ”å¦Z£l�Z&mSi™06œªäðiÍ!$9iØ8¹š×3‡¡± Zuë€úf˜D«‹(º�ùÉg0)Ÿ¯¼M’­Lƒ¶‰ D€�/Ð)Éöõ›Š•«<°bÅd,[þ3/™€…‹ÆaÞ¼1ðö�… ÇbÑ¢qð[í‰G�Áwõ*ìÝ·»wï^oéHÄìúÉâò™z ëƒÏ`â š$›‹ •"@ˆ>^ S’]ZZ‚ââ"¢°°ùÈË{‹·os‘›û†ýÉ^@’-Œ¾¥(«™ŸÁÄ"I6*'D€" |¼€$[}KQV3>ƒ‰+D’l.2TNˆ D@øxI¶0ú–¢¬f|Wˆ$Ù\d¨œ"@ˆ€0ðñ’laô-EYÍø &®I²¹È|ÄòÒG88kÜ·^£¯|þˆ˜©j"@ˆÀ…/ Éþ¯¼:¨�ïD€Ï`âºI6™�X^œŠé--ÑanþÓßíX”Ï6õÐfZ >"nªš"ðo'ÀÇ tJ²™µ¯c£OÃÏkæNôÀ¬ŸÆcö˜qð;[}}‘ŸŸÿoïCjŸŽà3˜¸Bç”ì’ „ø Fóºb™Ú¡Ã�E8û´´¼mûåG¾¾€o™aÀÆû�–Ÿ]që}ê“d!z�;zµj±¡bÛfèç± 7ßjº¢ÏS¶a|ï–°‹ '2…m“ì}YJÍ«à,ùX’-Í‚¿‹,]·ãmé#¬øÚ5jÔÐü0鉽O**¾äM:öûŒBg';˜Šô`hf‡–=†cÙ‰{�¼+åx4�[r~ƒ¿Â`ßdkÚÿže´-ï �Nˆø˜øx�NIö‰ üÞ÷[ì;GÜÇ dÊx„O‡èc°iˆ ¼F»aÁø1X4~4O…e“FcÝŒŸ„’’ŠÌ>&lªûßM€Ï`â"¢Y²‹qay˜˜6Ãxÿ#8yh¾kb›¾kñ ”Wmû�’ìkØë=MÌ Pë3‘É~Ïú¤¯qbÙ,Øt§¢Â±w¹>71DGïófŠ%YApµ3‚uûQðÝu'B�b»ïlLY�B.Hº¼:$[Zˆ©qˆ‰‰ALL$V n}û!8uZV›Š§EªoB$/0ÝÙµÍ�0ØÓ{Žáè¾ÍXà1 ³?ªüM’&FÚ$[Ó9¨ìƒ·åÅEÕ"@>>^ S’=cÌd¬vŽ¥_¹bqçþXèìÂ>|»ôÁÆ~}àÛ¹Öuk‡ÍÝÛbgÏ֨קû¶Àš^-wêäÇ`ªZ'åyªòø?ã3˜¸ph”ì‚xŒs4Cëé1(’Ÿø"ìØ5Å‚óù€¶ý(Å5¿hÔa8Ö„`°�XE²%ÏBñc´þ% ¹LýïY_…¶IŸc}ÿz°¸ oT=oO{ÂÖ°!~�Í«p[P�±öfè¹òzÙÌmñÝ�p×ÃŒè·@iöMuA«Æv03Ò‡¾‘9ì�‡aCâs™„–fâ€ç·hÛÄbC}Û y�Ÿ°1áIY}P—lm×”æ"yËdtt´†HÏfu›aÌö[åõ)ZÂ)µÅˆšÞz-S±þ/|ß©)¬LŒ ®û†-;�WÊSü•Å(yŠ`ï¡pvª±¡Dfõ1j'ó �–XÔû€ž"@Ôðñ�’ìIß»azû~˜Ò²;¦·é†ßÚv-{,3›6mb›7oóØ´i#6¯ñÃÆß§`õôÉj8>ÀSõ|Fõ?Üàï\…4wΆ!úÚK øÞ¹6:�ƒŸÁÄQ4IvÑu?´2¶†{Ø›²Ó¤¯�â[K¸¬½ƒ-ûYç�HdX…vªé"’g!ê`‰/†s/"þä~„_Óð&�Sj« ÙoOaX=4îÄ·ÄÎí #³–˜è§£ƒáûS˜˜¶ÂÒóìÛ%%�8㑦$ÙÌg}Y‡~‚©iWl»¯HÉÁΡ°°Ù’·ˆšÙÆ zcQà\H<Žùš¢vÃQˆV±\Uj‹Ùi§|*)) 8¼|Yaì¡,Ùï.E?Z�ð˜3ˆ<â‹oMð™E;¸ûDDT8¶Nÿfö˜«øVÚ¼Êcdë´BÃþó‹3ÁHü›y«%UªôŒ"P�/Ð)ÉûÝP,žþ;Ö®ñdž ØÇü��7bÁ‚øå—_ØÇ”)S0uêTüú믘1c¼¼¼ðûÄ1€h-�ÿ�ª�Sù‰ƒAªžÏ¨þ‡[ë>Âdá#\å?_%ŸÁÄM“dçÅÎB=£Ï±(Eév´¢³ïh†ö³‘£e¿Jr”ÉV�EÛõªZß“½#aRûSÔ¨i§wáa±‰F®îšŒVÖ"×m‹!žk}ûuù›B ¯a•™l51dÚRpa>7n€ßbòÊ$›™�-‹;ÿ¦·¶Dƒ‘�²™{õ±ªåšy13ag䟄Jf˜™@8¥V»dÝZ‡öÆF¸ùA9 µŽ’dÃwuLÑcé•ò™ëâtxw´�ÝнÈQÇÍ�¼b5–’¬ƒèke†¶ÊSSr#0¬ž9¾Ûx%/£¿µ%FìÎ(‹¯äÁt[Ã=´üÍ SsUÚ¢Ö4 $^Î6hå+ËW‹ Ìlóª>¨Uw$Î(ޜ埆[1º-‘ñ�h‹±B�¢�¨ÇÂq"@øx�nIöБ˜9s&&OžŒŸþ™ýéîîöÁH¶B°ÉVˆö´iÓ0q𠇪ÿ”ÿ�w›�ȸxÄÇ+ ¸þDñ!¾Ru긕vUÛ¦Y¨¶kÿ‡.Äg0qáÑ,Ù¿±RÇ-Ù•ï/“Kæ¢U’ìS_é뇸’‡c›f¢k=S4uÛ�,å�ò• Hò"nï2ŒîÑÆ"[¸,�ì¯á5¬M²%Ï÷¡—¹c�¼Ñ,Ù(FÄ”VÐoùÒ˜t õ±ªíš×±²cˆL¡×Ø…8rñI¹À+µé½$;}-ÚÁu wîuÞ98;Â;Qy½Ñží ×l.«§¢¼£dCú[\Áf`²%À«ð©°1ï‰=�K�—ä ýZЉ`hh( Ö§òI%EUh Pˆô ùpíÔõ¬Ìae×¶b}8yDpH6ðâ€ôÄýp˜ ŽùW| ³ÚY£ÍÌ8¶?´ÆÈ)ÙZbQjm"@4àã:%Ùƒû»bÒ¤I*‚­�ìÊ{úôéøÉu€&&•—½ë(õ?ÜLí•åræyæãÈX&7Ò 7ù‰(Å…E_¡¶Ã$$äp燲²`R¾šÁ'†y@>ûVY,|ó+'ø¯ÝËg0qÁÐ$ÙŠô ¥tä÷Vªé"\ûU¼¶ ’­ízïZóñ{æ~7›tAÀ=Eê�<$/ëÃæXv©`gìÍñ•|v’9K›dK_B?sSŒ>Ì-Ù§~m½/fj–lm×d‚�¾ÅÍS›àÞ¯Lô,Ñ{qbÅeï8ghŸÉFn¾¯c '÷pÎ@‰´7úˆ’ )2Œ‚زeæ hBsØ|» Ï$@^’ í0aw*nܸ¡ôHÇãW*oëP•¶¦ù¡µØ]=¶ :ù*ÒR‚0¡•E¥’�st,ôMûààsù24%·àÍÎ~ŸaÅ\kŒ’­5®—.•"@äøx�NIöw}ú— 63›­.ØÊ³ØLª3ƒÍ<É5ð=${àV¼..aW(aV))-•+‡ú/ì ’]y~ wž§OŒ†‰i7l iÖ}SvÃ÷#»²üPùŒ\GÏ`\IKCZÚŸxÄä©¢òXy¬öï”ÿøß[|-M’­¸±ÍŒØ²³ON©pã#ç~å‹UA²µ^ï]ëƒOŒ‚‰ñ—øã¶6É ..Æç"SùLôMx}i�F£�@1_ûÞ’]r ó:ÙÀvðnYJ…|¬2©7¬–h¹¦rûñÑ3�ñYƒ±HP¤-(ö¿�dKsphlsÔ²ú7-WT,û)É>Š6LºÈU•tŸN6¨;dÏ{§‹0W‘æ„cxK \¶ƒëÛbL ,GZòì úY¡“O–û«B[²™Yieaf—<¬û^’­5FõßÙr¼ZcQízFˆ¨@€�è”dÓ«_™d+ ¶ú,6#Ø ÉfÛÓÓnï!Ùê9Ùµ+¨ÿÂV“lmù�•åyJžîG+3|¿õ¡,ÿ‘½‘ȃ¶<ÀÛÊòC5|ìͼ´Å¢�ìòƒ‰ �FÉf—èë qKLÞ‚¨àµø¡™lúúã~Ù~•íWºšÉ®°ºˆÖëU^ò/`ƒ·/ö†DâLÌ)Þô;z44†E÷ø«ìÓY¹çüá6Þ ÷!"* a�ë1±k}|jÑ;î2B^‚ó »Cdâ„1¾}'¶NB#;Ùê"êãŽà 3ÙV0k> #"âV�q†‰aü~ú¥,ˆÒûXúU˜wšŽðtæ&áʯYô×I¬8†¸ó‘’ïoØÔ“kUNϨÂL6ÓòGAÒX ý:0~áf ÇÉ�X?ÿü¾'äã sã£yKLZ{ 1§Cà;Fvãã’sªyÑlCåÒ/î2ÇO�Bdd¤ü…«E©585­- Œ�!²‹Ø\ÅçoprÚ—™4Á°ùÛq":‘Ç÷Àg|…d˜kkkKÞ¥¥hfl�îS·"2éRSBáÞÖò½$У†×k�¶Xd¯úŸ"ÀI€�è”d»ôìûNyØ Áf${äwßq‚áÜ!ÿeÖÝñÉ)HI‘=.\{(»û_ý¶šdkͬ,Ï“É�ÔÖ6ã9óQ-“‹)î„ÍŒ„Tv‡dk�E½-ОÿÈÉí?°ƒÏ`â¢Y²KÉ@°÷hVdž&¶h?x!”¿¼DÛ~Å9${Dcëò%ü˜cߣ¾Ò¬hÌúÖ�¬L §'‚yýøæg¤3Ùòþ*~’ÿ)ÑÆÞÆz04µFãö.˜¶óŠƒ©B%ò’l.2<Ë5¼–yÖD§"@ˆ¨>^ S’=z„Æ�_a=lÅ ¶B²•g°Áþí·ß0v؈*AR9è]g²+äyVž¨=ϳIóºÂ¸n}Øš¶Áš?e_:]éyÒlll‘£+ÖG!2x™—*�¥bN6I¶ÊkAí ŸÁ¤VEÙS’ì2fƒ$ûÃp¤Zˆ D Êøx�NIöî]»ð­‹l…ål…d+Ï`3b={ölö¦Ç‘ÆcëÆÍUUvà»J¶¦<ÏJò«’çYòhz[‰`Ú}%Êóµ�—+c:;B,Òƒ±uS ÛpY6^I,$Ùe½^¥ >ƒ‰«b’l.2TNˆ D@øx�NIö‹/°aÝ|ÿí ôïó úöèƒozöEÿžý0 ×7ا?\ûÀ.1Øe F¸Á/ã&bï®Ýxþü¹0zI=Êüópon‡wËWQßOÏÿ|W $Ù\d¨œ"@ˆ€0ðñ�’l©TŠ×¯_ãÉ“'ÈÈÈÐúÈÌÌDVVrrrÀœ+œùø+5W.Å`ÃØ°êà…«êëñ §1ÿÊHù &.$Ù\d¨œ"@ˆ€0ðñ�’la`þQ_ÅÜŽu¡oh§^Sö·,ûÔLU| |×¥I²¹ÈP9 D€aàã$ÙÂè[вš ðL\!’ds‘¡r"@ˆ  ÀÇ H²…Ñ·e5à3˜¸B$Éæ"CåD€"@„A€��d £o)Êj&Àg0q…H’ÍE†Ê‰ D€ƒ/ ÉFßR”ÕL€Ï`â ‘$›‹ •"@ˆ>^@’-Œ¾¥(«™ŸÁÄ"I6*'D€" |¼€$[}KQV3>ƒ‰+D’l.2TNˆ D@øx�NIöµ?¯!álBÃÂpôèQ„�8�ĤDܽ{¹¹¹ÂèŠò_A€Ï`âj8I6*'D€" |¼@§$›ùÖÆÇ�ñ÷½¿‘v- Iç’pòä ²âÍ|I�°¾tF/в">ƒ©b-²’l.2TNˆ D@øx�NI6#ЊGii)ŠŠŠð&÷ ®ß¸Ž��œŠ<…î“hŒ×ci&ÂýçÀ7ì!$£~�ÕÉg0q5‘$›‹ •"@ˆ>^ S’­ sAa!R.¤àXÐ1ÄÅÇ"ðÐAÜýû. ÿWý“æâÎÙ0D_{‰ä â‹Îcòçè¾ô*þedy½Lø &® ‘ds‘¡r"@ˆ  ÀÇ tZ²_½z…S‘‘ˆ?‡ä çÙ³z"‰IIÈÏÏÏž‘âyÊ6ŒïݶbôD¦°mÒƒ½�#«ºM³0cíÍÐsåõf&™$[åµÄg0©T ô„$[ m"@ˆ >^ “’ÍÈóíÛ·YÁÎ|’ÁÞô˜&¿)òÄÉ“�Gxx8˜íçÏŸ¡¸¸˜WwI²‚àjgëö£à»ë(N„ÅvßÙ˜²&…¼j|�“H²ßÞ‡?•Ï`⊂$›‹ •"@ˆ>^ s’�——ÇÊ5³Ê#Ø…xúô)»ÂÈÕ´«8‹C‡#ðP ‚ƒƒ†ä”^¢ýö´'l â÷Ø<Í=\š�}S]Ðʱ.ÄFúÐ3²€SŸ©Xÿ‡¾ïÔV&F×ýÖ�Æ«²DæR¤mþMmÍ ÒӇض9\ç#³Dž"yŠ`ï¡pvª±¡Dfõ1jç=HXÉ6A�5d�O 1òÀ+Y\¥O±|4:Ø[ÁÐÐ6Ž]°<�Ym…絘Zóï`�ç8Õ1…ÈØ Í»õ@ K#J‘¿ø &Í/"€$›‹ •"@ˆ>^ S’]PPÀJôÅK‘ó&O³ž"éÜyŠÓ1‘8t8—¯\yç^*¾óœÅFh=ñhÈ„.¹ŽÙí­a?hÂcÎ òˆ/¾u4ÁgíàîQáØ:ýk˜Øcvì[ùõ¥ÈN;…àS HIIÀáåCÐÀÈ ceÉr­Ù:­Ð°ÿ|GÅâLD0ÿ.ä3Ù=ƒq%- iiâÑkÆÜ ?¯;ŒÍšcÌŠˆŒ‰FÈþƒ8—Y€çµ¤9qoóV˜´æ"#�c뼡hlbH’-ïE>ƒ‰ëH’ÍE†Ê‰ D€ƒ/Ð)ÉÎÈxŒÝ{vcÿ�}8p`»¢Èýû÷ٙ쌌L(O³²�víŽ=·sçlß±�G/àê®Éhe-‚qݶâ¹Ñ·_—ßx(—ì¶³À(-;s¼ªjÕ‰3 )Ï? ·bt[rEó ƒ%éðr¶A+ÏX°I-ꔇ͑."}„�¶¦è±ôŠ<†JšYÅkIžD_KSôñ½QžÿM9Ù*`ù &• ”ž�d+Á M"@ˆ $ÀÇ tJ²ÿº{‡MÉÈÌ3«ýòåK?Š“áá8s&ñ ˆŽ>ÍæbÇÆÅ‚I-yóæ »®vÀÖͼ»L’÷q{—at�&0ÙÂe�<ýCƒ¿8à=q?Ζç‡_ìvÖh33N.Á…Hš×NÍQÏÊVv�`+Ö‡“G/ÉÎ;çcGx'jJiáw­¼$/Ø;Â'IéÆQ’l•ןÁ¤R�Ò’l%´Iˆ D@€øx�NIöµk×°vÝ:ö¦F&'›YAdñòUX¸d9–­ôÃ’~²çK—Ãý¸qóû­�'NœÀ‚E‹>@—å!yY?˜6DzK€ÉÎ9:ú¦}pð¹|ù‘’[ðfgªÏ°]˜æ‡ÖbstõØ‚èä«HK „VU“l‡Š«‹°Bl¤Y²ù^+/ÉöL�g•Ä�$[åõÃg0©T ô„$[ m"@ˆ >^ S’}ýú ,_±‘QQ8pà6nÚ„%[#°&ð<¶„\€ß�$¬=|ëŽ$c8�€­ 9ŽE‹�.+¸¸Ÿ‹L1öÈ^’�ÍÌt+Kxé#¬øº®vÉ.J�G3 ´Ÿ“¤’"y+�é"|¯%É>Š6&è2?E6»Î�#ÉVyýðL*(=!ÉV‚A›D€"@H€�è”dgee±_¡>×ÛËW®ÂÂE‹1Ë{!~ž13çÁÓk~�½ãõÆŸyXã¿óæÏÇÂŋٔ’wí³Üsþpï…�û‚…°Àõ˜Øµ>>µè�w‹yIvÁ¥¥hfl�îS·"2éRSBáÞÖR»dK³±m°=DŽ®X…ÈàLdn–ÌE„§3D¦Np[¼'OÇ âØN¿œÞ×Bb½ºÁÈØCæíÀÉÓg²}êšÐ��òŸÁÄõú#Éæ"CåD€"@„A€�è”dç¾ÍчqùÊe$�KÂÙÄDÄŸM@\B¼Ê#>! gÏâlR"Î'ŸÇµ?¯!33ó{IŠ——vÃ}`g8ÚŠ¡ÿYmšÛ¡UÏ1Ø—!»!�‚1›~ IDATGºðÉ[&£SckÖ® #3ØÚ�üRd3ÔêTž+c:;B,Òƒ±uS ÛpYv3eñ#_<íí-a¨g³º-0qÏ]HÞãZ(ÍB”ßtiRFzµ!2µ†cë¯1;èaù�ŸŠÀþƒ?ù &.L$Ù\d¨œ"@ˆ€0ðñ�’læ«Ò ËnhÌÉÉÁëׯ9Ì~æÆÇ¼ü< £—(JAà3˜¸F’ÍE†Ê‰ D€ƒ/Ð)ÉfŠò¿@€Ï`ââB’ÍE†Ê‰ D€ƒ/ ÉFßR”ÕL€Ï`â ‘$›‹ •"@ˆ>^@’-Œ¾¥(«™ŸÁÄ"I6*'D€" |¼€$[}KQV3>ƒ‰+D’l.2TNˆ D@øxI¶0ú–¢¬f|Wˆ$Ù\d¨œ"@ˆ€0ðñ’laô-EYÍø &®I²¹ÈP9 D€aàã$ÙÂè[вš ðL\!’ds‘¡r"@ˆ  ÀÇ H²…Ñ·e5à3˜¸B$Éæ"CåD€"@„A€�è¬d3ßþ˜ž~'±qÓLñ‹U~+püx0.¥^Ä«—/!‘H„Ñ3¥àðL\�$Éæ"CåD€"@„A€�è¤dg>Éde:4ô8Nž<�óg"ôðï˜ïó <ˆˆˆp„„áÏë×H´…ñÚ\”|W#I²¹ÈP9 D€aàã:'ÙŒ`‡…GTt.\¸€¨ÈP„ù/î­EJìøûù .>±q± :Š›é7 •J…ÑC;ÊÒL„ûÏ�oØCÐÿûÁæ3˜¸®H’ÍE†Ê‰ D€ƒ/Ð)ÉfRD˜êðð“8wîû˜úËDìØô î][‰;§aòÄ!X¾|9;£‡½{wƒsú è<&n�îK¯¢”R”Ï6õÐfZ > i.îœ Côµ—Py«S×þXmÀg0q…C’ÍE†Ê‰ D€ƒ/Ð)Éff¥>„ØØXÄÇdz��7bÊ”)ˆ ÷ÆO£"èÀ ìÛ>S§Ne÷Ÿ8†¸ø3())y÷^*¹ogkØ� A±ÊÙ%HôîŒZ“�TȨ£ÏS¶a|ï–°‹ '2…m“ì}YŒÍJ_bÿ„¶°¢VÍš¨-2�UƒøzÄ„Ü|£R3ûDš�]nN0Öû5kÖ„ž¡˜­oÐÔõH~ªIÅ“+)Q—ì’›ðüû&«µ¯’:ÞuWa<ÆÚ›¡çÊ몳çÕqíw�õŽç3˜¸ª'Éæ"CåD€"@„A€�è”d‡……"$8QQQ8yò$V¬XŒž“1jÔÄEÌô)Ñóx\_ö¸ððp;v/^¼x÷^ª¢dK²‚àjgëö£à»ë(N„ÅvßÙ˜²&…ÌU¥Yðw±ƒYw/Ä$&!>&‡¶ø SsüÏqbsÔ’7äÇ‹»Î©„³²ã7ÍF/{SµöDJ®ÊœpÕÛ¥.ÙU?“ÿ‘\’Í¿F�8“Ï`â œ$›‹ •"@ˆ>^ S’½}{Ž?Ž'N`íÚµX³ÂiçWÁgÎOˆ?µ#†@êÙ娷Ý“'Of� cSF>zøî½TEÉ~{Ú¶† ñ{lžækÈ¥Ùú‡Ý*iÙGÆÂİ%V^aU¼ü\ùñ–®Ûñ¶¼/#~E][L;%/-zˆcó†£Cã:01¶€c7$¿(OËÈ¿ƒ=žàTÇ"c+4ïÖ-,�ÊÓEJ®cv{k´�•vž_òÁÞCáìTbCˆÌêcÔÎ{²hm×*}Šˆå£ÑÁÞ ††&°qì‚å ¹+Ù&¨Q£†ìñ‰!Fx¨_›igi&N,qC»†šÁ¾Ã`¬Šz(Kma÷g`ßT´jl3#}è™ÃÞy6$>/o³¯�¹Ég0qÅC’ÍE†Ê‰ D€ƒ/Ð)É^·ÞÇŽCPPV¯^�•K<ð÷Ÿ1û·Ÿ¹ƒ¹àLøRŒ;ìq̱۶mÅß÷î¾{/UQ²‹ïüg±ZO<„‡f™Õ%[Rˆì¿Ïb¹kSˆšþŒ³o4Ïd«KvAò4™ab“b’‡¨™aÜ 7žÁ…Äã˜? )j7…èW@šƒ÷600o…Ik!2ò8¶ÎŠÆ&†Ü’ÍŠ¯öŸ�à¨Xœ‰FâßEÚ¯…ÄÏëc³æ³â"c¢²ÿ Îe–È%Û =ƒq%- iiâÑk‰É.@ìÜ®02k‰‰þGq::¾?u€‰i+,=Ÿ+ë;¹˜Û\‚ÐÈhœ ÀÏ]ëáÓ†£pš©³ÿñL\á‘ds‘¡r"@ˆ  ÀÇ tJ²™õ°÷ïß�°�‰'âbÂz öâ#}}b9B/Á´_=ÊŽaŽÝº5Þ÷^ª¢d¸ºk2ZY‹`\·-†x®Eôí×峫rÉ®Y³j×®Íæe33»5M›aFè#Õ\e&J•™l)J ^á^j(f÷±ÇÿêAXV)$/£¿µ%FìÎ(»NɃ-è,¶†{èHžD_KSôñ½Q^¿zºˆúl²ús91m×’¾ Â@[SôXzE6#®Lš+]DíZ’ìcø®Ž¬ö¦L¦Žâtxw´�ÝнÈaÞ»¨�ÃRpa>7n€ßb8>EPŽånóL\—'Éæ"CåD€"@„A€�è”d`g¥wíÚæ1}útDŸX�=ÛçájòVl\7kýW`ëÖ­ì~æ˜;v`Ïî]ÈÊzúî½TeÉ–U-É{ˆ¸½Ë0ºG‹lá²à4˜Ie…4[ôY‚‹ÌlîÕT$E²Ÿœ!6i‚™ÏÊD™­I.Ùe)LªEM=Ôë4».e³Çæ%yÃA¿ôD"ʨõ©ƒám¢ì�á“”_Þnž’­õZI>p0v„w¢Ñ­¢dç�ÓTG1¢=ÛA¯Ù4\.’j”lÉó}èe.ÆØ#n -oùßâ3˜¸‚ Éæ"CåD€"@„A€�è”d'§œÇ7°© L:Ȇ à9}2"ޝÁ‹Ça«$¾¼%[Ûµ¼d×â’lM«‹¨æƒ—Å«R‡vÉ–¾:„~æ¦}˜$[ñò¡ŸD€"@ˆ@õ¼d3_•¾oßö¦Çõë׃y,]º_÷üqÑ[ѯ_?,^²„-—í_‡�›þÀÝ»ñ$]€cã�ð?‡±ˆUÎù-¸Œm,a=`3^p¤\\ŒÏE¦²V¹4W�ì·q×XŒFcƒU—ÐSIaB—âEœš™ˆÑkÙöX&¤Ÿ¥:ùh^~O’}lLÐe~JyÝ<%[뵞ÂÅÊDsºHQ <šY ýœ$ÕTµÔY¼Lºˆ| o¦ÙÅéðédƒºCöp¦‹�dó|iÓiD€"@ˆÀ# xÉ–H$¸ögÖ¯_ÇÞøÈÜü8xÈPLš4 §GÀkÎ|óí,Yº”Ýïë» 1gNó[#[Žýí¥hm&B½.°fÏ1ÜÏo>‡�acü)[É#÷œ?ÜÆ{aã¾ DDE!,p=&v­�O-z`ÇÝâ²™l³¯æ *.g¢ÃqdçJŒûÊzFM1ût¶j'W�lfwâ}¾‚¡y'¬ÿ“ùê˜789íKˆLš`Øüí8ƒÈã{à¿3oØÉîÄzuƒ‘±†ÌÛ�“§Ï :dúÔ5Ñrã£Òj#eQi»V."<�!2u‚ÛâÝ8y:Çvâøå@š�mƒí!rtÅÚà(Dï@`b¤j’ äã sã£yKLZ{ 1§Cà;Fvãã’sòYê ç$Ùe�DD€"@ˆÀ?D@ð’Í|=zAA.\L³ÒÈÊU+1bøܹyE¹×ñôñyÌž5sçÎÅÿÕ?�œ79`äœÿ? 2þÀè¯[ÀÆTcK4é4+NÞ•ÏKñòÒn¸ì G[1ô?« Cs;´ê9â2d7J_bßø¶ìùÿ«YŸéÁ® :øÄ^@’-Œ¾¥(«™ŸÁÄ"I6*'D€" |¼€$[}KQV3>ƒ‰+D’l.2TNˆ D@øxI¶0ú–¢¬f|Wˆ$Ù\d¨œ"@ˆ€0ðñ’laô-EYÍø &®I²¹ÈP9 D€aàã:)Ùû€ïšÕ¸™žŽ€­[á·f5<|æëÖ×®a·×¬óóÈËÏFïP”‚"Àg0q5�$›‹ •"@ˆ>^ s’�‘‘�Iî?#`k-YŒq“&Ào�VùùbâäI˜¿hVú®ÂŒßf°�ä”aôE)(|WI²¹ÈP9 D€aàã:%ÙÌ 6#Øaaa¸™~i×Ò�œ’ŒËW.#íÚ5$œ=‹³Igq1õÎÄža�›ðó$¬]¿/^¼F/Q”‚ Àg0q5Œ$›‹ •"@ˆ>^ S’ͤˆ03ØŒ`?þ ÏžeáÉÓL<|øݽƒk¦!åB2ÎÄÆàdø Ì_8‹—.fÓFîÞ½+Œ^¢(A€Ï`âjI6*'D€" |¼@§$›ÉÁöY0W®^AVÖÓ2ÑÎÈxŒû÷ï!ýÖM\¾’г‰ ¬d¯ö_�1ãÇáâ¥K(,,|·^*}„_Û¢F�š&=±/# »Üœ`¬÷)jÖ¬ =CSØ6n�ïÜý�ð¸¨ìz¯Ž�ƒ‰ACL�Ð4›^‚K+zCdÜ ›ï—�CºM€Ï`âjI6*'D€" |¼@§$›¹ÉqÜÄñHLJÄ£Ç�ðäéùlö<~üwïþ…ë7þDò…󈊎ĒeKð£Û�X¾r9ž>}ú޽Tˆ©qˆ‰‰ALL$V n}û!8uZV›Š§…Yðw±ƒ¸ë,œJ8‹ø˜pÚì—¦æÐo:1Ù¥$¸µî[|R†í½q£HªGiF úÛ¢†AS,8Ÿ¯²�žè.>ƒ‰«5$Ù\d¨œ"@ˆ€0ðñ�’lfæ&G&›IaÒDž<ÉÄÓ§O�™™Y6›})õbΜƢ%‹0Ç{.V­öŽû÷Þ£—Š5½-ôZx⊲$Ke’méºo•j›äG‘?¾P‚øÙÎ0®×fu0&0åš]ˆØß;Bìð9Œ­à–«T mê2>ƒ‰«=$Ù\d¨œ"@ˆ€0ðñ�’lf™¾ù à|òyüùç5ܹs÷Ü“.’ù$“]ºïöí[¸|9±qg°fíŒ3·nßBqñû¤b¼›d^]�FF¶û€"�w‚…ËjšÞƼq³X¦Ù¥™àb[£·ïÅ{s Ùñ®³íÂxáý£ä3˜¸8�ds‘¡r"@ˆ  ÀÇ tJ²™u°™eúBÃB‘t.‰Í¿NO¿‰¿ÿ¾‹î³3Ù·ïÜ•+—ËÎd�ûæ-œ�Ç�ߣ—´Höw[ð"¿o_?Eú¹Ã˜Ù³>µè�lŽõ j»ñöÁô°®�)aÙì wòÂî0l9WÞ\ÆŒÖÖè±ü˜ú§ûø &®V‘ds‘¡r"@ˆ  ÀÇ tJ²™/šaÖÁGdä)öÇÔË—Ø<ì[·ÓqûÎmܼy©©—‹…‹bºçt,[±÷^ S’í翚ýÇÀÀ@lÛ€}û÷"$$ˆ�Õfr°Ï"1é,Î& ::Š]'›ùòš…KUë��*/‡¢ó˜ü¹º.J•É·ô9¶ vÄÿ>¡Ç²«r!ÏÅÖA Pgè~¼ãBƒ*—¢'ÕG€Ï`⊎$›‹ •"@ˆ>^ S’½ÒOöué /Âo¿ÿÆJ´÷“­¾ºˆÊ… Oí¾}üÒ!‘ïȽ´ “Æ-Ä™gŠ ìBés—�ÈV¤R =Ñ5|WH²¹ÈP9 D€aàã:%ÙYYY;q‚]ûÚg¾†ŽŽa#†³Â=bä¸�v#ÖÃGŽÀøIØÇæ-[ðøñc¼G/½‡dç‡b�•)\·DZZ._¾Ìn_¹zWÓ®âùóçxûöí{®“-Œ¦(«�ŸÁÄI6*'D€" |¼@§$[˜)Êÿ>ƒ‰‹ I6*'D€" |¼€$[}KQV3>ƒ‰+D’l.2TNˆ D@øxI¶0ú–¢¬f|Wˆ$Ù\d¨œ"@ˆ€0ðñ’laô-EYÍø &®I²¹ÈP9 D€aàã$ÙÂè[вš ðL\!’ds‘¡r"@ˆ  ÀÇ H²…Ñ·e5à3˜¸B$Éæ"CåD€"@„A€��d £o)Êj&Àg0q…H’ÍE†Ê‰ D€ƒ/ŒdoÚ´ Ì:Ú066f{äàÁƒxôè‘0z‡¢>ƒ‰«�$Ù\d¨œ"@ˆ€0ðñÁH¶žžLMMQ»vmÔ¨Q666ìÏ_ýU½CQ ŠŸÁÄÕ@’l.2TNˆ D@øx�ÎKvxx8ÂÂÂX¹f»mÛ¶èÕ«¬­­YÉvuuÅþýû‘““#Œ^¢(A€Ï`âjI6*'D€" |¼@ç%›jÅÌõ½{÷TzÂÍÍ�Ý'‰�’’¢²�ž�÷!Àg0q]�$›‹ •"@ˆ>^ ó’½wï^V¤ãââ4öB«V­ÀEÍš5¡g(†m“4u=’Ÿ˪”fÁߥ,:ÎBòËRÕËD`hS|³î/H”öHÞ¤c¿Ïhtq²ƒ©¡>D¦6hêÜÓ¶¦à­Òq´©»ø &®Ö�ds‘¡r"@ˆ  ÀÇ tZ²ÝÝÝñÙgŸ±®.pqqa%ÜÊÊŠëîrV í î: §Î">&‡6ÍF/{SµöDJ®�S£f-4rÝŒûÅÒòú4H¶äe¦;Û¢¶¹ÏðÃÞ£Çph×F,™á†ŸüΣ¤ülÚÒa|WsH²¹ÈP9 D€aàã:-ÙÌ,¶âÇ¢¢"�½Ð¹sgvzРA÷WZ(hK×í*3Ì/#~E][L;õ¶L²ÍÛô@g[stó‰Cž¢Ò ’��ÈéíQKÜ+’_)Ž¢Ÿ$Àg0q5“$›‹ •"@ˆ>^ Ó’Í` dgªýüü*ôBnn.4h€öíÛC"QNبp¨æÉ.H^€Æ"3L zS&Ù¶ÃöânØT8˜ÚÃ=èØùluÉ~{ ÃêÃá§£*Ò®ùâTªËø &®ö�ds‘¡r"@ˆ  ÀÇ t^²Ûµk###èëëcÕªUe=qÿþ}V°™¥ý˜GLLLÙ¾*o¨H¶%¯p/5³ûØãõ‡ ,«´L²ë Û�"ä!aaO˜ØõÇ�¿‹5É.ºµí��0pÓ™„W9:P×ðL\m Éæ"CåD€"@„A€�è¤d÷îÝ>>>ì#;;ùùù`VaVa~ŠÅbv›y>sæL¼~ýR©R®tUûK‘o]£FY}5jê¡^§ñØu)[&Êòcd’  èVöi›^¾¸ó:\åÆÇ¢ôµhgl×-ò™î²8JpnI_Ôwþ—‹xÄYVmT>ƒ‰+6’l.2TNˆ D@øx�NIvff&›úÁ|£c½zõØovlÚ´)KŸ‘ëîÝ»ƒ¹Á‘‘ëaƱÂ={ölþ½#h³ó‘xé2.ÅoÃ÷¦¨ÛÏw78ªK6€â¿÷ o]K¸,\‚AÊ«‹¼ Å :ÆprG¡JT%ˆŸíŒZ�Ý‘RH’­‚FGŸðL\M!Éæ"CåD€"@„A€�è”dwìØŒTÊõÔ©S¬l‡††¢  €í…€€8;;³ÛŠ2ÞÝ#èò¥xç…f&bôZvì"~$�àîî‘°15ƒ©¾¨| ?ékþÔ µ¬¿FÀ�|¥°H²•`b“Ï`âjI6*'D€" |¼@§$»G�ðððP¡Ý¤I\¼xQ¥ìƒ=© ÙL͈÷ù †æ�°þϵœl¥+—>ÆFWGüïƒrÉPòð†4CßöKL\¼ÁáQˆ}ú”Ñf¾*�I^@’-Œ¾¥(«™ŸÁÄ"I6*'D€" |¼€$[}KQV3>ƒ‰+D’l.2TNˆ D@øxI¶0ú–¢¬f|Wˆ$Ù\d¨œ"@ˆ€0ðñ’laô-EYÍø &®I²¹ÈP9 D€aàã$ÙÂè[вš ðL\!’ds‘¡r"@ˆ  ÀÇ #Ù›6mB^^ûµëÆÆÆl�^ ÉÖÓÓƒ©©)j×®Í~+¤�� ûó×_FïP”‚"Àg0q5�$›‹ •"@ˆ>^ ó’ް°0V®ÁnÛ¶-zõêkkkV²]]]±ÿ~ää䣗(JAà3˜¸F’ÍE†Ê‰ D€ƒ/ÐyÉf„ºF�`f®ïÝ»§Ònnnì>‘H„””•}:ó¤(žmê¡Í´ü“AIsqçl¢¯½„T9 ñI^§bÍO_¡¡…þ÷©>º,¼„·—ýÐÞÖS�?W=_þåâ IDAT¹®Ñ6ŸÁÄÕ|’l.2TNˆ D@øx�ÎKöÞ½{Y‘Ž‹‹ÓØ ­ZµóàõOš�]nN0Öû5kÖ„ž¡)l·Çwî~Hx\Ä«Ê '•Ü„ßà¯0Ø7ÅvVR Í‚¿K=Xtœ…ä—¥ªD`hS|³î/HT÷p?+ŒÇX{3ô\y]õœ ñ#v–3 íûÃ÷X Î�KDÚãÝÙ‡a]ûbeÂkîkü‹öðL\Í'Éæ"CåD€"@„A€�è´d»»»ã³Ï>c\]àââÂJ¸••×!Üå¬ÈÚAÜuN%œE|L8mö‚KSsè7‡˜l5¹å®éÃï‘ÇV£f-4rÝŒûÅJóÏR²Õ#/½‹E]mÑjú™w{S ^�ÀŸóL\M&Éæ"CåD€"@„A€�è´d3³ØŠ‹Š4Ï,wîÜ™�…4hл÷’\d-]·ã­ÒÙo“|à(ã§À—J‘¶ùG4µ5ƒHObÛæp�ŒÌ¹ô–f`ßT´jl3#}è™ÃÞy6$ÊÓ*J®cv{k´�•€Å5JŸ"bùht°·‚¡¡ l»`yB®b¯ì§<6ó6=ÐÙÖÝ|â�§8B“d—fâÄ7´kh‘¡ì; ƪ¨‡({›ÀÎd›°oH˜ô›Ÿbä�W€z|ìs+¥ãôÑ}éUÞÝg±-~��“*zˆcó†£Cã:01¶€c7$¿�¥’Hž"Ø{(œ�êAlh‘Y}ŒÚyOu]ÑýÉg0q5…$›‹ •"@ˆ>^ Ó’Í` d…ÏÏϯB/äææ¢Aƒhß¾=$’*'N”×Ã!Ù…WW …‘†í~@Šì´S>•€””^> Œ¬0öP–L(å’j?p B#£q*(?w­‡OŽÂé×’Š‹ÄÏëc³æ³â"c¢²ÿ Îe–)¸,>yl¶ÃöânØT8˜ÚÃ=è‘ìš$»±s»ÂȬ%&úÅéè`øþÔ&¦­°ô¼\Þåé"=ƒq%- ii⑦øäíi6v.³Ç]ÃÝg(V‘ì³­)`ylu†íGò�°°'Lìúã#«j’-É>†ïêÈê,›¹.N‡wGØ Ý‹fÒ�3'[m¦]C{˜ð”%[òâ0ú[[bÄ› KlAg±5ÜCßTh³¦æézŸÁÄÕ&’l.2TNˆ D@øx�NJvïÞ½áããÃ>²³³‘ŸŸf&Í�ù)‹ËÒfΜ‰×¯_C*UÊY®jÉE–MŸ`R(˜GMØ|ñ–E<�§Z"=h>\;5G=+sXÙ5‚­XNœ’-y¾½ÌÅ{¤¢pæ�ó�ƒ±#¼Ë’?4G«"ÙŠnaeŸ†°éå‹;¯ÃUn|Ô\g1¢=ÛA¯Ù4\.’~PÉÎKò†ƒ~-è‰D044”? PëS<‚”CÔ57T7Kù &®–�ds‘¡r"@ˆ  ÀÇ tJ²333ÙÔæëÕ«ægÓ¦MYúŒ\wïÞÌ ŽŒ 6ŒîÙ³góï¹Èš}51Iç�’z wŸæ–ç13Ài~h-6GW�-ˆN¾Š´” LheQ©dK_B?sSŒ>¬A²“¼`oÄC²™Ùä¿÷ o]K¸,\‚AJ«‹0Ò[±N ’í iu‘wŸÉÎKò‚ƒ¡&ìNÅ�7”éxüª„f²Õ^‘$Ùj@è) D€�¼dwìØ‘•êÂÂBý©S§XÙ EA�l•退8;;³ûe¼ûI.Ùê7>*×—}À z¦}pð¹<£ôV|]—·dKžÂÅÊäÓEIpw÷HؘšÁT_T¶„Ÿ$û(Ø0é"WËß §Ã§“ êÙ#K)J�G3 ´Ÿ“¤š¦¢>ë¬þ\~i•t‘gÑÏÒ�|8–%ä¨CÑ !üä3˜¸ÚE’ÍE†Ê‰ D€ƒ/Щ™ì=zÀÃÃC…v“&MpñâE•²ö¤ ’]pi)š[ ûÔ­ˆLº€Ô”P¸·µä-Ù@."<�!2u‚ÛâÝ8y:Çvâøeµo¬TOQ4ºô16º:⟔I6��3Ì��æ-1ií1Äœ�ïÙ��Kν‘�)ÍÆ¶Áö9ºbmp"ƒw 01«bj‡ +K6ð'§} ‘I ›¿'¢cy|üwÆã “µÃQ‡¢ Bøùÿí�ytU¾Ç=çý1>EB‚bq@À}Å�QyŒY«”�E6QGÅ÷f@Egg¢"²  ƒÈe‘�°ŒlYÄ û&ÉÚÙ¾ïTg¡Ót‘t¥“N%ŸœÓ§S—êÊíÏïs+ߺÜT[Lfï‹�mF†v@€€=XÉÕ*dGFFªS§N%´��J7–‰ÄÄÄ”´ùô›r„l)][?¡Gï Uà�7ªn½jÒâ×êõþ¶Âa�òZËEœýÏ9®/ß꯶-*°N]5¸íW>ïHé[Ü™…lcyö‘Y ­ï²�`{R+Þꯇš·ð Ñízéݵ.·ð“”yp¡·o¥�€: ½[}¦íT¾{ÿÝ·‹€—ÙÆÚ•ãZöæµkªzuê(èÖ;Ô~ø<�Ì+ d»IJÈvÂ& @Àfl²:ä\oݺukçšëæÍ›«K—.6+Ý­ ¬ &³÷MÈ6#C; @À¬ä‚j5“�““£¨aÆzðÁõÔSOéÜ9ã^Õ|A j XLf=$d›‘¡€ `VrAµ ÙöÀL/k+ƒÉŒ !ÛŒ í€ {°’ Ùö¨-½¬bV“Y Ùfdh‡ ؃€•\@ȶGmée°2˜ÌºHÈ6#C; @À¬äB¶=jK/«˜€•ÁdÖEB¶Ú!@ö `%²íQ[zYŬ &³.²ÍÈÐ@°+¹€�m�ÚÒË*&`e0™u‘�mF†v@€€=XÉ„l{Ô–^V1+ƒÉ¬‹„l32´C€ìAÀJ.°UÈÎÌÌÔüùóe<ó�Ê$`e0™õ‡�mF†v@€€=Xɶ Ù΀=eÊç³±Í*‹€•ÁdÖB¶Ú!@ö `%Ø&d'$$hÞ¼yÊËËs>Û|A ²XLf}!d›‘¡€ `Vr�-BöÉ“'eÌ`gdd8+a,‰‹‹Ó±cǪ¦2ŽmÝævµyyµ²®õ Òtxó ÅィRóìå}ýµŽÍ¿U)+ƒÉ¬ƒ„l32´C€ìAÀJ.¨ö!ÛápèÃ?Ô‰'JUáÔ©Sš6mš²³³Kµ—{£à¢fŶÔ/î©­Y¥"±óé›ÿ¤��ôÜÒŸ¤Üïõ~ÌcŠ™¼U9×úÙ›4¤EE¾»Où®û•÷õ®¯)þÞ›~ª@ç·ÍÔ°¨Öj :ÁjrW;ÅŒÿRgóŠ(åÿü½>›0Hî»]Á�ªÚR�ô|Is“N—î·¤üËôÙkÕþÞ¦ ¨£ÀMÕ:¼¯ÞY™¢üü³šÒµ©öœ¥ô’Ã;”<³Ÿn«ßRÃÿñƒ\~lÉvøÆÊ`2{_„l32´C€ìAÀJ.¨ö!{ñâÅ?~¼óáZ†â6ãß­~�[ü¬Öý¥þ7þ²Û!²µæ¥6º¾ù ­O+—ÝösÛ4 Ùn»y»YÞ~æŸ]¢žMë)´í@Mž»X+—/Ö¬Écõâß6©øR$ÿü�jÛHun}@ÆMÕçÿZ¢̘¤�í›é¦z-õüÂK‚vþÅoõÊÃMtãÍ÷*fôdÍ[´D‹L×/ôÑþy\W…ìX0Lw7Ó€Yû®}Aâ-„*ÞßÊ`2ë"!ÛŒ í€ {°’ ª}È.Fo„j×/÷m×+ï÷—×èéfõu׳_–^’¹IC[…èþ×Êa,wŸÆ¶ ÕCøV¹Ævþ-ß[ß{»Bë* Á/5pNŠò�!»¾®»îºÂǪÿç—®~½qŒ¼SZ9i€~Óü6P‹v1zoÝ1�3¿åígú×£Õ$°¹Æl(\Vs5‡ }õâCºá–ÿQÜN· ‹ì#Š{¢¥~Ñ4FËÏóÏ™ZûJ[Ýpóoõî¶KWÊh)p™É.ÈÑ�ÏžUË�fzzÆžBnž_e‹V+ƒÉì�²ÍÈÐ@°+¹ Ú†l÷]Ö¶µeiÕïÛèúÛû+þò•ëÔ5/«I½{4qkÑ­ÝC¶sûV5ïþº–®Û õ«—*áG‡T4“ýÈè¥Úµg�öìIÖñÔ|!;KþÔAõ´Öð)‹õuüRMÔNõƒÐÛIiÞJùú™søC=ROÿBÇ<,�QújõiZ_÷<¿²ôEEÑOÌLz]wÔWìì“*0ö½½¾î¶L¦7L, Ù·F¬­s«EH3õÿt¯í¶�ÃÊ`òP8g!ÛŒ í€ {°’ jyÈ–²v¼¥{ë…jØ¢sEUN×?‡Ü§ÀßNСܢµÚC¶ËÌv±fËEÜ^Ÿá_êÑ8Xáoïº2s�s@ãi¤¦½çëç«—ˆ—¯ŸÊÒî¹#ô@h€‚n{H±£ã(µä�0§ªmP=õšyª¤­¸ëÎçŒåêZOmþï[eŒsî=ý¨ç}�…캡MZ7H‘oï¨ÛxkVS)–.„l| @°!+¹À¶!ÛgõÉýAovh¢ÆOÎÔ…|)ÿÂE7¹Yݧ,Y›|Õr·Ð\Ò—r†ìŒÄ×Ô2¨•Æ'¸.ëÈQüèߨÎ}/k§ÃCÊ.O?‹:’ŸqLç¿£gÂïRP@u}ãk]Ê—Œ�ý›r…ìMÊ80ŹoÏOŽ—²ƒÛD«OÛ&ªÓ¸½&®=~…[ û}ce0™½KB¶Ú!@ö `%T»�]™è蹌úÏœ> n¦9ÿÉVʬXÕoÜSK�ë’‹^áªÝ·‹l„ì–žî.RzMwÆ–ñjQÏË�­rô³¸%ÏÚúNÕ¼_ïü;KJûJ±·éž&ËE¶NÔÝõ3ó„ ÒVè©ÆAºw䪒?š,9lñ7.k²Ó2ëÓ�mT/ø~�^vÔöAÛÊ`*ÆâþLÈv'Â6 @À^¬ä‚j²+í–}רeAêjõm¢ãhÜ£�uïó+J¯CvÕîÛÅÇvlÓ ÷Ý¢¶ÜRø’Åínûç_X¬'ËEv—Z.òÚ£�t[ì<�ËEŒC•ÙÏâŸçòl,‡¹' XC蘦/G<¨>¦÷¸­ýv¤hZÏVº¾É“Zr&O*øY_ ¹_7Ü¡û]gÜ]î²�·ðË?£Å£V½à_iÌj“%)./¯ÎßZLfï‡�mF†v@€€=XÉÕ.d¨«þÃgr´y\{‡((¨µÞÛåö‘3n!ùªå#Å~\Ð̘ hÕSqK×iíÒÙZ˜pVî¯W¦Öøxsk=÷/}óõ2M\ø‡�“ÝîúQ|lçóµû™–8E†�ÓG –hõºuZ±ð ïðKýâ–pÍ>Rx‡ïüsñz¾M¨n m£A¯¬EËWhÑì¿hðïîÐM�whèg‡K‚îñ%н3D75n§a§ëŸËWé«eŸëƒ×Gi̼žï“�sT3ûÞ¯:�"4cŸéŸL–zWÕqÃÊ`2{„l32´C€ìAÀJ.¨–!ÛÀ]Õ£ž{t¶Âo©«FOL×™+7)¬¼{Hvßvñ#óàB nßJ!uz·úLÛ©|OûçžÔŠ·úë¡fÆ-üBtG»^zw­ç[ø¹^æý,ÐÅÿ]#£Û«U“Ýôß7*ðæ¦z r°¦mv€�íc þ¸Râgr…Ž8€8€8€ÕËB6!›+WÀÀÀÀ;@Èö1P®"«×U$õ 8€8àRSS•œœ¬„„mÞ¼™‡— �ü ŽV¦ó®¢5 d²-^«ƒž×ùçÜáŽ8PUá.))IÇŽ“ÃáP^^/¤§§ëĉÚºu«¬mjPqç*ZB6!›��8€8€>uÀ˜Á>zô(ÁÚË`íébÄà¸wï^¯ëC *²‹ëaµ„lN¬^ܪš áç0ë†8€ötÀX"ḃž­¾ÌÌL˼ ÔÀ:sw_­Ö€�MÈözàz;ÐÙßž¿$©uðꀱÛ=¨°m=ô<½­5°ÎÛ“«Vj@È&d{=p½èìÏ/jÀ¨]ðüð¨�ÿk@È&d²qppÀ§ðüð¨�ÿk@ÈæÄêÓ+³Uµk¶ŠzSoÀOðüð¨�ÿk@È&d²qppÀ§ðüð¨�ÿk@ÈæÄêÓ«§ Ú˜éÂÀ�ÚåÏÿ�ø¿„lB6!pp|ê@­ xŽÓZ÷ÑëzÙaåøàÞØîw·0xz{¡Zck�{QÛ¬Ùñ)•ÂÚ�}ñ¶•²9±z=p½èì_»f°¨7õƨ±Ï,@g¯¸��4tún9Ìö©@»•€ç×d%kêà·E™åyßÞìïøA é¬A~W)¬‹Cµû³•² Ù„lÀÀð©•ðr.ÿ¨5Ÿ¾©çûE«Sx˜":Gë™Q4oó‰*�Õt`yµ-dçþ¤…£»ªC‡n��]zZ¹Žõù¸‘÷Ù^e—'d{³?!›«xfrppp ¶:P!;çÒNÅ=Û]a]úiÜÔÏµê› úfÍÍz‚>Š?£Üò„¹ÊÚ§–†ì¨‘+é»ïô]Éc—ŽœËªÜ""dsb­­'VÞ7îãàø>dg()n�Â:Ó‚äT“—£ÃK^Wß':+",\�z ÐØéuÖ‘[¸¿ãŒVÿm´žé­Î‘a ‹ì¢˜á¯iÑ® WzÎy%ÎKÃbº)2¢£ï=Bóv¦¾>ë”ÖÏœ a}WÇŽ]Õ{ÄD-Û{±ðµµ4dw»\éž.\܃pYìÝ÷Ͻ¬½KßÓs±Ý�µìÝO“–­ÁvîÛI�žì«ØîQ ÷TGO}ª`ËEøï>Ÿþw¿(ùE‰8€8`ÅŸ‡ìôD½Ö#B±ïl¼Æß\]<”¤ I;•œ¼S_ϯ§"ºkRüù \äz�™«M[·)qã2½7¢‡ÂŸš¨m©FÏÐwŸŽPÇÎý5iþ%íØ¦�kÖiÏÙlåå¥këCõäKš½n‡öíÞ¤Yè}åµµ5d�Y¦Ÿ³r8 999E4në¦Ëbï²³ÎÓ€Ž=4vÎzíÞ¿_;Ö*ñpºË±;©çKÓ´zS’¶m^¡¿¾}¥ ÓW-*:!›�MÈÆÀÀ¿;àë���ò…†DFhÌ’SWf�Ë SŽMÖE§î(\ìäŒ0•¹o¶úF>©iÛÓ•{iƒÆ<ÞQ/Ì=pÕÔå\Œ×«]»hÂÊ+ËR²O.Õs»ë½o/‹5Ù…k³#úOÕ�ì\å¹³vßvcï¾úöñ´fìô𿞎µNIÍBrEÛ ÙœXý~bµ2ãÁk˜)ÃÀ�šå€ïCö¢�}ú!;K)fjìsýÕ³[u‹ŽQ�Îáê;y‹iÈι°F¿�ŠÒ¤o.+}÷ ÅFÆê“]E3¦.!>}÷'Š {Laኈ(~„ë±ßý¡_-�ÉŽ5C;““•\ôØwøTáÿ4¸a÷í¼<¹²wÙy™?hÁ«1 �ê¥ß¿=[ßì?{åÂÇÓ±.^©cEôÙë Ù„lB6ààøÝ_‡ì¼´Íúc÷g`6»%\Ö¡Ï4(ª‹FL^¢mÉuhßýù™¨k†ìÜÔx½¥7ã/+}×'Љ0 Ù΋֟¿ú^GŽqy¤ètª£ÖÎd—M¶Ûò‘¼<¹²¿*d8¹iú1i‰&�°®ziÎ.ÏÞýX.Gf�ÙJ;!›«ßO¬ÌFÕ¬Ù(êI=q¬8àó��û³â'õVX·µìÈÕ3ÍFhº¸ö ED¾¬µEkwOkÞ¨®åÙ9?­Ó讑ž—‹ü´V¯t‰ÐðOMnIW4“=äã]Wf\}ö¬<Ÿ×ÀõýݯRCvÉÏKÓ¶†*¼ç$íÌô°…�ÍIÊÊIŠ×à àà€¨Œ€—}zƒÆõî¨ðLJéϳ–êëo·(aÓ-šõW}´*Eéûçª_DW½ð·eÚºgŸ¾ß÷­ÞÜ©Ü!;/ï²ã†("êiMœû•¶ïPâú•ÚtಌÛ2eˆ":öÑ„Y˵yû%mZ¥…+¿SZnžò'4wdgu§-)©×XÒbí£¾k[ÈÎ>š EËÖëß{÷+yç&Íxµ—"NÓ!Oë½ Ùœ$íx’¤Ïx‹8€8`Å�ÊÙÆlµãÜ}ñ×1lÜbÏø0šN�«÷ÐW5eåAeç¥Þö­wwE<ö˜Â;vV�ØúÓçÉ…³ËÖò–Z²`ÌœfŸÖ¦954¦[Ñ­ãè/«Ž~ÐMöimœ3QÃb»+2,L»Åèù¿¬*ºE`®Îl™¡±Ý5øƒíåû–’™Ú²ƒwm Ù—w-Ш§{(2ìw ëØM}G¼¡%{Šn—Xž:zÁ¶¼KG¬Ô€O|d‰ KLpppÀ§TVÈ.o ªiûY xÔ ì‹o<±RB6'VŸžX­ÌxðfÊpp f9@ÀóÀ£þ¯!›�MÈÆÀÀŸ:@ÀóÀ£þ¯!›«OO¬ÌFÕ¬Ù(êI=q¬8@ÀóÀ£þ¯!›�MÈÆÀÀŸ:@ÀóÀ£þ¯!›«OO¬VfÔÀw!Ûj ÙœX½¸Vf5x ³a8€8P{Ø»w¯Ž=JÈöÁFJJŠvïÞíõïjjà»�mµ„lB¶×—_”µç%µ¦Ö8€V8{ö¬¶oßî Úééé„m aÛ˜==v옌iƒ§·u Ù­!›�íõÀõv ³?¿¤qp v9�‘‘¡Ó§O˘M5B¢±>˜‡w n¿S§N9—Þx;†¨�w¼=ùYѲ Ù„lÀÀð¹Æ,à¥K—tþüy�;wއ— n?ƒ£·»xjP1ï*ZB6'V˃·xó\»f¨¨7õÆÀÀ�² d² Ù8€8€8€8€>v€�íc \Ù•}e#áààÔtÙ„l®\qppp|ì!ÛÇ@kúUï�™ÀÀÀ(ÛB6!›+WÀÀÀÀ;@Èö1P®ìʾ²ƒŒpppjº„lB6W®8€8€8€8€>v€�íc 5ýªŒ÷ÇÌààà”í!›�Í•+àààà€� dû(Wve_ÙÁF8€8€8€5ÝŸ‡ì¢þ–çë`p 8€8€8€µÚ�ëø‚ @€ @€ @€ @€ @€ @€³( PIDAT @€ @€ @€ @€ @€ @€ �Z@àÿ·ŽáW™ÆIEND®B`‚liquidctl-1.16.0/docs/developer/images/icue.png000066400000000000000000013407071515166127400214320ustar00rootroot00000000000000‰PNG  IHDRü¥Ðe¤ IDATxì}‡ŸTÕùþï¿P`)»Ógvfg§÷ÞËvD¬ƒ&±w°5cÔM‚QT°Ç’c4ùFÓŒibì5fŸsž;3; " yù¬~ÎÞ=÷ÜsŸÛÎsžç}Ïÿûü�`F€`F€`F€`F€`F€`F€`F€`F€`F€`F€`F€`F€`F€`F€`F€`F€`F€`F€ØŒþaF€`F€`F€`ö ô F€`F€`F€`FÀ`´0éee›`F€`F€`F`ŸE€Iï>{iyR‡`F€`F€`F€I/“^F€`F€`F€`�}&½ûì¥åF€`F€`F€`&½LzF€`F€`F€`öY˜ôî³—–gtF€`F€`F€`˜ô2éeF€`F€`F€Øg`Ò»Ï^ZžÑaF€`F€`F€ø Io4�[,•-VÍ0Œ#À0Œ#À0Œ#°o °âè•ÛýÙ‘35™­CC£ý_kå~¯¯Zhݾ[vé��ÿÔcÏ›wÀ¯ý¶OLL¼óÎ;—^ºÖbµŒl›;NõKåŠÚí¥Î=÷|ª¿Ç ÖÜÑ­9²â¡„8uíé‹=&hÅVWú “/ùÁOn¹õ'×­=nQ¡×,·[s+.¼bíªCøÕ(7öV¿½æÊµ§-r›,YáŠ+®Ô~.;eгGçšý¹üâóN?r~Áe™,†›ü‹ÏºêäùÂÁ`´8Ó‹N_ûÃu·¬»ñšK¾½¸ä4‹óš.:Äå—_|Þ™+ûš‡˜FàÖzèfSk/8ó; ò“Q…tŠS@k»ùÿ�å•~\ñ3Î0Ç–œwé·ó½Ö6HºêǯmÜ�›ä¢£­iÓ¸¯c;´£/Z#º×è® m1÷ewáµ?úé-ë~üýËV-Iˆ>Lu•�SnÇ@0-íG}Û…¶7ùŠ ¯˜ôðFÚ\¯ouRÛ‹ø¥ÑhÓ¥=�Lóž1Zl��£V}÷ÆŸÞºîæë.>eYÁ+^ûãϵ|~·ûzìTÁ5tÒå,IöR"žqéI ú¯Ö6ÏB¯U»·‡æ¶¹XÇsÆÚ‹—é=oͲú²Ó{µ÷üä—ážF›Îš Œ#À0ŒÀîG`»ŒwÅÑ+w¤WCÃc+Ž^¹tÙ‘:ÞÛïõ-ûÆ‘+Ž^Y­ îH;�ëìzÒ{èaG|öÙ&&&>øàƒ_ýêù×_}bbâ¿ÿýïÂ…‹¿æ¤·pöÝ›N©6YApÉ•÷]·B†¬Á/yðñ{.ýö’�JmðÀ•—ßùÐÝ—Ü/^…3rÇú{nY‘vÒ•èŸ{Á]7n¸f9*œ}÷¦‹�>tñ’ƒ/9xÑAó’nA~öØ�Uœæ…Ë-8pñ¡+N¹òÖ-ßqÞ€ÂÃMÑe7n¼ïö«–5ؾÅ]zÓ#÷_ù�%õ‘?~õ±£vyâSÂÕ<Ä’CWœvíÆÇî¾`¡SŒ)§†QÒzhš:jñAK?ú´+7=±å‚amãÔ§°g°•]=¹ê6X gÝñø“[®_v '¦è‘ë6^PvXÛ ÙZ(nŒÅ+.Ýt÷eK‰ò‚jÔ<5 í¿°âIthGtƒºG÷ž²¥·p̺G»í²ªpØ·Ï?wyIôAÖióPLÑmµ95£eÊÃQßv{¡Í¥iÜä“Þ@;œ‡GÚ]Äí¡qaÙ!^S¡Ñ¾K»õir×OÝðÄÃ?:gÅÜz}`üð“Î=¾Úgíô\ïÀëq;ïOçÈÚÍ·­PHoôðkî»z©$½m4‰*îÛ¡\»‡"^:ö¦MW/óÊiJ£gÞ•÷Ýu¢òÚWÏ—ËŒ#À0ŒÀÿ2 ½S!Ðù¯ê^¯äVå½Äx¿±ü(¯/¨Öß¹ò. ½ê��.÷¶mÛ&&&¶>ô°»ßk0ZLfë 'œ´jõ9¨¶ƒJ¯ÚæÞRžj|o²z.¾wËÅ £ÔUcÿÜ+î¿÷Œ!¯ÁZX}纵—ß~óIŒGMÞC×Þþý+~x�BzUÚ@�왂FKÜÞ8äÒ�ëÏ[àЄ[áØÞ|ÎIWÜuóÒ˜ÆÙÜãÝëIQUÊî@‡TAÐ? ˆ{ìüï^�¶Z;Á(j¶9ôdÒe¯�rûÆ :¶s {hBAë• ½«o¿é‚‹oßôÝe> ‘ÞöHJ”ì•Óï½k•@ wÑÔ€´k\£O£¥];êµO[l¹Ón{èúc*Ú L:_eYM8jsj §z÷–Û_y:m^ý‰ï òªM�Fû.í^X”»Ñb°Woxø+ ˜‘iþé˽·óþìHz§|è>l{]\×Þ{Ïiƒ^ƒÑQ9îæõkzˇfF€`öJ:ÓÚÎÕ}Xu¼w—3^ƒÑ²‹IïÊ•ÇNLL|ôÑG^¯_w2øõëNzOò›-6³Åf2Ù¢‡]¥×V<éž/š��\óÏ»ûÖÓ†-ÖÂêõ·wÄwo¼ ìŒÁÃ~¸á²Ã�þÞ&…ô*ÍR {¨  ¤×hqTÏØüÀ¥.yvöâÙëïüN!0zæOoøVEÓcË~òðÆsJYÕ¡¡lG9¯&\`ª§úŒ&«Éæ=åÇw\´Èe²t‚Ñ(†Ô­‡žLz�#gÞ~ëé£ÖΧмF»agËy�•Ñ 7>xÙ⸘"¥·-’²ÃmHÔ€¬¾s]Kã_ŠôZóÇoÜzõÜþv®ûW¹m·w„N‡ÛS×Îh1µ½4úÓoÞQm®WëŒÃvÐW­í»´ç ²N¼gë÷ÆWÞ‡�žëx=nçýÙ™ôNõ,òmïR£5~Ä5›o<6^rÝæŸ,O5M:ʾy­y##À0Œ#ð¿‰@gZÛù¯­ˆ©¼Âï®Òxq¬]@zÁcÑÜ¥—®�˜˜x晟·ž ¶ì éE5üÿŽ;µÝºÝZ8kÃÓ¿xæé§ÿž~ú�üà(¯Éâ¿pˆ3RVud-·nӚŽrTwt.Ê-›Î�4­é£®ûÉÙó³‡7Iïª Oÿüé'ñ ªÔq÷aµá`“ôš"Ë×=t Íë>ûµXÅ“6ÜuN^Ú/ F«øÄ›6?öØæŸœý�7t§†Ë`-¬Úðô3O=ù³Ÿ=ùÌÏ·|ÿÔ¥9�h¼Œ¦)-{{åÉÇ}û¸Sνê¶-÷\u`Ä&|²âHTOa·Þ3êå£q¶¼%¾™vzFÏÝüàÕóývK|ìÍí‘l?.Ÿ�ÕëomiüK‘^÷øE[6œ‰ÛÛ=àÄUg¯^}öªÓ–eDlä”pÖs¿¡ÓáTÕë?ñ¶q;hˆ«Ö�v]Úݰ4_z¢«wëÌâ¯�žëx=®^k§÷ggÒ;Õ³@È·½.rŠmÕ�÷ÝtÃmëÎo˜\šgºÇÞ!{îâò)3Œ#À0­t¦µ�ÿÚÚšÁh!Þ»âè•»–ñî¥W%½_²fbbâ…^l{&£åóÏ?Ÿ˜˜˜;>�*l7‘ÕÞCzϾ{ÓéÃA»Ýi·;möÞøaWCéu �ýÀÆs²6UéµÕNºõ®ó°�ᤜé£nØxÅ¡}Öìi·ÜqbÅ;üšÉJoÐfsØì«EmdO ³´á`“ôZÒߺsËÕBÀ1y_ºióm7^/þݰ~Ëý«Ft &g¸þ�Ko{èÞË�á¾²�¶pi Z¬[¯¿ºòÚ­ëWå{­`´Ouhy”«N?ù„“Î[÷Àm+s}¢?Na޵^I{³‹÷LžνsýÅ‹ÝÑåëî1½˜:$ێ˧D’^]ã_ŠôŠërÏ9y»èž%2²|å±+�[{Ï=”‚ôNõPà\ôÜo@èt¸=xùphÝ¥Áéµyxõ'Þö"n qÕ¶�†®K{"ÑÕ{å]1¹bû—x=Šû¹Ãûsû¤·Ý³@È·½.r£Á¥?rí��v‡É'Ø|òvF€`Fà �δ¶ó_Û~=û½¾¥Ë–cǥ˖ëòZµÝeÇ7îb¥wñ’C&&&>ÿüó|¡¨vÂfײk¾ñÆßþÎñô×Ã�X611±mÛ¿°E¥ÐTg¯(hã¤&¤DVÆÐá7=tËr%™ŠÁ=öG^³,%8×ßzL¶Ï>ü‡›¯_ºèŒ ëNŠZ,áC¯VI/¸îù3ÕŸ¦-ìM[nþVÐl1¾~ÓõGÏ›7>oþø¼ù‡žùã�kÑE»™ÂKüÀ÷øl­Ì“àÒýÉè]xíÖ;¿™îí㔇–½•A•öâ·nÚ|ÃÊ H-˜˜¢ô6OaO«õJ#½G§ÄaôŽ_¹ùþó�<þ¦»Ò+_—M$å¯:Õ¡ŒéÿR¤×8ôÆGî<6ç"ô¬ùîVH¯µ¥y•Ûu»qi:�Ðép{LJ¤yièš¶tLw½�~#íÁ³ÝUÛA4š]jé ]µ¯º` qó£ë¿•oÞ'8b‡çzG^�Ûy:êmštÐä‘7l¼ì`‘ojT›÷aÛ»Tn´æOØØŽÃÕ0rûŒ#À0ŒÀ×�δ¶ó_[ϱߣ1Þo,?ª5¯Uký/ºe“^‹ÕöòË/OLL¼úê« ,´XmÉTææ›oþõ¯_Y¿sýú‰‰‰¿ÿý#£s�&k©\ùÃþ011±qãFtýëHz &Ï�çßußußɸ¤,`r޼fë½kû÷k(oÞC¯ÜtÏÝ®92k4êI/\�&«ÑÔ�ûöÔàUÄOôMV³ÝWZzɽ�o[rð¡£%“-¼ûî»´…>ø X*£ëº?á×½c�^�~8IÔ2ÚG\tûÃ�?¶åÁ-[yôÁÛÖ,LHÅCxyæ]ôÐc×/ ŠøUUé=kÓ?Z ~zëÕãm3í¶;^Di>ù´ˆ·}òÉŸ=zﺵË*~1„µ¦O½uãYÃʲÑ&ßaWÞsÝŠ|bé{êñ‡|à�­�<¶å–“FC²þÔpÉC<õ³'â‰'Ÿzò±Í7?,w1ZÚÃ8õ¡�ÚàU“ß}ó/ÙòÀåÃþbûSØm¶=�³•[BÜó&ßÁk7ÿü>!ÆÆÛ")[³WNßDÙ›;BJ¯®q<_“ÚQû).ÊS¿xæ™§Ÿ?ÏøÐOlýáióÝÈ$?õƒÖ˜,ÓÈ믋Ä�I/]V.0Œ#À0mèLk;ÿUmPÇxñ§]Î{w=é5-‘hì†þðŸÿüçÄÄÄ¿ÿýïM›6 Ó¹¥3¹õ6üë_oMLL¼óÎ;7nT½Ð{/é5Z-v—Yšä¨ÈhéµÛ&E|™íýÞ@Øã‚Ð]±¹—Ñì°ÛíÐÊŒgc_¡‡ô:ÝÚOo¯¹!¥b»· :Üët;ÎIÆ&»Íá´Lî›Éê²ËHfqâ¡hÐçQ87OýWàÒÑët ê9êalh§<ô¤£M6›£Ïj™âö(04﫹åFr8´£’âFè5nCG@:4®og ­÷á$lE–i««? }�Þ*'¥©èÊUné¶8µÙ Ü í§E½[v[¹Ý¥iMÁ�®WçIqW Ñ®K{"\ ³½ß û{iwb „waF€`F€`F`C€I/“^F€`F€`F€`�}&½ûì¥ÝǦgøtF€`F€`F€Ø ˜ô2éeF€`F€`F€Øg`Ò»Ï^Ú�˜á]F€`F€`F€ØÇ`Òˤ—`F€`F€`F`ŸE€Iï>{i÷±é>F€`F€`F€`v&½LzF€`F€`F€`öY˜ôî³—v'¦@xF€`F€`F€`ö1ô¤wF×Ìý§Í˜6}ÆŒ®™3ºfN›®•§ÏèB¹«kÖô]ûO›1}FW×ÌÙûO›�2*Sy¿ý§S#Tž>£k¿ý§‹ÕFºfM›.™1£ Gßoÿé8:ŸÑ5;Š:²Wè!¡§MŸ1©¼ß´éJƒ]]³Ð8AeQ£qtô =ÁŽTîꚥöD-«øP¯´ÓéšÙ¡qÂdF×L*7�•øàttÀ¢ç3dãÔõÔè ¶‚ܶÁý§ ÜT|hGàð§M—›zHW ¸µí *ã6÷Oã¾>mÁ§+¨Þ„¬zÿ\)˜àFíš9½wÒ¬9¸¢«rû´éâîÅvlœ5»·Y×ÌÙ³fw£~×ÌÙ3gÍÁ-7kv7êwuÍÒÊ3gwuÍš=GlG#(Ïèš9sÖœ9Ý=¢þÌÙ³çtÏéîÁqgÏéž=§åîêÌœ5‡Ê³fww÷PgNwO³<§Û`0ÍžÓ� ==ÆY³ESÝ=”EÊ¢h4w÷fÍîîé1ŒflGm &Ô™=§Ûh²ŒfÎ`´MÖîSw�Éh²ŒÖ9ÝFƒÑj¶Ø ‹Üh1[l¨o2kÛ{ f‹Õa2Û ‹Á`±X¨o0Xlv'Ê&³Íîp™Ì¶ƒÙl±ÛìNÙ¾ÅlsXìNƒÙÚc²ší½6»Ód¶MV»Ã…:ØÛÍV»­·Ïlï5˜­»Óît›m£Åf±;.­lu¸.·Éj7Ûv§Ûî”e{¯Ã%ʨÜÛ×�íV‡«·¯ßÖÛg²ÚíN·Óí±õöYìÎÞ¾~§Ûc±;Íö^§Ûãt{Ìö^«Ãåê÷ööõãÐTîíëwy|v§Ûbwºú½.�Ïár‹Ê_Ÿ×owºm½}}^¿«ßkwº.·Û@¹·¯¿ßDÙéöxaìëê÷zü!W¿×ár÷û‚Èéöôöõ{ü!�?ÔÛ×�r¿/èt{\ý^o ¬•=>(‚²Û„£}ž€³Ïëñ…¡˜«ßït‹ÊþPÄÕïíóúý¡¨?uõûû½¢‚?uº}Tvõû½þp0’ðúÃ}ž@  „ã_HTÇá¸Ût{ƒÁH"I¸½A�/Ž¥°ÝŒ†¢É@8ŽÖ±”?EåH<íFQ9ÏøƒQ¯?Š&ñ”/ñ£Ñx&Mzýá@(OæÐ�P4KdCѤ/ F‰”ØŽÊñd��%²(B±D*Kdáx(šÔÊ¡X$žNe‹‘x:ŽÇÙT¦Š¥üáX4™MåŠÁh"M$2ùd¶Š%C±d<-Ê�H<K¥rÅx:ïÇ"‰L*WLdò�H<šÌ¦ó¥X*Œ&âé|:_Š$2áx:•+¦ó¥P,ާÓùR*W Å’‘D&S(ã@‰LåP,Oç³¥j<�ÇQ²ÅJ"#Êé|)[ªÆR¹p<�)”³ÅJ4™�¥rÙR5�/…ãéD&_¨  œÊ •�T®IdÒùR¡2�ÈäEåb%_®ÇÓ¢œ+×råZ,•‹§óùr=W®á •(�/«ƒ©\1–Êe åBe0�/ÇÓ…\y \IfK‰L1W(Õ†™b"S,T†ŠÕ¡X*ŸÊ• •¡|y0šÌ¥ó•Rm8Wˆ§ ÙR½TΖê´c:_IdŠÅêP©6œÌ–R¹r©6\¬%2Åt¾R®�«CbÇb­T.TÄöl©^Cƒùò`up «C•�ÑL¡šÊ•Ëõ‘Rm8�¯¤ó•êàX¡2”Ê•³ÅZmhn±:”Ì–²¥zmhn¡"Êùò`}x<[ªãèhG¯Ž¥råL¡Z« Œf‹5ìˆÆså�úðx¾<˜ÎWŠÕ¡ÚÐÜ\y;Š‹µL¡Z®� œ-Ö*£µ¡¹©\9W¨ŽC4R¬Š*CÕÁ1µœ-ÕÓùJe`´:8F§SMç+8�ÊÀh2[ÂŽ¥Ú0¯�ãÔJµaêa©6,°*ÖРɪÀøÔ‡Çq!Ð+Âg`dzR®�P#(g U4R®�d UàS¬‰–êõáñ\y •+«âÔ2°Â•B¯ÐÊâK¬JµaÜ3ê•*×Grå\5\©d¶Tª —ë#©\eÜ3¸ t÷O<]ÀÕÌ–êñt!_,Õ†3…j<]ÀÝ‹²PÂÍlq³¡Ál©Kå3…*vŒ&s(§ó<¸{c©|®<�/ÆÓH6’Odò¹r-[¬ÄR9<¤Él/œ|¹žÈäñZÈ—ë±TÏ]¾\�&³Ñd6[¬dKÕP,…9S(㥔-UñŽJdÄ«C–SÉl!S(G“Y¼s2…r8žFY¾‹´÷O:_¢—U"“Fè@4™ D≌öC9•+†ãé`4‘ÌoEq h2ëÇB±T¦PŽ$2x+&³…p‚N·ÏŒ¢QG~¹\Ÿ×Gŧ¼ß‹O0>Çý¾ >Í®~/Ê.�Ïéöxü!TÆÀc¼Ñü¦Ëï»Ûà YÆÀ ÏëÇŽ—»Ïëï÷1Âqy|ÈÖÛ‡í}^¿­·¯·¯_Œ@<>ŒŽ0Áà§ÏëïíëÇ8§ÏëÇÐ}ÀX¨uü#Æi½}N·ƒ.»ÓÝÛ×ou¸0âr¸Ä@*QÁÞ+Gsbd¶9Ì6a´ØP¶Ø�¢,Ghf{/Fh’™,6›Ýépô™-v“Y”QÙ`¶Z.Q6‰ñªÍî´Úz1vµÙ]pš-v»Ã%™‹ÉbGƒÁb¶Øõ¤WG0ˆ±€˜ÕQi!•Á@À^P& ¤6¦AT™è"±8"® «ºFÀ^ÚÒBôœˆºÚ`Û^¡'hP×C0ºÖž¨•uøÐ”º­²_}*|T7}F(\[|tXÑ•R¯àTøÐô�]#tuh;ÕÇY¨˜ ¬›PO‡®Hëé´â£»gèêîݘ¿PãE5•ñêËr6AT–”{©ìeTг\9Ñ0k¶`ž]]³ˆý¢²Æf»fÍœ5ìü™X.±_PbÔ™5[Pb°b�Xu;Ê´ŒlvöAh{zŒ ÒÄx‰ý¢±_b¹¢‚ÑŒíZÙ`j0^³Á(˜m�Á,¬Q°_pÔ㵂ñöô�&‹É,^( ÄË5ZÁx{ fƒÑjµõŠíF«Él³ÚzÑ&^^(›­0XƒÙ*Ù¯¨ƒ Äxmv§Mîk±:ÄM2^¼vñФ²Éj·:\xùšm[oŸ`Åö^³½ÌÓlï=ÆûQ_¾pñâF0a‹Ý ¶iëí³õö�åZ.»ÓMe‡Ë ¦ŠO •‰ý¢¶£ŒO ¾CøäàCˆ6û¼~0^§ÛCeTÆG_Sb¹Þ@L¸Ïë÷5ÆÛï ú‚·7àtû<¾�/q{ƒ.·øLú‚—Ççöü¡ˆ?$X±Ûit{ƒ ´¢Žü�Âq0^_ ‚�=*ƒˆãõúà ®¨ƒaJ óøBþ`T�LY„ã(cØö+†Ñ$Ø/H,ʯ€-#‰hØÖ†1 IDAT<Œ$hÇ1¸+FË]# 1ºj0Þx2‡S$žŽ's]Eâéd:/: /H&Æ‚²œÅ \ÛA)±=žÎƒ‚*§ó%Œ8“ÙÊ ® ¢ØÃS m“ÙB$‘Œ·XÁ0™-€ñF“YÁr%ã�¥rÄ~±#РÊæ&³…\¹†ƒ¦ó¥|¹žÌâiÁ«QƒãûÅ(œo¾\Ç ;f e±PÈÊàœ…Š 4 ùò`"SD e°¾\y€X.1Þbu([¬aGðb¼‚;kåúˆFVKõÊÀh¾<(ˆ™d¼ÙR;‚€�SY-V‡ÊõÐÂr}åL¡Z%Z&Œ®‚Œe UPG°;"cÙR½\Ñx¦ì $‚J;«C™Bì.WÀ¹£‡Y¹#zZˆ2H;v,TmÆ)£Ði�¬–ê8…r}$[ªðLT`˜/ŒÌÃŽ…Ê/XYmh® íX­WjYK½mVÉ|¶T'b�éÔ2oe`ü3_¬ ŒâVÁi¢\¨ˆ¹ Y£Ê²'DæiÎà“|y°\É—qéÅf ¨Œ¢Ð4ÙA;â¢d‹µD¦Æ‹›°PÓ.é|%•+ç˃˜wPïjšÇ‰§ €%S¨‚Ÿƒá‹™”b G¤Ç�F®<Ž�3W®a¦,'§«À~såZ*WÄ“ž+×hŠªùt+˜çRŸt°\pQ¼.@5S¹"^#˜qÃSL3n‘D¦õýƒ—¶G“Y¼ñ@bC±T"#^náxÛñâ Å’‰Œ ñ¡X“n˜ï‹$2x›Ñb(– DÄÛ>‘$6ŽGã™DZL£ Pz8ŒŠw5^ø`³bÚ4ËÅË?K‰—¶d¿‘x/p|"ñ4Ø&/æI#ñt0’ðøËÅü&Êh eLª‚åâ[¦~¿°³´øTá*Ú—Ó¾n¯ø¼bz·ß+¾q4,¿ª‘>¯_Xo Œ�8>͘Îö‡D|ôñ9žTöøú}Aú¾{ü!Z°Y \²`¼  }^Áº.ÁBñ•w¸Ä<;͹kì·ß Öêòø0ÔÁì9†I’åŠ ˜å‡@3þV‡ c!�[´z¬²_Œ¾,’¦B{#1©ChìWŽÊ¬—Ð'$‹&‚„Ñb³JÆ‹!¥Ú]F‹ ¬J‰É"–[¯Ñ$ÁŠ­ý€Ób·X�pÌ{Ò fB4²•öcQi�ÊxÕ2éuªPŒ ­Hm�”C•õQ™(åd)RèÀtt”étÔž L­�[âW´¬öDmPe¿DÿHYU±"ÚŒ�D©;¨Ú+]Ôá£î¨SžiG:ýV|èªÑé€g¶âÓz:ÄfUªŒU²J;R}:wô8«§¬JÜ4 @§ƒ« ²_šjQ§p80aT€Æ‹{ÛAn›u¤Þ«g¼’¯¢é½]r£Ê~5Æ AxælèºËU¯„µí²2Ê Ä`¹`¿Ð{AhQ&–‹ Ðf©2X.ïœî•ý‚ñ¢>麂7ô^*C[&&,ˆ°Éb0˜º{ŒÄxA\¡ßv÷˜ð*„Ù`2š,«Ð{Å,šÙFŒïƒQHĤ÷ªŒ×,_@Ðr-V‡x[YlBãµiì×(çóÀxñ[¶Xv‡ õ-v'˜-M bf¯cÌ&‚¦â�ëpi³Œ`¹ÐŠUÆ«ÓxÁ~­æ8A¤]ý^§Û£2^L¦bÚUÇxñÉÁ÷†Ø/6âCåt{Hï‰Åvú˜õöõ»½|ùœné½(ÓŒ²-•ÝÞæ‰å'6ìJ½×íó">)&ƒû‚‘>¯`¼þ`u1e.Éd¿7„²×øã…l &Œ ¡hÒã•1²Á†Þëõ‹Ccîð\ #H×…Æ+dd9+�:$¡1^°\è½TF�P,Ï–+µh°\h¼j9‘Êa $†_TNf™|8žDâñ4Æs)È)Rzz/4^HµÐuC±4^ ÁUÆKz/ŽYR9S(c¨ Æ‹ñ"†°`¿é| ¤”o<�Geb¹Ð{Ñr¾\'yV7˜ûÍ–ªhPÓ�JUÚz½WŠÌ Ç™B9žâ¨ Ä+âç˃`#PÃÀ„‰ñ‚�W²ˆÃúT²ÆBdÄ¢X\®<@ìœ *¢Æ£¤² Æ Ú\­ ŒBüãMç+:Vkå–`¹ ˆh/]¦PE#à™ ¥ùò ¨`e`T�©UB‘¦2Èjmh.˜^¾<••hs¡"&@§óåAèÛ ˆhj3p ‚Zš lA›‰{ƒ¸AõÒ¤ÚR�Ôf::NÌ¶Ô ðàá¤{‹S�§¦éÞ²L/‘U4ŽquT|ˆñ¢Ü'84NB1®ˆ(€E,S 8:zˆ#¢AÜœ˜)À}BFƒd¶·‚:í!Œåbuªr¶Xs4RÖÊ’6ãqÐØo©N�i¼ ÍŠåAë0q$³…|¹.š)”Õ‡ÓR¤ëjì·TÅœ—ŽñbÇH"ö›Èä£É¬úêHåŠxEàÍï ´\¼sÔ2^/ð˜`ŽL¾Ð„Ã;Nf¼‚ ã­–Kå³m0^°Yhר.*KÆ«ypÂñ@$Kå ‹IFÌB†ã˜©ãÅì$ôÞH<Kdaê!Æ‹‰T|)PÆ|(¦>µrCãŧŒú-ìB`¹¡h;ú~áó/>|¾@¤ß+&Ž›ŒW–û½!íã(•d°_Ú~_0Ž‚Ðzü!Mã•LUc¿R�³Øô[�ýÊíðv¹<>|ÓÁH=þô^°\ðU—Gh¼4]Ž Ë•Ž3b¼¢`Ôáp S&Ü1øÁðlÖ3*cüƒÙ‹Ý)Y®j­:pRËaôEÚüqpçAZãE›¤ñB„Іv,„’ñ:�æIŒ¬ØÚ`¼$±X¬Mb‘º®fB”vE³Ån4YõJo+_MRYÊdB&Ejª®2ñOu;mQ!–Û¥xªaý%�w¿ý§ï?M’‰Cjeéd£^¡2Q"lDºÐ8ŽN ¢WÔõŠ˜Ú z:TÖ�ŽŽˆª§€ž€e�ééN�€Ë-$�q¥¨‡Ä9u�àÔ@ðÈNÀÕáƒ^éäkb³û)>sº:Ô`Eótšè ¹šétpš8�©ðQQËàÕ]3gS#äjb¬Ü.®ˆÔuQ 7Ê¢K '3*ñ 4Γt݆Ù4^´BÛ%™0¨)¶7]Í]ÂÊ í¯ ÐòÐÐlÑ´\°\l'WóÌYs`Z&½W2Uád&Æ‹ÊØÿ³Ñd�ž –Ke£É‚m0šQ§§Ç ¶éj–z¯Ñ$ÔZ©多 Ú²Ù"„YA�®f*ƒ-MBïEÙ,M&([mÒÉ Æ+ÅX£Ùf�N8™áj¦7š£×-¯„íÒ'#t]ù 6ÛÐx5KŒ4*£ ÿŒúž%�×ÕïsÆËNf¡ÄÊípþÀáLsœxSãc 4> Çø„Ð*&Já)Â{³°p8÷û‚p>ƒÄâ3£}̤ Úí �Ãe0pÕõÔÐrÅ×+Ž‚ c‚¹ÏãGËp/;%ã•gḖ³ÔQI¶ã+&ÆÛç `@@ŒÌ/ìd4_®ŽðÕÇRp;Âq bÄŽRãÅH"MFâi¯?LgPåH<Ž¥@•£ñL8.}kR"ÀÄ<=˜˜�Æ30¿A&9™ƒ‘D2�‡,Ž¥R™‚VާRÙ":&ÎÒx /_2[FP3ÈÕœÌÈHº.W fKÕH"y$[¬ÀUˆÑg(–Â(ngì‡3éº8"Çš“¹TUý�áx®æl±Id`T†}1•+æËuŒPi0ާ³¥*ÎÑd.[ª¡L®æX*—ÌŠÕÁlQاS¹b±:H#òr}8•+É…¥3•g¨dñtþO˜H¡€¡LŒª( 8<ÃdÊ…¼Vª WF™"Q X[+£°LËÅÑ!Ï&³%r5ƒöÀî îÉ1[¬‘—düÜ*4¹vAÚ¡a’«Ye¹é|E•dóåÁÁÑùäà…M;Ö‡ÇÁ½«ƒcäj® Í…QžjÁî¤õ—j¹>28:?+uÝr}¾bœN}x<�¯€ñVÇf}x6ébU躘’€«år}Dh¼ ² ðÉ��ÚÐ\²I“Û¹T® ÍV0fƒ¬R®fU¾ÆíAÓ ¨äpnÔYÇ>üÕ4O¡óŸã éXH¯µ¡¹™B•89¼èpÅC†…_fcˆäTYÅ´ ¬Ñ°ÙÇÓ˜ a­‡??_Œ¥ò˜†Èk¸9 ¡íG“9Påd¶„Æáp†ágܨ�j“Ù|äp†Æ›-V •¸…1ÓDñ ‡ÁlñzÁtb ÓY¡2€7¡÷ÊWo¶T ÇÓ“ápÖ½ðÈÃá‚r(–Lf ò­˜ Å„“/+r»à ‰©4r5ƒÄÆR9L úBQÄMH‡s<–Ì&Óy1;Ž'Ò‚¥CãôX†º Sœ(ƒåBûÅ<,^ø¤ëÆYèºj, ÊâC&­Ô�P ŒJ2¾YÑx†|IáX Q9¡hß,8–á8œÌ Þ(“¹‰t] ùqõûn)!áâsì F´Op( ›x)‚Œ À‚ öëñ‘W LXzµ<.µäö0>Akp�á£�˜)˜.wy|`žnogŠ«Â•Qv{¤ñ¢²Žñ‚TÃ1‡Y~],šTðKÓè ±fÐT‡³Éj·H“LËP`åƒh!´_‡È81˜t¸¬Òm´ØlB®+ ´Á(ÜË"g–ì—4^!KgbÒ öB܉X ‘ "cD\UªLd ;]$ªƒ£�")’¶CÛ„¦G|‰8'W·ëzE !¶wµë´J¢…­=!eUGPAA¥p §©ñpÿÜJVU|šÜ[ E¦žÐ©i˜È‰[]T$••§Fˆ‡«öiàC,Ww:`¶­º.aH÷ ÝÀ Û±Q×8]zÒ{©2Ý3Ôˆz:t¥p¾¸QQ�ʰãQÖÄaÉ~qhÁHe”2è1öme¿ØŽ8^ºY–!»hA¶`×(Ïœ5‡äY¸¬ÁxQ_e¿Är!ÛB†*‹FD˜®Á„faEF¹§ÇØÝcU&öKïl <ÉÉ,cwÅvépV\Í"Xš–…H ]á2BNf3 û1ÜÎl…®+gÔÀfáv6š¬äpÆvUï•Fe-v×jë³¥Ø 8UŽ>±Ýl¡5KMX¼F{Ý4ùçè�Ç«j¼ðÌh®f›ƒ4^´¦† �«±²ˆA™bWÀ~m½zW3ö±2¦Ÿ ŠãÅg ,Wõ©³­Ó ƒæS‰å"èW�éí÷ÛÓü:Ê/%>Ÿ}^ŒDq¼ròXبÀreâ›-]Íà¨[Â@ÁëÃM®f À~¡£" å>O€b˜ó†Æ �4ˆ%Êð¡�åb ã D(Ž×ˆ–+cz1^Á#Ž#Ä •ádžÄr¥99–ÊùÃ1hÐ{UÆ '3 rÂn'½yBI– I(–ĘOÇxƒÑü{`¼ÐuÓKq¼„IA/9 1pT5^h)Ð{á7†ÃCÕxZÎÂÉ,Ãÿq•þFDúåÊ58‰ŒÇ…“Y ¦¥Æ ^�4ÂÿP–RmÃwPG(Âê)#ó ®Ù¢ˆr„’&ƒóPÉÈ®Y®� ŒHH„à«"Ždq¼*O€Ã88Ê`¼ZØmÃá ]/¨2ÄO£ ²ŠÆáàÕÔBÉx!ÁåÊ`qÄ—‚ vG<³:8FdU³IË`Šã-û£/ãÅÑ5Æ+=à f¤¬Bm†÷R¿i5$Ëõµ¤êºÞ@xR¯ô!æ0P�) e8«á4Æœ;¦õ1B ½¦eè½Z ’~¯KÚž‰ñbü�ôX°_h¶N·ácpSã…!¬X‹/“q¼äjÆá0B£`-E‹ÓKb†Õá2ZìR×uÉ1¡Íd±5LJÒm²Ú r¬ÎÜcãFa”azp"è·�½ÌVå–T1SÕBP#�ж;ªì¥AÒD¶*”‰*“ÌØÁÚJ´GG´°]etDΉg¶áNHÄ¥äÓ¢Ê`DĽ‰ÅIS{¢–©‚ެªT™Î;¶ÃG˜´��Ú +TPUV¢Í„Wb¹8(]):ebÂ8ºÚµLîeŠNG÷L;ÀÑCu–DÝ‘Th�[ê 1[­Ø:ŠIœŽÊxµòd½Ç‚�YW&W3ú¦²\h³8´&áJIYËV%E`ÊPE¯êjîš)¸­ª÷‚å"èwNwd[Uã…c”˜4^0^ªŒ6A�±¯Ðu…cÙ0g2ûm8™ Hy…:Ó5Ì‚ñJk0Xz„«Ù,bw®fÓ+gËš®æ†Æ W³æp6X ñ"¦/¦ÜðÂü1^PbŠãµ;äÛM¾¹`wA¿ö^›£av‡Kc¿›êjËÕ1^Šã5ÉðHÃé„/}Ý‚ñ†û½!d®¯Gc¼°N X:™13�rŸ'Ó2bw)„‰¦·=¾�˜Ò–™«(‹H)¹š½þ0x©»+­ej`h‚14^7K©Y°ŸÁ¨LÙªÈÉŠ&¡ë¢5ÊV“‰�šŒ7%2Z!ÍtÝ&ã•è„L…À3 þ(s•T0DN)°\0^YG$€¡lUÛȧ°78œ1@„ÞKeh,ˆéU�ÌpÔ8^m˜â …GÕx¡ö€ýBã¥Át®\Kf Ø™«ˆñBžÍ•råŒÈÁ²ÀrQ–º® Ç™BUWÏ CrVÚ8‘t*_©OІL:ÕŒã•1¨à¤÷«"å4:*“+UСvq¼P!ÃR/òEUZÂnL®f5—’*Q€+Ù¡µÀWytH²DV1åD�ƒÁ-áj&Ña·ˆS…“ì‚'(4èè"T"¨àç8:ˆ=5’-‰K302�€ ª®f¢Íàäè qo¢ÐÔ N Y¬ f")Bju˜¬ZÈ<õ„q©®oŠs&Ã6G00])(ó8e�X²F7/·Ì7¦ùÏ¥â ÿ9/è4"Š©qÄ�“«÷�³ÅT ÜàäÏGú4d>#ÚŒÇT9W€® á�‡PŒíp8§ó"¨ h¹*ãMfKx-ÀåAº®æX–g8™ÉÕŒð~Lœ¡ŒÉ2L�Å¥Žš)”ñŠ–iEL¹ Äâ È�§ºš‘Å q¼ Æ+Þ~©\oB•ý"Þ„x+†b© |Q7¯H7ˆ„0B™ɃƒHb¶äjV�<”å á4–ïs|A�•®fÄÂÀ‡LŸL¶bRß,X‡ˆñ6£r¤QŒ—\ͤñãÅL.ÅôB‹Ö2b4Ø/æ‘%ã.eH¤Øã „£b¨ ÓU’«ìèø¦Ó÷aºZ‚É~ɆiqL…CXÆœ»»+çâ[c©0ÔAT”Æx%ÇðIŒ7ö‹1å1¡,žv§ÈÖ �!c`¿S¦:ìÀ~i$†ô¥zÆ+-{šÛY¦¼‚³ÚdµƒÁ ;´ ¦Cæ*1†´ =ÃlïEˆÂÜ�A¿£ƒL0^luè•^•ÅéÊDBT2¦–Áˆ‘T –B\‹Ø ‘1j„/§Be¢=:VLœJÇ3U¥6Ž’äH=!k4*#¡q뎺S耉¢DV‰”¶â@ ÑC:�JæÕ�� 8ˆzEXû¥+¢Vn{šØøåñÁ=C=¡UzLÌ_×+ê-Ý?Àûªeb¼è6*€—b_QYÑxá@F p £Œ:Äx1›íj°ŽýB³¡E;Ͳ�)‹Å�m‰ ƒ¯ªŒWÍÏ öÛÝ#¨)vËE•ñ‚µjFeÉr©Œãª1½Ç«±\™ç¹»Ç ³R™„«Y†éŒ�j5�q¼²ŽÇ‹)4úRL/…O˜Ì6-¦W†RÀp˜ê¨z/b6 #ã%…¬22Ò\a*IùÀŠUFæ*™!Pc¿Se®’Y¬�¶S˜x›ã%Žíp5c;LË(ƒñâS¾Šú  ÈMìW|dÞæf 5ºF~‡tq¼Ð~Ñ>�øPÁጯ£ç#¿”šÞ+çŒÁœÇëöÕÌUN·øÜ­ÅñÂnO°Ï#Ø/ô[ÒxÉèåõ æŒð'*cAûf¯ÌP¥f¡ùr ¦‚nL“îhY‹Ý•ôXc¼ '3¢§b‰,ÜÎHïI†7Ò{‘­J8褞€3T�4W'R"sFBÈ\…”Ë)’Æ‹qåh�¯š01ÞP,©h¼"Ÿ*˜0è1¤W„·�媌{jæ*x…ù!Ô�Þ«‹ãÍȼͰBù¡Ô¯8(\Í`¼È\¶ÌÕ,Ò&C�"Æ+âHeBZŒÔåC/òý€åf U ß ñ * 2W�Õ€ñj^PÉRT²C)1^5Tq˜h¼ 2#|³PAb!Ï Q‰|¡a"Ä”¨2i˜Í8^™R˜R.«!¸ ¨ `è!ÅñB”«Ž�Ãå’(J�Ô†æuÏD¼.4^DÒB4F�3ÌÉÄ9óåA BA…AÖhÈ•`¼è \ÍÈFy››ÄUÆñjœ\Òf¸¾Áx)º<Æ]"ó¸"PY›e)Õ|0Ý€ÓÁ)€OâÐÅôÒÜ1^¹1­@QǸ (˜¿À%†e¸Áq‰Ñ82H#-nBÊÛŒáÆCYs.(YÇiH*°DPI†Å)«§†Ó¡9€ÜŠqHœŽ ²z Ä9uÜÖq¢Ä*&j™®z®ž¦®Aœ&z‹iôp¿ý§cÍ$Õ¬®›ìÀQÐ X=À§2]bl 5t]µ &Œ« Ë1n9d®¤ ¦8q”AªuŒí““Y„++�mâ`­ ÏZY¦¼¢íð!«®f‹V$¢8^Äôêr5=¦Uˆ�˜Š¨²²"‘ÈÛ ã4Ò/ã&³1½£HLe0XÓ �­™ÌV‘=K&vÖâx•lU”¹ªÇ`îÇ '3–2¢Ð -K�ŒÍpôºQÇbu8b%!¼Å0kˆ ß^§)ì…Þ+W*š´:‘ͦj–®f�åN.ãåŽÄΘªDbg8‡±:tWŠ]ÁJEà¥T¦˜^Lšâ=N®f»SdMìóúÁ¥Ç‹CƒÍŠoICãµõö‘IÉîtcu"ôq¼äjÖ\O W3¾vÈŸátk«‰\ÍZúe9©ìñ!¯†Óíuõû¡»j+ÉüÌ®~?¦ÀávÆT7u`U -ɳt¦‘«9Mbud«Â ñN£ eÌÊ{ýáH<�˜^_ f .M,7 N`E ÇRX�È#Å´8^�/„Ì(bDŠbÈ(J"vÄ;•) 3‘x:�+ šŠ’«™«°€"Ù’ÙÖáЭHO‹…=� � ÊÍUãx‘Ð%[¬d e*C*ÁpeÊVŠ%³•¹š#‰ Ö)Á(3+ÕѽÆÂ'^°R*ÓªEˆãéjäd–Èä ‘žz¯ K Æ âIdÉÆ‰EX7±¦ ­NyMÅrÁ!X¦U•ŒÈ¼‰ ÁÇ IDATÓPMÉ¡ ¡œŠV'BL/ <¢`)è-¥Ʋ4àQé\o2[¢\¬£‹ã''*˜È5ÿ°\?‰¼Äé|EBIMÏD#à™HqDa·©\¹:8602< ŒqªõáqäÓB:e˜r‹Õ¡�‘y�gÕ8^4Ýe„݌̙…^Zd•ÉÕ �a·µ¡¹Ï[£‹)J¶$×LÂéà4«ƒch$‘)¢Œp\‡²FÃ=02Oø+ìˆÆ ¯5]5ÜW�IãÅ,õÀ‚“§re,¼TG#¸‚XÝ T™n<ºàÀ| Ò_C*Õ†iE¢BE¬¿Es7±TT9[¬EYÊÁMæP–R­XúT9™-AŽ¥DÔ€ÃÅŠ>Ùb+�áYƒÂ ?E¡2ˆ8Þ\¹–/×!É qX¦ –«>õ˜MÃGp2cG躹r Ù§0A&$V¹ÈÞ9Ðxá7Æ‹+šÌ£ $ €Q%�/!˜’?ÃCoEšÄÊC äxã•Å’é|RØjÄŒ$Ò_ÁJC¹š«ÇÉ\Í©ld„vŠåŽ�u/d|H¤Äדªp�Í"å•}�fcc‰¬ÇB9O“®Ž¥0ÿ‹¨”Ñ Šé…i™V'ÂÒG�p\sHÉ¥˜´uþdHõ«êì ÂQpQ_0By›ý¡4^§ÛCK¹ú½´â &©‘(y:ÀQ1» ›1Ò[‚ÙR’g,g8)cHCïãUãxÁlÝÞådîóú5W³Ô¢µñ�œµWó˜`Á Âf{¯ºÄ£»ÛÐ�Š™4^°Sr8S¯ˆÑÅrrJøì�Ïñ½F‹t5ëLJ¸šq”†Þë2˜­ÝF‹8»³±”‘\ÖH:õ¤—(ñO"®¤×‘äòâ�²N!D#Dÿt6WÒuUþI쮕�þ©j!•¡ N¢Ö2Ù©…ÄZÑŽH´PÝ‘ÊÔ„XNYeq*Y¥ÓQ‰™LÝnŇޮÛ‰ jtq¿iè 5H=$‰UmP½”L½¬D©A7]yGðQ�ŽÆ©Â�êÐ|�¦`HËÕØ¯ŒÅE 2„Y5vWWÖ1Þ¦Æ+SI:ÒuÅ:¾rm^¢.ô^M¿mäjû…Æ – &Œ29™±/¹šÁx±Ê¦‹ã"1X®Ó‹¼Íˆ¦8^T€ó™bzµ\ÍrE"mu¢†®Kkó6\ÍbÕ"ƒÁ$Y®Ó‹�]b¼`ÚÓ 4i¼Zê<ùNÑt]©“Æ‹”zp8“– z –K™«à`q8úÄJEr17ÉxEžg³­×á胆,¯C[ù�^—I‚ÙA¸Ž'¹šeÒ|Òx)/tÒx{ûúA§iŽ“\=¨C/* ¦)¯PÆçešy¥ÙVd®‚„K‹ P‚ ]Þf|«š ]/ð)®f‘‡Y.� S1÷yã ÅÀÀ}Aí‹k0[ÌX“«Y›™ž¼R ]𫹱N/2‚ÀÜ¥¹šå𽔫$3ñ4Ô€Û++Âá¬Æñ" 4^5Žš-ÌoîEk?Šø1¹-2£wŸ\Ü"Mjº®T’µr8MˆL§­q¼P3(޹[@�‰ñBñ‡cÐm�ÅŠâxaüƒ<A"½Áx”·Yˆ3R¢5xc©œÆx¥Âƒ!,â{!«IqÄ@Sš®›©_KU”‘æ ™«$Çk‡ÆRyĪŒW VT×tIåÄJEdã$n;4T2� Äô"ZÃ}Jy¡TY-c�GŒ4´ü�Ä=b¼P¤)Í2/L¶ Ê(ÃÁ *_1’N�oSR%Xqt-¦·T™Gi–U‚JåÊÀèÀÈ eUc¼�S#|М&0�Ë�§Kµa‘ˆ«±N’²´FÓ©�¬B…h R âŠËMaÛ$éà O‰ÊàjA…ÿw,5¢Þ?…ŠXÑ 7!|àáh$™-QL/²UabˆÊ´¨/n0ZàW qÇŒ’?S*,™þJ,FY¬²E±JV"SDãòÁ!¯¹²H5G®fZâˆbz±œ"l1AF üâ-—ÝAã%ö‹,z¤ñÂÉ‚ôìÈP…ÈaZb�Îò%&2Õ«ùüð&Ätžxã%2$"V* Ç“é|*Së·ËÕË™¼œLˉ÷¹\›Wc¿2Á¡ Ç´¬‘\€šm"%ÖæE1½Èê�gð¥À„2TA‰…«Ÿ3”‰ý‚ÐbÝ;Ê\Æ‹U  cö•EYNõªa>Útpc¥|IA�ñíóøB�Uîã°nû…ö«}²åÌ5Ø/Xnë÷Û±¨¯ÊxÕÄ0`0ã+2ˆÄTš«Yq–i®fiCƒ= –4ÕÕŒå…àpn�ãE+0XŠéE(%C�i*¬Ó‹24^, ×´b,eDìZ;“Æ+¯ŒMÃxÒl±#¦WŽ{Q¹±ì¥Ó`¶"N›´•D°”œzÒKÌd²Ð×¥ãK ]­•Á:p’rH !¸è 0bw*‹½!í—¸%H©hp†Ö17¹Bî""Z*YÕ±8µ1ÂAåä$Õ£#:�£ãýBø«¶øà@hÄžÈ|+>¤ñRƒª8L§Ö7ݩѥà4ÙAG'|´S–j|‡FTÆ«»ˆñËÅ)˾± pÀAÁr»dŒ4øª¦ëJ¾Šk-·5BŒ‡h²_Ê\ÕnE"Bc¼2ÐW]›«MÒ{ek”Å i¥Hï†Qu@b©ÜÖÕÜŒã•$º.e®‚)Y¬™«ÄJEMÆ+W-’IðlƒYf®²Âù JL¹š)vok¶*Z�(^WËÛ,×ãE™ÖX#�W¬Ndu‡scu"-¦·‘·ÙæpÙ¤L+¿Q^[oŸÈy E`Øch–±»šlï%—¦*‰ñb»úÆGk”Ö�7Zo¿·™¹J‰ãŧŽòF`_m=^9oª­NÔ/²ÿ«,—>fäj†¼Lz/±\ÄðPgãÅ7XÎ^Gübm^‘a³æ°@SL/ø¨ke¹Râxñ�GîMš/ŸÄx±¯œ°‡+ŒV!"�njb¼HF¥ÎÖÓêDÐ{Á¥)¦W[‘HN«k«_ÈØ]ápNå|¡h(–ÔV‰e�)KJD. �W8„¥ø@®æPL¬H¤[‡AhˆR#Æ Ã0¥6Eo:_‚“ÄUçj¦dÎØ]™«Ä°Ua¼È[CÃVÍšØÈa£ÆñBFÀœÌð:fŒ·±ÈРLH[B,h"S}û¥%XZ“Xƒ7–‚0²+��PÒ©buÁŠ°ÅªjäY$v&¡îS¨^ð #ó8e®¢ØKú�¹Š²UQ†dp'ìH+»‚/Q.b4 4Êjˆ© ¨ƒcHh ñ9¢HïU1Ӗ𑋸‚*ƒ"‚åAÕ2$7‚�É‘ –‹FÀµÐ ¨ Œ’«á¸õáq4Ha·°FϤ``"¨ Íàá´6�5d•¸7¹š©Wõáq(ÏâÔ†ÇqjŸáqÜ9Z*,¹¨¥¡.UÅòÂ�¯Ñ+L1h³�¬Ñ\S­ãº5¥(Xš2{�¨ã4Á~AòÑmÄ~ãS-èáˆéÅýO5è4î0ÛRmÓ.ÄxasP]ÍÈh ºnQ_4.É‘Ÿ $W_Fä¤áBË‹.§ãùÊåËbú â0¬Ññ´È ] Õáp†®KŒ—²²#J(g” 2¼„–+ãxáRÎ+êûF•t¾ÔÈÕœÂì¥ßCÊ+LáQ?Z³ �x+b•rÌýaý³p<Œ&’™|2#r5 ÊÝÈbާ1; g²2 )*ÇÓ¾`4–ÌÅS9|tb ±ªئ¶èºœr�%²p …äÒî(c¹#DÞj‹úJW3–ã¥2æOA�QFäÒh!s•è|4‰o‚�)™\ÍšÞŠa¥¬! ·È6 P�p žd,ÞÛï ʼòsÜï—Y'Eðb�ü¡ˆ7S¥o:}ë)¥%Ø/Á0@*fŠéÅD⟤ýª*b6_âF€Ø.´/ÜÈ0T£ Ù–ô^ŠãÅâC´�bzÁQ±�4^Z|ìZè½’Í¢²(˼Í8ô^•ýn÷,¸#À0Œ#À0Œ#°7#@©R F±v&òªê•^0[(®“TVi(%&,â0¥xo>aî#°÷ – ¦ÚÕÐxᚉ%�·§Ç8kv7­Í‹29™EeéR¦õxÕ˜^Zƒ·©ñDfhδN¯Æ~'k¼sº{ö¸¸'Œ#À0Œ#À0ŒÀN ó ÑdµXX§×h²êI/…’ÂK –Û%33ãUmÀ;ÑÞ…øD1½Xñ|•Ê`¹Ð{{zŒÇKìq¼ÈöLì—´\�ý6ÖàEL¯Æ~åRCãUÖæE†*$РFsº{Œ&ËÿàuáSfF€`F€Ø—ÀÒ˜XâK�Xm½zÒKÌ–"EQ íº°[@¹Bellþ‚‹tð—ùY°`ÑØØü\¡¢kŸe¾¦�«qÂ(“Æ‹x]¹Ñ€úêÚ¼äjF2g¸—Q�œÏ ÇM½WÍb%W3RW*B˜.úšÌV¶ü8ëá_F€`F€`örDܯ\›ëeÚìÎ61½”‘He¹º¤S”sxÿi3tç<66xdn$–èë÷~™ŸH41<2wll¾®}þ•øš"@y›‘Ïr.•‘Å L·È°FŠäXºÌU`¶¤ëΚÝMîeÐc8œa‡¦˜^èºôm–�fd«ÒaË�³þ•`F€`F`/G€bzÁ~ÛÇôª®æfVä®™­edýÕ�ó‚‹"Ñ/ËxÁ–#±Ä‚‹tíó¯ŒÀ×b¹ˆã…Æ f Æ‹2/âxUÆKeZ°eb¼ÚêDÒáLÙªÈál4Y�æ ,â0¹š ÆÛÝcÐaË�³þ•`F€`F`/GÀbu�ÃëkšÌ6½½™Vß¡õ�°Œn‰Ò~uç¼ð ƒ¿ŒÀ«ÛwáAëÚç_�¯) �ˆãí$]W�ãíî1€ƒåvX�äì·¡ñ„Þ«ÄîŠr#‡3±\,Dd0˜°”4^¬Ç«Ã–g ü+#À0Œ#À0ŒÀ^Žâxµ˜^ƒÅd¶ÙìN=é%W3²Uau"]™–5š6]ooæQò^~p÷ö´:‘Ó 1ì—ÎHLEñ½`¿ÚŠD2.œlVs2Sì®ÁÔÓcDS`¼´"¶#¦m &ÕáܚȊç=u·ðqF€`F€`v³ÅŽ8^$pîÓKz/e±Rãxg4ÜÎ;Azß™âßÄÄ„Næíë÷²Ò»sWš÷Ú  �—2ZãEZflG’*,ê Ó2¶# º.4^¬~Dg¤bF¯æp–LXË\%Ë`¹`¿”ÅJ´Ð`¿:ܘôêá_F€`F€`örlv'Îf‹Ýîp™-ö6KÍèšIù™)Ž·«k–Zž>£‹ÜκsÞéQ2“^’üë>†ÀÌYsÈáŒå‹h¥"5sÅôBÎ�ŠñΞӭé½rÍ^Ê\ngMn¬ZzŒŒV°@SÙd¶JíרÃ|§çÖ ,žÃÒaË¿2Œ#À0Œ#À|ˆµy�V0^“Ù†²ÞÞLoW×,u=ÞýöŸŽÌU3ºfRyúŒ.]G;Œ’§�xÅæ¾~/“^’üëîAàÈ£Ž~î¹çŽ<êè¯úpà¨Ð{!áê²X‘«ôdˆÀÐf[W*‚ùMÞf5ŽWf·‚®«ÅñLˆã•kóZã5˜{zL&³MB‡Ç¹-­í¼q»Æ�ñç\tñüœwöªãŽ>|¸¦_´L­ƒš^pêâß8ã‚KÎ<ê@]ÿs‡Ÿ|þ%«�]RÈ—ÆWœsáù'X+7ë†\±êŠë×ݹ~ú]sΉËG«âpm±h@Û±zÀ7ÏþîM·­ßpë�¯¿ð´c¬6Ì—¸Ì0Œ#À0Œ#°g0šã…«Ù`°X¬Žö1½ª{åýöŸN™«ôKIžu§´£dÐÝ�%½õ•ß{ì×/¾øÂ /þúW¿|bËú+O_^/`èÙüÓ ¿~þéGï»îücGËÊ�·4÷È ~úø‹~mÛ¿¶½þ·½mõ²ñ|sتìþ‚hÿÅ_¸wÍ7ry±ýÙ{./”³“Êêxwª}KÙÚ’³~ôðÿýõ�mÛÞüûŸ^|øö«V.ÐaÈ¿îN¾é}nþMÕy¸‘‘˜ŠÊ”ÃYu8ë4^b¼ˆÎ¥¼ÍØŽ‰šeƒ‰2WQ+r/Ã#M™« F³Ñ$¯AŒ&ý:½­�ó/ž}vâ þ{饗@†·GzËK.ûù‡ïþã·âqûíïþø·mï~üɯ=~ýIÃEzle�÷_ÿýK/ýîwÚÏÿý|ÝŠ¡ùç<ðÏ7Ÿ¼|¼YS<�+ú��_¹î¨‘l^ìøþßî^^ך*/^}ïËoÿçÓwþüü“[¶>ö‹ßüå�OÞ{üÒ¥9YóÃ6‡¨dó•ƒVß÷Ú§Ÿ½õ§_=²õá'õòkï}ôò-'Vš/ õ%ÀeF€`F€`�=€€Åê°ÚzájF¹Möfb¼*ËEñ½Ð{Éá¬â·Ž’¡âN5N&�w§Iï17ÿþ_ÏßqÁÙç�·æ{?ºç—o|ôéß·^,Ǿõcü‡=¿þ¢ó.<Íw¯½íÑWÞùtÛ3W/ï-zùcÿüø�?m¾îÂãŽ9æèãÎþþ=/¾óÉ¿¶\¼¬  aë¢å_o¸ô"Mzºèâ5«W”ËËfŸ¹¤WÔÑÊê•uZ÷-téc¯¿÷×'¯=ïÔc¾uòYkn|à‰;�Ÿ«×²t�ò¯_)»�ôR¶*ŠÝ}¥\ͳçt“Æ«s5“ÞÛt5K-W‹ã•y˜õ­Œf0aäjÖ2WÉÕ‰Ô,VÝ=&ƒÁÆÛc0ë nû8w–s[ÿJ�ööIï¥Ï¨¼4[]zî†W>üø¥ÛNОÊò]�á?}ó[ïÿ꼃jÊ) �pû+üîÇWÊ:Ò›=aÓ_>ü÷‹·3¯9åT¨Ï:ð”‡Ès׫¾|ÛÉõÆA³Å¡�õˆêK€ËŒ#À0Œ#À0_ �˜žS{í·;\Çk¶Ø­¶^8œõöfŠÝUÙ/ÅôªŒKéŽÚv”<ãU5^«ƒæí�’KÙ¼¤¦ í;é®×?þãÕK‡Zÿ4x̺¿üʵˇ³ùÊ¡—ÿâƒwŸ¿äÐ!¥ÿµƒ/zü�÷_¸h ÆÁú–5wˆô¶%ùþê½×o;a¼ÑTûëÄÝ�|!Òûe:Ö5S(¸X‘1½T U/­Tö r«cÂÄr›q¼Ä~e/ìдRé½°C›ÌÖn‘çÙh2ÛLf[w�©»Ç¤;AõqþýïÿÐáAnû§_=ÿ<Íjí@Lo[¶YYxîCoôû«– ˾µ­#ž£ÜÈI[^ï©Ë—刑}çÞ¿ð«ï¯�ÓXªÒ[?ò/|ôïgV/¬ëÎw;‡;íÑmoo9wq»½øYfF€`F€Ø+€ÆkµõÚ®)cz)Ci¹ÈÛLKaûô]2åÕÅô¶c#�‰wéÍpÞ³ï¼qû óZIonÁ¿|÷µ[¾37[:üÆÿ{ï�wœR¥ñ1 µoÞùÊ{/\·RŽ’¿Ò;væoý{óªEç¼çž{îìsΣ-K—-ÿ*ºÓr×ÌÙˆÝ�ÓÝ£–‰ñb¥"ø�QFveÒx{zŒ(S¶*8œ¯Ûš·õ¥“Ùí×h²M¢ÜÝc0™…«Œ×l±ëN\%½žâ¢|gIo);|¯}ôë­q×)”Þl~ääõyûùk–4óȉw½ñÁoׂ9,…ô–¿ñ·ïÿí¾Õ õX÷vž’Wgˇ_ÿ»¯?õýCi\ü+#À0Œ#À0ŒÀGÀh²ªŒ×jëµÚzõJï´é3@h‘­Šô^Z›w¿ý§7ïŒý§íÐ:½;2&ÞU¤wôø ¯½ÿ›K–Ô[HoåÀÕ¾õöÏÏZPË�¯~úío^uPË%;ë¾¼ùøšQ¯ÛV­Íù˜›¿íç×vÀA \ŒŸ1P=eýŸ?y÷å[Î[9¬Fë¸7ÿú#°]ãDË�¡ñ¢íîøÜsS:.° ŒÊÐx)sÕ¬ÙZ*fÒr‰Ù‚ñb;•¡ñªq¼(ƒñ’«™˜-i¼2�³Ì\Õcêé1i®f¥¬;ñ½‚ô]ýË·ÿvï*ÉQw}ïÏ®¿ýŽÛ??^{èëзní×.?lPžÅØ÷¼úæ3ß�¯Eù*¤wäÔ‡·}ôìUßhj“î·N‡üÆwñÆG½þ›»®:}ѧ°ÒÍð¯Œ#À0Œ#Àìy¬¶^-‹•Ѻ�˜ÞiÓ¡UoW×,Ò~Q=î0J&£òWMz·={Ó Çâç_¹îñWßýàw·�&Á‡üÖKßrë­·Þ±ië/þðÖ;¯n8ûÐB¾”_¸æ…^¿õ¸V›ñÀq·¾òί¾€(‹ÝßûçËÏ>ûKüüòÙG×|cxIï±?ùã?ÿìã�?ÁϧþñšeÒJ]œ÷�ïmýóÛŸ|úÁߟøé…s@ïx0TQ÷ )½_†ô¶�é%÷2˜*é½Ä~‘• ‹� «Z®Þá,]Í0Q1½Äx¥z<)s•t8°�/r‡Ç™žb<×4K5Uõw�Ò›_¸ö©·þ¹å¼!AM%wÝö»­›ï¿oófü¬¿úx-ȶ¾rÃ_Þÿõ¾YÈ—rc§>úæ»�^|XƒÙ6IonìÌŸ½õÁÏ.£?éîÀŽ‡È—òŸv탿ë“ÿ~òÖ³·ž=�g¯&MèÀä_F€`F€ø´lë¨ÛýkóšÌ6°_ÈÎDz¿Pa�ÞòÒ¿üÁŸîs ›t£æn¿¥u‘eF€`Fà �Ö˜^‹Õ¡'½­1½`¿äj&Æ z¬CP%ï&ÒÛ¤ ºQ¦”;ðÍ^|ïÕM+G¤²Z]qç+ï?¯e¸Qö*,ùþóoÿ~݉’6«»+u¾éäYÝwryè¸ûþþþSkoˆQ“ÿÚaGþÓ®C`·‘Þ9Ý=Är©Œ UÝ=†®™³A;Q ùË%·³ˆã•,•±]Ó Í›Y¬ÄêD–žSOcu"±6¯Á,cz5Æk±vZ§—”[•ÇN%ó¢þJu¶——®=Û,þ½—>|ûþÕHÕ¾=e•å7¼òá_®_yøE�¼ö·- k«—5$b,YTÒñ[Ï\Õp>랻킎%dç5O¿ÿÚý+‡Ø¯¡Ã�eF€`F`�!`4Ymv§Ýá‚Æk³;Û¬ÓK±»´/4^5޶g°_e(Nlo%½¥ÜÈq÷þõýoúŽ$´ƒßþé>üËÆ“ÝÅGßôʇ¯Þ¸rLžÔWOz‹‡Ýð›w^¼N¸1u0ò¯» �/DzÛ:.t§êùì9Ý]3g“Þ '3-Ø – ]W-÷ô¡#²O�Ъng5޲¦ëÊÝ)‹bz F±6¯Á`1™m`ȃÉle]çÕÇù ¼TYeÈ;CzkG|ïém¾²a…F,·ÇHËGüèÿÞ~qÃOŸÞö¯Mg,TNGQzóåÏ}äÝÏþyûÉ ÛÍ7mïͧµ¼xÍÓõ;£Lzù Æ0Œ#À0ŒÀÞ‚X®Åê0™m6»köê•^ÕÕLy›Á„§MŸAi®(èWVŠóTGÉ_Hé¥Êja{£dahTÌÆ: u¬µ¼`õÖ·ßñÒÃDlmnìäûÿúáëÏ®;ñ�y¥R¥P]râžÛöáŸî>K†¶Y ©q¦êÅ!¶=sÍ!ã æp ~FµZÛž¹zÉØ¼¹ãàgd 6´|õ§¬˜78P(VеyG­ÙúæG¹ñ˜¹�–uýç_w»�ôΜ5r.é½:‡óì9ÝHs72Ò\‘ÆÛšÅJu5ƒëâx%C6JÆkm”Å’¼ÐxápÚo�©‘ÃÙ¨»ÕÇ™”^RnÕG•ÊôWªÿ³'ŸÂ_·î¢ IDAT÷8klså¼óX´è°ožzÙ­ÏþýýO·=Å‘ôŒhuŽ=pñÂEãçÀ¬726góÕ¥Wÿò�¿¾ºíµ-ÇMâ¢*é-eËKÖ>þú>üÛæï�¶x|¤R]xÄ·Î:fñ­ÓÛzˆêa«¯¾ìŒÃ¯VëåÚØAß¾ê©×>üóƳ›4xwܱºkÄ¿2Œ#À0Œ#°Ï  “Ô_wü­v§Éb7šmV»ÓjëôMV=éÅ:½´¯.ŽÛ÷Ÿ&Ò\AûÕ^%«ã`R~tU¢úTØÞ(YRÓ›^~ó™+ÆÛ‰ëÇèþT:øªŸ¿ñ÷G/ƒ­±8ïÛ7<ò‡·?þô?Ÿ}öÙ>ûèßyðšG´\¯hù¥v- ¢ÛØ.ñé?ÿOãßçÿýèÙ«—çòØ.Æ¿ÿÈíCÇÜôÇ·?þì?ò€ÿùäý׳î¬ÃŠùøÃ÷·½ú›~tþ!#—+]Êkžzï?Ÿ}ªüûð¯÷ªãâÁWüæƒOþ´áôÚ¤ûª¼dÍSÿþˆå´ÚPeáÉ×=ú—·?þü¿òßçŸ}ðÖo¾+²Í‰šmQYzÕóo¼ÿ©ØAü÷é¯ÿâ¶ó¬u a˜Ô¦ÄŒ#À0Œ#À0_9F‹Íh±™í½V‡K”eF+=éEL¯.Žº.9œ÷Û:ÎÓ¦ï‚%‹Ôa±®¼¤·”+ÖŠM�gˆ­Êk¥r-ߌô+åÊCÃã æŽ•�ú·îÞº=Wª—+êOQÒæ©¶g µêðüy862Th9¢Žrð¯ûˆãíš9ªìì9Ý3gÍFeƒ +éX.4ÞY³» 2C•¶6o£,*ËüÌHìÜŒÝ5˜PFèºÝ´:‘d¼Ðx K�ÁŒ@áv–)Ýu€«sX¿ùíow�èRµ§žzZ}¢·ÿ8*ÅrMü”*¹©žŽBU«ƒš¢ry²K¹œ+VÕg\;©B¥PÔÕ,‰çqh|l|Þ@½ž'‚Úéåb}lD¼1FKÅIotü+#À0Œ#À0ŒÀAÀh±YìN‹Ý ök³»Ú¯ÓKçé3ºðCÙ­ÈÕL‚°îLÔQ2�wiÜZ :m Û%Ó8• ŒÀÞ�Àœîž®™³aZ&Æ‹X\ȶºØ]]+Ðc5sÊ2L×ÜÝcDƒÑ¬ÅôͲ¬e®Bï$]×`1[ìZ|¯Q$sî¬ô¶}B¿ÐF~œuoKþ•`F€`F`—# 2^Q¶ ‡³^éU/˜-9™Õ¼Íp8Ïèš©ëe[Òû…FÆje%ëàå_¿¾è2WAïmÍ\ÕÝ#Î…Û™²XMÅxIïÕlÏÄx¥Þۈ㵌½Œ¼Í&³�²Xa»ŒW ¿:xùqÖ¿2Œ#À0Œ#Àìå�Æku¸Ìö^£Éj¶Øõ¤Ì–2WQg5Ž—ï®Ó«òØ/TfÒ»—ßRܽG>dÄô’ÙBs[cz‘¹Š*€ ÃÝZ†Þ‹ø^äjîî1HJ,2Wu÷˜Èá ö W3âxÉál4uŠéýBOnÛÊü8ïøÝÂ5F€`F€`vƒÙÚp8÷LV“ÅÞfÉ"¬ÇÛÕ5kÚô´6¯.¦wÿi3Ó»ÿ´Šém;Þ‘�^:¡pV(׿¯Íæ‚>êé½HJg�†U«V¬ X°*`UÀª€U� ¬€Û³bp¼·Û³âÑ çyЋwל\%ï±ã'Ž"á |ok7«ÿ�WO¯¤U‰�Ä«Û ÙŽöæ•í˜�¼ñù̳±଺Ù—–í6»Ófsš}¼j¬Ýü(Ÿ£j&Éý¨§÷ÿñ?™uùV¬ X°*`UÀª€U«—\¼>?¯ËíSæ^—×¾ÐÓ+݉Ì틤gï\¢Õµd·Ír›—mNáxikÕlý¯U«V¬ X°*`UÀª€U�K´’ÛL†³Û³âõ­Íƒ^¼»‚xi_âŽ÷ •suòØñ—]~ìÊ“§¬«VµKËvöA–,ˆ—T*@ì!âµ;ÃñžZZ6öêí2æPv‡ ¯¿z ¨vºIÖÿZ°*`UÀª€U«V¬ X¸D+àrûàxmv·Ç»êõ­¹Ü¾yÐ ¯‹§WP.HXÔÎÒÊèŠcÇ™»[ÿkUÀªÀ#WàÔÒò•'O!?fÏ…è÷¨ª™Û�²ìêþ½À`¸\Œ¾l×¼®B¿Ø†N·Þ®ÂœQ/ÃëšÇ$ZÙl.A¿œ’õ¿V¬ X°*`UÀª€U«V.Ñ ø´§×éòÂñ:]^§ëHË¢9ïîÑD«'N²9Ï—(ëm�¶U�§¸øuQ)›»‰�…3¹ÍlÍÎ+™m*¤ $L†3@Úîpáõ]^¶+Äkw�Z²ÙlNéÍkøxm®CôkwKn3žÞåe»õcUÀª€U«V¬ X°*`Uàb¯€Í±|ž—wÅîô¸½«¾¿S{zÝž•y¦WP.}z¥ƒ‘t*2#Þã'®¼DYoë´­ <õ@±,€Ô …;‡x±æ*œ5kV5C‹§W/Ö\ñîâé%·™ä*éTD†3�»ÉpÖ {UÖEò“/”n»í¶7>®ÿ^õêWç ¥‹äB¬Ó°*`UÀª€U«V¬ XxÊ*`wyœÞÏŠßé]±»ú=¯§+/RgA¹fŽH|ÙåDzÞÇŽ¿¤^”µÑªÀ¬ÀÉ«–®�ÿÞð†7\$b�†U«V¬ X°*`UÀªÀ/©§{îÇå]ñÚœn·oÍ·Xàé/ïœ�÷ŠcÇͦßcÇO,$¾�?qIÿ,¼(k£U�ÇS�™îÄ l†×•NEðº$ZÉØ¬j6Æ6ÇU§–ØÁ¦Ð¯jzÇKr•âu5ÊE´LZ•Ñ�w¦jÆÇ úO/Vgåö\ßZ0}ßûÞ÷¬gÿŠœp»Ó{ÿûßozѽò«Ke 'ïó­ÉX\…üóQæƒ<�Øx¸'ù•?Ë>ŽŸîIî ¼OãÉ[omUÀª€U«V¬ \ìXYó�û3C¼>Я˻êp/jYdN®”Kr•d8K#ß…ô÷#7,½ø»ð¢¬�Vg´â‚�ýò²”;�xu" vñìŒwW)«m³NE3$¼´¬Ì(™±éÚ´’U3ž^zðªg›ËÈjÖþ^A¿@büÀ+«þ‹ç烦ÿžý+7¬¬ú£‰ûT©®¬ú÷öO¿íöÛWVœp4/UªoùÿÑô¢^<×r�g"'ßlu/ð%�°[³Õ‘>Ân¿ì_ýåÒÿðÑüãþùˤÙghߪ€U«V¬ Xø·Tïj@É›=>ÏŠßí[³»<‹A¯(œ%ÅŠ0gñô^qìøe—ƒ^H_ujù’þYxQÖF«�·Jq EÉLó¡§w¦^V±Ì:¡êªSKŒ�ä*›C’«¤7¯Îm>D¼ Vññ.+„|èé�ëÍKn3HXÆv‡{e-pñü|Øô_0âÄÞúÖß~æ3Ÿµ²¸ñ¦›w÷öWÖ•jí­oýmÓ¾‡Ã‹çZ.ðLOýÉ]à ü2vûö§ŠOðç—qVÖ1­ X°*`UÀª€U�«pz ŽW+œÕØuÔÓ šÅÓ+È”{\ÅS�4ù{O^vù±…|÷©%Û%ý³ð¢¬�Vg´âB:áãñ Ê�S5+ŽWs¿f¯xw%·Ùfw--;„ãåÒ›÷Ô’Ýîp£^ÆÓ‹ªÙ<¶ÙÝnÏ ûØj¼ê_¿x~>fúïõ¿þN¬ZoÜu×]kþõ³W_[,WG“ÍßýÝ;Ÿ}à Õz#W(íí¼ï}ï“×]<×r�g"gþ¤.ð~»=ô™òüùeœ•uL«V¬ X°*`UàßjTo^íé…ïõ®ܾµAVðº‚xEá|ìø TÍfOïB*|iÙþ¤ÿØÎJ¥zõÙ«Ÿó\õßÕg¯®Tªv‡óI£¥eû‹²6Zx"ÀÓ‹ªY8^ÔÎt$å³âruw¢“W-Á똵ÂÙAÓ#•Õ¬øa»�xg�ŠÌ‰Ä»ëpzì7ÉU‡ªf› ¯¤X9œž‹êÞ÷©ÙïüOÿéŸøÄóž÷Nok{絯û5~ùk¯ÿõµ@Ð|Ú�F{öºO™·_c9ó'}ð4^þÿ²òžÆ“·ÞÚª€U«V¬ X¸ä*€ªÙéñ‰Ây±¼ùŠc'¤#‘ ^ñô’Û|9­ŒŽŸXH‹?žv¦ËöGxU&“»á†ƒa(¼áv{]no(¼1 o¸á†L6ÿ/||¿ZxQÖF«O¤Wž<¸=µ´|åIM÷j%³–=ÛEÕ,/„0Ûg)VFo^‡Ó B^^v—kw¸µÂÙ©eÏ.§Ë³¼ì°Ùœð½ ¯ÓåEöìrûPG¯‚Ïϳÿ¢±ÄuϸþþûïÿÝ;ï<8}¶\­Í~£þÿêk®»õU¯>sõµñäZ ¸OÊoÍײ½½{ß}÷ɯæ÷Ýwßöö®yÿ§e$ÛþìÏ>dÞÿi/<±'eãÓr9¼é?ÿuí þ<�'o½µU«V¬ X°*pÉUŽWÎd8σޣïqSo^‚�/»ü˜4ò]l**ö‰þx½«[Û;7¿ìæJ¥úÈG«Tª7¿ìæ­í¯wõ‘÷¼Àß.¼¨§jc0”ª´:Ýr6îœË`$].d÷Ë/"WçSUó§â’‘%_yò öªSKWž<¯‹ÚY�g)V(œ»iµ3€å3tîò²Cùxu,3Î6»ÓátƒxN·Óå±é¬féÇk³¹œ.¯Ýá!ÅÊ5óô:œ·gÅ¿ºx~œý×îöçÎê�o|¿|ӛ߲µ½ë_‚á½ø¥Ÿýìgßõ;¿3{݃æWÉÆG˜÷ZÆ�pnOðWOËåð¦?ÿÛúüyOÞzk«V¬ X°*`Uà’«€Ãí5ç6{Vü ‚¬P/Ã÷?q¥ ^_¡ö8 ú½üŠã ¡ÿbËóífw¸›Íö�/½±ßÚì®óívÎv»«ßÞøÒ›Í6"Ïs~ûøÂ‹º��Åí¾ìæW蟗¿ä…Ï»n·—‰F.ä…³}’{¿ñ‘oÿðßúÆ·úŸï¿&û˜^+ÂÔÔ¯¼ûË_ûƒ—¦¡ÙaåWÖài«€áã=¥lº¢p>êé%³9·B¯Œy-ˆwiÙ±´ìÐ͇<€N·Þ_u*2óºæ±Û³?lw¨>½v‡û¢º© Ì»÷Þ{Î\�+”�ösžû¼÷¼ç½»{õFë™Ïzv þƒ?øƒf«Ã™¿éÍo‘W=øà#�Þßzëo¿íöÛÍ;Ïíÿ´”bî|žÄ>-—Û>2âÝžÛÞ8 /\¸ƒµÑª€U«V¬ X°*°°$WѩȷpyWí.Ï<Ó Ê¾U³$W!o6K Â*…TïO:�}þó_°¹9õ‚惸Üέ¾ë9W{² ‡y»yì77§Ïþ Òé¬yûc/¼¨ ØêÜúÑ<ôõÏ}泟ù̃Ÿÿ›¯~ó¡ýøûÿÁ7?3¼ ü鯼äcÿß·þÛKº�@0 û§Á2õœÿòµ¯ß{ ×Ÿ¿öõ¿ñœÂ…�À\ãÓ/õs“–EW�ZBê¼¼lÙ.äxA¿ [8^öŸq¼ªß/–]úñ½yµ7…óÒ² U3‰Vôã5�A¼Fó^»Ûf¿HA¯û½ûî»ÛEüž>{Í«_}›=ôüüê�wÝÅ-o¼95ï|¾ñG?ú±D*“Jç>ö±�™÷Yxß|*7ÊÉ G“ ßáh"/<ßàÂ�ö¤ï)ØuáÀ¿zÔíOú)Y´*`UÀª€U«Vþ WÀí[S gïŠwÕ@¼NïÊ<è¥#‘xwA¿'Nœ4’«4÷K#_¸ß…õz¬ “ýƒ¡ð3žqý3žq}6W˜;µ;îÿõçy™}ê÷“½šsnùg6Wà8ÁPD6>¦Á‹º€�áî«>öð×ß³“ˆ;‡2ã—þÞW~ü³/ÞyCâ„£ñýw|ýáÏÞÒ‰_À{=‚ 5ýÜ÷~ýÿøeiý޹_ùý¯ýÅ¿¯„ÂOì˜�ðvÖ¯.¨¨š%·Y”ÌfÄ+cv¦kÑ©¥å9Ž—×Úl¸\éÇ«Ñ/�ŠÜÚÅÓ;S5« góØáôHŠ•Ó彨>$füvç]wµ;ýL¶ gøî»ï~Æ¿{¦=Ôh´?÷¹Ïe²y°ùUçÿê‹^Ìq^ü’ÍûÈÁŸ®�œŒ=$cpVòO,ÜY~Ëàéº"ÿz蛟,É­ûèàQAï·>YzOÞzk«V¬ X°*`Uà’«ÀÑ+�Ï?z�r¼ðºsÛEí¼° � aÚì.�wessúÊ[^Ùl¶ç^[/9?öžÄÑ©ÒÏÿ¶~ç¿­­žú6›íWÞòÊÍͩǻ2wÌGý狺€�G@¯‚�‘æ�òÐOÿæ ›9B(¿óŠ·ÿ·û?þɽÿ]/Ú.­«Ý6²ýë_uÇ'¾ûð—î}÷»ïºëŽ›w þPº{Ý-o{ïŸÜÿ‘ûï}ïí¿:eÏ�½ø+o¼ëí·DHGû7½í®7=·P[f 7«œyÕ=ŸÿîþîÃÿù®ÿ|ç�¿£Ž)/±OmàlOž›Û,(—h+Ь�xµ Z|¼D[ úñJ+#¶/-ÛèH„�—NE6› »BÕ¬Æ:¹ŠFôæ¾÷¢õô>øàƒŸþô§§[Ûòé}þ ^øÀÄ“iÿz¨T©>øàƒ­vwºµýéOÚ ödÿ9X˜H_ÆD*}¾ýͯ}ÊÆþðý‚QÍ'&ç.D¶ÝÙ¼åþÿ)»„£otý�ÿ[çǽG÷—-?ÿÛú7>Q¼þÀ/[¬�U«V¬ X°*`UàQ+àô®àãµ»øàwüî<0÷’óý³PªðÚ|±lÞç—z9rð�Ý}pï…ìlÞÇ|sã}èC;»ûæ�­±U«V¬ X°*`UàßpÄÇëôø”¿WÍxÏïé…ËEÉlF¼ÇO\iöô.¬×ÂËd2ýœç>wwg/‰™_âp¸®ßsÿþ[#·¿vý 7­½â¹+¯xîÊm/Zýí×þð_þÓœÿèó•3› �?'‘yyÆî9߆#;;{Ïyîs“É´ù]a¼ð¢.`ãy@o°ù†O}ïëÿõWµÂ¹ø’|ý>øêJ½qêÚwþõÃ_¾sS+¢“Wÿî7¾ÿ©W7fïg4Ô~ãýí»®�( {a Wí;¸ýo²äͲ:ðô ðô‚TÍþ^…xíª¹®9¹ÊhYdw’Õ¬vq¸fÉUâ…¦g/F_»Ãµ´ì8ñÚ 5ЯÝ-)V’\…Ñ×åöÙìn›Í5ûàÍ>uO_¹Ršçîºë?‡£ñPx£ÞhýÑÿ±l¿ÀÁ�wÝ•Ér…Ò�wÝe~ÉEuùÖÉX°*`UÀª€U«V¬ <Ž ¸}kJá¬=½NïŠ]÷(YÀô>Þ+¯"ÅÊŒ~Ícxà…çñx’_9œîétëU·¾ªP,?êÎGwø�×î¸ïÍá|®òó¿­ÿË—jÏ:ía·ú;ª{n†ÏDç^U(–ŸùÌgíìì*ºìÑ(ß…uÏz×k¯ùÈwÿñÞ›”É6û¬?ùÖCrëV&›Ïd ™l±÷’?øî�>÷òVÌ¿J^}ǹ Wc�P4Ï$Ó­›ïýû/ÿì®z/ TvU/A< IDAT‰ÃóTUw"~Yx]øÞ«N- gÍñ‚rQ;nñ‚�!‡…ûµ;\ ß¥e gåÝ�¡ÜY°³ô+¼î²ÍétyÝžÕ¿Wïü˜®è—½³Ž>¾±ù /äæý­±U«V¬ X°*`UÀªÀ¥XR¬P8«&½ÞUß#{zA¿¢d6#^/,Ä£¢ÊýýÓ[[Ûª‰èùñ§Ëáªx]×ÜÛknçyvóy�/¸ÎûwÌýì‹Õý‘ŠŒv®yö¿0}Æw†Ü[©úçŽ?�níÛxôŸ /ê6žôF'ïøëý�wß°± 4^ñ™þëO~ðÐwgÿýÓCßÿñÃ_|Ý(qôƺ/¸ãþ/ë;ßúǯÿÏÿñå¿ûÚ·ôµÿò\-i¶@ï!˜¼€¿ËE±3þ[³w— ç£>^I®:µ´ =ã;êçÛµÛ«®È9Fßë®»>“ÉÉkäBã`1è�ŽÞðÅ?ô�·ýë¡@åÆOþà;ï}N}=˜´ŽÔÌôJÏûÓoýäï~ÿæV*¦�ºÅ›ÿû7¿r>¦7qæ}_øãsž^uLKÞ|Q ^ÿzˆÜfáu0£jÆš+è <6«šÇv§V2Û––ÉjöЧW”ÌP¸‚xÉg^¶9�&W�„á{/¶>½ÛÛ{úð‡�¢Ù Ùò¡x{{Ïüý»ì—[ÆWs­¬±U«V¬ X°*`UàÒ­ž^ÅñúÖ¼«§Ççp{çåÍÇO\)‰Ìí‹Ì|/c"¯–c!’”�×^sÝѦDv»k{ÍýßókwBwBßë„^¿áõ8C¿ßµUçËnðy< ÷vß×2pïw®þÚŽ7³*ïžÍ®½æ:ùçÂÁ‹º€�‹@o|ôï?ú�Ÿ|å÷öRº�ÑÆô]_úÁ_¿ë™‡ÁË&Û¤ô*ïOþê5}Å«ŸØÖï|é'3¦·xÓãï?p#M‰üë¡`ãæ¿øþO>±ôn¼í‹ßûÌoÖ¬–E¦:_ÀŸòɇʢj>yÕ9}zâµ9ñÚl�ðŒãu°êeQ5/ë~¼v‡Ûîpãã5�Q8‹ªÙfW�Šìåée|Ø›W;³ýb½OËŸÉzS«V¬ X°*`UÀª€U�Kº.ïªÃíuyW=+~§wô;z…ã]Ø›÷Øñ‚„I·ZX‘…HR6¾øE/^ó¯Ë?F]q}²ìî>Ü }¹¾Þö-†»¿ù›oþ€þﵯý5ód¬z·Ø]+Õ€€Þg|ç zÍ†ì°æ_ñ‹^,ÿ\8XxQ°Ñ½gÊ•RµÙî?çÕw|òïø/ßùôëvUQýißtß?ýäïßÿš³ùx<Mfê;Ï{é¿+iPj½ÁÎëþê'ÿôÇ·L"Áðz¬yÃÛ>ü•o?üÕßCÞ¼±ý¦Ïýô¡O¼r³ E"¹émïÿâ÷~ú“ELo¨yËý?|è£/i§ÁH0ôäc¹ÙuYG~” õôâãñ‰%ÑjÎÇ+‰P5£”Öªf…f´‚~Íž^á~ññ â5÷æÄ{±É›­�–U«V¬ X°*`UÀª€U�ÇZ�CŽw†x=+‹úô?qåQÄkV;_qL)Ÿ�Ç Ob!’”�·¾òV-ªÔèÔézgrEàîÃ�ÐÇJþˆk1âµÙ]ñüBÿ÷§úgrÀ…ƒÁ½]Á½É&e»Ã}ë+o•.,¼¨ ØîÞú‘‡ÿåŸöÓŸþô§?ûé�øíÿù—xÛMý¬¤1ƒ‹R›·ü׿û§ŸþóÏ~üÃýäg?ýÞ—ï}Uezÿñ¡OÎÒ›Óg~óÏ¿õ“ŸýðûßøGßýô�7>û7?þ…»�6E�ÔÎ[îÿúö³ŸýôÇÿÓÿúÓ·Þò¦~åþÛŒ–EÏyÏ×¾þ‡/ƒ¤ÞþÀ7üÃï=ôO_¿û¹µ ¸ŠGoÖ_l6‡ÑdhÆå¯Ýiä6ϲš•Úî\Z¶Io^#ÅÊî„ï½êÔ’ÉÇ{˜\µ´ì�|æ¹~¼.·¯Ýá6:éVFnÏ �|=ÞÕn‡ù51ëßV¬ X°*`UÀª€U«V.ê ¸}kÒµÈP8{�xzÍ~]º]v…áïåšûô;~b!Xˆ$eã«n}•Œ?_ ˜ï kkÎó"ÞÇz#g£zS/NÉ;Úì.ó ˜·ËxáE]ÐÆP$ÞP?¡ÈºtZ(¬ ÅÙR>›�½‹4ÔTdldÝ´ œÊJ‰�¨z÷P$xŽJ9JäòÅB,¢ºBÑõ‘˜Û3‰¦KùLÒ|ä ºÓ™Xû?Á H>3æ^|¼‡�Šf]‹P5Ïà±ï.ÉU2Ä»¬³šáxi½kŒínºA›Çðºd5ˆWï¬ö±¹0ý2vº¼ï*û»Ü>¯o�±Û³âõ­Á!{¼«@h»Ãíõ­y}kª ¸ÇçYñ»ë°x—wÕæt›o@ÞÕ7#ú§)»…wÅéñùÖÔv§wÅå]] Ùîö­­­‡¨xWkÁ0q|+þu¶»}k«� Œ×‚aÆž¿Œ}k(²¶ò®VÁõðÇ_[#±ÿ:;Ì�}kjç`$E}kê­¯ø×¡h(„¢+þõõðFx#ÁñCÑx$–à}ÉÈFr5ö£áh"MøƒQ0ÙH†£‰µõÈz(�§ÙŠÄ7™P$îF£±T4ž†cŒÙml$2lEâñTŽq8šH¦ Ñxz=‹l$é|d# ÇbÉl2]GìœHç'Ó…dºÀ9¤2E¶Gãét¶Oå"ÉX2›É•bÉ,GËæËê}c©D:Ÿ)”7’™h"�Ê•2…r$žŠ¥²é|9•+éq.[¬$³Åh"�̳ŠÛS¹R¶XId ÉL:_Εª±Tn#™É+Ùb%–ÊÅRÙ\©š-Vâé|<�/Têz{6•+ª öÉ•ªÅZ3•+ÅRÙ|¹V¬6Òù2;kÍt¾œÈеf±ÚHåJé|¹\o*uN£\oç˵D¦�+U+�N®TMf‹…J½Òèd ê䋵fµÙÍÊé|¹Òè°=[¬T›½r½›)TóåF­Õ/ÖÚ™BµXm5:Ãbµ•-ÖŠµv³;*Tš™Bµ\ïÖÛƒB¥™/7ªÍ^£3Ìk¼°ÚìÉ +�^:_á…•F/WªW½Vo\ªwعÙ1nõÆÍî¨Xm«-Æùr£Xk·û“FgX¨4«Í^g°YkõóåF½=è§°Ùµû“j³W¬¶ÚýIg°Yi¨qw8mõÆåz·\ïöF[¼i­Õï�·yÓz{ПìÔÛƒR½Óê�û“�Z«_ªwºÃio´Ui¨jôF[ýñv¥Ñ«6{ýñvw8­6{¼°Õs-ƒÍÝFgXi¨ÓoÔÛƒJ£×N‡Ó½Z«Ï;6wå…ýÉN¹ÞmvG£­ýÞh«\ï¶û“át�ƒw›ÃéWÚo§{Íî¨Úì ¦{ýÍÝj{Pm†Ó}ØìŽÆ[ƒÍÝZ«Ï»÷ÇÛœêhk¿ÝŸ”ëÝþdg¼uÐîOêê…{lot†Ãé~s·Þ5zãÑöéÞd§Ú´›“Ý3Ýñvµ=h§ã�3íá´Úô&;£íÓ­Á&ï>Ú:ào4ÚÚŸlŸnvG�îh´}z0ÝkôÆÍþd´}º;Þ®u†�ÑÖxçLk°Yï ûãí­½³üA›»ã�3�Þ¸Þ §ûãíÓ�ΰÕ�·¨a{°9Þ93˜îUZýöpÊÖ:Ãîx{´}º3Úªu†ýÍÝÑÖA³?©u†£­ƒát¿ÞÕUaÕ¸Òês&Ãé~­3ä Ýñv¥ÕïMvÆÛ§)ø`sw²}º£/m êsÐlÖt}z¦úðQi÷'›;gúãíZ«ßN§»g»Ãi­Õï�¶FÛ§½qµ=à¬Ý‘¼ÞÔÛƒÑÖ>áOÏ [½1‘z{ÐmQÌj³×m §ûÕö€³L÷ªÍžú,Mvú“�J£'Ÿ>½ƒÍ]>ùíþd°¹Ë‡S}z';�ÎP} ÆÛæO2<Øl–ê�FgØŸì´zc¾€ýñ6_ðÎ`³7Úâ«ÑlR4¾&|Àøš¨/o­]iôz£-Öê*ÍFgØNËõn¡ÒlõÆíþ¤Tï«-¾¼ê[?û¦«­R½ÓîO*�^¡Ò¬4z¼‹Üеv®T¯6UŠÕV¡Ò¬µúÍî(WªçË�FgXmªûŒÜs¸ÿ4:ÃR½“)TKõN½=à†V®wk­~®TϪ•F¯ÒP7.ÆÜ ³Åšº™ÔÚÉl)_V·ÐB¥®î½ÕF¥Ùå^¬5Ëõ6·ÙbµQ¬53…r2[T÷g}OçË¥z+_®%³EƹR5‘)d‹•R½•)¨{®T-Õ[Él1žÎsÃOd Œ •ú¹OŠ\"S(Tê<¸·'³ÅXJ?A*u7©\‰GϬl±�§yØ¥³¥h,µ‘ÌržáX2–Ê¥s%މt>�5ˆÉt��ÃÑD*SLeŠÑXŠG0OÕh,•Lé|(g¼‘Èñ�DF=¦c©@h#–Ìò¨]©í±d6M¬‡Ô#[žï<¡�p4ÁØŒÊ$!Úˆl$7™õ�š$D6’ÑxÚŠ®­‡¢ñd$–„¢þ`Dfì ÇVá@hƒÓX „ÖÃÑxÒŠ0) o$ÖÖCÌyBÑ8S¬¹ù�?a¶ÞX †½«jf%*(Âd‰í�PÔ³âgîÄÌ�×®‚.ïªÚ¾Zñ¯»¼«¼—w5ÀÜo5dÊ·â__ñ¯»}kìüÑí[[ñ¯cÓuzWVAÒª˜ º¼«ÌB™L2ö®nï£{zÅß{űã—]qŽ÷Øñ ŽŸ¸r!ô¸p ˜Ónw™ï§Ê�ÕGD¼6»ëíïxÇG>òÑ�|ä£ozó[\6Ú½îk¾¾îMßtN‡^9Ùyn°ð¢¬�VžHÈj–ä*I´‚ïåΩš…ïUhÍýB“h¥Ç ¦*ï®Îj¶Ù�1ètiÙ��—´ª9/HB˜1ÁÎ26·2ý‰A¿§Ä ·lŒõ=E#Rýª†à³Vi‚r=+~nsdëÉ�I¯Ó» uûÖ¸‹É�N�0·Kе _ÏŠ_¡_}#Ö÷Ö÷YA¼¼5èTAb½Zd ß`˜[¿ÜÄWüë< ÖÃŒñ®áhœ½?ñªGE8ÙPÏ›Õõp0Á®Âç"ÞT(_[�à ñ²�z@ê19ž|<œ³3È@˘'¢ _…„c)vý†"ñX2˘�hã©\8šØHd@¿™82ûd\¬¶êíAµÙ¸‚ Ù™)¸L[Kõsb€(ó`€(s_õ¦ÕV¹Þí 6ÙÞå‚~Õ¸ÖnõÆ�Áf¹Þ-ÖÚ�~A¼‚~«M5# ƒ1˜ ƒx«j¬qc¹ÞôË 98ˆ—18°Ñê�lt‡SÀˆ8Í Á�Îp°¹ –hvGƒÍ]°Do´zö 6w›½qUC�Át¯ÞUÛƒÁt¯7Ù©w†{€‹£­ƒîh«Ö´›£­ÊÕm�xyÇát¿Ñ74Î 9`«?™lŸVgÞu4Î쌶ªí�®Û§XíŽú“�ÉΙæì söÆÍޮΤ?il6ƒÕñ ¬f`µÞ�3ëÝQScïát¿Ù·›@hã [àp°7pº7ÙN÷Áäê Û§›ýI£7L÷ÀÞ�Þx¼£|½;jiÍ A¿�á´ÖöÆÛc æë�!gÒìOÀásõitG`òÞh«ÙÉ$Uä°W¾;ªiôË_­¦ÿÜ}½¬Àª%†V¿¥ê¶ÇÇ ;œ‚~ù°õ';ÍÞØøÌè�Õ';=½¡ÎvöùáƒÇ‡�ˆ·3Øì�·�¬Ýð•”µ/ð’ª|5*7»#>_@Y ê 6ù €rYQb݇/²,Qq+`‰ªXk×Û0¶¬mkm¾¼€X0|½=È—¬ q«)×»\‹e W×ÚŒÙYî?ùr£PiÞô½¨\ï¦óêŽ'71Æ…J“ZM߬s'Ä›ÎWr¥º~a+�¯äË rçË væËµr½Íý¿Xk–ê­t^-&‚~Y‘,Öš¬Hrcýf ê&lÎ+r“g úÍ•ª<5x¬ðtHf‹¬™n$3 [A¿ìÌ*-GÞHf2…²Z½Md6õüÊϯô칦o¾œÐKÃñTŽ%`l:[ÚHdxz²ÖÙHòÄTKÕ±T*SŒ%³ ÞT¦È‚u4žfgž¶² â é©ç Ç@ÈàRÆ‘�äzÈØÎ„!MÈ$Ä»Š1yˆl$5â=\[7!^E�…7L]X¸gڌĂ‘ØZ0ì[ 0†HXoÈüg=¼Á*?'(Â4L¡ßõÈ–˜DùC‘ÿºgůf\‡³²0•ý´Œ™.ÊtT ÷ò£ÿ´;ܯýVVs¿ê¾§ èM<ÿPÞüËez-jÔªÀy*°´lC¥L={Krž^£•‘æ~��õHÌ> ýš<½ª7¯¦"·Ùîp#i;]ªO/;cÝ©„ ╱p¼Â÷²ÃQÄëtyáxúu©”<åêû‹gÅ/ÍÁ ¾×é]a P-Ëé±FÂêå¾5Å»?úUqóš¡e;¬Ü"A­ ^â]Áë²²ÈXÐ/GîwM+)VA(Ü€^1…ÂU6ý2ñò¨X †ÃåòÐÏ›�µõH(‡¿5�…ãõ£Úp4m€Qƒa㡵¡9^YÊ Eâj‡XŠcA¿ÁpÌŒx£±”p¿ÑxZÐï†F¼Ñ˜BÚñT4ÙHÆS9A¿Âýn$2é¬ZÞf‡TVѪáâ�¥r̘RDã)f <¹3¹û³HŸÌA¼p¼±T–©‰F¼9/«õÌcâé< 6Wª2†ï�§óL˜@ÅLŒÃýÂ3+*`Æ!¨Ù•æ{A¼ŒõTL�ÉT®\¨4!XãQmÁަóa®TÏk¥z,Z®w¡M˜ BÛÊdz$\i(Úô[oÔ>š{aÆY¨4™ÂPa“8á{™3iñ6»£r½Ë ïTkÃ…B%1™®6{06Â; ß[ªwšÝ´/„)*C1•yÓfwŒag@)äUo´%´-o6`,è·ÚTd,o²ù Øx 6wÁ‚xëíD¼.c@Å×iÖT³ÉÎ`ºWë vÒ|ï ¸îq@;Mvj�aKŠ­Áarª OjD§ ãÖ/Q½P�UE SœñÖÜog´¥ ôh Ä;Öp¢Øx#ÅU*f•E˜ç¦Æ™‚x«fz–18³ÑCÕ²*Ä»uÀåƒ~&ïŽÔ™hFºÞqÀöp @mÀ0§ûp¿Šã�„1´6Q—Ó3nƒ~uMTÝzãþæ.¤qCcr€k«?o߫ƚ UïÖ~w8UEoK}›»ƒé¤1µZgâÀóçñšé}Yø€)N÷Zzá£7Ù¡Pܼ#z>?¬žðÁ +ì­i–]€Ó|ªç>ɽѰ™uV©âÕR'ŸL¨WA¿h+Êõ._L¾¤µV>”ÛîO¸3ð™”%*c�K/WñB¾õZ¹u°f 7¯¾ED¡mÃ* â-TšÅZ[VÙ¸Õ@ãj+Wªsòùr wHA¿™B•í(_¶*Jn“/×*�Ž�x«�r½�|¦P©—ê-ñV…™§Xk‚x²­6„ï-VZ¶#äÄךh[žÚd¶˜/×ÒZ úy‘<†@¼p¿<¿bɬâxõók#™aA6žÎGã)x`¦fô›HçáxAÂP¸2V(T £ p£ñtBMIº#Åâ1 ;‡~em×zH=ëÛ²,ú彄ïe‚²,²‘DY†ÂKÏ: Ä»¶®8^¦.Âë2å ß  ecþ£_» ƒNÙÈ,mF¿j¬'W¾µÀÑYè—Ó9öGÊÇþ2ý‚l´L&Ñ2™ñN2g³P™d.½‚l…×½ìòcsªf<½—]~ìI½?脆+î9Èêr{?ÿù/üâ¿¸íµ¯“_­®Öƒáõ`xuÍ€¸v‡ûî»ïþÅ/~ñGôG²ƒÔKÓ€ÞÈÕQó¯u›7šÇ /ÊÚhUà‰T€|fxÝ9UóÉ«–„ã}äNEÂý¢p^Z¶ãã58^-T†û£Jn³ÁëjBX�m.8^Q8 Ê=T8Ûf–í¢pv8=nÏŠÏç‡ãõúÖ|+§Ë«á±‚¬Já¬UÍnßÍÁ¹�Ù]nFl?ä{Mªf8ÞÿºÓ»"w7Ðïj È�ŽÛ"ë|Üj9¾p¼J=S8{W Xî‰"ÈЊÂYnÖÊD ÕÎ+þõ`$ÆçÚz^—·U3ˆ—×®‡7"1õŒY „•h9–ò£ ^Æ€ØÈFR8^Æ�«¨�y°™Ç¡HU3B&8^ÆP¸ðÃáh‚Ç*zi5Ž¥�K1†c \¥ÅŠÄ“éè7K¡jæyœÑ‚.vFóºáX2®UͱTVÖËQ8«ÙC¾�§7™l¾¬öO¤¡má„A¿‰L�¢‚Cr–/×âé|,¥äÐ%?Ë2wÉ—kp¼L€b)�YþggÄo±T^…3B2[Lf‹¥z Qˆ¾7[¬ ÃŽ7_n$³%Ðc¶XKfK ^ÍýVk­¾hù1¢p†…ã…3ÀU8^„ÇùrC \µ¹Pi6õTŽWÍ×5…¼Ä‹×ÝlBÏ–=Åaj€ZiözãíÍ�3”k Qœ¨vG[µÎPdÀÕö ©9^tÚrÀj{p¨%nD\kõG[J�ÌÇ;g g;ƒM%ýÕzZ5Þ;ÛÓ8¼;ÞÞÜ;ÛmV'»J2Í% F_ U«ÎdWz–ƒÔ»£öpŠî…3þMvÏ4û“¦^&ý›¡jÑW+™t³Ç•¸R8ÏÄÛ’•[K£Ög¼}š¿ p¼€Ò‰–I×Z}%ØÖ2òj³7Þ:àLPƒÊÈùë´ú�Þx²sF/PYHã–æxõ_m¯Ñê%CÜÎÂD±È¤ùüŒ·P¡‹Ì^o£3ä+€Â™%˜îpÊ÷µ‚±¤ÿ”.ø®Éb"‘îpÚNKõçˢ//ËO ^èqÖ¿øbbCè 6ñ"O@Ù!ßtHf³ÚÙlŽ(TšÜs„ï�»ÿT=¬œk|ÜO²Åš(œA¹Õ¦Ú™µ?¬ŒKõ ˆœ¿7ªÍ. Ž· cÑàpFÕÌCaNጨ'–Êå˵B¥žÎ+áO±Ú€ææ/k£ÀãXJ)œQý°ÀZ¬6P8ƒ„Íò" 5Ê\S(Ç’ÙX2›Í—ß«ž_J‚”ÈP8góe”‰tþ›�7 ÷«žžZÕŒŸ(OÃý"àJ¦ ¢p–G³ý² ÇX˜ž{¾kù˜òÁý2I`b€Â” ßµõH4–ñªµu­ [[�è‰DJѹZà�'´�P4Sæ¬9…s(Fbð½¢kÃ…Ëê?/ g(е`x=¼�po-„¢ØÙÔ¬,fÈÛ‰òéS;ó4OŒlÂ÷ÂL˜ç‡Œ}k3â•I&�ØáözWêvz|óLï‰+¯B½lN«¢;‘™†û}²äÍ¿•ð™1'ã›^ör2«~ñ‹_¼ü·°ñh�ÕïÞy§ì¶»{`>Žô®TÏ!�-ÐûDÀ›õÚÇW�“W-h͈U3–]ÆËËv‡ÓMŠ•í°¯MÇ’«t«¥e›Ãé¶Ù�:æJ¥X â…¿U|/ž^›â�ý ßKr•Óåý‚ráx…׵阫9/LJ×%#Z!^Ÿá´×·æÖÞ]´%.ïªÝå‘°x»ËãYñƒTµÿW߀¼+Nï K€ÊÓ«UÍܤP5£Za!�±º-ñô"TÆÇ‹®†±ðº¢j%³ \lºâéÅŽ²BQÃÇ«M¿ˆvü¡H(ÇÓ‚LH¤A3…³¡d^ „×Ö G ž^t£pU3*Öw•�7žñ’øxÅóú/ËÏ‚r# å"£Šl$EÕÌ*o"�íów! IDATÇe„ËX�ÖZ,ÎxzYKާr†ˆKs¼™B9šHcÓMçËøxS¹’òëÆcœÉ•XêÆ”•Ì#ñ”L5DÕ¬QnvæãÍ2§Ñ«õâeåG>^áx1ýÎæ4ñj® žÎ3Bq�w7™-f ÊÓ‹�òaæãU>Øl±–Ê•‹µ6V[4~Ìç2…x™B¡”ê�t¾U‚w®&_nàãmt†ùrC|¼¹Rqr½=P>: \Q8ørp&å2†áaªÊì;n³;Ê—ÀH ´¨šñBæ0™®4”|Z¸&¥jlš}† ÜCŸ¡¦}@eœDˆwNÕ ÿÓŸìt‡Ê$ ªA¥ÙTò`e»…Ýâ Ìõç|¼À˜ìˆW”Ìmͬ<�¶¢í�·G[Jâ{hæœùxû›»•Vn/A€Šj·=œ–=¸\¸»áto¬-¸•V_‰�§{È€Ç;gú›»�Ãã�3½o9Ý= Â鎷'»ÊŽ‹¦zsçLSûTÇ[“íÓuÍ[b»môÆH£•[Óì›;g %û›»�û›»“]åãÄk8Š·FÛ§E-”ìxç úêîx[�¡–«êíÇ»}u´}z´u€-æ™KmŸår9�ÑVE¤GÛ§©•ƒ ³´&Ø‘F/¬�º4-è�¶6w΀Ó@¼�Î�E õ1h0sìgä9˜\ÌÀ¬’DÕb‡F¹}%ÞÞ«· ÞÁæn¹ÑäwF[j�CûÀEÕ<œîñÉï§b2ÇÓ[mjGúd‡O¸p¼åz^—¯ f`ð§R.ñô‚xyGƒDC�Žš¯¿¬"5:ÃÞhKx]à±Ø añâ&¸"“FÕŒŒB”ÌíþÛ?* ñî6:Ã…÷–ó¸R¨Z§(”«mÒ¨]j­~µÙKåÊÜܸC2.ÖÚƒ9¥d¶¤q~,Zœq¼Él±\o“¹�Ê•Ì÷çR½ÅÎÙb94ŠeaÃÇ[kâyQKœÕ ÖCãé¼2 ϰ· ABb-(—EUÖOs¥ªF¶j-U=×´$Ê@¼±T<­¶'2…ÐF"‘)(ªYÛ…’é‚(œS™"rhÖ‹S™"ëÅâñ¢pÞHdXŒ–Eg8^Pn8š`;�cA¼‚~¡m%§Cü½ˆÂPS£jfÂm  ;D¼Úol¤‡ÄRzÑ_q¼˜~A°F‰vl…¢qÈÎj•æäbŒÄ˜ÿ@˜/´Äœ§÷¨¿Œ)Š<Ž âiŠeH`ü½âéeþÊÓ¯™>aL@ ˆš± Þ w®OïÇŽ#u 3¾\G[1^ÌÈóèX0'òæ¯6ÖWŽXyN÷ÿþßßÍþŸÿó†£Éù@ïóŸÿB½Ÿøä'Íoç yèýÖ�Ý{�,'`ÞÙ<^xQÖF«O¤âÝ=yjÉŒrÇ«ƒ�Éj.W|¼¢jñ £d¶iV^—�*áxÍ gƒïUóŒïUˆW“ÀÂë:]^<½@b¶›Çâéu¹}N—×çó{¼«ŽYŠJfø^i�šEÉ úeÙn$œ›b…h™ýÑ$‹ªym=äö­q›;T2kU³¬ ‚~Wüë²²È2'û³ ÉÚ!7k¼»‚xµògæc1¥X ú�“™UÍçúx õ£�À,ÍŠª™€ A¹²|ËÌÌñ²�áéÕÞ]tȆ\JKª@¹ÄfpxzÃQ•ª¥·é`÷+ÇÂ÷ÆS9åDÒëÊøxáxáQA¿â�©¿öH¤ó¹sS¬dÚa6SÍdfŠãEÀÆüFôi²´¯ò¥tZó¶Ëd”ËdH8„9/ 7fZé|Y'W)Ä+ªfx](\jð½ðº•† ›•Ì•‹UådJrÓS’cÌ>^c¬á% ”ÈDƒ ßR½“+ÕÚ•*y6̶™C,ƒ~¡‰€—PC�Î�™7;‹’y-„öœ�‰£øxñ 2;ç]À°¬H7QùöÇÛì,úO±P½C,x@ù05Ë Ø¨µúÂ÷’<¤Î:K/êS�ÐXp¡Ç{“�þæ.ÙHGÎU­ o@ˆiØ|ÐN�ÊJx¬-Ðг-mÁÝ ÎŒIèT]G M¶O#öîé¼(ÈOõÂíÓæä*åÝÕ"䑯œm•Ú¥¤Ñà˜çJ«¯ˆbmÇ…ŸD½l ^Í6«æÐ)¡dá·Q5“§E,8œl-ã ÚI ×McÉÓ’ø+ À‡¼·&Õå¬Î[4¥Tß3Ä =‹˜eXÓñÖ�úlkŸ3—ÖNqbWZ}ñê�AO¥U)°ª²Ç4ÊU)�ø«,ˆW}–tpWw¼]nôÔÙêä*¾ƒÍ]2‡xÉ”"ØŒO8l¾2œ-²a®gˆˆ2 k‹;@”5V‘@¼Âëb‘¥8èAÄzÀñ)VD^) ¼Vpðí�¼:®År³;â6BZ· ÖàxYhñâ°È—â¤@½L\.«f™B•µD+¤XåJuÞÔœnÀÝ�tƒ|¹ÁíT/&VÉS þV<½æœ…b­É*$ÉUŠÖ)VÀcŒ0âé•+¶•A¶:ýA%)Ξ*¹jaÄF°ØšÎ—¯«CQ\GÊ$ž^b™B$žJd ÐËxt͈›.ÛEÕ,ž 3â5ûx…×EØ{ÌÂt<¥Çáh"žÊaýò¬ÇÁDÌ•L ˜EDãiP®xzY ñ’jÉÚºi¬b;ñô‚xÅœŠÆCÑ8dì¯kèÝôüG8^Ds̬P8ûÖ”ªzÀà´Cø(!ˆW0š>L¿LçØ�íšãU)VÌÓ\ÞUh[öQ¼®Öb“ä*¨”Gñô’\E?^¯ä9 ú½ìòc‚~Â3€<:Ì è½1ìµÙ]~Gؼg¯?(ûÞ÷½O~u”éµÙ]ŸþôgØùç?ÿy8“�mv×uߨßüó�y‹åé]ø'³6þ²+ðÉUKËvûkjk$Þ]A¿@e2œA¼6»âr%ÅŠøe3Ê5�ÅÇëÐRdü½’V…hT  %ŸÙåö�xéô+c�wÕð÷*O¯ßã]S‡Õù‚x‘¦`¾¡^6#^sJê$. ^^+ˆWâ ØLõ®*q ªfްTy ÞÕ÷ePîj úEH#c~®Óª¸q³]R¬dí“›;ÉUŒÍ¹ÍÁˆ’'éÅH8jxz5pM*x†xñú‚xñôAƒá˜Xw—rµ¿wÎÇ+Ü/OJžŽ˜ˆÌ)VøxÍ)V¤JŠ‹G/ðo,™ ³ºœÒ˜QMÛ>^�ۜʪD+•¢Ua*‹2�Ë*ì/ž^”ÌLnˆa¾‚P”Ëê>Û!‡ÙÎ<„Þb­��GKA¿�Á&ÛÁ¢È°…ïeÒ, gι;œ2•7{we g¦« ÿÆT^˜±Þh‹¼$WÕt ’i r¼Ýê�¡Ñ@¿âÕŒ™¡PÕÁB˜9�Ü _Þ´£`¤’LãžUŽPmÁU¶[MÉ6¹§"—$§ÊÓ[oôAUÛv±à§d¤·uÌ®ft‡ÙJVG:Ñl³ÊŽB�¬˜U]ơΈjõ'*tJ+x!ãžUúÕáp³7†måQ8c»m 6yw²µš‚…ÄÛè�ÑWÏ<½Šï팶=ex†ª5°·öôâÑE­ÆÊÓ»_ï*ï.DñáåhO/¤1g°G&=œîËYAϪj¯þj”§ûmœVuÓ)VÊŒ�·?ÑZEª«€.ýW3�ñô*€:ÝSyZíAo¼ p­i9fÆõR‚¨Ó=þÄÔ“Ï YL³¨š‘F««Ù ¹ÍµVŸO/k:@k” l'&J8^P."èVÄØÀl^È'Ÿ/5ëˆ8ðîš¿°d ƒxqì·ûEÛžëØÇ�M—ï&·/ go±ÖFc¢˜hLÆ“lF¿2ÆÓ‹vƒ›Øâå®(o¦PÅT ú-V[ø5f¡€B‹U#ÅÊÈVÐû \´Çlô‹�…'‚ò*u–2ñ¿ ‡6?)Köa®¤€7ùÌ _’«f‹­ ³³jP¨(@«£.ôóK=×à„•é7¡¼¸Y•h¥¹ÉtA/cøÕT¦hä6+U³ò Áý&Òy(\Émf}™�ñ"S¾bÝ»�}x¦ÓIÁ¬jfÂú…3V&3Ç *f¦Á¤"Ž)¾7¼Ñ)VkëJ�Ö²5Ü[fÄ‹TŒZúV v†ïe6ÅÌ‘ýúC­ ß¹™/àî}2Û=+~A¿ÄÄ –’c¡§:Dh•sγÓ}zÍ>^TÍÇŽŸ”K×"ïãîÓk½_m¬{ªGѵþš¡é«_s›€Þ½½Óò«… ÷æ—¿Bv¾úšëdg›Ýuð×[…×Ô–•C…³œ€yOóø—�¬ãÿ?X�åeûÉ«4Ç;ëÓ+¯$WÍ:YÍ´5:ä~íNƤXé±]¯ÊpÖ®p¼(–Ù(cˆY›Ý=çÝ%3ÁT ä9/�Š€Äâu{Yx“NEt'⾃™e6 ‘78^�›Kq’Û̺ܯñJr•H_¸Á‰$FΠ_ÉgÄ‚~±ˆp°�ˆ ‡»<)VØQVü*ûŸ›8 Q8Ëâ( g�öa§"-B2äE"±„ëì‡hÜèT$ªæÕ@˜eÚ9”kîZ4§j–®ç$W™R¬ I•Ö5%ÒyéN„·Ž#Ñem$2¬(k_®Ó˜A¡k-�ÆÎDÖeVûxñA™½»ä9ÃÄ’b.¾¿n,¥ÎŒ™ß*uR7óåªfññÒÖ¾×àx5÷‹š¬fà1â7ññ (e]µ�×KÔΪµ†îZ¤‰²š÷ËÞ93Ù=Co$HÜôhûÌpzPëŒû›ûã�³ýMÕÁd‹dZÕD§I7 d·OPðôIBŽ·™ú 0ݵ@eéä$ý“0cWæ/%Zß«MÑ0óø™+­þ`º7Þ9Cc*ò´ªíT6>p‰¿p޶T~cf–]†ºÅQ]Cèát�U!Èd‘9@Û’Á¦¾2Ú â¾õöá1’¾S€¿_¸´g^ÄW²Ðh¶Ó݉¸€lem $°d «™sÜ:P8‹9BeèÖG43“NE¬å±àŘwÁ£+6 ¾ª¤Öƒ„Å»[®w•Úe–ZO, <•+—êà1‹‰ee )ƒr%g�{²¹“¨µTo�K kHåJt!b)Sl,ˆ� •:^V35+«ø^vÆ—‹·…1;‹Â9–Êò¢9<³èOçß›Îç ¸©LQ=øt+ÁT¦˜É•xpÓµ¤*>^º!Ä’Yiˆ±VÂ#%TÒÌñº–ôJ7²,-( —Ä /çCŠOvQ; â?KÄ@hc5V3�XŠGÁHLš,Â÷‚l%äÙ<ÿý’b% gxhP+Ö0Ь?ÁʬŒý-ƒ–Ǻ9%\. gÆ’ó"Ù./Ê>P.K¸_CÕì]q¸½éòæ'N ²Ž—+óö˯8^ˆ^ÌòèX0§Ýîzý†¢y½ÿo'ï1ïùöw¼Cpl$—_-½ÛÛ»²ó�7¾Lv¶Ù]{¹¹ÚTp×sðBݸEl9óžæñ‹²6Zx"ÀÓ j•䪥eÛ•'5ƒëp�ZZF-ýxQ2ŸZZ>¥âª ¯xzu´4‹�ò¯Úns‘Õ,ÉUf¯�~µªÙíYQœ°N~…³Û³¢ËN�Ýá†×/èWÁã¿�rg¯¤XÁ÷Ч— £S‘N®…óQO/@nBX|¼Ü"A¶ÜšéZ$/ZYA”+A¼8„¹A³3h/ˆ—�Ù.kœÜ©ñô‚¥¯‚¡h\5¸ÓÜ2cA#±&™@(�'õ؈¹BwăÓÈò™îë!Åý*[‘îÁk¨žtBÉUt2€ãEeEjÄ+�ØÈFR:Jyf ß âåh(–EÜŃ6�-ñ°ñªI@"Í,!™-òÌB;ÉUL;XhŽ7SPÓ rGòåZ®TÄ‹¿¨Œn-WªÎtk*Ôäp¤ûñ¢¸¦ûE:¯Öï¥7ï\?ÞjS™Í82á¢Hï@¶ ^ÆÙb O/l†š§j÷MhT‹ÿàx�Êhw‹ÂPT…$Ä0ãDUÈÌ•ê˜ñH®jvG [¤ÂÀiáx¥3§´úÄFËWæÄÒ=…Ù9ÛÑ‹2WFÒiîN„ÚYP.rM„Çʬ8Ùé�¶¸pI®ÂÇ âe Øè 6±×ò.ƒÍÝJCu-&¹ i7”,tI¿¤s™[Ô@-" †i+À`8ÝïMvÊ VWš*¹ ¦�îÇ lm\eUµ‡=àà*!Y·Ò•>(œ;£-j¥Õ‡m 6`MïD[]•À¤ƒ¦¤©/g+ôl½;‚;«‡>ÞÑÖŽXÈ% “æL8+ ÀT=>ÛíÔ:ãÁô`¼s¶ÙŸ6z*Ÿ™ƒ(¾W_š\‚jlÛuÇ»“Ý«û›ûõî^—G¼»2f`r­GÛ§©U³?å’M}$Ù‹ƒkº7/Ë F—àÙ™` ÆŠÌe’ì…îZR£¥7(Û6©Úy½Oà9ýœç>?¤UIrÀ•$ŸjD½ÑiÆˉ‹30ä0_ ÚÕô ¡?ÞÆš+ªf£mµŽ(7ŒÁZÎàœó�æËˆ†Ë:þy€+c"¯ –ç¼ 8ù!„YºjõÆ$äqëÀÓ ¹�+Õ%GU³ôæ5<½Õªf‰ßCáL>sµ©úô‚x‘v“nÊO/ gA¼©\yf ©Ðö…s¦ Z ³ I² L,÷jÌ´„ð§óª©/cã&_m�}È ¦äJO;¼0©\‰ØEù ú…¿%N‚g–´8’çªf€7Ï2õ ÒÍêA¹²l¨šug{’«¤ë�¬#ãé�%³’bÅ¢3�lÆâé%æÊH£\ô|G- …!)(—\LÿšÕdæþˆôéU±Xjm=²P �Ñxòå3S¬Ã®E3WVÚ âe.$!)p¼ O5ûÒ ,¢¶�¢‘V�£ë!š$Éy ÙÑôæEÕ,Ý+…1æ‡zæ <†Ë5&™:K ´SS,Àã ×Œl%¹JЯ¨š¥kÑB`�GÇfÌ™v+º½úŒw¦þмçø�¿%86?l8´ôîììÉÎ/xÁ¯š�ÓÿƒÿLü§¿°@ïÂ?–µñ©©´­¹;‘¹7¯‘\5ëÇk¨�uo^éN„é—D+vÐHX÷æ…ãµ¹––U´•Áëjk _mÅ FÕÌþøxQD»Ü> ÛÝ‚~ÅÇ+ÉU [VÑå¢<‘¬f3Ç ¯ d%ØYï¡OcÖ¾H¢êñåŠñCnl‡fLƽ8F@¡ì -ãðñJrÛA¼2^o ÎáÎÎvññ’üÌÝÄ+Ò ¥pF2¤[1Äë½yA¶Ø{Œ˜^BåJ@…ѯO#^y"C1YæéE $‹ÍÒ�¨ŒP$ŽP™í@bÑ\IGA’«Øn4cˆ§A¼„vÀñ¦2E•ü1˺TGÖF,ñA!T#¹ŠÙT­ ^¦Ò©%³åªÕzÝy 4(ac&7ÞdOçñ’I÷‹J£“/×8r¹ÞñÂñÒ4²To••_·bîN¡ ›aôã­¶ðñÂÒ¤re¢MÅö&A CáxQ5g U™q‚r™=Ë1�޲fÄ‹ª+#N?´šÌwQT¦e´úÔL2“iäÐL¦ebÍ|^àJʧÇ%œ– ‘~¼’ñ3Öma\¤‘/Ü(x†1X–$0õ;|/Ÿ|Úñõ!¹êåj©<¤1‚Dþ ^ÆHа¢ÄW†ƒ´t÷/Èa±ð]£7/êe y¦­‘ [/�|‘Š˜mÿä{q»`• Å2.zÉd†}åû‹­½F©Þa�OÂøîKS_^ˆó‚^R¬Ð÷Ò�ˆ´Ui_)>^éÇËd±Xmhq¸Á aºC?9§p–©­Š¢ÑzHéS"ˆW8^ô�íþ„æÁjN\k#�®4zL ™…CÁ3k¬bO¯‘1«Õ•Lëy¡bGu“a…tÂ̘d5›#—û“ÞÄ‹~[É¡uBž‹�G¢ts•¬f¢¤XÕt ¨šE܇Î2ÚçvG @3[x˜Ò¤¯zGÝ8G…âê~³ÒH|ª°¬tÁ6ƒ-iáÃAtXpÕxë 5Ø„aÝ©ƒhR´ÙŸ›9 \ò·„YàjàLýBœ´¨š9è·ÙŸô&;“]•ÕLË\§“Ý«[ƒ­FoS£ßÓ@hMɪÄfô«/G©š½Íîxw¼£dÒ¸aéT„Õv¼c´;Bí¬b¨g¤ñ|g`�ì%+Ê,­üBÏr9гf™´qÀ­!Õ±¸‹qY#™–¶ÌðºÀi⯰p›??dh¡�7ÌÀºïpªZ‰èÀX‚ÑT-f„Áæ.èWÌÀÈ„�±ƒÛœï‘4øea)¡n|¿Z:kªÕ�Æêà\²š¡C[½1`Ö€¸𦰲ÔýJ@£3„ï-Tšr»ÀªÀJo:—#`V8³Ægæx‘C“Z�5… €–[‰Œ%Íž��Ù•F/SP·VÓÕ¢%{©Þâ¾�+Uqš°dI†³ ^nþJá¬ÃùÙ0÷pÖOe�”Ä)á{³ÅÊÌӛ˕ª³ÆxÊPÃ#%3rhC8t�[ÇÓù�dfÖ¢Oyz“é‚Ñ©(ž–¦ô _@¬p¼ˆ¡’邱¦¬y`zóžÞx4 9Ì£ —'/HX|¼A=à9šåÈxw' ±¦_A¼þ`”™`™u€„Q„¡p6èuGFcá^� O¯6j™^Ì…„ãe–E[#¬aì̘�gư²fôË΃ãÀ…Ñ‚)>^I±Â,Œºh¸\óØ‘ѳPƒïÕΠd â•8+A¹Âòü¤€^»ÝýþÂgÞ›û¸€X›Ý5Ž…¼=Ú€×¼§Ãéþâ¿ÈÎÿú¯ÿº<'‹ÜæØíµ@ïSí¬w9_––mfU³ñ ¯ lÓÞ]Cí<çãÕIW6›Ãéòž^Çkw(pkÓ�ŠÈ�’~¼†ÂÙær{VãéŠaè IDATeÿ9¯J¥Òªf¯Ýa4ìõùüŒ Äëp;=+¨‹ÚÜKW!8^P«t*ŽuÊ9KqÞç1Sª Dåöà]q#CŠÃB ŒI±b5‘ìYYD¥ ̘‹�—»m0“NEÒ�—uPîø$W�r‰þ7#^ú°Gb …xµ�×k�P4žBk„*‰ãéEÝÄCKfˆ©Ö5â%×ÑŒ¯æ~i·@r•Š’ÒÍ‚áX"�gmk.�Ø9Us:[¾WV¦U|eNmU³RYë–ƒ†òY?øÕR·¶“\%j±D¦°‘Ì0}ÁǛΗµM¨˜‚¨È�t>_®±‹ªG‹ñ åÖšz¬æ.Ì–â鼚 iÞ@5«Ð g&=jFUmÐ ”‹LøÞ¢F¿šˆVm3Êõv¦PNåJEÑò‘Õ •Üf8^²š±Àe‹5fºùrq2T DÉj^Ø�Ao¹Þc¯EœÌX˜¨æ¶NÂDG'œ{Hvs¥:ùÌ@t³ª™NEŠ×mö gyÂ¥�q³,݉€Ó \”�âã=Ú�hM“&âJ¹jš 5tn3ô¬ \ ´ø0ñ'OtŸ_4ÚÂÓ ž�¶OðôªJUB²™9¤ûŽÐ�ÊÇ«»ú%‚[á0Å=«4Ø:ZyæS5˜U±àbvU³HaV¥•.AS›{gQ8÷7w±à’Õ¼¹wˆˆÕX8Ù=;Ú6|¼›{g¥•.ˆiôtÿjï`º7Ý¿º=Üâ&»JÕÜl�¶NOv•§¼� ¢˜r&ýÍýj{TîŒv´`{´­š0á.–ÎÀøÃúL÷„²îMTl˜¬Þ]mVrqƒyž}¤¦{§ÍÒhi¶Ä Ç+�œp_‹˜èi|¼½ÉN¥Ùc�BeJµtQV�ÙçLjO›ìŒ¶ö͈i=>^¾ ^zP5ãã¥Ë´áéÕBeüíŽÆÛ|È?Ç3Oà3ò/ÀµÝŸˆ@£ÝŸðBs;1´Ù‚x»:Œo=P™{‹ñB­ì0ε6âJ*¢ÇXs¹�bY8“¦¾ÐÑM»5¬UX£‘¯x=�–ЛµH¡Ò¤S„°‰_®w‹µYÊ•F§Toqç§_:÷g48tO/Ë—b]ÄKà3ˆT:UÑ›—öï‰Ld+žÞ\©Š�—“ñ¢$âùßKe1Ý`Õ>³§7•)ò,NgU»>Æ™\ kt@HdèHÄβ¦LÀ$�i–¹y¾£^ÆÍ²eUZ–¿-Ï©šÉpfÕ[r1a�é 9 ßK¤µuåéUrhÝ87¼¡LXp¼á� –…{DËæùO eg&NÁHÌ·¦²BׯEA¼p¹Ä2 ÷QÁìË -‚a/Ó9¯(œQ>Cç2‹c)è—¶—‚xE<…³4ò�ïÓ+¼îñWž8qR¼»‚r…ï%òjáß J�Žç˜Þ¸+w_éKÿ½ô7.ÇŠììpºÿáþ(ûÿïÿÝß?̲’}ÜrË­�ÿüÏ?2÷[›Ýåšü»ÊÇþŽ ÿRÖÆ§¬s)V*ÌY÷ÚŽWx]¶ŸZZ6÷æ��íË6'HŽ ¯ +ciØërûæÆ•�./;zz=+nßšÝåY²»T¼F¿fU³ÃéñÒ ˜õ6›Ó …ëô®˜QîáØã£7/hÖܧ—$zîb(œÙ‡¬fÒ ]Eî"2Ð& � R‚�A­íðÞª›¤ƒ„Yªäf�P‡(BÀ6 gÈaA}kýŸX[�øV×U3=ñ¿†7 ”ëªÞ¼ ÍúCúY¥|¼’bÔ(W²š¥7¯Ør¤ Ès=“îDtà)¨žˆq,‰AˆØ i˜LT…*øA•>Þj ‹�W²šy:vrzÌés¥:"IÈ2™ Å�k‚4&BÙh««Ót°“^ËäØðV[½ÑrÍR½#ˆ0¼.ø“¨¨ZæÍñ*ê<¥†ÎSaHÝðS£—}<½øx™‚««ñv±Ö鎷U3¡á´TïnÜìO*M£­n­3œµŠÝ¯êtèÉöiÕ µÞÕÁνÉN©Þ•<¤r£G�8 ¥.Øi¼s†ãzw¶ÄÇ‹~Aòxçlo²GԓΈšVš½ÑÖä'f`ˆb ®T‚¦ÈÓꌶ¨înî]ÓïÖ»“ÑÖi¶œì*”ÛêOÇ;g'»WWÛ£Ö@Å)ÓÎ^w qæ`º¯«êÁæÞ5�ÑNµ=m�ïñWã�3:þjÜlmî]3Ú:-ÞÝÁô Üè÷7÷'»W÷&{r9JWÜê�wÎŽwζ[µÎXaï-ÄE}ó­Á¦`ïŽê |¶;Þ­¶‡È¤ÛCÕàB¸ÙŸèúœÖÙTÌóö™ÁtŸ3ˆÇõæÞYÖ&âÕ!Ø*üY»¯q¢ÒEYQ²ªùóþhë ÒT‰Tž–ö‡w›JÜ>Þ.ÕÕçÖ]}~ôg©Ñ—êÝîhk0Ý#“IÌä …ÉÕO/`•µ`do´5ØÜåŽZq²ôÖ*×»èóñó÷g>^iqÄ·[{¡Òì§Ç[mAÓ#ÍXŠªµið‹52™E4XkÀ*áÏI¶‰¿R¡wå¶û¼»,�ÁåRIüº’# ÷ññLûMA½= /Jf<½èPŠÚë�¿ƒ1ø?Wª§råjS)M2…j:_ávš)(ÞµÚì²RI¿tîÛŒa_‹5#äYùukMâ A¨šÅºB&3!ϤRqdø[ÜÂ,}æË58[Xƒx£‰4È6�/‡cêù{Ž%�è±Tޱ‚Ç:ÊQˆbó!÷1›/ó´EÕÌÓYoH?‚%HRZ'Õ“R¤X‰éWú/Èó]r:xŽBæ°5Iˆ§é Áöj Ì„%3þ)ÖÙA¹˜l#±>^Q5ƒHA¼ð®¤XIv BeA¼ÞUÕ�H^€xWüë _’«FY †e&†ï bɨÛJ:çé…Ì@BÄ+>^�0¢B&uˆ A¹JÕ¬Cd<+~Îó W|¼ÇO\yÅ1#­ ô‹�Ä{üÄ• 1ÃQäiÞ2zû¾ÝûJ_º¯ô¥´»bÞíÆ_&höG?úñµ×>Ãü[›Ýew¸_qË+þóŸËn;;{sûØü‘ü½ß°@ïÂ?“µñ©¬tî!ß;ëÍKG"ñQ5Ko^”ÏËË%Q¶¹N-ÙͽyÿöÞÃ[ª*ßÿ fÍÌ[3Ó¦n…›c…S9纕s®º�(Q¢$ŠYŒ�‰ ˜A1i1a&ƒˆ ¶ÚÚjÿÖ›ßÚûsê[çÖ-Ć~³žïÞ^¬^›ã®ºU‡sÏÙŸýIUoCc PncS+ª Z¦15I}¼,æŠÇÜ1ÛÚÎlc !^¤[Û:ñZ;c>TÍ�ÙÂYAݼà~1càRŒ!TF\œ·¸åIÇP8ñ‚ŒE4Åà–—43ä�b÷M bJ®"Ä ï®ÔÓKJfÂ�ánÎÆJM‡LÔzö,Qª)îù @¼� 5vm‘ì¯Të4z#ïµS“ªY¦ÔIR(8[©�Be [¨¡ÄF"N´"|/õñ’\ ž^tóRwz(«�[�Àà~Q3ÛRÙÂÄlK0ýâ¸˜Û ¾×l‡ ªfxt©"Þ]’–aC+ Œ«TÍ”A”‹ ôñÚÝ]P2ckŸTÍÔýÕ´mvw—Û²:=Pǯëì b=U3dxX#:»BH®‚’™uórÇš“½Ð:¯Tˆ1ÈaÊjF;€+Vœhû�zziÌÉ™@$ 978P’\(”ÌOå´º}pVø¡”%ëöE ïÄ@;ŒÇb^Ø&Qw€æÈQád.–);ÅxÏ R‘!mÙÂ\dÒ ÷¢©<¹g!B†–Ñʪ(‡<ƒY¥ä*�¢pÌ‚rŒ¤Š]áT4]JF„• ŠÙ5ßJdA3Bw ¼ 8�ŸN”,7¾²7Lð ©p’‰“™í–gsÍp b(‘G´²?*– UùxE—l¾� 4ÿ„9`o ¾p"—.ŽLd{±l8YHGƳ=þhYÍx! 4õ$ñŠÆà\o ÆÛØiŒ¬fÐ×颸ӣéR2ßGç-Á¥Iö&Yh­Ù_„3Ï%s2×ò\loJd±¥q²/‡.¢_øx‘ÕÌ.î°E‹ˆÓH*ÏZ¬xÆ]?`¤Ù äªfj±Â~ 4üAO]‚&¢iÅ‘?œ “9!À*I£ñBÔÁ5€º#üÞÇK}×H�’Ö†A”áò…ñƒÀñV~Óy¸z˜—cS qq åÆÒä@¼ì…ýâ6bwûÁñÂa�ß_¸*0&� ¬$N!¯TÕL=m¸)÷ëðp …ªÛ|äéEý—Ït!¹ ›¡ÐÝÀÃB÷g‡ÇGž^ÆñvPºNž^Üði‹Jf4·Ã! Ä‹'Æåž^¦èé%Ä«5Z0†.ÉhuB[¤1˜‘ûÀø^ƒˆhÓbc6¸Š,6\¸”ˆAÜ/ž°”ŽŽ›Ô¤d&Ã$Д@ 5rÅÇËL‚Z�ãˆbÇ:“\в1Nƒ×�Ü©Pãýk*Â2€�yÔˆZg`F­rìP¨ ÑCÕ $ @KN. Xä˜� k0tóˆKa(¤j…€•–jÀÏUc %•.ç0$&ÝV˜ÀÏUž^*©Ôa¶´!Kž;̯½@¶H®ªR5ŸÁ�„ ñž{Þ¿ÀÓ;Z6 ·Ô1A Y›Z¶m{ƒíÿý¿ÿ÷µ×¶LŸ>3žH%Séy—]þî»ïIÿë¨Xsëf Þ!¦÷ÿ%ÀúYÏyz�~¡dFy/”Ìà~ÅD«úFxwY­QYí<|x=L¹ ñòÔe´ýÖ74“�—r›Á ƒ•eãrSÆS¬ê›ZQ>„{D]C¿«Ö¶N456µ¶±n^æé…†„R¬ÄLf~¯Çýmtc¢n^°Äà`¥Þ êãÅû€ï³šB§BÇK2Êm––ÞgQ%‡ @¿ØÂ$…3nÖÕUME˜/Þý•ê9‹_VißÛ!«ÞñaYÍj=C¼J­ˆ~•¬ Ok0á=úåÙrA …3šŠPH^—ÄKx˜!¬ðÊgH‹Áëj x~°¿KQ H˜iyãé|¡§Xê rùR<• „ã@¿ðñBz¦ªf(œ)•TÌké Aë‹F¢d:ŸÉ•ÃIÃwÌå{R¹Y¨”÷@-(²|ÈB‰*äèÄÒ…t®”É• ÅAq½K}…b_&ßÃÂ�8=Ë”üÑ o4]b|/o$ óF\ÆërèˆeÓÅ‘<Œ*ƒ¬æd®;™-žóV,õeó=qmUú%Kž^t&ù¸‹/˜Oh� �Ô®X*—4·¸b©/—ïŽ%³‘x†Ð/¤ÝÔN9Ò7`lxw!`é D“éB¾Ð=Hîr…bO<™ „â�C£ZIg²¡wrh­ÁŒÂ‚šˆ.8^ä9ëyŠTZRÄ«7Ù0¨¡’ƒÂ/\K|G[ìeàˆW:&î‹ì¡ÃÓK gp¿ÔT„Œž^•–(‚ï…<­²tá²5B¼@ÂÔΨPiI×¾–4ð½Xƒa‹|/Î`,hõE g YH ¡éCÈ3Žci‡q‡\‰u`'w·AÉLˆÔ5‘ÂY¬Ãä«PQí\7·uVƒ^ [iŠ|¼\ð'(œQ_Dèwàâ^¦ªÀgÕ_«˜ÞK”Wô^¥¹«j¦J¥ý|Ï)²=ÕxÛo4·´U½¼cúÍ„x‡@oÍ©¡ƒÿÏÎ@UV³ÔÓû§ ‡�ïâ¥|fŽr› v>¼že5×5‚Âg[ÕNïp>E»ðô’z(—§^556µ¢‘E¾­m�õ ÍõœãE Q}SKS+k-ªòñ‚ãÅ{¢[¨±¥�OîK¹Íà~áÖ€°„n@À¥˜^ªâxɧ”K¼. ¸¶´Ë€l”Îï4Ëî›vRVs•í7MÚžDr^‹»§BÀž%TÊ &Ri 2�¢ ñcL‡LÇ ôË�«û£*­A£7aç•P®ØÇË·l!FÂÃLD¹¼½@ìãås…§ ùxµ!ÔÜS[ /P±§+�Ë–�tÝ–Ê<ÜÄ˹/W53…3¢VeÊ9^±yÒ„P±1Vg—?Kg Ò7$ãB±/žb:O�ZHK†˜\Ñ6É¥,(ˆTÍ`ÃÙRšÁÝÞArº¤_3_ìËò*]ÆårU3çxÙ8]dîY„Kq÷,£d3¥Q NÉFR®».eå¯j¡Ø—Í÷¢k:ÅŠ—ºý<š!جô8žÉú�)IdÓœuGLw"ÛŒgâé¼ôbðŒÓ¹¢×Ïê…(æ2x]ä ÞŠ‹ðØį* Ʋƒò’Ëå»=>f«þZz/®è}Ò±³©¡¸ªÔº×_ßz*¬‹ãëÖ­oi­ø�ñãZG]&E¼ž-?ÑǨútœ5¿ÔÐÁ¡3p6gàO«æuëªTͨ5ÊíßÇ ÄÛU3¼¸Ã¸ÔèÄ/ŽÓ˜™~ëš�Õ xÜÔÜå3TÍPJWÎuM¸SÔ56o` ç¦ÖvJ±jnac)âmiíhë�7¶¶×56ƒtúKÀyV3µ�ÊÇ‹¬fj—îáÁ³ÑÔÚ›âìq»Ä|è�q‹FÅ�¢e”˵ñÊ ~tŻ˳š ñâ.Ï|¼ØãTr%óñr_nEáÌ9g2ÃàÑÂ5¢§×„X´á)TLkD…ò� 5²‘å‚V¦ÔH}¼ôÄ~0x]<)±×‹'%Î:£Õ`¶Cq ôË6€u&òîjôfN¸õº<]�ál.ãßÑkuS -–úé,<½¼4’ÏÌvr\œ]!“Ímsù 06Z]ÈkA7¯ËާrÅR_$š0˜, Aý;úúgüQUj�ÍáÎæŠÅ"�F³¾Ÿh ŠJ(™Ñ ÄË:ZÒêæ�gЉL1_èÉç».�Z;(.9¹R¥7šCáx±Ô—ÎwóäªnîãÍû£xw)Z¿!.HNæûHSÍŠ‹Òl“%ŽŒ¹RuÆÿŽ¿£ª4z‡Ë“Ïwç ½áX*™ëNåzX•W9ÛŒ!´,–.`{%�ï�&snøÀ¹\Übg>›+Ún•Fÿ;úúgüQåJ•Ád‰DÅR_4‘�� $¨#^e«³ËŠãFgwû‘$5¥²Åb©/Œê�æ3þ0¿¯ªµ—§«PìÍä w—ÞlWëMe¾—¥XY¬ø/…Y ´-r f»R¥CÓlºC´l²8�U6£¡4< �48[àgtíâ™Ä‹¨KC¦ç‘“P8`#­ XšÔdX]p$lâUëßK>^•–� ñB½Œ¾‰¶N9Ê{Ñþ¨Pi�ÙZH­SªuRo…×åݼˆ2Á �¯å6·u‚gå{J&C‘WA¼<æ ¨y.X;Bž^€1‡Ñ*ýâÝš[k0½ðñ‚Ε"Þ?œsÞ¹ç��<çsÎ=ŸøÞš:¡ÇšƒE q•&kè­«o"Ðûœë£h[aàKêš§L™¶ûë ï¿ÿû¿o{ã�R©FÆUÛÅWH¯ã™c�q±÷¨¾¡yÑÂEŠôHÍ/5tpè œÍ&I®ú¯ U³ýÂÇ[N®ªù^î­ã}¼4†ªYD¿õ,iêeP¸tˆ›šÛ ”® ^^äËŽ763pÛÒÞÔÒVÏ3œáã%Ä ~¸¹¥½­�ÝP¤¹ÍS\Ð&å6“�WŒÑãÛo¸ÍÁƒÑ!àé%Õ ªÌqÃÂ]H~ðîb#�P.q¿Ðçà¸LP“’Ü ñ €pšÎ�3À[4‘¥@ZÌ’§íD¢’™W¡RLn,]ˆ$2Ø,8›Ïð{|­Él+–úò…žD¶'™ï 'óÁxªf¹Ìâ�xZr6œÌƒãõEÒpÇ™ 6 zÜh²þ¿þÙ|æh,É÷ z˜ª™¥|¥“ÜÂÍÚ¹Ó�¬f‡äéõ±Þf¦d †¢gó~�¯µÚœ\Þ�|$çÁÓ‹ZlÅM°æbŒ¼$TÁó¢Õ�_ÿl>s2•-–úxò? SäUF6Äe¡ÖˆÅeÙÝ&«“—ØÈÇ[i:à‰’Ø_F•˜ˆ¡3ÌvÀc‡äŠ8^xn«/\QÒç;LØmÇ9ÜU´0ÀŠ[áXTø^¾¢�®4d‚†q¼ÜœÅP±¸\Q±•‰–q¼àr¡j— ô  ]4/aŒ!²ÃXvñ> `¥+1Œ¡øCV3V‰Õ�%£ k?¨šE…sýbñr/ijí¨Øåʼ.dÏ8Ž1â`ª™^âu‘hE>Þ�ÇÏ;ÿ‚3óô^:s–L®$�9Y1Lïs®�nѯ¡ã6»sâÄI‹_5oÞü‘£ÆèôÆ�sêšZå î“"^aɺ:…Žfvʳ.�E­98›ß¢¡×��šgITRU35‰>^žb5 ¹ªžÐo]]S8×3ﮈxëY¨U�›ªãc1¹ªžMQn]SeÌ!±¨væ]GЂ˭oh‘vö6·0…3€4r›!¢nk“±×JšŠ°£†­µJo¹(H7 R2µ’�~@¼ƒã­CÀ ´Œ¤AirŽ“{: X�À@ÅÒ1ݸ‘¦Žw|ò±�§�X,¸+GAT3O¯FJY­cÑÿˆ‰ÖßË/#`‚)Ê@¿ØîÅqB¼ÈjFt$&h â{‘ru#¥cŠÊ€ÌÉhv8Ý ô†"ñšWæ타-âEn3â—«ûxyr:9œÞ`6Ϭ¼ƒ„«”^ ž.vÍ$Óyi/ÔÎŒ^KæZËh7ÎñBíÌnÓæþå ¹?–¾ç`+ Tµ<ºè�¦R…>•ç¡S,-9œ,ã,t*™ë Æs¡D¡S�X&ÊiÞb©O)hÃé’~G \,1St –¦¬ftP§ó½0cÙc< ¥¾ðñbœÍ³´O—_úžƒa¬Ö°Ïâì AÉŒ�;)â…ªÙå #¹ |/¯?̈âB±w0œ«ªïŠ0u€ÃãÇ‹žÞrïkÚÖ-:“ÕâpyŠ/º…ÀýJ}¼xj‹ž^^¢ ôË^ ãñ ô«3ZÁߢq ð½x¦KÎ`’Ú `w‚ô­EìÑÏ÷Í ñ**1cÆ)*œ¡Iúe,/\$Ä ^Þ]®vfðü0ºy±^¢XPàg˜€q%i…«� å¢È«5й " jÊÅkB¤[�g†ÂëFB¿XdbÁ‰E)Lp5˜^4AÉLˆÉU@¹Äñ‚®º†ðךH’Ž5ÚfsÒ_»;'è}Îõ‘¥ÙËþSCk]cµb™^rªA½ÞixàMB¼ÚÛžmpŪ&[mŽÑ£ÆT¬úkÍ/5tpè œÍ>¼žÎð÷ÖôñŠMEu�,ÂJD¹|Ì£­†o¨øxËèWL«âèWìã­gT8Ž>^îãe$0ñ½ˆeÆqêãÅä–Ö„cµ´v´´2¯/Š|EosR¬KÜZññRn3õô‚ÕÎå ÜŒ@Û W<½rùÂH«B3“³+ˆ$)òÊNà¦7ÈA¯Ç‚§Wk´˜íLÕ¬3YQ‰dq¸5³ˆx­¬ Þ`¶[ín<‘�fL¿U>^£ÙÁø^ŽrÑTOäW@¹R)“@s›.œJØÝ–zzQä[ñô–Ea`�¡d†Z:FbHe¥Á?�L©âeÑV<ñD¬–à~]˜~�`áé%¾Î2j*ÂqXÆ€�«ø^,Ï€x!Í“&­`2æ Öˆ¤Æpáb,E¼´&$�` O/sçuˆZÚ€x™ê°¦§WŠxÿpÎyçœ{>ù{�x¥­E5a@†¬ú«Ùl½øâqtPÓdZa~Žpï�úUøO绯¼H¡i§´tvLYêzé;Ïë¿XÝ#›sG½¾‚«¥¯;öb³Å&=2p\óK :gsñV÷ñ^4¬¾¡©¾¡é¢aÇ ¯“¦Xñä*æû­«khlj©c`–Û 4KªfxwQ)Äb®¸�Wô÷r¾·º�·Ìñ2r˜Ãã2ÇÛÜÒÚÑÜÒ.A¼,Å ˆŠè¦2â­o`“[Û«=½ Í­Ø„kli£z4²UЖ[UÇ<½ØÃ£>^ܰPò†ù0„ á�ß ÕR/ޝŠú™òn"ªŒä‚Q�}¼p�¶v”}¼JU»L�=N�À@¼x7ªq‡Þ]B¼(ï¥Ç šñÜ»«Ñ›5:"ÁßÊ”´Ø£;^Pëõfvd¡jÔzø|ô¼Ü“üH)VÕ¥z3tV‚Z?Äô¢�7øuÅ>^Þ< ½ŸÃ°8¼n_$I¢¾Òã�Bø7hAo*S@ <–P8§r=h$Žñ+o Š2˜x¦è D‘d2×�æZÓA z…›Ì3ŽÝ?é"ªtÓ¡S5§ #àã…Â¹Ü <’3½ƒôÆÓ ^O NdYrUºÀLãå>^4¡F؊dz¥d®‡9¨yŠÕ ½ùÛ“rû"¸³Á�owû™5:šrx¨> FS6—èeã.#Ø3ÓÛå�—kuz8ʵ¡iO­7¡gÞ`q¨tF ^dMñ‚¶5Yœ¤jÇ:“Zk„ dŠØPk�f« éÊèÊÕ›làxñ|‡[cÂla`²Qr¶¹�r±@¤ˆÎhU:‘ã-ùbÕ�2E�ÎÄÂ8å¬ZB£7"˜J¡Ò"ØkìøcŒOÄ|b�C g¶ 㜰ˆx¹5 ÁTàÐÊï.VeCÕÌôÒ fjƒòË<,ƈãE°3,|¼#ÍãjoYáŒn^ÌAÃH ¦WÚÓ ï®ÔÇ{þ”"Þóο & #«Žt—zr¹<×j2[oc}ëÈΩ�ÛwúÆÚXÝîðfùÿêÝuNlÕ°vsÕË¥e +ñQª¥�)­h9§Þĉbî–NCƒQ.—ï.õTø×š_jèàÐ8›3PÓ»K ç âåÞ]L®ã㺺†„ëPY/nEá\×TQ8ó1ÎÒä*L Ž—õñ6·Á÷‹˜«îÝ%U3H`ðºRŽ·¹¥�zz1²S¬xÇ/%Z¡›—D&¢’™×—K)VÔ½&Uª€Ë¥ä*lÒmê°Ädad,Gª¸o‚ïÅNá@U3¶91cÌ�&ïIªºã£N]4Ãô÷ôâBªf ^Â=Ëp¦çPEáÌ·l±õ‹'b‘P¾WìãåMèëƒ�WÚÍ ƒ�ÞlÃ}¼ëŒVOWp�3½‡×îöCÕLíDèà…&�¯7ux¨Õõ…â¹Á-oŽ%³¬€'S D’ž@¹ÍˆÀ‰ò‚ðº,¹Šg8£)(œ£If–Ì 7‘íIG «9]dè7”ÈFR¬>—·e£éRYÕœ�³É#cV9 uô ez3yæéõE’ád޵¥ ¨ÀMåz"É\W8^7”Èv…èsß›ôòftŒûBñ`4ôë'‘¤Ë®xz½A§7ˆ$q£C4Ý ½.o\.zzõf»ÕéA•Q…ã5˜Ùq».\ä6CÕLÉUÈgf€–sª”bd x¬5X�b…=8^ b£Ù�ÌŽªç;/ sU8^²A‰UFü犫 >– Z¬:°ŸŽù*�ûì0aañCž^¥Z'º·x´§t ´´äcØÇàü‚ —ç6k!УDZ•Ay‡¥Îx‡Ö9 kbC!H{z!$v HÂRñ`eÌœx7*ï­áé%^—8^ò÷ñâ8Æ5aÀ@Yu¤¡±9—Ë/^´Øã©`ÔÎa¶pÝf×î ¶m� ¬÷hX»åŽÞ÷ß'~wN|Í…B¼êMþ©¿z<ÞÅ‹çò¤ý+/¯ù¥†��³9@° Ž«�ÉU¬�—ç9K“«°YÃ_[_Wßȹß&in3ñ½§ìæ­k‚hh¹¡©hF_âx›[Úq¼ ñ¶´v6µ´×7¶4qÄ ´Ìr›¹§·¾©® (™+ˆ·¥­†ª™‹LÄ@ùþ7#òñRÞŠoK{'�±¹ˆ4,xwñžÈH@}e'à>‹pD1CcC7kÜdÉÇKÉUØ¿„J¹C®¤êöN…@ñ Ж£ ‚V£3*T:™ÉUÌÇ+Sª•j�Ö`ƳG­�6¢§·ÜT„ry&a+W£3áÁÆ{�ÌK}>Tô‡@HƒÙ.E¼ˆpÔ­&‹sˆé•&Wýâe­Eý}¼Vg—Ç…Jp�ƒÞT†©—¡pŽ$2Èmî Æ€xú 'â™bì¶D’¹ÏjÆÒÎ÷†Y4•Èv's=ÁXÚIÆ2ÅAïéívù¾P<K£‰ /¯¨jî ¹|á@$Iž^Ñ rÐëôúÁëêL6ðº•+‡Ûhuj�½Ùnሽ P8csÙjCž�f(\ _1ÅJo6š�Ck Œ�Z ñBլљ¤Ù˜£7Ù(¥ä°h}ârhÚ/7™Yv¦Rƒ8ð½j­‘/8^±ÈWg¢¾tÑvòFFµÎÈ=½¬�‘¯týÃ= %ô‹ÖF,¢° ªxz%�‘”á Bê㕪š1†õŒä{˜ 4Û.WÒú�/~èø ¨T¢Uö¸ô¢�ݼàu�x©§WŠxÏ,ȊЦVg˜4ir©Ô­Ñèé ±Éy³þ¡¥ºê™ö²iX‡ýŽÞ÷ß&ýøß&ýøo#>:7xçŸtÝÃ[54¿j0¼EUר¯÷H£Ñ—JÝ“&MÖê U“Oõ׳Á6C¯:5ÏÀ°áu¬�·ŒlÅv"ÎåJUÍ☣_îémÎü½ �×Õ5U<½|Œˆ)¨š+ gIŠUñrÓ/P.2œiLž^ù¢›—ùv6¶¶³ú"ŽW¹ò™/ƒÇm�ÈdF<ÔËP8ïKµi˜ ÞŒZÚ°¥‡H=HŽñ>@¶RÏÔÎèËÅ�|,uóB?C©€¸Ÿ¢‘ˆ\%ÐÕÈ­B¥Å6a¥›—‡QßKþ^ˆ–±U‰+©Â”2ëæå FØ@ŹSb¼Æ€âx±�W/¢_h�ØçtȽ ²µÖˆ‡‰—àãÅV.ö€‘ñHíD*��RA­'é6’±©<äéeÞÝ®šŠÈÇëðÐÇkqx‘\ewûm./Îù!ƒVÞœË÷ ù3ÏP;q¼]¡xŒq¼ÝÞP¼+œHd»Ùˆ¦\¡oP3½Ý}¡D>˦‹#³Ý£ýÑL0Îoº82cݼ¹ž1èæ�¦KùÞ±ÑtÉÍij=¹ž1CžÞP"›.öÅ2Å®p"”Èfxé18^WÆÑT ’LdK©\²Ó­¼9—géÍ‘DYÍ,ò:žA7/¬ÑOªf(œa[è Æl.ß ½]þˆÍåå gR¬xV³Ýâ`yÎ[�ƒÙ4Kž^“Å Ä‹‚@‹�‰–5:“Ùê"O¯Ùê2šHŸ"…36£bõ&j� ^†vc ^ŒaÍ…›©¦Â°E®áªfQYÆ÷Ö‰ï•)5rA‹%D‡œ![؉;j,cdJ S> :µÖØ©d‰Vbk—Ñ�²4zÑÓË‘-΢PN!´uÊÑ”A g¹ )¯Ä42AM/ÎX¹ÄE“�ˆ·©µ½j}w[SkÖ‡MR¯DáŒ\U¼s Oïùü UÒ« .øÓyç_ðÞTtþ$†¿·æúþT`ràñú†f¯×7göœt:#íÚ�´åóc1X»ùõ½ÜKÿÿocöÿïâ¶?¤Ÿ:7þð9‰õÈlúßÅ­ÿ'ÿÊ…:&�ÆŸ–Ööt:3gö¯×'-I¢ §ÔüRC‡ÎÀÙœ†ry>ó… »�ûxÁë2…s £›wøðzlhdAÍðñ¢_—8^øx‘ÛÌ/·é64¶Ã‹É"¯[×ÔÄ9^ö‹ÀM¿ðîý‚ãâmhlaJf ^~ûhli«kd>Þ¶6Þ¿µ­“yz[Úê›Z Aihn…�·¹­“ùxQ8…Å‹>޲™”Ìeo†xGÃ^]ù.Æ‚² 4F„=!^kÑ Ä+ŽyuÅ\áފй �CX¡Òㆠq¼äcÁwy ^p¼ðŸ”=½ìñ€‡Ê{ű\E»­âÎ+÷ñ¢€ú"… ²%”K1ŒxÚIûú0™ž‚àu�riŒG²Fo¦G,6�]žÁžÞìöEL672]ìn?’«Ðð¯?œÊ…CÕîöcò ÷ô&Óy$âH}¼É[^û9Ç›Èv»ýÑ@,Ï–¢é‚ÛEäU2Ú?1ÓÛNR…™Ò¨®p ÉU©Âo(M—r=cx;Q:žíßë�fÙžl÷èHª8ÈAo"SLú¢éBW(ÎxÝ|o$•÷òí•T¡/Ï`{%™ïí 'у»<>-9¸ƒ¬ò…îp<Ĉ$áãuzƒA¾/`wû¡dö‡Vg’ €xݾÈè…�׿òZnæÝµ8,·Éæâµ¹¼b‘¯ÕÄ«ÒÌ| |¼ÈL&¯Ö`±ÚÝxÄëM6³Õ…øe�Þ BhÖdqÒ.6|¼@¶P2CÏ…". ´-…}ÍêM6òñj ì§ãót*Ô@¶j­±C&`¹Â<½|ŒwÃÒî˜�üN…ŽWŠr±ôX9±ˆÿ$/ÄqFA‘oK» Ý�@¹ �±œCïyzb¡Îkí�Ë+ÔX+ÂÑF,|¼Ím�TÃO‡�Q®ÀT²òÞ2Å‚«–vY5Ó /ywæ,õññâøY2½„9›[ÚR©ôÂ+†B•䪦†VšP×$;'ù!Þ�ƒÿqñÑ —Õ7´ÐKB¡ÈÂ+¦Réæ–~Ä/Mø•ÁÙ`›¡×��šg€T͈e╎IÕ £o}CÓðáõ±@ªàxë>•�ès�ÕŒ±´�Jf¨�›[Ú�`IÕ ºXìæmlihn%.—)™9âÅäÖ¶Næéå /î/­r†~[Û‰×++½á.F|/úÓ(­Š”Ì¢šE¦€é—îz¸ã‰MAQá¬TAÉŒ Øz¤v"*OFÐæó~fˆÉêÐæQáÃñD3Œ¢‚xÅG ï €Ö�q·•8^�©ÒTÄw…Q»‡ry<�€lñ ¢v"t÷Aɬ71ï./21¹‚~¹¤Š·nïi<½ºìâÇž¼)£WÑ¥«Ë.~tó³ÏlÞŒ?OÞ5Õ¬èàÓO?µæÞ&gÜJ…@/Á€æl|rß—L›ÿÍ+�é÷¯]TT(óW?<#¬/ÿD•¥x͆�·å êò‘ê#S¨,‚�ª?†x½A)Çë DÁñzLÕlwûžÆ§“7»fÞ·é®)AÉpͼï:o›Ÿ}dN ST>ñȪ›æ�vé*§ºüÚòœg6mXyÛŒB×Às[ž9àk*Õ å€ƒ Afì]öøÝ#ljׄ;Ö.éS±,µ9=ëÞMÛv½÷ö‹k¯ËÚ´§zOTÅ’Ùpœ©šáã�ñ>^_(î Å1ö†âþh*ž-ų%/—V&²¥X*Kæ~ôZGݼqÝ•Uå<°#åëí™Í›½aŒF!ÐÁMŸX}ϵcãÅ€KŽæ<õøÃw.šè•\Ƨúv§;®J\öÐý³2uêÚõ÷]ìb×°ÊQXðç§¶íz÷ííÏÞ93­ð1ðžåÊ¢ÞTaDº82Ïñb %s2׈e¹éw$r›ýFÓ¥@Œy¡-½Y/\óÔ £Ý•¯ „¯X#þž>³yóægVNêÒÈèà3Ï<±~ŵ3»­êÊ©_[žóôÓ¾ÿÆI)×Às[ù)Uß÷—œÜ1éÁÇoLëU¡®šŸ‘K_¥ /ÞðêúýJ& ²([è‹gK�Xšywó½ ýrï.—ˆg}\ÉœÌõ„lœÌu'sÝÁh*MåNçé횺|Óý³ìÊÊy蚺œ~UŸÙ¼ùáÅE…B ƒ›6>öàí‹ú–~ß‚`šóä£ÝrÙ(‡¶òž§[ÛÁ‹Ô½RŽ·Êß+E¿Œû=ç¼òÖïâþ<ù+ÿI®F�=~܇ÃUsÚŸLãþmì¡jÄ;ñûsC÷0Us™àµ;\ãÆ�5r´\ÁŒÁgð§æ—:8tÎæ €¿%”{áEÃh^.2©B¼¸áÆõ2nFØ·£¾5ÊjnâeHÔT 4°Ø-R!åâvYÎjp?e‘WšÂ*ŒFu¶%YŽÄ;°4o$¢ä*4ª‹wöòg?ÄË“«Ô:VãÎã´xð ¯L©ÁãÏDL¡lù A&›¬T¯AQ¥�Wg‚/1WÒüFz"V|¼¼J�=Vµ˜Žð>z“Ídq:ÜLÀö+=½ªÌ{n(ê+èQ•¹cÏ�篚5gÖœ¹³æÌ�qqR«øÁÍ §NŸ~éü%÷lüøä·»×N7—øíÀœ+¦Ì˜uù k¶úÛ¡'GÛ*oûk¿AÖ‰�½x«_¸|Ô�½Çc³‚2óø§Þ^×-B\Sþšg÷ïùø³�×—${àûô"˜ÊÙÇ ¯ÕÙåò…èbqx�r)Å Høt ×}õk‡7_’ü\väõ{ã¼Íš}iÁ«•)ØÁ×î™?mú¥³Ýòȇ¿;ºe^Ô(y•P™séü%ËŸÙóí7/.Lý6¢í¾õÙå»ú¿{"+ÂKvì¸Ý/¨ ·½¾ñ2¶T.{åí·Ï�Hô,X·û«�·%°Sú½ék!Â(è>^†~™¸´\ë¡ÍõD“98qZ¦×4vÍáÝI~ºiìšC?~Å,v½±KndTPìàG�Î�:}ú¬Ë¯ð…ýß~óæ�ëú_râœ)3g/ºõ±�_þõäÛ7Ò/U5–{/{nóURTž`›óÄ®ã\r÷Ü—ß¼'Ì>¤sæÚ­›î˜×�Îä&ܰõËãO\*Ý騬Ê ·/UÄ›íM>^¨šƒñ\,Ó Ž7Ïñ†“…P"ŸÌ3Äû« 7z×û‡/ùçØ‘gn™�óvé¬iI»ZÆnºaö´é³æ^}ç¦]G¿ÙûÔD¯®üù.Ï™>{Áõ+_9ò·c�Lô›ÐÿýÁ±coܸ§Pëì ñë_\7³ëºnË®Û Uü†7·\ïæÒ>ùÑ�^¿ÿ²yóçΛ?wî,~'©|:·"èÍ3O/|¼n_È6MI¯Ótù¡XE¾n_ÄNxÑÓ0½Úîõû÷.+Hþ¹µÝëöíÝpÍ<ñ’›91lRËøÁµ‹gN›1û²kï}a÷±ãï¯êµö¿ùcΕ3gÌYtËÃùê‡ýËÇH®äZg¬ü5�—o|áŠ`�M:넵;7ÌÐ+íó6dåóUþÙO9üÆ-Ó{#¡X"êNñνN¯¯ÎdÓ›ívw<½@¿ðô­N‹ƒ5‘�Wg´âÅֳůUÍzÀU3P+TÍ@ªh*ªxzyÈ3r›É»KÏwj*Âûˆ�Ï<ì‹ ÿY‚ZÏöÖõf�ÃXH@5F¼.-Q0ÇaVª˜’YΫ%ñv*Ôªr;#vÿÅu‘R%hôH]¦…¢U@ÐXšb…1ø^px¬ë‘–JÅ+ Þ¦ÖÎ�ëCH iaI¡0Xdâ8ÊA�ÝØÚ^ z©§÷œsÏ—úx/¸àORUó¹ç�ÿ‡sÎ;ãôæ_¢F“yÚ´éù|Ajw‡7+ÎóÝô?Æ}èû²Ï^$óл ‚&Ÿ/L›6Ýd²ÐÁ3”ÍjÜ_†þÓÐ8³3páEا·®�TÍàr�~1FÌS5WÎ"Ê­o`-»ÃxOocSk}C³t,U8ƒ&d‹¬f´�ïÅYÍu<æªSQ'”ÏMÍm­m2ÑÓËé\¦dnlnmëlk“‰„p»¬¹­ªfÜSÀñRkD,äÝ¥ gÜøÀ!S«x#÷l€¿eªfn ‘úxšnVº)ˆÉ2AMhŒÛe òîBá T,nO–m'ˆìÇö$ÆHä4z@å²’Y‰Â^¥Z‡L,µÎ¨T‰¥dŒÊ¥6<�ÎÔ!Wᙄ¦"(œ5:{®¨õØf¦_þЂò¼.šŠh¬Té€r•*|¼@Å0QÍ=Ò#‰�]g›Ã{ · 3²+sÇ 6Vº§õ†•¯^2jÄÂg>?ðâý·ßrë ãBe.HÐL–àÌÇvn˜iRym~óö]zm¿¨¼kÁŽ£¯Mwצâz³ù8Á cÒ…þªæ’' ð0¡X¦è ÆB¢Éb®NÛÓ[ôVÁ`½ÒƒªÐ‚¿|½ï®^›ô’ë÷VæñÏ=xw[ûj¼#ßùкµ÷_5!¡áôZט«¯›Ñ{å½k¾qÚ˜Kïßq`×ã·Ýºìú™9µô’Ó§ï}{Ëü¨Ý=~ÕŽ'æÚtFu?ÎJñŠ�Þ¹{dM*ž@¯?š‰¤ŠÙîÑ™Ò(4Us2×ë�fb™îl÷hðºÉ\o¡ïâp²ˆe“ù¾|ïØÓÈ›9Rz×Lèø4ÉAûÔuŸxú2Kùk²Øoަxû»‡7_Îö°[vÆM+×mxðÖyI®�›²s–ÎM{Ós–=´vùå½c—¾vðó�w-»åæ%½žòõ£2Œ–ô•Ï¿qßx½&rÛ¶mW&z�xÉé²7ïÚ½îú•ï¼~:ÐKå¢éBªÐIåÁëfJ,›•eK™Ò4å�¦’¹žT¡ÏÇ‹|S¹žd®;ÆÃÅÓ[ôÞv�SƒeôJês7ïþúýk˜^£² tÏÚLsäî¹ÛN|¸$Î&èBã¯]¾vÝšå—� qœ¬ N¸nñ„lbòÒ¯½zÒ˜…ë?Ø»mÍ­·-[21^ÞÒR)µf�uô#ïnšè¶Fæ>¾õÁI&­^©üó_ø`í”Si èóôæòÝþp"’Ȳ䪮öœÞ ¼»¨aÃØN`�!Ïv73¿üÓ[ ô®ß¿÷ö‚™>p@[9(t-xöÀÇ«'÷Û¢ê7Ç8~å'Ÿ¬žÌ¾ ÆÝ{Ù²Uë×-¿~zÐÈ®…sÄÂ%SCîâw¯yè¶K»/¹}Ç¡7ܾ얛d,åû˜Êh0X{nyíÅ{uºÜŠ�/L÷ÛtµÌ8ò±½ßš—PÓ’;égèõ¢V§ò Ï IDATGk´­N»» g“ÍÅ|¼h*âܯŽ×AÕ̼»z³ÅÆÔÎØ¶/ߪ¶Ø˜�ÈÖluÄÌvDlj=E^©4xz‘ÛŒlz¾Sržã@³¨5‚‚ }¬.tF+TÍXH@z†Ä$WAù%r¼<‹øÞN…š£\ƒFo¦1k-â/)œ±þ…‹1lº=Ñò™*–¢B(—8^ðXÂ�1¦%’«À4ˆcþj*œQ‚×ÒXìæå¼.Yêðy L¬z¥ÉU8ç¼syOoâ=çÜó�¥�ÏgJ_ÒÐØì÷çÍ�—H¤¨ÖH:¡®¡uX‡mx[%þª¡±9‘HÍ›;ÏïÖ~É?CùÒ ��Õ…KˆWêã%ô …ó°áu˜ÜÐÈ�m•�·®žq¿Ãë‘Û ô‹òÞ*U35AÉ ” ê˜5ñT*p¼MÍm˜LjgŽx;¡|nneME@Ú€ ÜÇËdÏ@¼ýºy%ªæ¦Ö Xä`‰Aüf„Û™T½ŒÉ¤Z�ÒXT5+U˜I ùxáß Û%¨cž•Ïúxb1.�Áñ"æ û—€Çs…¦" ^Üñ±ɲšU:˜aÀñÂŒ‚»N¥(’)5� 5R‘�ÔDJ®B/ø^ \låD¹ZƒEÊñ¢‚O­5BJ% xôBO…G)ÌBj­Ñí œ!è5h”ûõl?@Ë–ºËwïy´qÑoަ°fïÑ5ÜŠ®Ù¯}ùÅ«÷]=cÖÕkÞ<ôɆKÍ Á5íÉ�wlÛõîsË–.�?cꜛ7ØýØ¢y—ÏŸÒŠkÓ„ûvîÝwðøñc{÷îÝwøøñ#ûöïëº2Å$D—¾ÿÛ@¯Ë&U3µÁÒ†`g ^R5³*K.�Îç=ÈJŠT±&fGž»"®ÔüÔ�¸®ž&÷/ÞõõÎËRâ¢ßœð•[¿|c©SiÿÀ‡v=rõìY îzþðWo^Ñwªs«?Þõòk¾ºêÖ«N3aá#»<}ËóæÍ)u‰Tž¿î/û÷ï;zâø¡}{÷<~âøþ½{ß^5UJ1éJË÷î]›=OÐOå dNæº¯Ë câY†x¡jޤòn4Èb®ºÃÉœ' '²Œ‚;�§·RåÿÜ8V÷»äL3O{tÿî{ÇH™·~sÌã7Ý{{Ñ¢Ž/ÙuüÀÓw,š1gé»�½wï8­B/zå½7¶¾ûÖ“·.½nÎôé—ß³åÀ[«Ì»|æÈHÁ:çlxïþ/N~}”]r_žüúð¾ý{^�,s¤Jµ>8ë¹CVŒ“Œ%Kê2èí…’9Uዤ�r“¹^_„ùx³Ý£c™nVä›ë%ô p(‘?3л~ŠOüUÅNJ?@Ë®LUfÙçÇ_šä(cÔZ ÷À¦¹F¥köãŸíÛºêŠKg_ýà¶cGžŸäÖÊLãžúø­-;>xfùM×\6uôÔkžÝ÷Ùú% æÍ�™vˆDß{÷û÷8öõW÷ïÝwäÄqv·.ÅH6Cá�wÞ¿kThÂêÝÛ–žžéâÛ‰ò½ádÎI¢�7Kñ">-Ϥ8ßë'ÒYf#ÿçAïR§ø«*Þ夀–?ýÝ‹_ùòÍóR‚Z:GîžûƉ÷®Šè�=wvüãu7^>ó²[ŸßóÕÖ»…:wóö¿¼²åýíëo¼vɬi3¯\½sÏ+÷\vÙå3züxÃNe`ÉóŸìÝÿÕÉGöìÙ{àø_¿>²ß'':´Éë¶½õÐe¥îù„_'ÑDT­IHÞŠ¥�xC±t ’´»ýn_c‡'€±/·¹|Þ@4MyüQ›Ëç ÅÏ ôÞÝç,_rüÖÇí2 6Ž^ýÅáǺ9ˆ?sè]õÉG+&¨„à’W}öâ½ófν~Ý;_ïÝÐgQË\s^ýäÍ×ÞÞõØ7\5ç’13oÚrð½ûΟ;gc•ùoœkÊÚ�÷ï;üõ_�Ú¿wÿW=ùÅÞ}Ÿ?wMN[Z¾ï“3žÔØé³'�ˆëûíXUv.d  =½àuÁñ­N´i fƒÅauzâ5˜M6j�4³Ùî¶ØÝ„~�KuF«ÅÆP.¯ÅÆ|¼x›­L �.&c «Òª’) ñâùNÏzT"Þ’ XÀåO/ÆØgÇkÑÍËÆzòLˆW.h�xU#]*•Ö Ò°æai�=”ƨ5Â2ŒW0j:äŒ €�ÉUXDI›20&ßV\„„)«ªf,ç¤K;êæ…» @0"4&U³åRrVƒÌÓËŸÕ ·ª�%½àu‘\E/­ª~ýð×~õŸA›Ò¶¶uäó……W,ôBÒãÇþ@há óùB[[çÀÿzGj~©¡ƒCgàlÎyz¥è—)œË)VÔÇ‹ƒb7o]#)œIÉ Ž·’bU×$íæÅ0˜•ñòò^êã­«o&d[ßÀ‚©¤ž^Œ›šÛÈ»[Q27¶´pÉqCs+¢˜¥¯èé-»&ËÑyàxAÀ’­¢]¦h,K ‘bÕ !^R5#&Ç«Œýn‹Jxf™ ¦ÝD㾌{.uóÒ wO±�—«�+ݼ<Ø÷h‘ãå¼.Âñ¨PªY½;v.UÚ~YÍðôÂiù�ÉÇ‹ãx@Š0ÞÇ«tJ‹¹Â&1&`Œ ŠÄ0š5¡)V©á²çÓzzkÊ›÷ÿòó�?þðÃ?üøÓ÷o,ek¾~€–/;B‹_?¶õZ©b�ÏyrZ÷¨qS¯¸÷Å=_´2gÔ•nç“õÓDÄeŸúÒï]38¦=õÍñ—&qÃ$3°�^}ð½;ʛՉw¼~ƒ[©sïöGfõÓ”*Â×þFЋ´*�Ÿuð"«ªf ^o€-þ°ô¢€Ç¾P¼+Ëž¦§·Rå÷÷•¯žüÇOüÄýðÃßöA}=`šiÜÓG÷Þ–—(¹ú…›&�¼xʼ›ùèø�ÎÊ=ó¶ýË\?—nÄ=ïî^5I­É­Þ÷Ýö Ài�BäÎ÷¬ëpwr\¾y×½#Êð’¿üeYõ‰Õ¥ï|ëÐs ˆnê·”)€ÞD:OYÍ�H2–. ­*KÇ2EâxIáL�2§íéí‡TË ÷ø?~fÜ?üýç¿>Ëõئ©s·¾wpãlÒ€ >¸û¡ =£ÇϸjÕÖG·ßÒ˜&®ùô�»G+ü w}}¦GZ¼õoë1—Í3Ÿ>°åš�òfcß»ž¹Ü¬´ÎzlçݸaÜýï?ùýÉÏ^ºmf®¼/S}Þô¦ #R…ÄëÂÇ Ä‹¦¢d¾�o¦4*SI9èý§åÍw¼÷]rß¼{7Óc½2לmÇßY*£÷2è}lñ¸Qã§]qç3û¾Þwï·¿þ££Ï�·[¦nøì­Ûzä¦qO;ùìü¨ü4Ň÷~vs¶JŸ/t*ý7nÛqmÒ¤/ݽó…ÅVѼj¾øÞ·¶Þ1Z­Ð�}ðƒÓ‚Þl‘¥X‰(7ß[öîöÀLj¥ÑT„Z£t¡žÞh2—+ôþ³ ×5kó÷•KîØÚ‰L“"´üwJ?öÁ�?|`üðí­[ÿòþþ“ß~ñÒP?¶™~ß ôJUÍn_ÄÃS呤³+äñ3”‹6�?ŠÈ+˜>Nïé­Åô>¼ÿgºä¾zíZ—R¦W z‘ëvŸxmšS²ÏÂAïŠKÇŽž8ãªû^=rr÷ y‹¾çþƒû×Dߊ{Ñˇ^½2É.×o¿|xR—ø5Íž=´s ¼¹S�yàíW.õjmÖìX?'Ö5óéƒîܱëÅU÷®ØøÖ¡C¯.õŸB|NòfƒÅAªf“Íeww,p¿6—Wg²i�–2âµj�1Ø™«‹¥ªfp¼P2ƒã²¥`gð½j­Z-ÂxLÌv SH  办^½™¡_� «,uI¹ÍŒ×åé!°DÁŒ1öÖñžÒj …ÀÐ/ÕÉ5/k-RªÊÙ%Ì8ÄKHͺåøO5¡_XÕ�Û ©íª”wÄñâ=aˆC()ŒrèÈ@()8g˜é(åêhxz¥% @¹$0Äè[;ä5@/¥X�{£sÏ;ÿ aŒ‰ã÷K¿xÒÁàÌS½DÔã.f]³Ù:pŽÙl5rô¸qãA=ð¿žñéw��ɨ«k¸ð¢a„xEOoñRŠŒ¾@¼¼¾Häu�xÉßÛÐØ^—8^•ÁÇÒ˜)™ËMEÌÌCž¡|â•æ6ñ66µ"Å ®àÖ6Æ÷¢Êˆ©�[Ú@Ûâ%îWšh…ä* aй°Uý’§<08^iŠP.³ærï.Þ =le³‡ÈýBC)VÈv&Ž—Ú‰€l)«Û–@³¸áRr9x[±�—­ÙŸog2¡2¶Za’+Ý•*¥ZÇÑ/낇ÂYìæ•¶äñ< ¹ %O/r›)ÅJÊ÷‚ã…êIš\UåãÅF2ùx�‰ûÅ#Öáê:C¦×¨WkÙ�o–½êäõo~î ©­—áç{ßܾýµŸZ~Í$ž*d›ûÌ�ׯN‰¿GBô®¯™àvN{êÐöà^« zÖ䘉—L¿ù¹·žX:iÂ̶½ußÜ)ãGÆiÉøÛA¯³+ÄllÜÓëöE€x¡j&ôÛŒaŒÜæ²§÷Œ˜Þ…I5«�Ò«TjŽ€^ûôW¾úðZ.‰,ß^ÜWm9vøƒÛ¶¾ºqííSRN…BÐþ¼ÿÚL9&Ç3ûÙ#o,ujríÙ{WIïÕ½wnâ„‹ç=¶ëµ¥S.™ºtÓΧoš<ù’¼¯¼hVoþt×Ê)& EYþ"ŠèÍpO/Š=áãí ' :�¦ ÞP $”ÈzCñ ³Vö€—KrÚíWÒ› YfßeJfµVzÉ ˜¦±üÃO×^"Õ|šÆ®9rì“íÛßxõ¹'î¸b4Oò]¿ý‹�³üâ—Ò1SâíshÑ–}Ï\FßÚ5ô ®ÜøISæþù•-«Oœ0wÝŽ×o™vÉøî�BmЛìîĤß:ºóŽ‘RDg¯ zEOo4]bžÞ\o(‘ßÏöð>^Æ÷bL|o$ULGž™§wýÔ€Z#^rìà ½L\pâ�ÙÌa^êlÎ×Þݱíõ—ŸXyãØ°U®¬7‘ì=ŮپÓ\ƒiܦCŒÌ_[ôÝ“Æ�¿òÙw6_1é’Yw¼´}ÝÕ“'OJº´¶‹Wî~óŽ(“Ö.^±{[y³¦ò1ÊŸ§ÊÓ›*ô…“94Ë“ýBP�Ìõbi\l‰l)KGÙT®'ËEgÄôö»ä€^ó´G÷½s爲€�=÷¬Í_Ù½}û¶—7?rËì’YPuª÷}|¸²÷d™üüï]6änÙõáªIt© ½_qâä) ×lùÏó'L\¸qçsWM¾äâ¼Oúãd ëÄÕŸ|þˆêªNyz¡^†h¼®?œ€§7KÃâŽ7Co€e­Ÿ™§wýþ½wõ¹Ê¿ª\Ï2€éeâ‚cÏŽ“ÚzµÝëöýÙοlÝòâ£÷^Óëcû&¾ù/yíj›¸E¢)ÝñîîÔ®9Û¾`Uâ—­z-Ñ‘“Æ_rË–·™3ñ’ËØòò} &M²¨}ó_:ùñ l4èKk?ßs—èõ-_ùåK ×å @Õ¬3Ù$)V6â{�~Á÷bÌù^Ž~¹�kB¼z“�2œ«��gJ±¯  ô ¾ùÌ Š±»�µ,Nèb !^l—ñ*U:êADzˆFo†² èž^ _…ÀJ}‘ˆÉ6ñ•"âÅ&¾ZÇ8^ PB¼�|©Gnñª°ˆÂd¬¾”jyzAábŽÈ=(¼�*–mXï‘¿‹41®…+œ c­Hˆ·‰s-°Î�û…0¼®hµãs@Wƒ^øxÿpÎyðôRV3<½ðñ^pÁŸÎ9÷?ÊÓ[©ÚìΙ3fæóƒÑÔÞ!oï�Œ¦|¾0sÆL›ÝYó%gs°êž2ôס3pög@D¼åVùxÁñJUÍ<·¹®¾¡‰¼»@¹P;Ó˜/|¼@­@¼Ì—Ë9^ÑÇ[3%3HƒïÅ;ÙÖñ,qÌk�èxKk‡¨pnlÆ­§¾‰;ã†RרŒü s…3ÆRO/lÈpÆv`Sk:ÖÀ÷2e W2“w7©�öø¹ÔT„äªN¥ ?;‹¸'2dËy`ñr/�Ž PiUZà1Ú‰@/CÕƒ ÄË÷)Yä <” L>Äð46ÔèQéÎ6Má×%/Zï4ñ*CæÔ©PSñ€L©!ÁR§B�`  ë*Õx]ŠÉ¨@àÁÑxÄBMm4;,6—JcøòôÊ„È-o}õ—òes[R $�e ó” {ß¼± ÊùÔ™Ÿ^1ÆáœöÔ‰¡n Ó«ôM\öàÊu[ÞkãC®|dû»Û×­\õÀ­S‰Xþí ×N8½Aøxáéµ8¼‡>^*òùޮЌ§WpM{êø¡þÂ?ÎôJ|¿ìd ‰›?=ôXOYXðò¡W®²1뇕Z ×Pºâ¾W<½ëÝ—W­\¹æù�Û7­^±âþyžò¢,Øøñ»k/µõsW/zsùä{%²¥d®Ûí‹ 0|/€G$•÷˜Â9É•¨ž`,š.d‹Œ®<ÐÛ_ÆY zu…UŸžxn>e´²�]=‡­h�‹^>òÂåiÆ1Oú䦬1´hËÞ�s‰%z5±™÷¬Xùø›»ßxtõƒ+7¾óÞ–Õ+WÞ»d,½çÔ'�¾»ÌWëè…ª9×3&™ïCo¾wl"Ûïn®g |¼éâÈ|ïØ`<Jä3¥Qgìéíçò­zÕ‘Å[¾þpyDJy‰À¸ŸN[?rå¡OˆŠÿ êÌM;÷<6Co·éà;‹)8½èµ_|Ý®~éƒ÷ž_¹rå†×ßÝþÄê+þ<%¼zË7?ÿøýwüßÿô�_~üþ‹—®È®S�U4™ƒw>Þd®'Sá‹$™i<ß›.öa{%UèËGxÑh2—-Ž`™ágäé­Š¶ªÁôZÆmúâØÃ“ú% ´Ë”¡eï^?¹œÝå¼ôÕ£;ô¹[Þþ`Å„_½¦ü‚{W¬|úí÷_Z»êÁÕ/¼·ëù+WþyA½—œoþ‹_½ªŒ ûý¶’§øßîö{üÑH‚å®cŽgJ”ëñG­Î.ùBá|fòæ~ÑVeO/Ý—d mñ¶]ÇÞXJÛšì‹pÒøÎ"â¦Äo᜾ñ ä°ß\Ýèû>xïÏcל­‡_›F‰5@¯Ú²WlØþáÛO­X¹ò©·?ÚºaõŠoãјÇ=¼—¶S•¡e»<4¡ßENË9ÑÓŒšínµÞO¯ÑêTëMf»ÛîîBSÊ{u&‘ãµ8Xy¯Öh±:Üf« ñV»¢eƒÙnµ»AÛÌv„×70Ñ2øÞ~>Þ–v(Ÿ+íDM­ M­[ß o-ÆØZCÈsÙJÁ&‹žÞòV5!s/åï¯ ‹×bŒ[!yz!‡Æ=T4�(XÐ0*Ý[±a‰Dr’ˆMEœC– â{*-¬)€Çh�“ j4°C½/*Ý�~™�Wk O//‚!a³%t&<{HkBITÐKC°$´P5+U,ä™Ú °LMEŸo'Ân®Öh%³ɨÔZ£§ë4•Ee¤ªQjöGYÁ®8‚š bzåJµÆ™»òñOÿºw+«(oœŸô ž™Oyo9¶ÞͽË??¼y¼CSz™볕©2«Y~O÷•/ì\V²iR7ïx] 5-ÿ'á·ƒ^§7h¶{\¾0¯ÍåóøY;‘ÕÙU3Â]àãEŠ&ÿOïsWÄJ~Þ5B˜™lX©â§5ŒéåZb•Bm�NYþþ7'6_^%-À³†�ÒCŸzønÿS…®ßzøõ%yÐ+Sø®ß~èñeV³üoa½ò­Çgé•ÎÏ»¼ÊT<õáÛ«¦YñÍÿ­é|Jäé °|æR*ÇÐ/h7xzA»ÁÓNæÀñº|‘H*ŸÈvÇyiêo½•K®Œ]Å3‰K®|P%WjôÞÞ›ž?pâ½å©þ¥D4GòùUÑÅ[¼¾´‹�7µû’Gïy8oPW�^ë¤G½}[WìÚ)Dnó�Ea½q㻞.ÓÂw0`É7¥}ÊšO÷=9ÛX>Õ’Ÿ+”Ao/ò™�xÑÁ Oo2×›)�BŠUº82]‰Üfª8ú-žÞu—t‰¿ª‚¨dfGp"–‰Úu“»ä •BëÈÎ]ûù·GÖNî‘ð9ÕhÙ:aó¡Oïês²/¥ËÜûþá�³B²þ ·S•¼ÿãýŒæs$'Á3óñm÷Ž”�›¶½yM ²• ·Y¬v‹Õn4¹&¯Ù½ý¶‘F­F”IK^K 7�g UÐ @ÉJd¹�¼;™ëé '°ÕÂ.Â`,šÌ¥ó½ñL±+Ëü¦—¥OI®|‘Ôð«ªÆ%GL¯\КBãîÙöÅ[ªõ±5@¯B[Zöö§çÙØùׄ¼pô½»BjMèõÍéàK‹ÊÂï2vÕW¿ó§Æ1å‰�k&•U foÐ%ÆkÂK^=´sYoúW|9É›C±´Ó„zÉUÞS2ûà (™C±4ξPœR¬‘äo½w÷:*—Ç®w÷ØÅ# i9Ó{W�M®T+užž«7ùö³;q!Ñ?ô@¥´B�{ç½qt×ÕI‹%·Œ~tï�•ã\²*Ðkùø�oÌô�ÎRÑEÏ¿|CAÎDÎ/_J*Û¤g~psÑΞGáÅo}ùÖ|òäÓ'á€^¯?LJf“Í¥5ZÌv·ÍåEn3óî:Ü:“M­7Y3ôk¶»Mܦ«5X¤¯Íá1˜í¤jÆ7Ð/6¾�fÅmÍp¼ØÅ–>ß)¥Òhv ÈW#A¼ÈmâEs,QðW©ÉTÖ逦"ª““«ØÆ}?O/–4 jÁåb-”KcÆëòŠG²ƒ!+/”zzq|Æðñb,•鑹ŸyM!ˆ/ÿq�’§«;‚>!ñ h1·¹¥ lJ5ÓË’«Îc¹Íh$:÷¼ó¡vÇ ï9<Úêü þxιçKo÷4®‰$Gé‹ †ÎÀ¿ê ÔÕ7^/åx/d•D�õ MÄñbLžÞá<«ž^òñBÕ\ßÐ,åu¡j^׈¬f¨ áãEŠ•ÔÇÛÜÒÎo=‹ƒ¦ã@¼ M­õ�Í�-í-<“¹¾±™m°µÉàãmiëliíllnkäÁέÈm–ðºØ�#/xZˆL€„!T†§Wšb…;Ð/�1w7T�£ÕMŠrÙdÞÍ Ž(— 1iiˆï•öñŠJfŽ~iLéü´ß T,4"²U¨”j½FÇ}¼ ßÏvU�LÉ8^èˆÀñ²f<Þ OùÌRÄ+m*¢âøx‘\…Æx‚bŒ'¼»P5ƒï5˜í�Ka2«�ÉhvüOïþüã§Ÿ~ÆŸ#›Ø3wìÿå—Ÿ~ú;þwxó3gq÷ÿüÓßþö·~üñûoŽîzê¦ü€¢×2~e‚kÊŠ�_�8ºwß'Oì^>Þ'WU W¦/=°ûë‡ö¼ÿä ¡¡ë^³kó$‡Æ3ó©7WÅ~üvÐk¶{<þ(ËVg—7E  Ö‚ðô:»BðñÂôë Ž�èi=½W¾|ü—ŸÅóöËß?¾6`GÊ'îç¿t-Ë}u_ùòñŸ~üÛß~øáǾ;öÙë·OŽ hѨz‚1»ô�Ã'Žîßs諯?Ùt•_«êT÷cze utáË'¿ûjß¾KË_2…¿ê…¯ËÉ4…Õï¼8µlœvL}ò›_þþí_ÿzò›oN~óÍ·ß�x~a¼æ-N½é|,]ˆeŠÞ`,€>ÞL+éD¶;–.xÑXºÀ<½Éœ�÷©¢Q&zºž^ÓØ5_ý¿ˆ—ÜÏ?}¾æçØ5_ýãg\o?ýô÷ÏÖ0 3›ö .¹¾;yø/_+ÇØÐÇ®z™&8ÿÑÝ_;ôùþc'¿ÜqC7ChU Wf›ðä�ïNܳs•D8j�üô;— šè¢ç^¾�·²¤+­øðë¯�}±oßÁ£ÇOyû¡Ñn‰9V²’.ƒ^æ×âÊMd{‚ñ\ª0>Þ`Þ`<‡�çP"M—ŠÝ§ñôÞñî÷ÿ Kî»í³ºâì]rßnŸåÕÊ„èï~Ï/¹üÛ·_ì~þºQ>©"ƒ}©š W!ØGÝýÞñoŽîÛ{øÄñw×β ª*Ð+S芷¼õí_�îýì•y:ÚîÛ·=5/*3�ßôeyý3ɸ§wë邬²Å‘TÁM§˜íôÚý IDAT_·7Ïø£)>î��7Å‹|ýÑT$•OY©/Š|‹§÷Ûò%÷ó/÷ÎÞY›¿¥Kîç¡avÏÚüí/ç7¹¾ûzÿ«÷Íö•¹ô]j�^A¦O-}nÏñ£>ßìëý¯\ž´Èê*ЫèšóÚñ¿�8ðùëwŒ¦;€Ü{ùÖ�«4ÅÛ¶>½ Vþ)]W½üåwß;xð‹“ß}ûÙæk#>fè…w7’È£):€xž€�whƒï•"^ð½§½k÷ý�îr?Û|±³‡)_r?¶ùb «,Z»ïï¸ä~øþ¯v=uyÁY½»Q ôÊjßÔ5Ÿ�Þ$ c3O^óæšÉ]r÷¼×Þ¾/^Q1¨œãüøÄׇùúÛ/ž½ºXõà(Ÿa1ÈÊéõ[Œ×5Ù\ƒÙâ¯ÎdúÇk¶»s¥3Y-·ÉæRëMz³Íêð-µÎ¤ç¼.žÂ@¹P5å28ÊÇ&‹ÈÓ`¶‹ž^¾sm0Û‘>ÅH`^½+>ß¹�Wjw¢Hfxzá™ÒèÍðL`c?ˆ—Ž£©HÃÛ’Xè¦RPÍC7Ù:Be…J+êÚäÛ£×àã…8Ž­»x$Bž ñ¶Ë•àuìŒ9±bº ç'Äãó‚I "­O–UÍXVX®×‚¥¬æv™B¬Éä+R,8‰Vi䈻ôÊ%^·ª›Çaô½ôË34:¿~*žÞ2ß[åã*&Ä[W×À'ˆž^d8×Õ³ÜfR5“w(H¼.ñ½ÔÍ Q4�0ΔbÕØÔ*Ž[`ÙåùÌ-ˆ›âmjí`h¶©ðjg�ËÎ@¼M­ Í,؈câuIáŒîbÒ+òi��|2äÇ•�@~×íÈQÌ#¤Š|¼P # \.l'RŽcâx‘ Ž •ÖDÍž¼§—›[ôI7M©%O.hÑ€‡9pÑ`Lˆð¨�⻩ üšý#âOíŸX²Êä»c™¢?šB]j,]ð‡�H’5Ĥò¾P<Ê8Þîp<#ŽËÉC©óBÿ Ó+S±R%úÃ.¹�GØ%§×ó�ªÓ±—Ê9‘œ7™ ×Õ&ùiqÙ©pH®6hË%:â[ F›Ûk’^‡‚VÃßM<�•¤Ö˜œ®.ŸÝ¤¯yyã EÐÛÝ—Ì÷±Þ]žÏçˆ7‘íÉõŒ‰eºÃÉB2ß¾7œ,€ã ' |>�§WÁn輌&A¨:bä|•RË/9ƒQÕŸÊ–œC6§ÿ…T>Ã*£Õí³ËŽJ…Z­3ªúýÊ«Õf�Ën’ž …ÆÈÞMÐáJ~�ø¶ �±Æoqù ÃÓ›ÌvbÙD¶'UJäP……�”‚ÁÙ„t8™Kúpqbœæ—ܯxzåìâïwÉU¯ üŽÍZ­©õ¿ˆLe`Wlù“KjµÙívYUåkU®6V]rrµÙîöR™{­ ÃñVÞV­±x¼>ŸÕ -ÿî—ÿ�*s’7#¹ ݼwc@¿ÔÍ Ä‹¢r a—/|ЫP«ô’KΠW*d µJÇŸ¿vÉ©U:ñ–(9iìK±Óâ‘ÜüYñ¬Yå™j­µËe5ô¿äø,è4þ9äj‹Ãã5k%OÉIÃ{‚éõøBvw—Ñê$”+ëL6�ÉVæ{­ƒÖ›í&› PYo¶›m. ^‹ô&z˜üŠ››ð8&ô‹ÉH±¢”J<ß�`ÙîÈÊ4•¢_p¼‚Z�ýtlSbÔd`�‘� ,M±#ðôª4„nÊ”¨šQ�Á\]åäNìæw0ôËæ@r,6UÅr$Œ g [h’¢\àU˜ÔàÈíT ´œcž^‰±ÌÃd)úE¹4†HÌ!ŒE&D…U NÈ¡«A/8^ [êæeÔï/úESÑÎ9ïœï-_Žý~G¤nÍ�ZóK :gsàé—‹ÂÞ Ç %3ºyëp�ݼÆ7²^4¬~x]#TÊÆ7@á $LˆUF¢§—ÛtÑH„v"tðÒ¯‚ež^žºÜØÒ6¼�ÙtáË­ã|os['óñ6µ´µÉZÛ:ñ¶ys[g•§·¥½(·±¥�bôX¿/«‚§!Õ”Õ\ÓÓÛØÚ^¥jîTªD‰‹dƒˆ]ä Ár/v;äJv¯Tª€l)·–¨šq%/Š|å‚ð(Ùƒ@¿í2%WuÈUˆ‚€I¨� 5RYO€LÊÅ£.ž"ôЂªÈV!°Ü檦"´Æ#«O5¨ž0!È¡1Ʀ2æœôX œÍ¥þŸêµ½h'ßK g$WY�]v·?IRn3ÆVg—Û9�§·ßƒï?Õ?Ë#Yå{<Á˜¿ÜÇËÚ‰¢©T®'–ÊwcŠ&s¨5Jç{ƒ±4rw³…ÓxzÏòãý§}91½þh&‘íÉ÷Žåt%k'Ê÷Ž�¦Kád!] Oo8YÈv�ÎõŒA©/¸ßÓÈ›ÿëþªôÆÓÅd®7]ˆe1Æ÷¦‹}¢ª9ß›Ì÷ú"ÉH*Ÿ*ô%²Ý0�£â�á¿zÿÓ^3gùÁD¦7Ïöž pî ÆÂñL0šrx£’ (Ûyþp„°ÓËÌ/¿ÖÓû_÷’èõcRU³Áâ ¾—8^ù­N•Ψ3Ù,·ÑêT¨õ ñÚÝ Ó!ƒãâ5[]f+k-ú­òñm’ÂsÀÊbGD«Ö`! �.m‹#Þ’lPÈmÆêcl�S'"VlŸ]g‚éÜ/–(«u,ß;û‚FßÞ©W¬tí�J— ¨—Ç[V8£Ö/uó*Õ:xÍ ,@¬LPc•ÕÔÊVIX¶5·uT‹¹ÍTÓkH¬è°ÎÄâ gxzQ‚'-2Û:åðßUƒ^ j¾à�VR¬$c¨šIá\ó×µ&’ü¬ù¥†��³9äã½�yë+ˆ·ŒrìÜñ²ž^€X _D1×Õ7_4¬î@Ä 2¶®® 𙚊(Å ž^âx1¡¹µ³¡¹ˆ·©µ£¾©¥¾©…¸\\9âmhliljmï�C�+p¼Ð$Ù‚² �–6B¶$8A2¡_ ^ðÃØÏ£nÞ~žV…ɸ‡ÂÇ‹$Êmfrh¥^÷ÿgïMmKó»¾?Ã]]·†{Ï9{žçiíy>{ž§3Ý¡†¦ vÚCÛn q�-KA„H–C˜J^$B"N�B,!EøM/ I˜Ž„D½Œ~ÏgíßYwŸsϽ·ªê®{¥Rë©Ýk¯½÷Së¬õ|Ÿï ŒÕ„7âKáæÎX3 ’PòpÌ5Ç�ãã ÇSÁHBQ.cž1Þéê¢3\Ì6W›Ë�'«‹îh¹Ø=AáLrÕb÷UóêüÙb÷¤;Z¾ŒéýÆî³z— ¾îO7$~ÍÖ¢jîOW(œÛƒé`¶FÕÜ<�~1–/7wW}é¿…ñ7ª¼”KŠ=½ªj.ÕÚ \êO‡³Óá¬ÑV›§ýñâ ½­îÅ2 çL¡Tª5ééÕq:_Ô¦¢LAøÞR­©µFŪA¼™|Þª–«MPn¡X£›¿.q©LÁ* !¼L‹§_?ß3å{)q êRQ.)Vº`ÐÄTÖ Fì³ëªCS¬ø\m*ý²‘ƒM83ME²@ŠÛÉ�‚xãU8ÇSYY\98^bAã©, V“«Dag¸_åucÉÌž×ù¤…O†Œ�d«YÍh9S¬TáLÖŒ"^¢[DÕÌØº­².Wѯ*™�¯k­Ñ­·ƒ#|{ëW½õG½}ñí |•@®lW»ÔÇ‹ªÙùº4ú»x]S¬P5S;$cãÈÕF"x`ˆ_üºÎ1¼.`|¼âÅì1ÉU'ß±[Î Øc·—=3ÒªD=â ªý~³s¦¼.-j¼“­s¬Ý¼ìÕQ>²EÕ âå.‰ª‰ ›|*wac鋌�·„3 dÖÞs’±ØMdL}-çÄ òvƤäsãf?RªbIûŽÏSÁVøÄ‰TN}¼jŒ�ã½î7þ§»%3Z#Fƒ¤ªf¨ãL¾Ä1Ú^ /ª' ±d5§¥Úžü 6›áxÙ$n´NßpÐ[®µñô–ëTÍp¿µV¯ÓŸgЧ—8Sb®�áú%=½ßXè�-·“Õ™xzû“þt5Y�ÁëJÄîr7žoºƒéd¹£9¦;˜NWçÓÕyo²Ï7o6èõ2 çùöñòìédu¯»<{:^žç»Õù³ùæj8ßQk´Ø=Îw“ÕÅK<½ßÐÍ ²ZmeNúÓÍb÷dº:ïOW½É^÷t¼ÀÇ;ZlÉT[쮆ó ãÕËzz¿ÊãûGù½ zë�AëTr›Q5wSr›¹³õFsi*2Þ�ÞhŽÂ$ü†ƒÞZ«KV3ªf²š´{U³(œéæÍÊY«$6žÞJ±ÚÈZ•t¾˜+VK•*-ÎŽlO¯áWÉmó‘ññÒN”É—´›—1Ï÷L¾Ä3]>Xo�ÕŒyJ›ŠØO§›—óCÃëRe„²:–Ȱ)ÏÊ÷†cIvöahãR�–'æ ¤ާtýã\8Éx_eÄ:�3°–ƒo`qE7/^3à±’êéÕ>î$‹ã†s®£jF¸‡�¢#y6â5ºEÀö!Ó+Jæ}Š•¢\åu¿õλŒ‰¹zëéýQ¾¾ýn?R3ððÑ‘$W�Ä«c;«Ù¼nòœ¥©èèØýðѱöôŠ’ÙÔíÚž^S· —‹w—×mŽ×tóº=~�íâÅ» fÁ:ÎÇ.ññ¢jñ¢^Æšë „ODáìó â q0¹Ê'Éj¶“«Œª4‹Âù¦§W/1WøoaŒ5¹Š;#讀ÜöôîQ.�ðÀÊñjV¾íé5ªfÂôÉm†[¾F¹Ñ¸æ3£j†× Ç“¶w×ìS‚~ñd,™MfL;QLR¬P,ë#ÄDAˆ|(‘Êi7‰V<‡@È”×Û㬅¢ [cõñ²ÕŠÏBX}><AÅv‚#*ƒ�+kfï¹õ†ƒÞÖéï.)Vä6ÃñîÂZÄ Ç‹ðeéÍßpлÚ\€xÉjïÀX+Y[Ä{ÞŸ,[§£Ér7ß^õ'Ëîp¶Ú\¾Ñ ×xzI®Z_|41ME´�—çp¼ð½Ãùn}ñ|ïÄÈ¡ßp¦w&›&’øßÛ›¬»Ç³õew4‡ã�®ÎQ8/v¶§w´ØÎ6—óõÙ›Ìô®7ç$Ì�g¤Ð§+©j3ù|ƒÉ²ÙU›§§ÃãZ«×ÍûãÅ+xz¿±w9õôV›o©Ö,×[¹bî·\oáé%·9�/‚~ññæ¬j±b'ZåŠU<½¨”‹åkU³zzy룾7�+Âýc©&ûù¾o"D/ÍÂr7n"•ËÊ©¬ß Õ,ûé™j2�-¦_]®DâiöâYÆÈbÑb•ÊšvÆhBе$w¦ƒQáf‰¹‚¿µÇf-äôñhAÂ(ò´5” ?ÁŽÈ«›èrb¾×¹&Tôëöá™Q8“hEn³ŽAÎÞ@Øå ‚^§§÷@ɬˆ—× y¾WÜJŸþ½xë�zûâÛø*3àT53ý:9^“bå9:U³&W©Â™×I±RU³ÍëHŒwŽ÷¦�W³š9ƒ"^›ãuy�ž^E¼ôñ¢aÌ�EaSD„×÷ ÅJ¯ hAÅܤ@³¢7vdñ�`9€ ?b®žS8ï¥/ìbæ –æud¦�ˆ@,çØééUôKR?çTŽ7‰©w/êeÝ(uúx5·ÄËNm<™ ÇR<‡¨ÚÓ-[­QðããP/‹Šv"£zÊÊp¹× gÆèÜH¦0™ÎW�· ·\ï«-Zgi*ê¦6ÇÛê!öÓÜæzg@‘ïîé]¬¥†0¡Ál-žÞÉþ­ÕŸÐNÔ›,;ÃÙx¹›m.{£ùép6__¼é ÷ìª7YÏ6W ^|¼›Ë�‡óÝ`¶Å»‹ªy}ñÑêüÙéx511W‹Ý“7ÝÓ+['‚x»£%ó6Û\u†‹á|7ÛHVs«?/w‹ÝÕh±möÆ“ÕÙb'Goº§w{>œ®N‡³jóŽ—ð‚î`:œ®ˆîƒ×eûït8Cýôžö'ÎÜf/ g£dµs±ÚHç‹p¼š\U®6ñå-áxÕÇ ß›HåŠeñô¯Z¥:žÞT¦P4‘W ßb¹ÎÓ¹"hÍæ@;†ž …3>^>²…òsˆ×”�ŠÙO×U[ç;ƒxUÕ Œ$@ȉtŽfI±JfˆöLfìÜfÖBNU3l(ôšã5HØöñ:UÔNj+ "Eá̉Ø]±„Óõ†óŽÏÕ1„06:’«XC gc¸™CÐû­wÞ¥�HS¬Þ}ðÞƒïÿÄ·¾­|¯süU`ÀÛ÷¾��7gˆe†ï}ÎÓkZ‹>|øÈà>>¿.ˆ÷øDÐ/¯=6ÁT _Œµ:6Þ]ÛÇ«¯�Õl ±ÝTt$ArÕ£#—ǰS¬ŽÜ‚~i*2>^<½G.HÄ«¼. NØí»N®bG U3zÆ _g¨ž^åx¹ë©Â™ü½Óq+DEC°3±|œ Sãõå~MÒ•òºÞ@‹"ÚF¼û`}ÝžTî—|B¶*�ž^ÓNdö;�aÄŠ&•×@k²ñ V=½ÎÝVíãÕª=gr•nÙâé…ãUŸO2�g?˜g­"^y|š:„¼UE;Í#9ô[OoµyŠ�·Ý«-åx‹ÕkÄfwDÌUw0%ÑJjiÓ7ÜÓ;šI˜Ðtu>ZlÝ‘Pjë ç¸7Y6ºÆÇ»¹</Z§£Ùú|¾¾˜¾ñž^xÝ©ññ.Ïž’ÛÜ-WçÏVçϳí`¶Ý\~¼Ø=éMÖãå9|og(ËÝÙU,~Wêì7ò¹‰§wµÄÛ›¬iu¢Üx8ß-vOfëËV2Zl—g�ÇË]S.¶‹åÙãÑ|Ó<­w2oon�ÕöKŽ:•l½Ñ\/1W�ΰÒèReTï j­ÞpºzÃåÍÍN?•³ÊõVµÙAÕ\i´Ëõ¢åJ£mUñf %Æ©œe+œM·PΪTêm¢˜­R½TiP¯`•êŲ�xA¿Šr-§²ˆ—Ç´Àc³£�É—x¾+úU”›-”árA¿ä0³EÎæ;/K^·Ç/¾\— ´ŒÝ^6Ã4ÅŠäwŒ¾NÄ«Jf ¨Ó»û\!¸/ ÉU§'þPÆ) cÀ݊׉¶ÒÛ"f8^‚þ8€|f40Ü©‘=3ÛíDN Ê~Lz¾¶龦úXÈgV¯r¼ \ívÆ“YžI(–Ùm=P2ƒlÕ–Ã6­íãÍZ<ÌÈÁRî7[(ßôîRÞ«�Ò¼Uun×›Ý7œé%Åõ²sŒö%s£3ìô'õÎÓ/ã·žÞÉêl8ß´ú“Ál=]�fk8ÞÙú¢?]‘Õ<^îNÇ‹îh¾Ø\âï�-wo´¼ùLzz'«‹á|¯;Zœ�g ÜÑâ ”;ß>f,!ÏûŠ£7ÜÓ»4óÊ�®.úÓ sh$âK8^®·éꎷ;^LVg›7ô’Ã7œ®¸w�gÃéªÙ5:C¸_©mk÷5ŪÞôÇ‹î`ú†ƒÞzëT¯ørMŠUÖª€l‹ÕF¦PR¯Žn¶\mâȅ陋� IT]Î1Jfü·¼‹ÀŽB±TÖç;Ûßyß‹øK9Þd:/ #�VÏ”s¥›2M¿ÂñT4ž±yÝTŽbE6îá�Œ’c£p�x +ªfã2ÓZÇp<Oeív¢=ÇK,¨ªí”ãe…ÆÁŒYÚ9Mj¼~­j6z@[÷g´~ÈúXB~h‘¯s‘É,2_ÉÓ ²=ðñ‚„AÅ_;6x{·3ð�œåx­@¿ÆÇëzøH‰å*ú=H±r¶i†3¢e[ílL¿œçÄåEÉ $vŽ}þ�–÷Â÷ž˜ä*»�ÈHA»¼~Ípvù¤›W³šmôk^´UÍFö š…v…#8á&Å{Á«¨�‘ƒ®5¹ ãÍC¶ ÆÜõ¸¥Âk;ÑMU39 „ìÛˆ7*ÁÎ am' FbܸQ5GâÒÒ¢Þ'õ'ƒQ»�(I`†Á»‹dõ²nšª‹ô›Ê´3@›Š „yÝ¢ÈZœï®æ7‚„Q5Ã'“\Ev´¢Üd:¯ªfÌBÙB¹\mìή–«m¯?F¯ ›ôÍþßåjÛÊzn³9ïô'Påz§Ý«ªYûx›ÝÑépâm÷ƨ�+�îÒ‡£étnÇê~³'�_7Ϧsᛋá|Cd.ˆ·m¨6Q2O–Mgë‹Óñ¢mR¬fëóþxÑ/�7/ëþ`²1 Co¼-–›�¹ävç�I®RŽ·?ÝÐNäD¿$W)â¥Èw»{¼;» §óÅúM˜4ƒ¸.#û÷N–’bE XÏ�x»£åh!JæÉêŒäªåÙãÁ|öËls9[É>Ël±Œä¯þ ùg¾ÿ½ËÕ%3>^gŠÕépÖ/@¿ê�A½3è�æÒZÔêñPè&‹¥äϽ ÿl¶çýát¹”�ùV×îéÍZ•r½Ui´5­ªTkjV3|¯¢ßTÎ*k¥J.㛹ʹ�H‘_‘«\(Ö(¢s�Ýpûùn2A@¹Ét>‘Ê�ÙmÏY(\E¼„?“‰¥>^üS¬:¢q;¹Š*#9ÆôGâiŽ·—.b¡Žž6•̓xcIñú:Ñ/ô€r¼ÎE”úxY’ÉÙL­ˆšUœý†ãI$ÐörÎHöƒWA¿Z"HI9EYMŠ•–ƒHm‡�Ç,Sù8èð³Û|ôáããJf'ú¯¢d¶¯i$²_?¾W›Št¬…½‚„�ªYÎp¼¼®ž^1ýú‚NŽw�~ñº|õñrŒ&Ws¥Ü/zšŠØrSU³Óbq�xM§.Êns{Oo¤ÍÝM»yŸk'2õåP¸¼WóñÁÒN¾×©dv-�›âÕv"¶-IÞ¿Võ$³ ÜP4‰ÇÆ™\¥Æ˜x2 ÇÉ,O²P4©ýì¶j_<è7–Èĸ\bÑJ]£ß}{¦ §ª9žÌ:s›)ýã㬒mÊYË7a5só7.×g­Ó>^'âÙ–jmÖõ΀n^I‚i÷á{熱¼yÎ7䕉ÉmîM–³õï`¶ñ¶SÔÎÝѼ;œMVgÓÕ9FÁÙú|±>s°î�‹áñjsÙŸnæÛÇtó’Õ¼¾øH³šWçÏz“5ÉU˳§§ã•]껹Z¬Ïwg‚{ßÀ¶»ËÑB”ÌóíãÎpaP®¨šÛƒùhq¶<{2^îÚƒ)>ÞÑbÛ̦«óùV<½=S½óN?y¶Ü‘\¥žÞÖé¨Òè’VEŠUo4L–¢jÞó½µv¿Þ¬LFý›9u›íE­Õ%Ū\oirU¹Þrr¼V¥‘ÊY¹bµ\oÑÓ+œ°áxÙhÆÇ›LçQ2“Ûl#Þ¬…’Y¥XúhFɬ/ž^8^žõ<ß´<÷±Gi©/¼.l¾s°¶EعÍ&;šä*ø^"HÕÁˆ¤U¥²(ÜX2“Êô»o0b÷ÿZûfâ?1ýjü'è”ò È íŒñâ/SÄë F€Äøà t¬ˆ—˜+x]ΰ_&Ð!ªª™×·¯ gƒ¼9½ ^|¼(™�ãÞ×+øÞÃ÷¿ý÷·3ðvn›|¼Ù>:ÚwóîUÍ®}Ì•¤X9UÍ><¶Û‰ ʵ}¼û±�\uäVﮪša‰=Þ€ñú^+œ9@ù^/Êg¯/è1-Dtódës¹}þ@´Ûë÷#Êñ —ëõƒxm^×ëWï.¯ò½[npÅàRÆx6àxåîi|Ê…ïåu;èÏð½Êñr(׌ÐNê&­ŠPûh" ÊÅjVŽW›ÙÑÞÐÇKrûšá˜lL¦2yóxHbñîFâiž¶a)3 IDAT^áXJ3$p×hjb:WÌäKѸ \M±Âºƒ‰› –@¿ÂNŸO¡XÓjû¼UEõd•꼞ΉÊàñYª4Ö›óíî²Xª‚‘£LÁ¯òUÑX«-ºîÅz‡�·Ýã×Õ¬fE¹ ^|¼µV�ZËî`:ž áyÚÅâÉ—ç«|Ÿ—÷ú|ÁlÎZ®¶»ÝUo8ÍÖóõÅp¶n÷Æ’Vµ¾èM–Í6—È#ç›ËÙú¼3˜v†³ÙæRÔ§£ùvw¹Þœ¬²?þqùí_å{Ÿx"Ñx§+�Ø‹ÍÅòì)ÉUýéfsùñúâ£Ñâ ïòìé`¶�¬.¶WŸ,vO(¤¾w}y:^Áôvºýh,a|.æÿÍþÇï¬òzs¶Ý]­ÏŸÍ6F“¦èÉJæs²:GP°:2Zl[ýÉÌ”úç»Îp±4 ùrµÍæ,¿?ôÍž1~݉Ë�%N{#ò¬Ï»ƒ)ùÌøxéàÕ1ž^õñ²µ×è “%z–V»‰Æß„y;:vûáb©jîQçV¥ž)”ÕÇ›)”)1ÊZ•\±ªžÞ¬U©4Ú¹b5™- ‚F�U,‹�—=kÆ‚*³–r¼NěɗvÆÊ¤Ý¼™| O¯"Þd:Oû`Ϊèö7žÞT¦ÀGÃÓ‚¥áoa�#ñ´®.TMß 'hÉ©œ,Q‚ia4K‘´ŒÓ¹TVº*‚‘X"�³UÍ1y]/rhtyªpfA2¹SáxµêeV_xw1ýª�ÃK2P+ „¾Uá¬1�pT9^ÆœÚÆŠÂÑÃ幦U¡^>@¹Šx•ï¥Öˆ._ÆÎ�ç›Æ`[½¯>Ò*ÃŒaXÙfe˜ÕEìüÄw¾ý®¾ÑY°¤¶d¬ÈÎOáx>EÇï>xïàÞ¨?SÐù9ð6óMàÆ_4Öoøßú6'ÔùÑ_q0?ÎrðÁü0óúsô÷êëœ�o«ád÷1?Ìü?ħä˜÷ÞÿðýÌø½>øð!¯s€}Ì{0¿ÿÁÃ>âø÷?xˆùÁƒ÷� œŸˆ)N…ùöýä´È’yýèèøèèäƒJ'ÑÑ ç@»«�W²šµƒwßÇ»O±r©§Õ±¤Xíûxñôâ×ÅÓk{w âuªšul·™+P.,±úx½¾ ¾ÎØ™Õ|âñ�x|>ˆc<Þ€ßo«šÉjvù€Q&s¯�¿¥œm6ÆšÕ¬µi´é‚r�cMŸ§|ˆ½=ý^×)}9@¼ð´@b'ÇËB˜ñ� ‡›5ݼÊëjn3ð˜×‰¹Ò±vóš�R ™I˨šÉ®pj�âÉ,ð˜áá§ gµë`ÓÅl“É—°î��ž^Ý<¶[‹ŒˆZ!y”ÖLzóh<{C4ú3ÑØîìj½9‡¶ÅÓëD¼¸à@¼Í®$W)Ç‹/n±ý[2•Õs¾!ÀÛ|µ›­ÏG³µàÿù†Üæö`:^î&«³ÞxÑÍgëóéê B ÄÛÍ'F7xÚ½!Ó¥?3O½îcõô®/>Zž=½©jÞ^}2ß>Ìw³õåîñ§³õå`¶�oïÎ…æ�Å“zÎ7dÐŒÍ~Á•æZOW¤|­ÎŸ�—ç½Éjº:—äªÅõÁb÷¸?ݰk°2 ·Ý9}C¦Kf:“3 ÷Œ®µ‘ÙŸjt†¤X5»#”,ýñ¢Ñ6:þù³mt†Í®”úvú“Íö|wv GõœoÈ`<™ïήj­nµÙ!¹ÊééUÄ›)” å:o:_d,1W¦m¨Ti�7 Êe_ÛÎm6�AšÛÌã 7gU@¼ XyÑHŽoê¶@¡9«…k«šM;¨˜íòt®È döß±Gá�bŸ�`gV Œ9>–È„c)”Ò:¶^岿 Ç“6â5ݼZxÁëP \dÆŠx±�¡°ýhyxl�÷dgÓu ÝX�ëšP׊è‘@ƒ–¡[œ|¯¢ßCЫ`LÑ�r¿  :ÑÝM¥oT™´¢b Ñ¢SbY¤õsò‰Š£n"a'êÓñ­'<€…?ñ­osòw¾ý@;߈õηí\k¾Ç8‚ó„NÐÎxr):Ö¹zçíú3_:?z ÛúFçIø¶:™4*;'œ“ðÍï8¡óçèIœà\á4?‡ãhV¯ ¯ƒZÁÌ6š5ïÁòFE¹Š~8�0ˆWŽyð>ˆ—÷h?øP5pôûðÑÑ£GÇ|øðýñ>zt¬è—×år¶££Ðõsˆ÷è$ ñKkÑÃGGB"ÉñGªj¯ñÚ=½{Ž×F¶ТR>H±òxêéeìD¼ð½xzÑE{¼‰¼2ž^ÔË"‘>^IºñÊy<¾ÄËšñ^s¼^¿ñrÓQU³*™áuyO/Qõø7ñc¯Q7üà�UÕŒ�—ûéMÄ VÄËG¨zYoÖŠx‘ÙàãeµIeP”›Hçé\ÈDð'3yx˜ä±áD¼vÿ»37Âìþ’!�ª¾Wý½Ø~lŽwŸb…ì™T*U2ããå)ȃ§t ô[©µIzC–2Ο‰] ïn©Öñ6:CTÍŠrmÄÛêUÝvoÜéO@¿¼ý á*�óV®Ôe¿`{9˜,O‡³‰p¼ç½½wwº:ïŽæÓN4__`œ¯/ð[ö§«ÕVÔ¹�fÇyÎ7aìöøD&z~5ZœÑÁëT5/vO†ó�*™©áñ2Þ\~ŒÊÔíñ½ Óåü��¦4«M—’øµ<{ â�®.(4îMÖSá{‹’Ùèí—gvÈóls5[_ÎVÒÓ[®Ô�ç|Æþ@˜­½Óál<ß´{cE¼ŠrA¼ùâãmvGÈ4j­žl/Þ„¹:ø�†wDÞV^רšË(™Kµ&(Ž7�/æKµR­IÈs±Òà [,×yšË&·9S€ïåf eÍ \«$E¾øu9€1Ú.Ð,Ï}õô¢ç‚ã�êV8‹öÖuEÇ‹�7–ÈÀñ’\…Á*Oƒ~Y®ì9Þkô‹á–«P,ÁŽ<•…lH¤sB9P+®`åuA¿ÑDÚÉCÀ÷:“«X€±,ä<äN ‡l\ÁÔ[‚xs°³öRQ.Üï~‘`ñIÆê!èU2PqÔ·Þy×É÷*âU¼äDq:†ïÕc@8`'^|÷Á{Z}ä|Ý9æ$|:3†óñjÁ’Žóí «úsœ,«þ4¯r•¤½§€–9Ñ7PÙNô 6» �o"Þƒ“psrëü(€?˜}£s®œóã|£Ž_k~˜ý™ï˜øîçï{è$ߎx ²…ŽVÄ+ðxÏ÷;9'|/ÿqu ˆ}ïý™a�'cE¹@PÎis¿�Ûˆ×|œ!cñÑÂñî¯ò½7/è÷Eˆ ~Á~ð¡0Æ·ŽA¿(œ�OÜÇ'îƒñ£GÇ U8^Ð,­E \ø^U5»Ü"?£pfŒw×éée g{dÚ‰4ÅÊë úD &h¯?äñ‡Ž\DË_�`g¿? rVÄ{ìöâéÅë{k;‘Ë §O/w+à1c½1©7CÓçA›$ÑÓT¤öd;+âå–Ç=TÆÆ…âT2s¿ãž+ðxŸb<Æ‚ÂÍW÷£‰4ÈŽ7™”ŠÆUí, çlÞ”ÚI¢M¶4(+|¯úxÙ4Žê3Iûxy€áºa¯—Bž‚<¨àrÕÇKš¼.c}”¦²­Ávo&_R—Q£uzÿ W”ù8Ò_]“¹?þÕ› V<½45:ÃbµUk÷{£9}¼0!µv¿Tk“hUkõªÍSÃ�\ìήîô~©y­õ«OõÁjï¥ÿ è]¬víÞx4[/6‚~›§ÒZ4ß^u†3¬•‚„Góþx±Ü^ÍÖç­þ¤7Yη¢ï½oлŸ4ûª{é/â}×+ÿº‡Ù ÷LhÛÕù³ÍåÇ(™Q8÷§›ñòœ gá' Ç;ß>†«Ü^}"¯œ]îήîôîçáµþôî÷’ôÎVç+£pÆÇ»¾øOïDÐïÓÑb‹„~±»êOWíÁ|¾}LíÓÄ´dÝ+èÝOÚë^rR¦pª€ÞÍöb<ßÈn]«§MEµVo0YŽfkr›&dNƦ©9t»'ûлŸ½×¸äÌ[îñ.èíöÆ$W•ë-“\UFíL7o¾TƒãMf Ê÷2.U›ÀNšŠPi•«MºyÓ¹"E¾xh yFù¥¥¾¤X¡çÊYLøusV…¦"åxY £¡P·È±8±K#=KçŠvZ•Ù‡ËMçŠÉt>M*ß«ãX"Ã8™6íŒQ[áÌz …³*™) ç­ªšñ—‰ÚSá)CåG‘/Jc;Î,ÌÀ«ÈúÐ’ž¥cš)I®¢ÖHÑïÍE&‹F—×ï FA¯“!|ÑØ‰'ÁBP¯Œ�D((Ήx δ¹M'D”Þ$H\)èâ[)8WS%¾z`zЬ¤ àõ$·‚v=¡¾‘o«ä°âmN¨¯¼‘“;1¤ó„úúƒ=÷ úU<©,«¾îœ瘟ç;Ç“ü*ó£ßP'\yo>ñæëüg½æu�,™k@wO`h�(—ïöÞû‚lå$FíÌ�…ku¢\p"^Æ°Ä U°´ò½ªj~`ί/8ùá£#§ª±4Jæ÷?°9^ŽQ…³ñÚï±ëšã5|/)V \ 1c›ï5Ò裣c”n^ÍdÆš‹’àzâò>:r=:r�x�íDδ*E¼¼×íñ+ß‹’5êe¬Â>ŽWTÍAi:vIï‘?E <6¯£j–±×Ï}„×]êéõÚME›ägE¼Ú± ¬‘zð½Ú±¦Þ]Ð&òå{uSP}¼xwÉKåâéåÞz€x9Û–HhbÉŒr¿ñTïÊ��%™±=-ÑD:�·ìȉ�¼eõñjR"ÍxáXJ‰èãåu¬;)#RâaF/ÀM#Q<u¯—4 ¦Õ@³š93Æ!Ÿ­Îà^Aï‰Ëƒ Šøa·×gVxw;`=ò.Ÿ?Œx}âñx}b¸†£b»°'ᮟi—·ù�`Äc.9î�·þü/ý¢‚ÞõÅGë‹�@¹Û«OVçÏt H›m®@¹ÝÑr±{²½ú„†*‹î ôš'‹Ü¦Í%'ó`.¹—üÝ™�\r>Ùýô»^a¶¿Äz·g’\Õ.àxÇËóö`>Û\!?/æÛ«åÙãá|Ó âÅ,Æi“þu ÷Äåñú‚þ@8Žù![lu§ÝúøÄír{}¾` À%ç{•Ù~Ý©ônw—èSúãÅh¶n�Žjíþpºê�æð½£Ùšq³;°Pk÷Ũ?—Äæû½Fbæ“K. „"ŸÿU&áDÖ>y øCrɹ¹ËÝõþºóvtìô6Ú½\±ZmvŠÕ|/ž^T͵V·P®g %«Ò€ÎJÅjCäÐ…r:W,¾-ã”jì Ë4íDåj“�çœU‘"ßL^×*Õ5§Ã~¾ï.¬l*k�wBX·ÅãÉ,êåL¾D.æ�§7•)Àñ"{¦LÙs(–(nz�جWÄ›ÌØº6vùÕÇKÈ3|¯ù*U!¡>^mÊ 0E9^M±".ùA¤ÀcÎO0*ˆ×N35 gH—P4N9|ªfÆN¯Çrùp!‡ × Pu¬PPÑ�°ÅëúFE}¼ÑùúÎÔBñ9Í®ŠrNâ|݉xobNç�ßÐɬÞüiúMœ`U‚~ŠêIn~"'q~ºê‡ù ç?ÿV}bõƒœ^A>(‘rBeý ô'èMçë¼Q'×øO¬H˜¯æÓ+ÊÕ8-•/ïôñ2$ëëöÁ†7~ðÞŠx¯=½æEý>?…ªý"`¾©dV/€”ë+âÝ{zÅÇ«ªf2™…×5ž^ññ�Àýò¢ªšÍmZPî£G‚xMnóñ=½GÒ`ÄBíèÈ}�„÷YÍp•A˜y£I昗×íñ;Û‰Kr•QASkäìé½Îj–v¢À±Ûçñ}&ÃÙåõsë‘|æ}S‘ _ÓTú¥¼Ä ^å„>Y“«ð`8s›Q§°É‡�—1P™±J_ñXO* ܲ¦XqŸÙ:}¼š\Å�Õöô–XÐì^Õ ²E-ÇÄ’Qáu%ÅÊ.¸3¼.ˆô«©‰<‡RFãD&3º£X"c·™ö<£‘VÁ’ÓÇË^/O&Ý÷e¯—‡Ÿ¢_­FÈäKP,×ééힾIJà¥o9>ñ„"±¼U®Ôš•Z³T®'Ó9·Ç7‚u¹½ñDº`Ux—U¬FbI¨€—~âkèÕ>^’«lõr½Cƒ%ME�þµ3ñ§íÞ¸Öî¯7âv»Ð{lö–$o¤\¯Ôšåj#o•C‘ØÝqYÇ'ž@0’ËËJËÌv#“³¼F‘ñZÓòÒƒm¦Wüºçýɲc"sg›KÉjͧ«óÉêìt¼�œí•ÔÌŒÃéj¾½‚‹›Kñ}É›O\•·ÊÕº\rEY,f_¶,ö¸Ü¾x"c«\r«6³}÷…úÒ‰:8@åÍ€´ñòïîhqFVó|û%³ Þ�¨ çÛÇ ^ iïôŸ¸}þP&g•*×—\ yÉ%çòÃÑ\¡T®rÉÕSÙñÄb©Âõ%W‹'2fŸî…0̈¤üÉTÎ*VÍ…ÚÊ[å`8z÷l‰9Ü3½çÍî^·Ù1L– ÞÁd‰°…sw0­wíÞOb^¿?œÑû•>•ü�ðÝtæ™Ïï/¹bÉ~¦¿dwæugϽ�^µÙA´œ/ÕH®ÊZ8^'âÍ«™BY=½‚„ËõbEŠ|3…r±Ò ä™q¾TåÒÍ FÕ Ê¥›—ðg´]yh7¯6¡ˆÐÚ)V£âãe»/q"•co�ÕˆªšQ�¶S-¡è…3kŒp,ú5z·d8–L¦s¢_‹%X8�~Y!ZŽÄSö"*�ÄS ^,„°Ó_ÆëêãÕÜfc ^ô}(œY�)ú½¹>d­HpŒ"^d‰¬)3·W�‘n2‡7a¸a­¹9EÈ‚£Þ—¬¢\[æúà}…ÄNÄ«LOîÄWŒUâ Xr"^¨ ÆÞŠèô„ú­œ?ÓyÅáÎùÑo«˜Sq¦¢Ü›ó£ßÄ>f??Š'9 /ßPËú‰Î ×êÏqª¾o�'ÆÖoèÄä|ÐâÕŸ Êe*œÿ¹óÝð÷Úã½wWÑ/¿Q=º7‘-? ˜ÊÇ)ÊÅš‹’YÑ/�XŽ1JfˆYN«ÊgE¹¼KÑ/šdåxQ;bñjŠž^^‡ÂÕäªG�Žyïsˆ÷Øõú5H©³3¹Ê [ÁÉòP4Ç»áiá{å9q$B)›ã=–Õ^ø^Œ(xwáx�c,"Êår³†OÖ­J4Ò(œÃñ¤îwRàôñ’ÛŒÁO¯nš’¬È*»³ªjVî—+‚(œ³L¾š�'³™|‰gž^ƌ玔KTÈ™¨ŒL¾T­ßŸ§×ã„­¢ ÞÖ¼vzU®5Zåj3•ιÝ/4%JèhÞh<ƒ’9™Î똠M΃<íOo,ņ>M�âNe IA(‡§W/œ-�”«‰*ÊCðº¦X)âÙڈװα¦XƒQ23†üñ²,tÆ£:œ·{zo«Šâ >Ø›90`§wß}àÄKŒ�îYÅQJ–:M°zò�U¯~+Ewr“ÅOP 6ßJ�™~}�Ot‚U9ùm?�“Ø?ó�ÃôûÞߊ¹‚äÔox0?T±àIýÚzBý9Š~�îb=‰“3±ÎÚßäÆü0ɺÁád˜uŸ‚ùaÂõ¿ìó“m…³™+àƒœc™Ë}&³"^àu™yÃÊ:Q.‰æ9Ë9LV3gcŒÑW‘ðun³‰_&¡Š(æC…³‰¼RîÄËñ˜~Ɉå«Âù½÷?ÔñÒ«ëºæx�ªYÕΜŸv"»©Èä6ãë �Èh’÷ˆ÷èDÖpŽ÷‘p¿'жsåôô2¾æxMy¯vóºÜ>R©ŽŽEŒ ;$t“Ég{M>ó‘Ë µ­  Õ¬fÐ,µFŒÍ9 Ê5jgñš+¶ÙTá Ê寄à„ÜfÛ»kîtÐȪd掆%ã‡nþa#�F3ÃÁŒ¹ÿFiÒÿÐØp0>^ÎFB•?$•q \TÍ26ß'™É‰§7ôË~gÔ4™ùƒ¸ rm¯I®rŽI®â©Æ³‡X,‘¹ÙT”L€Äx{4ÅÊ©€â‰…§—’$çFr¹ÚĽÓ0Q%÷ÁôŸxâ‰t©Ò˜ÿÀúùÚø•×»ü+…j]�ØÛù_ o qtþ…?ýGÝ_üg­ÕŸ±ªõV6g}íËPk³;…s«§Ý¼d½ÔZ½r½Ó:îR®w@¿Õæ)ßèõÊ$”k�öǧøÙý?ñ?VÄÖ›‰dÖ¬‰oå4d³ T® >.ÿÔïW>û¢ÿñïZµF»T®‚_óJÐ;_íZýÉh±]ì®P5ÓZÔÎNÇ‹ÙúBšŠú“át…§·y:Î7‹ÝÕý1½.·7™Î•*�ÕŸ±~ñŸ·þôuÏþb�eñ+iŸ/ˆáò· ¿òïz?÷¿5æ¿dUkÍt&o¤1_ÛJZåÍãå¹*œ§¦�hyö´;ZNW»ÇŸjSÑÙ“ïÌ·ÈDÅÑxy~ž^¿?\(–ƒæwþ›Òg_ô¿û{¥Î²V©5cñô‹a˜'žÈ”ÊõÉO—¾÷�ªŸ}ÑòŸsÉÕü�¯ù’ôÎׂxQ8OVçë‹§ì¤ÌÖ’b5œïº£%>ÞÓñêt¼Zž=¥Ôw~oAV.·O�[­ù«©ŸþçÖïü³ÂïüÙôOÕíb©æñ^¨ü�0Èí·’ò‡åÏÿaö?ûã¹'•Z+™Ê}½dïžé½NWèS†ÓÕpºªµû�Îð` â%·Oow0½?ÐËþÔ²4û»é?÷Ãò矧~­SëUj­pô…u\Ç'žD*[ªÔ&ûìeÿÊ¿-þ—S¿$[TŪßzñ…úeþ„mÐÛe %ÎÐÚcõôVm@, g;Ū*è7k•S9«TkÂñ¦óÅR­™/Õ’Ù‚Töš"ßTÖrFld åR¥Á£$¬i”Ôí"ÑÒ>^R*A¼@eø[&ŸrXÕÎÎNDõñ¦2üº˜~CѤ+jI4.ž^‘§™ƒ¥pq¿Î‘ãMSR;ÆxnYD¡ªƒN`Aúõ‡"±dxGÕÇË8Khê K;ø^P.ŸÇKW°ÝNKh/‰§¶ÚÙœ ^‹ DL¿d¬Ê›� Kq””* ¼Qc§BAE¹`}]ߟ©ÄÉéP¡��Ȥ`UÕ¼z……𕥨R�qžÄ«'tþ´›�[§ú­œØR¿‰ó„°”:ó£U>hJ•ÊVÄëüÚŒ�õà¿ÔëÎ�îðFEÂÊëêÏá¿‚s~4I^WÑ>ß@ËVÇÊñ*— $Nkr?ö ©HÓªñ:y]åoo"^ŽW/`žV³šù,Ím~ÿƒ‡ð®€ê££Ím>H«âs5Å Ø¡dv1¶9^›ïK7¯‰’"ÃYj�N\ƒ®å§�1.çñ¢pv{ü6Ê5µFÊ÷*¯{bü„ƒw×å »½`T—×Ç ëôñbú Áá IDATkTÍÜž\årÛrù(œA¶ˆ–uË�»•ªšA¹¤#ÜâÓØßÝTÕÌ&Ÿr¿Úuˆ…V- Z—h"­ gî¹7oÐÊýª§7�«�×ö´˜˜""@³l 2fSÖöôm}‘ñîŬ>^Ð/ªfÒªôaF‚|/>Þl¡,¶dVŸˆNÄK•j‚¶JõûóôºÜÞ´Ô6?þ]ë³/úŸ}ÑÿÁ¿h×òO0}ÑÅïK²ÚþþÿÞà]ßý{%˜7¯÷%ºè-1_ô:¨U³r¼­Ó5•åzUs¥Ñ¥â²ÝW]b®:ýÉz#‘°÷ÁôC‘R¹ÖÝÖ˜�Ͼ诵Pk´SéÜ‹e“²,W«_+軺!-¿öºÛÓ»�š¢ÙúŽ× Ü ÒªŸš"ßÕîñtu&µF�ÛÑl}Oòf·Ç—es㻿'Èí³/ú?ÿOµF»Zoù/Tê‚‘R¹^­7ùÿéð®�þ¶ì³ä­ò«ø�_tuÝ|}z¯ñjoº�×�m¤•guþììÉwfëËÞd½:¶½úd²º̶÷'oGc¥r}ø{Þ>û¢?ýyA°‰¤�ä/økõ¤3ÂÔ�ÿ¥ý%÷ïû�žPÄÁÐ×Üpc{z/$·¹;ZÎ6W«ó§ãå®=˜Î·W«ó'Ãùÿ³ªš‰¼êMÖƒÙv{ož^¯××ýû™ßüaùó–?ÿ2ÿi­!ô£Ï~‚ †e¶ëµö¿.ý.ïúKÉ_`kïųýe�›zzÛ½q½3NWƒÉ²u* çÑl Ǣ˜«N2š­³tú“{õôFâIà+3ðÃòçO ÛZ£�§ÌŠå–ß{âòdr…rµù×’Šwý¡õ7øÿÚKæÕÓ[(×k­./ã|©[mvtL­Q¦P&ò*�/2g ¥R­ <…sUªŒàc yæÙ]ª4�ƒå­*ݼøumÄkÒ(m…³ññ¢jNçŠl‘;Q.Ï}à1cÖDò™Q�¡dÆÓ šÕ8LX‘xÄ‹§…3º¶°ñýFeý#êåT6¿W5 UEAÅ#b½X2£|/|¡-ŠxA¶>^8‰H<¥Jfºyy=O’f2kBE¶xzåü{ÄËgA±�êÇ‹ðô‚j@t°mNÄ ,Å)DÆ€~ëI4´zBЃõu  ëà˜áIÅ�œ„OtJ�c…ŽÎo¢sbò[šó[9çç *~ó„ Vùª ›�?MçDÖ9ÔÉw¾Ñy¼~¢”Ì�ó§àp�🸑Ï̧èOSŒ­Ÿ®°™ÉäéØ`éën^Ð/ˆZ½»ÀcùW¹ìD¹×c|¼ûÂ^쵪ټ׉~ yæãì±9 dœÀ>|êv*œu¬ g†ã…  #uÖv"BžáuUá æ©é=qNؤX‰D™|fYs—+ÉÏrŒAŶËÑ4©¿÷ÈP¸æx 6´ý“Fê¼·ZÉ‹š\å{¼^w¹¯;xñ’ÏìöbÓuyý´qã@ö ¯ëò  Uċīè÷ÚÇkâò@ÂÀ`;Û‰Tá ?Ì]Œ1šdûi â¸a2ÁÓ‹~†ñ5Ê5YÍŠxÙ¨šåmò™I´â´ÚÆÎ]ÞxzS`T 0 ^Zˆñ"�Ù�Q/³«Êcæ9¯ÙV‘’¶àéÕ+vgTÍx~(îÓÖ"¥iãé-kV©^ktï)ÈÊåö¦Œ`rý«…?ù·?û¢ÿìoÊ2ºRkÃ/½>È*Ö*µÖãß–•ôŸú£îî/Þ+XezoY ÝD¯øŠ2½ôî–��—ÅŸ³�HUÍÕæ)²çvo\mž®ïÍÓŠF·ÞnÿäWþì‹þÏþÏõÑwù§29c¹¿}ôVƒï”ö©CÖÕZ²ø½x¶_q¢³åÍI«êM–¨šA¿ÆLWçRØ;ßà镺ƒxIZn$‚ø>‚¬ÜoÚ¬‰ÏþbáOÿÛîg_ôÿ¶ˆ ÊÕF xè-–jÕZó£¿)»3?ø—íͯ˻2yË€ÞÛgû`N^å_UÞLríDÒÇ;ÛÎ6WÒN´¹BÉLŠ•ÔÄ;^žOVë‹�îô†ÂÑb©ÚšÖ‘ üGÿSµwQ­Ö[Æý"Ðëæ|ú³ÅïÿÍϾèú_E\Piܱ«õ*uó@ïb#»óíãå™ ^¢ÑVçO³õ`&¯†�w¶¾¤Ôwuþìþ<½¯?WOÁo¦~áß–?ÿ£Òßù�ä÷qdø/½¡h±T¯Ö[+õgXþüŸäÿú/f>5àùû½›Í9êåát¥¼[`?ðñÖ;ƒN<¾?¦7�KµMqÁ~Áï¥ÿü¨2ªÔšñDúEf„ã�ùoüRæÓÿ³ðÛ?,þ_¤>«5Z¥Êׯgô6;}M±*”ëÕfǪH¢¼®A¼¢jVÄ[4o¦ !Ï–ññ¦óŬU)VùR-�/æŠUE¼<ŽeƒÛ X¤XŒ¡m5�ƒ%DÞªªkI=½é\ü še»ë3Ʀ+è7_b¥a¯:LzcL¿|µìž_oÜg áXJ;)t,Áα$UŽdP!ŽÖ48²¸Â¯+c7¥ªfZ3t%ÆåRkĺK—v˜~!“´k"c“bÅÂ’0�?¤‹I]pRÂioñôEÕ ^5¾:±“‚1…@NüéDt ÆåªÝ¦¯+„v‚XýtаЉ9�(ÎÉñòsôäNīܦ“yv~:cE¼ó£¯;ûÁÏt~+�Xç�ドUVÙ9?Ìɇ¾Z�½Àëü(XuN&óÜðô$:?ª?wN2ßhÊÏQÄ+“¹ïàu"^vIø>@P® Ãñ ¸5ˆWý½ð½Ïyw÷ˆ×V,k7ï*ÓB„éWP±ñ÷Ú�D¦�׉x ƒcozz�¯NÄ‹=D 6vúxsÅ1vŠ•A°2Þû{÷¹ÍnÎÇ'Éd~tb×�˜+<½d5Ã÷Š§× ^›ï=p«|¯Ëísò½ŒÝ¿ÏÙH˜ú[áìòº„¹½�c—Íñ¢j&HYUÍð´Ï¥X@ Ì®™{ ã[“«Ü¾ ÐÔs“ Cá*âU…3}Bº)È}“[{~ܵ÷܉x¯Ç&¤ŠsÆ€ZFûx‘CÛ7k“ÂÏ®¤vÓ™;»dP±÷‰Ü(—Üfç#DÆæãlÉ㙄¿×‰xÁ«Dá|€±;˼®ž>”ËÙìGi¦@ ¦XÁýÞŸ§÷øDBnŠ¥Z­ÑÿtiñËVk$i7élÁë“æç›KÛ£cI4ú¨Òht[³_²F\–Ñåj#O½h%tëy^åE@/ ¾kÄÛî£j†îÐäªJ£+ˆw8릕z§ÞÜŸ¼Ùíñ¥2ùj½Õ=«,~Ùê?­¡r-ÁezûÔ�Û­Öh>)/~Ùêneæ³9kÿ7þµ�7õô‚xÉjn¦ýéJÇB6—“å®;œ gëåîñx¹ëŽæ“ÕÙýyzO\žp$fàD{ò3ÅéÏ[�N«Š±ÙûBc³\r¹B¹Òh�‹_¶Fß-qÉEc‰¯÷’SÐ;˜mA¼Ë³§’\µo'ÂÇ«ÉUä6�—ç£Å|ïýõôz¼¾LV ~ïJ.¹Þ•\rÅbåŽý©£cw8/«µF{ô]ù7vèv:SøÚãÓlOïBæj}ñÑxyNrÕêüé`¶ÌÄÇ«/‰V½ÉZK}ﯧ÷øÄ�%Ä�[o/ûì'sWìë%“Ù;ì"IÈY•Zs^šþBæ“§…›ħ½Ê½ë�±åÍ›sr››Ýè—«ÖéH3œA¹"�nõñÞ«§×ç äòÅj½uUØþBæ“Mqa67+wØ1˜íbI.¹ïä.!óɸ2‘ÍI.xá3åçêà0@o·7VO/è—|fTÍð½åzˤX‰�wïé-—jÍ=Ç+ãB¹n£ßŠA¿9ñâÚ¯ñf …bM/íƒ(Š Åš/�°½ÓmÞKÒ²�~3øÞƒC<™µWûVVø§8›òôé˜e žÞH|øþ¨Ì؉x?|xLYîÑž×µýºÎ´ªýO¯öô¢j6á϶éW/¼.1WÊÓZ$gêvݾ >^ÔÈ26úd—×äò`¢ýzaå~}ÁˆŽ•ãÐ*âµ=½ÆŒÅx¬MElËi/¯s§ RÅø ÜO=½áx2–ÌøCM´rúxa�A°¾`D¯Sጽĉxi`'Ŋף “ÛœÌ# å{Õ CÁ�4òe­H<}³©$Œ ù´-Ù(™)ÉH´•Ìfœ³*(�ñòdRo*k©�—Ø 5 Q‡�ÊZ‰*¹'Oï‰D¥­Rµ\m”«�R¥‘+”ü/Vý™¿�ÇëÏH l½b"a‹¥z:#kšioý›z•A­´‘Õ¬>ÞÓá¬\ï€x{£9µFÝÁ´7š#‡î�æ÷z�O$¬`•K•z¹*éÍ¥r-–H¹½/ c¿ O‹2Ûd>[ÅJ(ýz�©GÇn•7wGsì”-ÓH$ªæÍ¥=–«sÊ{;ÉmnžŽ&«³ùö rL/¥;‰d¶Xªé%—Í[¾;#¬%¼ÀÌæ,¹äì˜ñZ2�Ûß¿¶Í‚½¼ù’F"|¼Œ»'�ᔫªfR¬úÓÍúâ£íÕ'ýéæþ<½²Ee6MJ•—\±T‹Å“w×#‘¸fí/9SÄR „"_ïfÁѱлU³¤Xu†‹ùöñêü™úx™Ìþtƒ�·Ù›ç»Õù³ùö±ÈžM5ô½Y™æ¡d*Ç%W1w¹tNöõî¸_ɸ?œ+ØAë&f¼–¸‡0õôŽfkÒªP8“Ï7žo,@ÕÜÍñq`®6O{£ùý1½'.O(-XsÉÉÂõÇÝž» Ýñí›Ù6�^ñî»ymÄû|V3·0gr•38ž �}“xH­ÚTäôô¢‘Å4©§—[·E@,÷Sm'âw“ã…VO¯*™áh"m÷ÑQk¤áû g�-¢e­q籡ME¨�A¿š'¡¯úxqÞÒÇ‹íG/3êvõ)˜·ªêó)klñfò%}:‰�c§P¬Ù�Ucú ’–‹ä¥MB.·×ïGã©d:�%nc=ζ sý»Ý^Ôt!¤2¹P$~G$ wç—á ¯rWµÂñÒHT¬¶Z§#ü½0�þD‚�MÌUw0-ÕÚõÎàt8k÷Æ_ÂÓ{|"¦ÈîþžRjâ „"±D*›Hfƒ¡kAÇ»˜7›õåÌÇ.�?I¤²ÉT.Oß!°tÎÏKÿ#:v‚ÞÉêlº:W/©BƒÙš>Þö`jD§Wx/A¼Ãù£àk�^sÉIm›¾’ó_å’ „cñT*“‹Ä&Âê€?¸ää´oàú’ GïÞ_@tã¼êœ_àEã=è•^Άãý±Ã‹ÝÍm^_|´¹üxj|¼Û«OðôNV_BÞüê—܉KÀ8“‹'‘î±ëݗ܉ËãF’©\R QR·ý�ß²k°ÿOyËÿuëìz7gOLnóz±{I~:^­ÎŸ1̶‹Ý¢¿F‹³õÅGS y^ç»íù“ÝÙÕk�^½ÒôvwëãE·ÇÈßj*� Gã>ßA„Õsª¶bëØíõbæÆ˜Lç‚á¨Ës×––y—Ü=ô‹Ýñ}ôÿROo§?!¡j8]µNGtðâéEáìôôÂ÷òü%@ïk_rÑ„Ä@&Ò�àÍí’ç¦Î>³ÛE“éœs§?©6OUÕ\kõjíþépÆ¢°Ñžg­ÓQµyºyMO¯€ (‘Ì&RÙx2ó*ˆÔ̘÷ÄL�Ëíõúþ@8ŒCÑç¦.ñBŸ8½Ÿm™Æ»§Îãõ‡£‰X<B~E¶ÄééíŽæýéjº:/wÒÍ+ÖJ»�w²:[쮳5µFóížÞÕöõ*‹Ìmʉ%å’Kç"Ñ„ûÅZe…£ûIà’Çá%ŽrÉ )g²šxË«\r.·7`ˆ ¹ä"1Ï�ßGïó*o^ìž ç»Åî >ÞÁl»<{Š�w0ÛjrE¾›Ë�)òÝ=þôuAï‰Áÿö%—ÈÜ­´ÿ’rÁà—1³!©þö%'W�ýO  #~Èíõq�™z<ùߣ²ÛѬÙÊñG£‰x"‹§^åO€/¦ž^¿–gO³-óÆ–^èùöqº/Ï—gOgëËÓñ eøòõ™^Ù‰§¸äÂÑØÝŒ·Â¼ý]Îëñúý7/¹�^rA—™+½ä -|°5óܺÜÞ`H¸°D2 Gïþ>ûÿšn•7ƒl“%|ïx¾¡ª�´*,§Ã�˜}½/çéu¹äOC¶êRÙx<ýR‘Åþ!‹žæ’3O‡ƒK.ñùCn�Ͼ˙§cç¶©þvÇ'¯/�%ã‰t4žzõ�gõôÖڧŪøx‹ÕÉU¹bµTkV›�¬U4[oÄ[⪌ò¥šªšÅÇ[iÀñ‚l)´JõR¥‘É—Ù¦sEÆrp¦ÀÎ5ªf^G‡Ìë`T»ÂÐÀÑl¡¬ªæœUañÀ9„0‹V)Œ©藃ѩ;Âjé%‹´0ò:=±d&�+ÈZÈ$¤Ø(׸ŀĬ¸t¥µFx}´Èñh*bŠÆåâwSUó��PíD¼ YÖ~>^§§W}¼�ÚùPÞìD¼š�¤&O§;ô{pñ�¸Äƒ^ªHšâWùÇ$zî�Ž|îÛ};?â3@ÆÕ5â=:1ci-"Šùý>‡x÷>^TͶbÙ ^—Ûg–¼²ˆ±ÇûD+ó�p«íD¤X±â±Φ�tJVóͱ3·ùý:ûxUá¬>^ð3Öå (âÕí7À³Þ¤ …‰ªÙT©’™{(ùøl ¢¥±Ý#Ѹ“ïE¥ÌýÔV2›tlç6›�PŽ÷:¹AîøYÔÈÄýó\±=½™B$žæQ¡Jfgj¢ºk(¬‡û¥RϹe úå&R9-O>²AÎôñ:Ǫjf§9å0½&èB,�ÍKÈn›ÅR=•Éßí§21²Š'Ò©t>›/æ­rAËùB)gþ‘±ù'W(¥s…D*� G'IB®»Ö‚¢ Ž§�¸Q®ˆ 8�Íûü¡Wy@zYü•jm8ÞjóTS¬Èmî¦ ar›A¼ÍîèµäÍ'.O$!¨‘�–*�‚U‰D_â5@׉ũl:WÈJÌ[Á*›y+æ ¥¼U2SWÊæ¬TÆ&L<^ÿÝ–JÛlÎ*–„^(Wíïs‡Qï¢êéíŽæÒNd:xÛƒ©¤X9úxýÒT4œo:ÃÙl}±Þ=~õ +´ÇÈÝ�ì¶Y*£=ößµÒ5{+��\réL.wxÉɼ¸ä å\¡˜ÎÊ%Ž&¼\r/0œ›ßG"™ÕK®Xª¥3¹»÷L�‚^M®šo¥hÇ™bâÅÇ+ÉU�?ñJIïãO_KÞìr{£ñÚãrµY*7òV9ŽÝ}a°·�É®V&gå û?U½ääz³/¹L¾˜JÛš�×DH?Õôša3"ŽæòÅ¢Y룅…cw´vëÛmOïRº‹WçÏF‹3é46ãþtc8ާ˳§êã�m®NÇ+Ðïtu1}�ž^¹ä¤òZäîªôN¤²î;Óã `óå’ˤ3ùœüaî§Nnq7/¹¼¹äb^_ÀåáI}ûÔ‰hßãK¦r¶¸Ò(«ÆÅ|é]NA/íDxzññ’V5œ®@¼ðº€~›ÝQ½3x-¦×åöÆé½¹ ‰Ÿ%ŠÈŽü . , ‚KãÉT:—É®ç�KÎüñrɬ2w9Ù1‘=Ùæ{Ñ™¹äÂѸÈÈË/K•z¾P2ª™—�êGÇnõô‚xA¹ZÐ/ªf8^Ã÷Ú>ÞLAÐ/|¯ôñZýšŒe»©Èl@Ëu2¨Ø€fÜ*Ùå½<¦�Çä3hA¿Šx5·ô«ñ–ŠxsV%�+¢j&4KάXP8Sޛʜž^$Ð Þ”I±bœ4±ÌñT6•ͳF"¹J}¼ä6ƒ„u…ÂöŽAŸ*ì@¡XRÍhˆ×If ëÓÆJØ E¿€X>‹n^�GE<ˆÄH±"æ næô„*iДzz “Ntp-¦s…‚Uþê˜�Ò¹ÂÁùßþëÛø1�;¹jŸÛ,‹á{mÄûðщd8}²&W¡dVô â…³åÅ[Ç.·.B˜F"å{yH˜ÍT¿dbyý¨”ññ2>6F_+¯+Z­à¾�×€Xx]@¬ e‡w—z4E¼HŽUd¯ëñ‡4}ž=?”ÏÜõœ>^›ã5qù m6¡‘Iä6Êå^É}–*#¹)~˜Ð’l…³‰ÔºP,ASZŒÁÒ©L9�¦Ua’Q¯SÕ Åiƒª™ÝVöt�Ç:& "‘ÊÅõ÷&R9TÍlÍZ%y|¢t*–ëœ/’$­@H¦ó¶Â9SHe­×’7Ëš&ž*WeãrðqY‚‚N›•j#™Ê¹n,kd ßåñzý¡p”›±X)+y«”Îäã‰t(÷ûÃ>ÈÃQ¨¼lÞ*Xåb©f‰‹©”0Œ¨ þÀ�1Z,V«�öä§K¤^Iîn¶àõ²ÌÛW“ ÖzgÇ‹�·ÒèÒT„ª¹ÓŸàã…ý@íÜìJyïk1½~(_�„¤Î²6û~‘  «X¹õ�È2×ç Æ“²Q\°*Åb•ŸQ‰'!!=„½ EÂÑX<‘Îde±h«¥rÍ*V3¹B(•õ´ëöè]�ÏŸÎ*µf÷¼2û~±³’Ô«b©jš?îZG:åÍd5Ï·WÍÞØ„ ]ÎÖÒZ4ZlA¼øxmOoo<]�OïîÕA¯ËãK$3\rÃ?VšüŒl–Hfn®w‘Ž{¼�p$–‘õF¥XªZÅjÞ*Ëâ,ž…cþ€Ì›?…cíÒ‰÷—\5o•„ô6„Ò­¤åñ‰'$YYÕúisöýâФ^I<[:·—ÒÜ~±»÷òæKÚ‰–gOÉ–v"ÒðîNWêã/Ïá{‘C¿V�U )X’GÕÝÈ%wz^©ÖÛy«ìó‡þޏó#ÁH$3æBªKµ‚UÉæ‹‰T6M‚ö% E² “Hl•ŠÅªùk­¤3ù@("—Ü *޼¾`&']PgÅÕ÷²Ï&å‰ÉʪÞú'p𠽫ÝcR¬è.^�?S¾w¾}|:^IÞõÅG³ÍU{0Ÿ¬®K} Ey³ÛãO¥rÕZ³Öh’¿øc&›ª\mÄã©›º‰ã÷‰Ëãõ"ÑD6g]_r¹ËÅâ©P8êçO5 …£ÑX2•Éå ÅBQfØ*Us…RÜÈÂÝ¡:~¸I¬ô„£‰b©Þ/¿—}F¯Oµ&­Ý/­ÔRyópºªw¨š“%‰ôž^l§Ão­Õë�¯z�OÜÁP„`³uiñ½ì³eiV­·r…’÷Pï-#ÇfgÊO IDATU„ãE´ ú%й\oUí¬%>Þ=ß[ñZ•YÍÚT”³ªåZ‹Ç:>^6»á{A¼T* +–ë…b U3ð˜Œežïd5‹ª9k1Æâ„ÂYmPð½ª&S/èU3ûãlЃxµµˆä*U5³2I¤rÁH<–Ì€xƒá’™ç|¼ _ÛftñTVΉ´åèÝÀ/:‹2Ùd>GÃqÉ…†Ì`9ÇRSä{Ñ8©T&…4Žw¶l‡í†3“,ÃbR)V§ÁHìô*— Êu¶9Ktë�COo©Òx•»ÛÁ•wë¿úáR¥qëÿõöÅ·3ðc7p¼|(­¿GÇ.ržYr=|dЯQ8?’Üf»›W³šÕÇk¸\/ðXs›I±¢Ë—v"yl¹•×eW[‚K ŠÇwíã©Âñ ‚5»ÑH�äünŸ"^—Éj庼~›ã5ݼÜ\N¡¹#kV!û�ÙñX"ð�ÐÅùxµ ^w[ÙÓÕy8^M®RUs,!1Ñ<Ì@¹4�Z�z^xŒÿ'•)؛ʙ‚<ËËõæëYy}�‚U®Ôš›_/üà_H ѓߑUl©R7dïsË}á6c‰BQrJòV9žÈ�UòæÂñæ¬W¼…Bo$ð£‘Í¡ÈÍ7º=¾LNzY/ÿªé7ú×ÝÝŸ—~#*jnðA€^²š%“¹Ñ­4ºðºÒÇÛê1ÆôÛÍA¼­SA¼Íîèu<½žxB�[£Óúî+U¨ßûƒZÿi¥RkÆn[Iû¡T&W©5­’P:‘è­^èçf›Ÿ&ÞB£�”X&a6ñxúVò6MX¥êàÓò÷þ@Ú€¿û÷J�v»Z·{Y&êà_azg«Ýlc£\TÍ“ÕYót4^îåÎÖŒéSEí<ž¿FO¯Oz›+Õzk÷ êßH Ñå_-Tëm«Xm­t¼]ÿc¸ÍD±X-Uê¹BQ\‚¡ÈK­’ò¹}þP8"› Å’°ñ™¬ukЬÇ+‘³åjãéïÈ%÷ƒ?l¯~M.¹R¹þ²„6½WgO¾-¹:¶{ü)¢ÜíÕ'¢v^_ç»ÝãO·WŸÀgž=ùÎúâ#;äù\”á¯"m=>qK…U­Ù^ÔÿÄ?�⫟úýJg% ØáHüæŸF ÉdeÄ*VÑ�û|/'AòBoÆÓY‰eªKµh,ykvZ,–*–j?•}ú¹ßúaùó¿�úUV©¨¹ù•œÿe½[éæ=ïMÖë‹�P8÷&ëÍåÇä6�g›Ë�ñôŽm—ú®/_ËÓëDŠe)¸þ�Ô÷ÿMéwÿßâßüs©Ÿ­5d¿à&žw{|±xRäåz6oÅãrÉÝÅÄïâÉŽ&R&–IŒ™¼ß¾©_ðú‚¹|©Rmü�Ô¯ü°üùÿšÿk?—ý¨Öh[ÅŠÙ¶¾'ëÔÙLïö¢Ù5>ÞŶ7šÓ»6š­)$ï�æãù‹„pëtTkõ“åkõôŸxR™\¹Ú¸°ÖÿÀ´ÿÝôrZëKG](¢_I~ Éš»wÁªÈÆJ$þСߝ‡Ä%’™CòöøDb‹¥ú/e>ýÇù¿þÃòç¿“ü.¹XCA�Â9•µ „�Õ‚~�pZ¥jÌ9cɬíê2 �¡hœµ�q1òäBÑ$‰žÄ†¢q¬a [äÐ× ;Ó²‰§ÐKÃpÜ "U¾bƒÞ Íy!ÅJ9^P.ziU;Ûñ¨�+âõ‡"‡ W;l´µõ qG=½ÔÕ\åµFûà•¯ò¯_ïÙ¾Ê7yûÞ·3ðUg¯ñš>^i*zøèĬLk‘‰¶’5Φ±S^?:¡2ÍFF,ä“§‘=ïHm¯6™'„Èžáu…!qûܾ úxA°ÇûnÞ�ïD,…A#õÒu¤(WÑ/Õm�3;p(¢Ñœ€r¹O)¯ ß‹ìEŠ-> G�ÉUNÄK}(×GãNU3bi<·š\õœ§×$Ú«{ÚÖ)ÂážKrçQ/ïROo,™a�3KÒTÄã¾7Oóx þA0û²è‹ÒùÍxúìñ²ó  ÅÃâÍäKq#¢æy)ž^ÓX€ÒI=?$?ç­*|/Á�ðÌ:Nçd÷ZŠ_ÇÓëõ¬b¥Zk~ò_?û¢/‹þѦÕ¹?qy¡ˆP”ÅJ2•óÂn�oïv“pf �%âÉL2�K¥s©L.‘ÌÄbI]ÃAÙ�¸½âŽÄ…þ5§âòÓ?7—ÇǺççÿIƒïó“ÿ}™Ê�[‹¾‘ ·Ý£Xå¶{cE¼ôñÂñrLëtÔ/�a­ÕÛlÏwgW¯¸“ ]Ù»¨ò=?û¢¿üÙ/ˆÆú­Dáõ'S9«XÎæ­p4áñtꄈóCáX<žN¤²2oé|2•5™CQÖpðN.3oþ@8‘Ê¢!GânÛì`Cİ)É\ýi¦åŸÓsa©¬YÙ_#Iýz:ônv’PÕÍÕÇÛÍQ2fkÚ‰»«þt%èõÅ|+ãÞdùZ•E>XJtë­Ÿüû‚Ü>û¢ÿsÿXêaŠ¥ºS¦ër{Cá˜#‹•D2Ë%'ü�˜ÃÅ`D"±dÂyÉ%²ÑxBSv¹ä˜:aíòE«XN$³>ÿsØÏãõå­r¹ÚøÁ¿”MŸÏ¾èò_ ùÌžþ­L�ΛʛgëKÚtv�?�®.H]¢©h¼<ß\~¼¾øh²º˜®.ˆ¼-Îfë˳'ßy-¦7iZ²G?)›,ü3ùž4ÊÃQýJ¢ÅðR™:çw‰mRp¿áH\ò–RæOU.¹\<ž ì5«ŽKN, "M°Ê¹|‘Øp'”�ÅS¥ríÏ¥~æ‡åÏù§_Ôíx"sLê7dè�¯/ðñ’\ż±e@�1Á׌‰¼š¾÷µÒ›ÁH©\¯5Zÿ0û—ùž?ýªõvÁª¨ÕBž³.o8ç’‹‹_Zì¦+\n¯Ç#Ñx2‘äOUf/‘ÌH‚×vÖKÎãõGãI¡­J<‘ìç |½¾@Þl5þ«ÒßæûüåäÐeè ó`ºô_UÞŒw—{Ww0/¶�þ¤Ñ¢jn÷ƨW†Óªæþx1˜,›ÝÑë0½žt6_©5¿ŸùXÿ_¶•ZÓy“$/ íO:WK<•ŠÂýº%ñ!‰Çi½äI±SµÍ>^hÙã FRrÉU²9KtÔnÉìäçЛ)•ë¿•ú“|ŸUú[8+cñÔ+‚ÞvwHr>ÞZ«‹�W“«ò¥è7SŽ·Tk:=½ÂùR �4ˆ×ŒË²×a/>^U5xzµ‹A“)ÙòFÕ¬‚/TÍêãåµ>A)³>A#Ͳ„ü-É òºÉŽV”‹§—×ãÉl8–b¬É�¶«+&5êã¥!)Ip¼98ÎÚ †–1^3¸\MWaõ²¥©ˆ€hHÛÓkL¿$˜Â¦0F÷‡Ìzú„>ăã\|Ò»yzï®ÕU˜Æ×w¼§x ¾^˜úõží૾ý×·3ðrH±RŽµó£½ª™¶!Ðï‰K¸ÜçTÍ&·™cÈj;³šµµU³*œ¯Û‰\h]¾À£6]YÍûv"Q5{Š��´R’« pýrg9ñ~æîÃÙ¸û —¶ý½&Ø™=9íæeû ®•“³a\U+ÜÑø,îtzGãDËz‹DÕìD¿ì2ª“ÄN´Ú§Xé–$|/�P‡˜+g:¿�x£BKâ× E“lÖ^Gÿ?ïé�ÄÓÚÍ‹Ž”‹[FÇ  jÆÇËÖ)¼.)V4ÔkÆã�w¨ ß‹ª5›Êì@W›ÝW²r{üÙ¼¬›—¿býÂÿÕüìß íV©5³ù"Ĥ†D^(Jðr8æ:îzŠÄr…’úH)%¢_§\®ã&/‡z0KfóÅLÎ Gãª#=q{S™\©R?ÿÍÂüÿ�þàÛë_—®Ñb©þÒHÏ£c7 ÷t8«6OQ8wÿöÞôǵ4?û’�š™nM¦oq;‡Û!yö�[±vV±ŠKíËÝ÷ž¾Ý·»•‘å‘bÃqV"Ë6dxK–#µY�F")Ê8€“ –a  ÅH`�Ñ@>dçCð{ŸÃOò.Õ="à ƒ÷²O‘¬Ã—ç¼Ïûl[{œbÕßÜúÝØÙ_Ý€ïÝ ÷ÖoæéUê*­¤»½ûÿ€ö žýwáæUèmæ@²y©¢ÔMÛ5m·¦6äâµY.5uK¨—ÉœDT×A?¢ ÊóÂâ23å-U‡XŽGP°Xa ˆ~š�óðÙÜ~“�[Øê*õÆ,數—ƒ¬úÛÃ�ÝÑþá92œ·†“ÑñÅÎÁa{¾ÉUP5o '0ßÈÓK+~Ç[½é_"qÁŸûrýøçiÊfœëAŒ™\nh¦éøM͆½¹Ó/›“”šj»¾´ü€¬Ëצ\HÊüä~ .ûbWêªfÙÖåìºÌåeÝ´ýPˆ þï�Oÿ·îèghóÂõ¢7òT3yó9ü¨P5#i‰Ñïôì.8Þ]�x§gw·÷�€~Éâ{|ö–LïJ&_S5?l÷ˆ ÿÃ`uDêwF H¤3Ä׊,ôŲ�‰Ò玳ª6ÑædmMO9Ç x¿€ï•�å—+5ͰL‡¼ xNPQê®Þ³Oÿ{ã?$ÚM#Ú�˜çš*6 ^G»ôî�ŽGÇWP5£‘h|r›Óª p櫵�J}iûà&ž^¹Xq½ j÷þ]í»ÿ‡÷+ìþÝ¿ =�ZݦnáR†D:þZAMÀû$7¨7mòhà«:›râ«„òhI‘r§ª:9Ì ‡D13£/éYL'ˆ:¿ÔüÞ—ÁÿØü›™·£vÏv‚Ù¦ö+¿ª3¦÷dg8AŠÕÚÖÞÎpBME"Ÿo°?íoî¶û[@¿Äñ®n2â½è]ÉäÕ†á‡�‰¿ÿ_éõËà‹ßÐþâj´áúË›óJ¤3m×0Xè±½O¹bÅ0—BŒ1å¨z�¯r¶ëlÕØš©(uÍ´!îHn(õ†ëE™·!.ø[Íï‰)׫TëüyñìM ØÓ놔bU³´5Ë…’|oJÕìEøxƒvÏ Úà{ýˆºyÁ÷ýŠ�Mš�{…J‚S¥¸ÅŒÛ4ô_ÉœŽ˜ã»ç)¾ g aÞ"<†Â™ÕdX¯bÏ]mšX�è–#^a€ªÖ5¨ ›º]©5�–Õ¦Y®ªBtFy%Ä÷j&¯…h¬[ÕºVV1ú­ªåZ gV2£Ycæã¥º]æ!ä²™μ„ÃÒ2½˜ïèH8‰x±&ÄkÐbÝ(•ªà{KÕZ^.“�NP&Ë=½ào¿õÞûï¿ÿmöñr7/+œ™NÍ¡¥0µX,?yòäéÓ§«ý~êøä?÷†ûž&YúlÉÞ�ß��?+g(÷ƒ[+@¿Ù\áÖ­Ì·¨›7…xQÞ‹tM(™±Ezk%'¶�i{>åée/ 1!^s…v"X… ñŠ·²…œ$ƒ›åÜælAŽûxå TÓÅb•²� ²XmRo¶ ç¨%¤ô›ôñBs.�âÅE'‰xAÛ!#qÇàê†4F¹¨ÛåËäÇ ”‘ÕŒ—Ø]"¬jf÷pmEÐ.ŽlAA/v‘Èk <-x¼¡[MÃfU36GéV1Û4­7hÝT 8^ÜŸâ{�(3@ž„nyD‘ôñrŠR.L' í[Óe/+ À÷Ò­TTØnén¥Žßj¶áø½5Š*yËžÞl®P«7ü µ{ë'áÖ}¿Õéùa§ªÐ²5#Öm†Mv5¥hzm5V,V]/lµ{Kƒ £vW7�Å,hlí#ÂWÓmÏo5š'Wª5׋¢vwën°~Eí^ØêiT²Z|ã× ·ÕÛ;k½õ¨—‘Û¼¶µGž^±.â…ª¹·¾x|SOoA*š¶¶ºíõîæ=¿·Kì¥e{")ŸËKõÅq–#¨Åk¹/9Âövðê H/h B,Çü„³%•XP²¡¶LÛ…7“ͤ¢n-³ºßÞºtÖ»ÄeyQ±”"&Ÿc€ÞÁþ„UÍ«[{@¹¤pÞ ·y{Ú�ùxã«éÙþáùîèðí=½Ù¼D aØ¡)wl^ñÃv¹RCx±T5EVQêbÇdŽ�ÖåyÄ`/ý’Yœ*ó)'uÓv½¨®j”c$w«ÞèãÛº¬Ò luÉÖþ¦Ê™è=Cn3@ÎÃÉÙÖðˆw0:ÙŸNÏîNÏîF'àx éí“úíA¯$—Å~A·»ÝÞ¼çw·»a«G_1‰ uDÅ®AÆHÓNâ|Äù‚ ééòóÖî¹~´'0!�ÿ\žö¼ %æ3¥Ê ]_�ÞÐÛ½rŽºíuxŒ…¦w>oç÷ôN�/ÑÍ Ä{pt¹±;ŒNàã]Œw1žœ­ní'gÓ³»(õ�Šì´·ôôært :=rG4å‚6Ä#”_QDØRÀEbüžÉò]¥éñªó¶º�†¹Ôq›kA*‰x¹ˆTâ÷ÒUWœÌV«wåíû{˜r`Èù¥—ØÓ‹v¢õíá` ï.TÍH®â«N{kwOo§¿½3$'Âôðté“§ävñ¨ÕÝ·/íÃ~´A_�™Ý�¦Ý«Hþ³¸c"IEL×W�:Ç]"çÆ”Ëdó¹‚L»^.m£{ÑBI ÆI¯¢jðèâzÊ×YN®*+u$W¡ I3mƒ>:B¹ÂÓ7‰*#ÑM§'³š±9 ”K¢eÛçÛî^ì®iꔀ…{¶E“(%I/n6¸±!Ú MEI/ÔMàu9«ÁŒˆÇ Í]'ð¢NguãíA/.ÈuÁc`Þó#UÕ N„ØÏ²½™m?°6-B}¯ZÓˆè2‹ÓðåÍ+˹mèäòRµ¦:^h˜N±TM!y±�O¶O‡:šþVQºÌô"¹ ªæ$â…ó ˆÚ¿ÞúŽßZE´Uwmg<=~{yóJ&_,VDA;luý°mZ.*d RÑ0mÇ ë³3™ºp•+ÊkZÞ�Ý )–/î§çÛûGï µ3|¼H±:½ýhrz‡ÎÓó›V•Êd›ôCbÌü Mo©+Ëe„¨+ä¿¥3™|·™l¡ªÔè �°ø…u¼°R­1ÄÅïBF$çÕY˜ðŽˆÏ«�ÉRƒŽ%lœ³)÷æ4i<9˜Þé1U=mîMáãÝÂÿÌ g”oìN†S*C†Âyÿðâð˜Ãßôⶨ6 ×£)'\£a¼¯—-ÔU�6§LÚœâ}¥Ä�m—’“OšÈ ô)AWÎA>^ެC2˜vúæÖEì¶f8„€\ØSiS�¦\Ðn4�×gæã-͘^òô’ªyŠ<B¼3…óæàME­ÕÍí½1TÍ­ÕM ß·½xÅrE!OEDSN›Û £åb•"¬Ý ZSYo‚_‰o+j3lÑ5|驳ݠ\©¥îØ ¥ŒD=FT]ªŠ‰íWâr3Ù|©¤X¶'&3mNÙŽOÌüBì"¿ôvV7ÂÎ꬛ׇ’Ùò" \Øtm¿Åˆ×ò"Ì(× ÚìãE¾¾´)K4%¯vÐÍ‹�kÛ�pO÷‚6vÀ-7$°àx-ª? Z#ÜëÁñb ¡2v½L¥™.8^îAÄ>;P·Ú4�x9·½Á0gÁ`•T5Wë¶Ú¡pnP“œ]­�qrU½Q©5P6…3½œ¨5ªª„~áÂUT rh _p ¼*£X¥^k芪q(iUmÁb†…"B³ØõÆ@”÷‚ËEÈ3ŽÁ¿‹"_0(ryÁÓË\nRÉ Äû­÷Þg˜Cžyö`�‚©,xXÉäWWûŸþù'Ÿ|’ú2d² ÞÏÅÿ=zÌÏ™z6~üÝàÝø3wÀñ2âýàÖ Æ¾:œ[3U3Ð/|¼+™¹§>Þ¤ª9Éñæò2|¿Xš`Œn^ˆE¯yz…ª9›—39© —%¹’Í˹B± — r¼.¤ÈIÄ˪fòôЬfV5Ëe¥X!�./ç3£* c /xW@bN®â=<\­p �é K­n©Í¿4Ç+|¼¬¥$ޝ³J�µ4€Ç¸@ã¢Ì(—ò]T�² UCìkÊ&[z«ðîB&¤N,w)…¬˜äÂÇ M2{z‘NQS)Ÿ·ÔëÅ\®á P7øu“c !SS·m7Âxn1Ü‘€FAKäßô|¥YAZ÷²kEè(àGS3ßš£dÎ9ñÇ,ûÑÒ P-ÇÙÉß—°¤úžŠ^’?¬l Û5-Š‚¹+vÐÕÅR¸TÄÑÒk˜Þµ­=øuåFÝuøx»kÔÇ ç|¼œb%<½§7½(5‘ärYÔœJ¢VW’˦åZŽ_*+¨ ÄÿóÎå%Ä,/=už•Ë ãXúA²-—<®Â%˜%75²y•š Ù9L›Š¢–«µ¸!ù:þá·‘€é�Ì<½ÛûÓáô JæÝññpz%óÞøtÿðbk8ÝÜ› 'gÃéÙæÞxso|#O/^—;ŠË•ÉRò´Æ­«$"UFA$g©·óš–¾*øí¥ç ôx šWÅ ,©žG™ÏؾÉÓ•“ܪ$uQCðsJr©\¡0Þb±"Úzh�2y–Ç z‡ÓsøQ¡jÞŸNN?9:¾ÚŸ‚ã=8ºdð�˜^`‰‚DVð²(ÁÆWCôñx–íÅÎg¢›|ó9¡§]Šx£vÏqÃRi.+€¾´VoZä‚]�ÂÃÕ†*¯ •�Í[Q¨ê_�"º«qÔó+ÒÅSg�=½±zYl F'ã“Û É¡dÞŸâ�œa›ÕPã“Ûû²ß¿%èç-/vxKÅbW9Š$ >ÃvýºÚ”DYŠÄù­f²…šJB˜WM9𫉖P£ÂP-bÆýÈ´hû&'¼ÁåjÍv|Ͱ°Õ‚¯@™òŸ"]<.åæW_:`O/xÝõí!öï‡È2ØØÙßNºk;Ý5J+ØÚuúÛ«ƒÍÁàñMAo6G×¹X©Tj4ÁÄß[,UÈœb{Å"å; �7)0.H²i“M`ñÔÅr€ÒÜî!°n±®j¦ã»ôU¥)WS5I¦}|xÔmǧv.±oU�äb©J ä%E\=æ¾ß¥' ô’§wu(Y͆°�×tCŒÙÇ U³áNÐö[]Ô¹aGÄ\ù†#^Ýö ÇwÃŽ+ 1ÝŽEV38Xt1`Ü ÚpäÚn„]l [ ^T¦‹Ým,b”kºX$ 2cÀ‰!±ªÙt5ÓE�äi5ÕÀñ „1†§ãšJpT¸ºˆã­Š1’«ª*­‹ ¦#”«™ÈjVT YÍŒr“>^øÚj �ѯxZª/ÂñX Æã™§¦_¬ áhãõ!Bž‰)©©R©ŠÇ…¥.ŽMňõEi¦—‰¾õÞû@¶Œ~YíüÞ{ï3ß›šO)˜úèÑcÑŽ@;^''§€µJMMþÖd2ÁãŸþùóçÏKå*ÿ×Ô³ñã‰AÁÜ8½štK×W2‹�d5Øž\>xòüÃ?|öôáåÑ~ǬeI*¶xp~%Sò‡g;~>oì\ܽ{÷^úçÞùj³”xuz’»·ýê|¸’ÉW‚ƒÛg[õ<ïù½æmð14Èêáàä¾x·OÝ=Þß0+ô567Nï\{3w§ýöà•ïP †Wç¿�PÄ­d*­Ñí“M;7ûÛñ„wnß>;õ­�>™×ÞXâä¿{ügà;s©›W¨šñ®ˆi·jgl £µITœbô @›D¿bgtžbµ’™�ÑT/™~EŠ•P8ó„l©tÉUù[œ” IDATq¼„x÷ ›.ưéÆc!Z†Ú9™b%¯U3ÆÉz4$Z¥|¼ðúÐrÇ'W±§W1p¹à{1ŽÑ¯Èd®ˆº]Ø6x ý øÛ$úâÅ5)VÇ}¼ªQ®âÅm Võè¶¢^ãxù^p¼¸Í`Œf¼X_$šñXÕŒ{äÐc»¨€6¨)V@Ñèñƒ)ÈrCæxùN‰Üf˜… —²¼¨i:­Þ <½©/8ˆŽl®P©Ö?°Ò¥pƒâ©Ø‚•ÉMóUt¥å�Ê—×@ù-h\�â‚x§®ªjà @aé–“üÅ7šQSïŸAïb/�pØYcôvÖ°^ì®í€Ư³C2õä¯ù'rI.¡E¶À‚TR´.'¢ª‹¥*Z@RËAp>µzƒUµ¹¼T®(d§ö‰LæSF±˜®æD_·ÚÐm7 Šà™W\XÞØ’@ïhz²ºµ·5œ�oïO{›»œÛ¼ºµ'øÞ‹Í½éæÞt8!A/ïpz†þ˜N÷u†¦äË%Çñ”ËK eQ½PA&­\­éuí²2›Y²¯Ð„¶ËD®„ªª»E…3ØqY”EŒiLa³69Õ¹’ç- “ouq<“7“§—Û‰ d-¹7>=º¸�¬æ½ñéñåƒéÙÝ�ƒãƒ£K$ZÝÈÓ»øàÔÕ-Ç´œb‰öJ$¹¤6 Ú?*Ñþ~¥TR– tY§(*ïg‰ü°‘ÉM9ž¢ðçÃCŽÒ)Ç î�—@7�r z'§w8«ã�Ý Òª†Ósöñî�O×cù’Dü&žÞäyÃ|Ã6‡Ro:n /%QU”ºn:I�1íOYd¾åó�ô ’‘“°›dDošhQæ¯*]å¼H±âºZ·l/)NqËÉ·ºtÌLïÎp…óæà çv ãÕ�A»¿µµ;ßÛéoý¢â覠wámÐ^’i»Ø0Êå$ñ‡Ó”K¦�—+5Ï_¢ �½ Õóa0kPU|˜žrØ q�TBò™~1¶OßtÊô®oíB¨ì·ºag5‰~M7¤]ãn€YÍàu‘ÕŒ+ ^Ó 5ËuÃŽQ•ÆH„ìOoÊÇ Ž(—ûR/$МՌ°tóòX3¨É€~!3E.&,r›‘£©™.#ÞT'²š¡MÃI·° ÍjhäãÅ1-ƒ×ÅB É)`eý²’¹"U˜{(VøxÁ…à%P 5“ÉöÊRµ–t½±ª9Î|/Á g,2ÁýÊerÅ4èýæ·Þû‰o| ž^ä63úåÎ^ Þ÷ßÿö·Þ{?5ûS0õÙ³gOž<ív{GÇ'/_¾\½IÄûìÙóªRO>aêÙ’ÿi6.˜»¿{±¶ô^{¼hn^½øôã§ÃN@ì�ßÞ88»=ŠðrKŸ¤>{<óùºÓîu»ô³>yðÑýéjwUü³kV‹‰W§'ùìóÏž�t‹ ÐX�>|¸?½¯ •­õΞüôb³å›–övÏFN‘4«ôŠwF½ø=лŠ,ûÕï°NŸ>G)ÐÛ=ýðáЋA/=áA'j·{;“«çŸ|úô¸[Ê%ÞÌ5Àüîñ¯xfÉU™Ç Oï 9UòÒ­[€æ!V8³§7‰xááN|/­ÌDž3ç6‹`Ø"cR;KðôáéM%WQäU‘ÚŒ2y YÍ”çL 2„fÁ÷Æ UBጠS¸‹¹Í°ì"H€ob+® Ä‹çˆeÕ ”Ì8rV8CP�K$@Z;ÏKùøØYDbV½iÄõq"|ãøÂM�;*4É5�~éna8ðñ6uh6.¸ÉUðô2÷‹”)¤XA­r�Сk7ÕÇËYÍŒxñÒh'B&jÀ÷"{Àà{Q�ÀÒ©¸P(œoäé�]Z¯ÍóREq½¨¡™Y¬«u�”Ÿ$ ,W‘*L¹8HÀJ¬c›¥v”Zœ`Œ}zÃŒ5·‹‡­®¦["–©ÉÃ#‘°\^úÆÞø PkÔ]o­nr;Q«·±¾=DŠU§¿ n$쬭n 6¶‡P;¯mímíŽ&Ó¤7§Þ V`:…¯�ÜŽ¶«f&[ô ³ëO©5 @N��¨Ý3m—·V2y¥Ö€æ6u$þéùšUpƒ¢d‚j­~Ó54þ €Þ݃éæÞx8=Û÷·‡»ããñÉåõäªÃþöÁpz”Òßáé½™¼ùÚdÑH‘Ú0 kT Ï0^¼åò²íøh[M�?hW”:wIæ-‚‚{$�¢nƒ­‰C&u®ã3[lê3}ã?g ÷ >Þ½1ežß;¾|°;>…R÷èâ>ûx‘bµxqrõpt|µs@rú·÷ô¦Þ�˜r’a:TVV2Ù¼$—Dq.�U2^ÎàA]Õ–Èg3“C˜HëK-ÙË ºžëµ€¥…)ݲ?¹›“z{¯ÿ'Ë›‘b/<½Ø5NÏÁñNÏî'gýíƒýøÔwmgt#yóâ;! ·FíkdíD%]±×â|oI*9n¶–ЕžO®ûÙ”#§]—Ãcj\ãDëRE±Eå¯�f,ù.,¾Ûä#IO/+H®B#ÑÎp’j*j÷·yÕéowúÛ7ª,J¾.ÆX‡ÐUZ¤ d²y¹Hºzœ"lQáH4º%¿wC‘ÁiÙZˆ^9å7,«ôº œ3_¸`n°£ÇEÒÓuûQ·oû-É}¼ÈpfO¯åEh*bXL¼.Š|)¹*Šù^Œ�~ Ç÷DÌR<ü°\Êþ^øu©ÑÊòæ9¢FˆÑ/îõX<!§šŠ¸€–=½P;CÍMEõ†„œD¼ó+AÓŽ¿né–ƒ5ešÌ’«PµX®5*õŠ|áJCÌÖrP5'¹<žäxëMƒQ.BžcÃZ‚ã-+u^ò¡)“Óª€xËJ�³`*5*òMÚèpLR᜽ìéM6%ÑïO|ã[ß$LümpÂ<{0HÁÔþÚ:³¸õl©×ÿ\ŠWy›½Eoüá§ÏFa]ðº‹×”¥O2½sÈWÐ6ï~tg«:Ç´É_,˜ƒ{÷Ž�ïüá4œ·$Aï›ÞÆü�e*Ý;/ž�Å~ùä+Î�Ÿ�™ÅwXz+ЛØ5(º£ç/­7øž·ø*ïùjg ÷�n}çƒ[ð(‚ï…#åÖ­ÌÊJñº¸ÍâŽÄ˪æneáãE‘/HZð½1Êà¹�—[‹rжìãE= j�È &Òªñ¢›7‰x�–‘ŒÇÉU¥j-'—æœãBÃ�d/$ÐнàÙÀß&ǀČ~«jè—9^Ä;G¹"¦ÈöU(b4AHƒ‹u¬jÖmìebc´%kÜa†I¢\ð´ÀÌàoaúµÜ÷¸k°ÃŠÜfD#"¹ 7!öñ2¯‹&zð·ØëeՓ㵯…Þ`×�kîãÜf7·Æè+xzgדxžK0è–+IEìÁ3çCe¹„²hÁ‘Í7XŠ@tËaD’JTzñе *£6%÷‚m+–ª(ùXtf¦ÞçÒô&›Šåí>óºA»ßßÜÝ@í¼¾=gòu@oޤ’ĸVª5*1WÌlkÆ�¨ ]phé•4à ²Äåù­¥gËGÁ[FU[šÍK"{–4Õ¢ºãfW-fz‘Õ ^—½»ÃÉéè˜TÍ»“ƒ£Kô¦nìNÆ'—Ãé8� ¼}5¦Öh0®ââ&)õ†¶£6!7Ïoó7_�ÅæKú¼µ:«Bƒsn˜À‚Eؕȩ"w¥hš)‹-ž:)Þœ”–šu,o¦ÜæÉÙ`t‚>^´�Þ~tx~ˆ÷ìÎc Üƒ£Ë³;�Yá|üÖ=½©—&WBAÆf2Ï rÑr¨p�µÑ48ź©QGô"ñüˆÙ¹lNª×›¾è³]<’q½‘c„{u‹®dÅ¿1aл5<ÄyNÏ7÷¦È¸NÎ (À–ÁæÞtt|ux~okx¸±;_�\ÞHÞœ:{¤+q|ÚûÕ}"Y�ÂühʉÔn\å$¹ŒÍþóyÐh�•O[,V,Û‹Ús-†ž£ŽÀ„¤a¦:�r­x#,õö^óOfzq5Û¡©h{o¼;:B;ÑÖîhg8ÊÝNÐZÔ[ß�øë0½ù‚ÜÔh³£XªRvÞ¬{ §NmPÞ¼&ºŽRç§—sés9IUuÄ(.?Bòû[-ù<¥^D)WØ8óšs•úOìé�º}4�׈…w—¬¹BÉ̦_'h·zk¬jŽº}áã¥øŒ ÝÓ,×p¿ÕEÈ3b5Ü�ÏAuLï.DËH „ä8Öm‰dJ¾¿£¶ˆc€XÝòÐÍ 4Ëž^ø§ ,#áô,¹ 1WÕº† M–§ñræ¬Ù.¿%rL´ªÚÔL›êvë4nP8#…ÃPd Ó€ZÑÍ‹1$Ð#¹ r8@V3:x‡“Óƒ£óõÁÁÆîx8=GÂÐæÞôàˆïÆîh{:©B_ôBùB Y#DŸ~½á&Œâž?§ÝôŠ‚ßäÀذ\UÕ+Õ:ç<-“|SŽ T…A‘ªŒiyS9=ƒ^$TMÏî²§è—ïôüøòÁèøj0:98º<¹zxpt¹;>Åø+3½™\¡ª¨n,�•e¹dÚsÄ;+Ë�·³5Ý^JWº§×j�rE©©šçGKK�:Ç#0xrÓ"™ë‹vx¦ñ w8Žs­�x9Ÿy{ÿh8=GØõöþ%W�ßÛÞ?B5ù~Å>ËÛ{zùuW2yY‹L)Ò×Õ¦çG¬�‘Âqï®,—ÉлŒ÷6L‡®rÕÌáK‰ôÔy Zݺ¸>P´»ªQSY¹)x»æéÉUhìO{ë;Ýõ¨š;ýíÞúR¬:ýíþæîöÞxcg¿ÓßþÊ 7þzzaEèáåbÙrâ@)ü¥Èíé6Lê!KžŒ]�Š‹á§(¯àuûzøQæ¼”båR“·Ü%?Ù×�z×6Q·ÏÞ] ^ð·BÕLÞݨۇPÙ Ù‚ã…’ÙtCp¹~« /Š|Ř�0:�,/òÇ Îªfæu‘|™t*Ùn›òôÎUÍ ë `¹‚WÈÎDnsM%Ž—K±cŽåJ²…è—\]j³iXMêÔˆ,Q›f¥Ö„„�¯ˆüäÜf4eô«²ÂŽW_Ìë _C¼bù‡S, ¯%›Ö‰[ßË9/@Å@¼bݨ2âeJi„Ô¤A/{z“¹ÍI…3TÍ0ú¾ÿþ·SSjô®d¨8¡ÑÐ*ÕÚÝ»÷ý^]ÝÎäþÚúpÿ`)âýq�^�ßýè¸5g_Sï9Ö _nª•Z¥:û©4»ÇBÞ|¦÷þãIT(è»÷^<žD’ÀØ zßâm$¡TÉ;xüòŃaÛ”¯)�è½þVåÿâ�ô�ÑóOîvk×œÉ gŒ_ñÝàmÏyz3¹™wwšCV5¯dò�Â9 tºTÕÌ|/<º@Â@¹p¬-Ž9Å F_$TQ;¼\‚¿7›'£/ñ½”Õ,IrE*V3y9[(Ê¥*Ž^¯ /¸_T¥Æ9¹‡FÒÇË‚“d†3/HWV5ã2‡«Ø¢�7޳ŸI_€f±±‡íFä`©š‰k+_sËJÜ/€knEÄ2c÷qv±¦«zÓĶ%¥ð#·p¶Ç‰ÍQ¤X!ƒ¡Å·öñb]ã>”D¼Éª=Žd„bÏïî"âÅãäã Ú¶i¦Ãr)Ü©!�ÚJÜNïféÍü}§ˆWj@ ”š*V´âr >’7ψÄÓ+â‹;žO$¶ë[6Åê ¿÷5œ[rID�šJ�²Ù\�ÈÛ{›b^~óµ®mí¡�w}{ȈHUF›ƒƒN;ê®c½Øîo�þ  —DqÍŽa9yIÎçåFÓ@¸(ÿ�º1/��1½«€^AÔñü¶çEŽ Ý �:Ç…ÿù•Ü?3­EêˆSÝÜ›î^àdb«'ð¦AVüffŠ ò d…gž¬§‰«U7Íòä9ÓK)Ęr.Å,…Ö|ÊyžßŽ–û¥' QÒŒ\žtéºß¾OÎLï`º¾=d…óêÆ ÓßÞÞƒ×í®Åè·ÝßúÝØÙo÷·ú›»_ôâ"/�ª¼òRA’uÃJýÕ$ážMݰ±µµ©º9ˆ:~€»ÃlʉZ2Þ8åÂV•ï"à½AÜoEas/¸¯0èµýÔËIôë·º¦ýñ&Æ”P´{¢È—Æ€Ç:•^wyŽ`p¿¶×­9F¼"oy1Å (Ú®¦n;^ rhˆ¿â-rÃÁ"1"؇w‰ÐØ”Çêö(öñrn3G�€ûÅ3Cª¦Åî-­)š)nªNk¡8ۮŦ_§Ä Ž!É÷Ùò YÍð»Õ›Š|ñ»´à-@–€û�QnM}=âź`�"(ï%$,b®ÀǤA/+™�~¹�—}¼ï½ÿ“P8§¦ÔRÐËǤâááãÞËË«×__ÿlâi_Å|ÎÏTWï~ü|èÌ,a9µwp|t$~F}… eÁÜ{øÙgŸ¾|yíçÓÏ>: ó7½O¦­B&_Ð�>y¶ïR"×ô¾ùm\‡OÙ²½qòø£O?ýøéÙn·.ã¿ò[}ÿM¾µ|EÐûáÕÀ1ié¼¶wöäÅÇ÷‡>;pï?†3 R¬>¸•ýÎàUJ«º•… ‹»yá×ÅñXp¿P;Ï9^ñ ]âWò++yöîÎѯ ‡ÑZÄ‹"ùbL+ÜZDn±êXò¿ÿoWøëÎÿ·Ñ‰Ÿ?þ­è�~kaü[=Žcã?^:âø?þ­èOfÇÌÇâ‘?ùmzNüðøO~+š�›~÷�fãyèIÄãñ`ö$ôàkÇ8ǼqŒ·Á‡ýóßnÍÇ¿Cãÿá7Ü_ø¹æÆšÍ|oò~û „Ê×TòÂ÷‹›P1ÄKšáà†ï.aöô…+ºyu˵ý–´›¦ƒ¨ Ü�~±Ol¹áêk{zÅòe¹‘ô8” L�“K-»a«KiIBÀ–ͨ7B,õ<ñ[•j�ÚM¤b® ç EI.QÑs½aÄI0KT©©Õ¡åøÈ"ÂêJ7iA£/#P+!^ÑÇÛßÜõ[«íþV’ïeU38Þv ¦ß7zz_uê�ée»1AêÜ`ž×…¿Ñvl×ê ¤+Q8�åPi™2HóR1_�”Z®Ö(‡˜·%lIê¼Ñf-©¨¤%'J¾åÙcOï`t4>¹ÜNÖvö÷¹½ïèørcw´¶³7íŽf|ïùîõ; ô ßãò)'É%Ïo©ªŽDåÅVÏ êPd«˜rùÊc¨åxJ¨…:ùÙ”+••šÚ@“sw©Ó•ü§nQÉm\½ãPÂPî-ºOø¬Î@/!7øxɦ{qÿèâ>ÎH®ŒNö/À÷¢�öøòÁÁÑåÖððµ•E¯Œ�Îd)Ó‹êI¹� çͽéákåÍ‹SŽ�e±Xõƒv�¤Åô‡;n�"·IÏ"2ä‰Â‘K®\„-Ùªª^ªÄW9L9Y.‹)G±ÃADÍØ©OañŸ$Å—I]ª(–ë© ƒßÏ«× ØÓ Ú–’«ßÛîomï�ûS¤XAÕÌ>^ ^R8 ûý«zz_“�ÉæÉ=nÅqq�¦¹˜ï%8ÿXòÍÅÈ~ÐÖt«ª¨³)G{4’T,+¥ÞÔ­7È›g�Ü~ÐûõÊ�ß²›7y&z»ýMà Z½5 ^4ñÚ~«Õ[ó"Ú>ß+"¯æ>^Ó Å gð½¢lžÎà{ýV×ö[šI AÔ…ÌØrC?¤Z#ð½ðô"Ô÷w,¯ÅhV),¸©7}V874 {ë¼Ò@ss¼šé2Ê…�‹ ä63ß[®ª4™&•Z™&±ÛK¬O*5rœ5 €cP @Æb\Vê@¶ðñ"Å ã$â…| -�¡d®5tF¿¨8Š­j*'W¥ê0¹IâDjHªÖ–€^V/sn3#^ä9#æ ‘WÉ ôvÜl~{{À¸÷áÃG¯¹2þx@o¹}ùâñ? …ÎÖƒÍÝÁîÞðøÁ‹‡{5€^€EÕ!¾ä™l9B�ÕÍAïJ¦hí>øøñÄ�óåðAV™7¿�ë W¼n&Wn;ç�_|òäHH¦`>K÷¿ëǯz_¾øðÉ“§�=¸:õU\-y3©ÏúÝ?oxrÜZù@ Ü•LáÑNó½ÂÇ›æxWò·VrœÕü� �ÁåÞZÉ1ÊMf5£›Šè\^f”Ëc@âb± å³4ËjFrU¡X±Méþîÿóûýw?_í ü/ÿ™ßi©è!¨7 î‹G¡<œ6Ða Æxîé‚%l¸šN�äxáÝå>^ø�¿mû­†a£�x]ÃÁ­ˆ×ñZAÔ}Ó &­®jMͪ‰ŠŽäõ„87ÑÖ‹ž›j¶tm µEèEKBZÙ²\�\Éý×*òs"Ø 7’L5'É0O´ŒÚ®¯[ަ“›H·¬5ñ5©© Š0™y\ùÛ‡~£ŠR¯©MÔ3"KôBÉŒ„*$švר�¼.|¼k[{à{�x±(\êéÍ�w­¤PK¡Ùh,ðÆ+Š(—Šåx�¦‰ báîK#|?lˆÊEª�ô|’•Êr9_ úœÙmˆ�!Ƴަ"G9>“x·v\�ªP(O[· ËM¡Ë$. ²åø”E;×.ìªäQ”Z£ªÔ9èÅÌÓKJæíýi{¸7>98º€…rÿð\ÜæÞxt|±7&Bx{Šv™�ÝÉþ„ªžA¯`ÒjuQ}Q«5À òGIœ›ª�¦‚Ï&ö’8!jwáMͨ\×ó[¦íЦ+š„Ф§\^½Me� ܼl-£¶hdÕtK7mÃŒ§N;)NÝÁü&a_/•”ŠRWêMñéK|bYÞ̪擫‡ÜÁ{zû(ÊýËó»OØÓ{zûÑpz>�T~…§W’KJ½ÙÔ,µa ȇßtÅT–«jÔV¬,-’õüV‘DÈùbI!ͅ՚إ)!7N]jÊÕDqTrÊQݨ¶K_UÃ2-RöæEÏ6Ò³lÊ@¦D(aÉ™Ï:Y.¡’§¢Ô%Á ó_Áž^R2OÎŽ/@95øžˆƒ�w{ÿhc�&"¯¶†‡Ó³»Kƒ¬èš“—ÊÕZ�ÊäÌ*e&_«,&¼Ô4ÄÍh.R4cH"dò¦æ ²ªêžß6,§TQò…bçM,ÅBß8|UIâXªê†# \|ÙŒ§œãë¦ÍSŽ?M±YfX¶·Ø�J­ª¢ÖÄöDRuÏLoo}gg8ASQw�üºƒýiwmÞ]´áÀãÕ�"¯^ÅôJrYQMÝR:GyáóÊdI…ḡB}Ú…b±ê.K;¡S:¸¤Ønà¸!ÝhD?v|êf‹XšrBÔC¤±\UÉT¡ŒÏ‚žƒŽã…t•Ó-Ý «\}V@MSºX!a¿Ø¹à…o±,—+ÔÕ¬VkéÚ„Œ=½ý�ÖêzÔí[^ä†�Vo-ì¬&}¼¦0 áÞí³— IDATÜj�Áßížáøàuƒv¯i:@ÂnØÁÜoðqk+k»#^Çk!�òÚýÝt‘ÓÁ\.¶È™ïE÷!nôœ‹ …3C j¨F!cD�`“èUFX�€Æ13¾W×(6Ÿœ_8f6Ö㘫z£Þ4fÁ(Ô» 94vªf¦j&P.Ð,€+”ψnaÇ’ýrž kãv"S×^ŠºJp¹ æår©ZC£ßB±’½IÄËc$W¡§7iú}czsròaœ/ÈÅb9‰{Ÿ8[í�}xÏ™§7¿ò _ý–æ{ïŽy«3 zzIṎ(7ÙNDªfaÓe%3¬@¿¥Ñ¬�0!N®º> ÅñÔND‰,Ôq%¶r6G¿^�JânJ]—ñXä3ƒïÍä¥ßù�í¯öÞýŸ�þµáq3,îI¦àÞƒ�Wä3â3¿�‰ßeO/r±•ÛÔm×oã–‰¬fÓ ›¦3G¼b#™TÍN€[#ÆK=½ùB±¦jŽØlJ³ŽN.JZ àBQKgµ¡S–i^jjÖâF~Ô^¥øÖŠ¢}ë×T Ï€-›j­ÑhjCÜc\² 0V®Ö,a;MzsÆ 9œK4|RÍ£åjšÅ™X0㩪n¹¾´<Šò"{X¬ÿ×(–7CÕ Ž·Ýß‚ªjÀ¹§··��çõíá«<½Xíé­eƒ¨DZÉ‘&6^Lg²4Äà¾V,RW¶a¶(1¸\­¦ÓÔ¬2­¡ ´9Z&ªªÞhšJ­�Î>«r‘ªPü í‡Ͱ‰3!F�h:AªÓ©ãÏ‘Þ�ªY¶WUH0ÌORª(ºå¸^ËHLëxAgáz§Gçèã�ùxÇk;£ýà ¡dfU3%Wm '£ã pq;ÇÓcJJ�^I*fðˆß )¶5æêfžr¥ª-f•£æ$‘|“Þ,ˆÚ=׋Ê¥Ñ4-Û�×г°º ÊÅZ½ÑhêÄÂ]ï7ÎäŠR·Ä–õo©ºhõ,$9W� ‚æ>ä•L^’‹¦åRhùŒ ¥¥¢ÚÐ7ð|1å\Êû Ftnô²ª9N®šžýÂÓ‹¬æÝñéøäöÉÕÃáä rè“«‡‹ž^šrŰ½Ä” …8uÐÿ¾¿D ãýµý©V‰ÁzE©ã�Bk4žPM|‘µFÓ¨ÖɲٸßX³ü°MŸšnU”º\¬H¤D S~˜?Go ô½ren+Ëæ¨tJ´mE˜rºá 4 ¿ÈžÞ½ñéáù½áä Þ]öñ]b¼5<_A"žœüäË<½T×Ô4h’cÊí¦n%¯ä¿u<ÈUH`l9)Ä ñ¶ëåJ­©QLW­Öµmóf&I.ÕÔf£iÔU SŽ¡~^*Vk [$üYŽ�ˆQSäpVlrá‹)‹,‘‰5—´H2êyr=-Û¥+­Ø§µ{z·vGH±‚zˆÞ]tó²�W¹í½qs·ÝßZ½�©[Žï‡â*vl×§@¾¼Ïå)99®^ÏŠ ®euD~ةכÕZô<Ú,+¨Õ¥]×JMmè�¦^Uêצ\ž¶ 4ÃòÃŽ´›šë†dºÄñ”ÃIÃ>TS·hÓª¤$¬(uƒ¶iʹ^KÓQ‰L˰•LžåÍŒxgYÍ”·ÌYÍn8#­J¨š)­J Þˆwæé%/Î@¿¶ßjšŽí·ü¨Ë›Ñ¬p¶Ýˆ›ŠR÷wË aq²Ý†ºåñVxu)à( �#ÝjŽxgíDðô"¬„•ÌšA®¨zÀªì1öåAãqd—`¬6MÔ:6õ˜ã�YÃ4 XôôbwCÖÔzÓ!ŒÇSªfd¸ÀtÄËݼ@¼)/Ž …Á�}¼‚)+Œx9ež»4è²…ª™{zÙßËè—I`ž^¼¦$ùÎ�»Ýno%“¿¸¸d¾÷U¸÷õÏ&^qÎ|^'ÉÇ%cçþËç§^ùšOõ_+è]Éäe{ÿé'�vŽžÆ•Eo|¯ÆN9uûî‹»[F•E¯Ä¨‹ ·ÐX¿óÝû»³Î$z‰ŒdMž|tÚE[ròD½ú ¼ƒ¸_û  ©ˆ¯¸ÍÇ|/£ß•LÈ/#^`×Áý"Ãè1T¤s¼‹ˆªfQÚN kj'"œ”J®úÓ¶¼½|µ3ð§ÿ¨­6MTáÖ‚�ZÓmOT$Û‰0^ìãå+x{àóâ¥î>ÃA úx)N#hã¶:ßH~…§·¢ÔQ“³qí~äõvHÛÔ-X° ‹õüHÐ\4-_U8!@ùÙ :eÊK¤9PP³vĆ}—@‚üI.Ž rÉ´\+nXIIW®]‘È`¬Ôg½ 1x>Qg£³û‘·u7À µ®692 —/·õÖw@wýn”›L±‚¿žÜ–Íæ ¦C*îÞ½èÆ%ZÄ,cEHšpBMÈbåbe)èí”Ç šÚ¼w± ¥75¡¢luÈ7hÙ~r?‹¼uІbWâ !Ã’\2_ÓÉz‡¨ Q®¯vŸþª-Ä䯽û“c¡j>_lî�×#(œ×c!:=ß?<Ç+ïéÚö™FäMMƒ^¥ÞD�óÆe¸û‘×ÝìF-¢mñaRÒ¨fI–KHPcßijË@lµ„–ã•…Î99�¨¡'nÃêFí®´ž™ã\ý7µÆó-žëë‡xâes…šÚŒ]Ä3d.â�ZÝí6úù#"{&o>NÎÏ\%ºyŽ.�/ŒOnï�ޝ jÞÞ?šœÞú]½¹¼D¨©ÝÝ wž™—Gî¸%�?¦˜UÏ‹ª5Ÿ¯0BG©“†¯†ÐÆP£i¦ˆ}a¥Ö‘”†ª^Ó¦bmþ:`ƒ©»ôŒñƒ²\¶¿Ñ4&IrÙ¾ôSwò̼\kmBqÍ�\½ãCJ«B8’«�ÛœB¼ðñn Ç'·!‡>˜’¸àz�U¡ÞÐ1å.œÃ'ÖE«µµºjCLJE=Ϻŭ`HŸ^½âÔ­Â`/" æ—)jE.VŒY`ˆÜŠ¢rÐ]Q\ ÓN}‹ùtñl3M¹Ùþ£ØD£x§íp;þôÅþEE‰EþÌôBÕÜ]#¾¼nw�’«àé]Ý Å >Þí½ñúö›€‹ 7/¡âÞ vŸ™—?™É¼E%«žß0˜6û¨ƒ7XÞÁK{‘t™¢½HþªRÒ¸àØ=Ÿüö­NOÔ>ljý8à~Õ†áz!u•Ï®]|®’;ÐI¦ŽeÞ Éÿ…€O¿Ýî·:=ðy{‘A/\Bàx‘huûP5'Ñ/ÆH±â)V„rEȳo8¾ßê"¹ÊtCD^é¶ô‹[?nͤp®ñÎx]d8#™êb×oÃ*Ź͌„AÀý¦R¬àãˆEV32œ›º�+F¹ mYÕŒÇ5Ãá¬fH ñ8{z!¢‚� ²mèVUm2ÇK1TÂ÷Ë=‘ðñ‘’ZSÅ gQ½pìé¹Í@¼@¿È¡äQaÓâ�£ßY$*Ò[Å o¡XAÉæËZïøÃ—OvÌÒìïÚ¨+ÅR?²¯ÿV2‹ 7Ÿ­v.¾ûñ½ƒ¶R¤gË›ÝéãOžÙÔú›îvJ}šïþùc=¤UþΤpFsÒÇKFßYn3$ÐŒxg>^R;'Q®Ø\/¦¸_ÎmfŽÏ¾c ÞŒ ¦ØÓ›-ÈR©ú¯þÙêWCzï~‹ÏÀ¿úg«@¼Ø@âµHÖEÑÐèãÅnë\Õ|=”È7ªØÛ#@Õ�fºŽ×B[½á�¹Èö[ªn™nˆpHàg”÷×(Ÿsm}‹ç3ttQ»7üÌýäí|ÿG›wÍ}0-¼‚DXÔ0m@ Л‹L/Ö^ЪR'ê|-T¦éVÔîöö['?ï\üÀé†HmI.}@ùj¦mˆZ£äâw˃|¡h»�Ðî“™ÍtÃ[Ý«_v¾ÿ£ÍÏþ°7úiú+섟¨5ì¬u×v€x“ªæ°³Usku“UÍ(õÝØÙßØÙŸL©z‡A/ ›å"¢Vîþº÷ým~üû}‰¶mRÑ«šãQ“$Þv¾P4lzW‹?ÔHlX\s‚㡎FOÌøgÝ»¿æŽÖ¥Â^Ëkµùm"Ki½u?hWgË_>Q‹µa8n¥.>MÏoï]ÿô£v·Vo hƒ=½àxâ=Ø?¤>ÞõÁMEGk;û[Cj*úÝ98ŸÜÞŸöS —†aEíÞøûÎgØûþ�6/ÿ.�×�ÐpC�Ì™cP�Kµö*³çGåj-5[ryI·œ°Õ[; Oÿºsñ·ÝÞ�äý©æØL6�¦2 €½xºøª¨ñ"òhgd`Øê&?}oE^Í™Þãsøx¡Ô=¹zô‹>^ ßñÉíÓÛ�àã�žÝ%Ä;='ð‚¼Y–˨øúBû‹__üÐü…+爊^U�(q厢˚P½D_“Åù²—7¶øo$7iY¥P½ñ_pîþš»ÿS4åtÃ�õÚ”Sê$)/Wko´:Óm£”q ©*ª´¿g<ü}ûo|ñKÍŸnuVè#$Ç´+Ð{|vˆùÌÐŒOnžßCŠÕäôNææÞtrzg|r{soJG žÞL®æößÑžÿ‘û}|ñ×µÏhÊyôEÍXU‡®'±‡‘HKAo«C WÔðòr‹NK./¡œüÌ�ü¢öSÿ�öéZ¸IEn"Ë:y†i›ÉöÏœv$Ì­âù¢¾HääòüÉOŸJ¹BST {z×¶ö€xYáÌèJfÔ°õ7wy¾w©§·XªFíîf´õŸëÿÞ—Áÿ�ñצÞAv„¤¥�ËI �b`$QÑ4ÛvY¢g‰õ´±5ßxÂF@E©ãBú³ú³_Ѿÿ̼¢Â^Íâ]œ\Q]�N~r+!uÒðœšNy‡‚‡§›QM%DêÓ§{Ðì‚ÉòfR5¯®ƒ¶E#‚© vFŠ•‘òYÍA»‡¦"öôrV3ø^ ^ÎmFäxÚ Õƒäæ#ÄJ9^Ë#‚Í÷wޱ´ÝJ1Ôbañ�-'W�ã­7 Nß åûª ZÖ ñ¤`˜�ÑH¤[Z‹€À¹©¹ÍXÞÔF¥Ö¨5tÔÙ¢›·¬ÔU�¢@ÉÓ[o¨š‰lÑ÷[kP44R¦ �F¬)‚E�fëMC.+èïÀÁx¼RoĪf¡pŽUÍõ¢R�xáãºâ…¯8 z—&WqVsý¢Ö(5ó^SMý“O>9<ûìüââÎ�»Éÿúz=;²`¼ü,ù¿O®ÖubD>L0¢Y[ßùðãO?ýì³Oé/?ùø»O7jyü÷“‹' ·£kAVÍ�»ßMõôÎ_¥`î?šD…%˜)ºÓ'/?~°ÇDëk߯üÖ"™ƒ‡½Ä[ýì³—?»·6b5²ø{ÅŸ@ÿ÷Ùgø{ñ»……wH�KÍÕ“G½|ùÉ‹�?þäå'ÏîŒ<…/@é5;±ó7óî‘ÓÈ}烕[ñ ô›�»’)p´xàÊ-\k*²gðÀ€ÇÏUÍ¢›—¹ÜXÕœ—VD7o^.gÄ�L^Êä%*Ý•K™<ñ½ˆ¹cäönðuÎn!ÜÇk�3F¼¸�@´Œ±&"‘\eØ>nfÈj†º MôÄ™c:�´ÁñÂtO/Jÿ•áømܶS —à�a·:«§ƒà"~Ú«=� HRª(¶ë3®ó–ÊÑwµºD1Í":ùË µ{·ÕÅóßý5±’6íÂõƒ‰-A¹ŽéÔTM¨ÝH]QTK'E¿ÙŒ—ÂG¦9,ÿÜ¿\ÃK\ý²½n ì²´¤F¢­ááú V5oîMã´ªÉÙÆîDP”·wǧk;£�ƒãÉé�Áèd}0^dz©ÆöZ�ÕÛ/ž?ý®Ñ>KЪTë™l¾¢¨4å*d:KØ|aY#"s…¬€ïbñݪX"“aÔîÝûMÚ�øþ�6/þM¹¦nå ×t^à…P®CSŽdä*Žàqå�ñlšaÉb£ •lÇo÷»ÉO¿ÕYµlÛ,oFÔðpz~zûÑøä6pôñF'1¯;óññ"ä9zik£Ö[Ý}ïËà ü|_{J�¨{J²…^€õ®jµ¬‘8¶ Ï¥ï<‹M sÞýÐûÞ¿èc+gu¿íúðŸ À<�FSN�O¹f±TSnŽ ËÕšã†ø¤]‚¨óígð'üïî¯èmõjjét½£éùÖððàè(JfHÄ¡džžÝÝÜ›b²�ã%9ýÙÝÉÑE’éwÆüÿ'Ú_‹þSû—°µø*¼ÊÔ„?�ö›ä21Éèf\åÂm�¤@6�\¯µ{ÿ©þ—ñE{µ{”Z¼ó¨\Çñ4êÓUÎSN+Wëð¸òW5+ˆýFÓÄ.†,—7z»xþ/ƒ/¾¯=muVuËQÄL/�íî訷¾ƒñÖ�×·¶µÄ‹RßÁþtmk/Åô¢´©Õî]8‡ü¢›w‚¨#¶ö$”ñ’Fcv%§˜CË]Ü¢ŠÚ„cSÖ}Ú-âQ»÷©qÿO½_ý2øâ™¿°ÚÚp½PZœŸ‚¶loþUmèJ­Q,VY&€OP©«ŽK­Ñ£Nní¨ÝM}ú³ðEºzôvû›@¼¶ß"d»ºîEø{£n_$W—Ë1WNd+à±oyºy Ç·ýVÐî!`Ïiy‘f¹¶�ÙƒãuI©Þf^;ÚºåAáÌ[Þ(ò5lßñZðôBü…ðdÓ °`” …3öÖÕ¦‰•†f8è˜À³¡mžÞ¤�79²EW‚ ¹©ÏÆþÞšjTjMz-ÃFr•ª™äéaËõ¦�žÞŠðýB´\U›@¼ŒlÁ÷¢ý/x]T�(ª0P1zz�laú¥±ðô²ª™/anYîé}ïýŸD7oª�ÉU@Å@¼oééÍd <¼}ûö¥’PYð½ÏŸ?WÕæ‹/’ÿéí@oÜ$‰ýNü6¾e0¸öœYY*VËE–åä%Ò`&^âãŃװßâaÉc’ãä“äf6*~påoc~€à`ór¥TQŠE9“ÒÙBò�¥ïvмøgÏYÈI•R¹*]¿÷c{,ù ³ã¯ýáïüúg@¤X­€ãýàV6N´ZÉñ‚ƒ½µ’c¾wE€Xz\xwc$,²šcOo†ö2Ùß ÙžPm¸›w%[ÈÉ% ^ªÞ•K…bˆè�˜Ñï×Azï~—ÏÐ,vg¡)â>^Üo€HqÊ�{zE.¢å†P)74‹ XÕ¬Ʀ6 ›8Þ¨c8~Ó¤+.tâ5ÑÓ›ÍM3j÷v?ò^ü^ûû?Ú¼ý÷.z^TªÐP3(Ô'ieƒV�I¤¨EAV©•¾,ÅRt#�ç?$É%Ä„©/ äª5r^…í@¸ï„ç“ò™tÃF2áàõ”:ó²\FíÞź¿üƒîÁ÷è¯H&Çô"•*h÷±Ô[ìæâå"ßµ­½Vo£»¶“’7CÍYøæ_ü“öÞÇ‚éÕÌ\A.UÏoUk�$V,U=Jy¹Föz~»\�;ù„d‹F�ÁsŸ‘Õà)I‘‹%²L>˜.øy‰4äÂß �qRã‘e{ªª#Ý©³DÝÏèt!no¾{íÓ¢.2lW21è�]¬ƈÌÝ?¼XÝÚßÜ›ŽŽ¯†Óóµ�À ¸8XR÷Ƨëª2:<¹J1½bŸ…˜ÞƒŸv_þ�Æ‹8D  g%CI°ši'!Ï)}� ƒâ8q>”ʱ—õñ? pêý—>Áª�M+À…Z^õƒVìZŒ:!ٌɡ­VY4î`Ê5š¦)ÔûB±ï³$?ýÓKÜ>ƒ^ä3ƒãâúÎ>ÞÃó{§·!Øùèâþ¢§!UàÄþ¾ös__üŽñówìã€dºF.'UÕõ£J•ú|B–*œéÛ=x|$p¬fXa‹¾>8o?ómlœ‡žßæª>žxò¹ëÅ”‹míÂxÙ2-kðÃH\7L:ù¢Ð•h·Oõ{¿gÿÒ—ÁSû)¢yìÄž^p¼»"¹j|rûèâþÖð�ïÖð“mrzgcw‚òôŽ(0œåÍØ§3-·ÕîýyýÉ8?ø—þ¯ÿµæKÁÙÅRÛ‚z�ïž�ÂÙ°ƒèZ@:‘ê"Ú€q)ÎíÔÐU‹d½¿mü<ðá/k¾ÕYM¶C%NÙÄ”#O;~0å’®þL¶ÐÔ-Ëñ`OÅ>K«ÓK~úØ¿*ž�ÞJ®:8ì­ï¬mí�ã…’y°?Ç»¾=ÜN¨�¼·±98ØNPk”½ä¾®(Q«Û�6~Sìü×ú_=ôàOA7/*‚’{p¤p^°õ:.�jÉó© «–á´:½ŸÕŸá¼ý‰ûË;áN²Šúš’íúÉ«œOW9žr´uˆ=ËñÐ'RÄõ êüŒvíÓ÷ÃNUQq}è]ßÜE7/#^$TÍ/)–aú¯´{P,‡�U–í²š™ãÕm�|¼­.6¦©ÔYͦë„xÁñzA ºåyev@�ŒûxS·�„áéú… Š/V–ªM“W̉,bW…h®¤üvÇäÒ‡¿†’\²/j¯î>÷Ÿÿ0|ö»áð¥µ{"zw¾:çãs´÷¿¤ôÌžhõ(AËGM! #C«œ¼ªê~Ø&ƒícý8ö1’l&[e¦ gøx“}¼ÐøÑBpu³ÝßZÛÚß xœ½´K˜+¦¶ºí~w籿6¥%/¢˜i9X£ò!a†œS^Ùœ¤ÔUN"w4˶Mo/’*¯Nð ½Ú½ø�ó½Ñ¿ø;n{µ+üÕóÌ'>oTŒW­yÞm!2ŸD}%e׉ì+*ùÀGéxŽŠO¿Ó§ÒQ±B¥¢#½û¢mwESÑÆîdso:œœA}ŠšY ÞÁè„�ðälm‡L¿£ã«ƒéY ô®dòÕXиºqFS.êЋŠù@Ü£´êªžšK’\¦L¦óæzóÒÔäIXÉäå"qb$ÚÿÔûîÿØzúÛÁàMW!žþ­l^Òt{¼‰ƒ¦«èK%ÅñšÚþŠÚ=Ëö ÂÖ—:ž”çõÆRÛ0êÊ�€]�J"œ/ÄÞY‰îq­°úb~CN×@ÁE±§—y]è�ýVMEH¨ ;«à{áãE7oØY�õôagUì;@¿¶ß"T,�0Ì“hmJ椧7yÇŠh¸p¡^æD+ÀcpÂà{1†hcD1ÇcQ½ Õ4(\ ê8‚ÄpÐNôËÉUšáð¶a á™§üœf¥ IDAT—�0jËUB¼ðôBÕŒž^æxýVÕ&¸YÎ)VÉ1xપ±§ˆ�Ï}¼BÕ,•ªôøÌÓ‹1<½@¼Bá\)V”4èeïn ýþÄ7¾Å¹Í¿ÿþ·¿ñÍxzS“ømþùô¾ÍYzwÌŸ‰3�Éæ3Yâu�x¡pæä*xzÁÓ&S¬æ<ã{óðô!,ºysyÇèWH  “éW¨šoec”›R8 U©ÂˆW.+_é½û]>àx¡j¦VZ‘\Å�\¯‡»´C¸�A¤„^>(œ¹£>^8„]¿+�\’]™nX×LË‹è¾kû€Ç(ýÓhqÒé-ëé�• EQ[Dþ„ݰA줒PWjr9ˆoY©¢83»`Øêê¦�L»M~…¥ªR”×@ÞÌÀ™<cáe- /ë5FöW�Ð^>½.…ä ÅFÓ€þ1ýzZ P«õV7Xäí>úx[«›QwÞ]p¼›ƒƒÍÁá­ÝÑúö0åéÅ[•äŠnÚ‚�¤”)Ç Jo&�1º(Yõ7ûÓ ù‚¬qüuÔîQy �Ï4â…ôFX— ä0¨@Ôó«N5y›—¥ÎâÔùu#åò’¢�¤W‘ÎZ³]•¤H#ã$$½ÃÑÚ‰Àñ]]ö6‡ÛûG£ã«ýËþö"ˆ÷Ƨ(ï…¬wg8]½¹¼T«7=Ÿä ÔPv4�²¸©e‡d¥mø©¹Q®Ö8‹8lѾLr/&y0+Ãù¼Emb’¡LNÉãR ^Ö%SNt#{ŸÍ Æv@A¢¶­ ¤ #L9ñWÄû z‰³åÁÑåÙ�LjžžÝ=»ó¢\ðºC¡æ=¾|@­E"Ãy±²H ±êL>J§Îv¸è3I=L‹€‚T4fø*j“ˆC¤-Ÿr¤¡› |ê@o‚@ãÓŃl޼¬ oø·0å\�|ÚÙ¼TW5?ˆKnaA”ÂaŽT*5±{E;Dìé…Ž`rz çµ�5�ßÛ98ÞžßâÅNÁèøjcwBG§$.H�^Ñk¥áú JÑZ¤¶-ó\,UƒÙ×�ÿ.1( } ”¾zeq®0/¤¶êz"Œ�ܶ‹?øÞ�·Ož4¾Ê© �Ò‰ó¶öDÈe^’Kº¸z@-â‡�fbOç�AïêÆ€šŠAá®mí펎€x×¶ööÆÇ›ƒäóí��ɾÑÛX§*2bÈS=½ÑBD‘p¢4(ˆ:–ã éÈ ÓqÜ0uw€³×´]¾p9¤U¦Êëeç�Þö,Å*þöí/¶–x§5ù‹äm¦]Ôtœûl.…Èæljkp“¶ë…â'¾8©Ù9~"öô®nxQ§Ý§ÿÊíô7áã%ô»º.’«öñŠ*xz©©‘WP5GݾR7/ÎP5;A„0PnuIÕ,’«è£\.ø^j"�ÃÍdŠ]l°²äfòIÍ‹@PÛ�˜ãEJTÊh…@zÕÕº†2E€XÍt9«ÁÎà{1ß«[Æ*EøxIÉ -8^D^ÑX35ÃFrUC·¸©¨¡[Ìñªš …3P1«šò\ªÖU«7�b%öñÖ:<½ŠªUÕ&ÔËÊ— üœ“Ke¥öMEI¾·¬Ô¹È÷u=½Œ~“MEÜÓ‹ß�ÞäwòÝøÝxí ž^`Txw!`ÇK2EÑ0tk%‡z!R5 #Þ•<«šÅ ÉUø]n'‚Ñ—–89áéovÖN”Ë>ÞlAÎIÅwž^†¬_ [R¬°«šÚmÅýƒoÜN$TÍ<¾æã)VÜ^Àjgxz ' @/r‚6yzEÌ•PÞ#Ý>CêNˆºk)O/&j6/‹¥®RÝhY�™Šl«’)õF&Kû÷¤Nœ)'EÉ„pN ÐR ˆØ%‘—°\c²¸ÚŽË]Z†å ôsnÔÊHÕ—ôäX?!&¥-ä¥!é{Žn8Î,ãâñW4Õ†^©Ô„­}Î$ô®mí­míÁÇ Ä …óúöÞÝÖêææà ÁN{cgmk/ê®O§'É +œ7‘D ·ªJ=Lr±L_Rª“ Ëu½MKù‚̬ásInêÔÀµ{¤ —cÁ-µzä<…`ñÛ¦HX�:jH|K•Hõ/B¤|žz;øTS¢UØN)¨ãU;¨-©X®Ôü°-¢ªè…Ð!\®ÖTU¯ÖÔb‰zGù Oïäè¼.h·˜ãˆw89cÄ»+TÍ�î¯Æca°LUч•£&’Z½¡ÔTa<&øAû#5¢qªÕ:XJª­šM¹\^ªÜ+p2ø™é7ž?è˜Å;Ïd¥Þt<’æzAK3íb©ÊO…U:o³)—/ȶ,2o8u^@Ä8åu[®åx =ÅV‹T,)µzSUõrµ–,°è=>9G7/ÒªFÇWƒÑ ÆÌër7/ÐïÞøto|JPy!Èj%C¦Tª,>¬rµÆÅ`’T2m×vq) u ß&˜Z…X—âÓMÒ„Ç_üœ”/Pë,Ïar®¦CSŽ4–Aµ¦2½‰Ûªb@‘­dòµ:miñ×39ˆÚ=RødXÇEn}ë3bw£R­© £Z«‹UÎÑeÐ;šžCÉÌž^ ßíý£�ƒcbo 1Ç»;>%Oï!1ä)Ð+DÎ2M9µQ­©¥rþRAnSã.§¨6q•Ëå¤jMõÚ��˜%þâçÈ\F7âY?HÑšÚ¤"® í­¦nK•ëSN¦b§Ù¯HriÌžÞj�ô:ÓñMÛC•±˜r´®¯©Z�®9˜r±–„åÍ”PupÈMEƒƒCxz�~!rÙÀÇ‹ÜfÈ¡—€^Ñš+É%ú°T]XËØtC.·i»¸†Pëí?²Å,5,7ˆhʉø7ºÔÀ…!ú™PM£%Þ¤yê²Ý "Z‹âSMÆ�ؽÅèZUiÿ"9Óx,L×µ\A®«M?l‹z<º­ˆ«\™nr*•uK4åðìéí­mµû m¡pvÔɭޚí·Àߢ¼×ò¢°³Š+ð·ðôåºaG³\'h‡�U49Åj \Ðñ)­ ……d> ªfxz¡^mkØ>ïnãqp¼q¡ƒérðGS·1Ç«ärº¦,ž^ø{ÁÐj¦‹DhBÈýÖT+ð½õ†�—STÇ€Æ1ˆ¹B碢êðô64«\›'W1¯ @[U›jÓ`O/}En³¢j”á,¹—•:˱±ª¹Þ�Ë x`ZŒÁ÷âµ vê–Ë P1ÀµFi¦—•ÌÌërŠURÕü�o¾GRç÷ÞçÙƒÁ�—›ýñ>[ê­¾ûç»3ðÿåøÎ·nÝÊÐå{æãÍæ¤[+9ÎmFaoñ&Çbs:îéED ¤ÎH®ÂÒ?~|ÖÍ‹•J^*‘Ô3'eórẪ™”Ï´/ÊEZ dóò×Ç{_ñ~oõsüoà§Rù7ówƒ¯øT¿ßÿÑÿÔýòŸt¿ò¯ý_„�¢Ø…sèW ·F¹j“ˆäL@öŒ;dÏÃÛƒü ¾#ªÅyt[ šÊé¾Kˆwfju–ƒ^ÌP”¼° +”ª»^T�Ì�¦a»AMÕ¸1‹xˆÊ\¢1«Šª¶i“ŸJti ‹åNA.•ÊŠ™‡6¨ÙRÓ-'® �¹U‰¶ –/kDê&•²4š&¨$^Yâ…xÿ>ù½èeO//å3÷6€„ÃÎZku(7ì¬%ïêÆ`QÞÌOŽŸ74¸Z¶gXN./Qÿ§í™–Ëéµ´>–ä†F¼zAA75š†a»¦åÖEË1Ÿ·\^.)ÖA œø|æòR¹RkRÏŠ§6Uø 5`A¦Ìž¥4½¡Z.–*žÕU ™«øC„…`gòa¦wBùÌ#ÑNDè·¿}K*/€\ÌñNÎFÇW;G»ãýÃóC¥»zcÎ'5åfŸi%vS³lÇäy¼‚­×� ‹|敺ª›¶eS2P2L`¾TRD´RÚDd©\VUÝ0ÃöM`þÉÿ—½7�’-¯ëÿ�îÛ¥�CU½WËËÌØnìq#î¾ßXs�Ü"2rÏ|K½W¯V¶ÙËR�bTÐ@EE”‘–¢u°­–9¨PŠŽ+n”Óö"£s¾ßÏ�_ÞŒˆ|õ^Aw�çqÞáü2êÆvãqŸßg; ¼yA#_¤rcÖszYÀñ €ó粄§ LÂÇ ïîúÖá —ÐóºGWvÏßCå½›û;GWvŽ®lï�2<¾4�?£€©¸Q¢2mOÕˆýÎ('IÕ­xQ:“Sh«…ÚeZ²¹RUÑ9›Ý¢É0LW²Êæ¨;G˜É”T(–‘‹K¥ÐeºVÔðLœr¤ZW¨‰-îõR¥÷TŸ6åÀô®oRwñöáånoJæxrÕæÞÅ…ÕÁ*£Üþîp¼�C¯lP`øè9ub’£�ˆRÖs…T:«j•®ÅЬ©L¾Xq¼PÕ,¼øt&[ªTUÝ¢fÅÈGÐØËHyþ•+ˆ€(¥åª¦ôí–kÏB}T,~Ê~áðB‰ŽÑMbŒ'M¹ú}z÷ÈÓ»>€G£»±µ´ÚÈVøx�xÃöÂâJUFÍÙåqÐ;rÞâæò$ö©*:‡ÏQë5§ Ÿø¢©¼{½ßô~sùRM¡j(U·*rM¤£ES.KSû8ø€è‚R®(ü¡ _‡Ó ¨AöÊU•6 £@{š¥âeŸv�ˆ<½‹+àx½zK¨š�lM7„GW¤XAÕ ^ž^ \¯Þˆ× ›P8“�—ÙcH®Àcì0!¬šl'¬iìTr©q¾\Ë �K ÛÇ· U3<½H®Šs¼ðL�¦‡0Ê…›òrM�P®n—dUŒ‹K4²e7�-Ö-¤dfÿ0‘®eâx«Š^ˆ!Þ¸§¨ME¨#Š#^”÷æŠårU$ÎJàu!K.ÉTÿ›ÉE•Æ€ÄélÑðôýfrE,Ƶ½‚ËEœÕ-·ž‰wöŠ«[o;sÛ™³ãAV¶U5Ä'ÜsgsE×o<‡;Þ¼ËÍ3ð xÎMMÓze:5êãeËnœï…z�uz& îw¨p&qÆðñb /ø^1ß $�¥|"-ͤ2)‰*Ëh�ÎJÙŽIgr_;Þ{Ž�ðdû�ìwÞûXî7ßküæ{��ýóO»ñê©Î[çïxóû�ç|÷¯ýŽðôB&Ç ôE¸ÁâZ¾ÅØ�…x)Êjæ-[ ¨>Œ�“«t ‡äK¬ yåj0çÜê,Ndz'~MŒ*M@N¦%Û @wËr|Á­¨†\ÕP1]ShU-6ÝQ¦"ÈáñgAR< Èqç:ŠÛ�P1JË.Ø$‰¬Lý´ÏÚ`�çjmÎ.ÃÇ ï.úxÁë{z9¹ ÜoМë,¬,t7®zÇß—5%�³Bq¸a£­�!ùBÉv m&�eœó!K›åŽW÷ÅŸ¨T©9Îñùñæ¦[Ä#¥)€G Åg��a:R¶�‘²–C½¾¼UáÏøƒÇÇQOo‡pÅ€2œçW6—7v vž]î!œ ÉUk›ûÛGœá¼¾F åh}“òÓ@oü‰@í¦â¢©Œ”s½:)À)Õ¹Ÿr­˜•$3à äŽiF×k”åÚ5¦\FÊSpp|XO!€Œ{8ã§Î•J�KªUÛáô£!ÿ<òÄŸBÞÜÛ9¿}x|ï`ÿ’èæEn3Ðïöáå�£+kƒƒ(·ùðòDO¯xðñÇŹY™a˜'à#2=“*”*–MBSc¤ ãmõ–fÒ¾Ìø#‹[*²??~@¢t\e4Ýš(.ë-M§ÎU)[à’ÕZ<O<òÈ wsûpëàîÕaŠLÑà~aŠFrUoçüÂêâð½ýILïÈSˆ?“iÒè¢Þ&›-âçËv‚x»1ü¦�ý©™µ£ÅçÝ—)NO<æÈ ›-,3ʦ&3r“²êûøSÀé�RYžáòØg‹‚Zy|ñ§�7/¯m¶æ–ÑHÄ‹ñâJ¯ÞY)VÍÙå…îÆÒjâ—Å•Þ5@¯x f©|¡lÑ6(é€XrO²á*Çø‰³Q®T ËåuÊÕé""¦œJÙfÐ0ñ›4Ç=>?±Ôè¼Á ðñ36|XÊ«ËH9ü¨Kr|Ÿeâ ¦·3¿ d¶fÁ÷zõlº¦ú�¶ßhN¾àxx‹DV3�0’«TÓ±¼ºWoé¶�1ÆØòê\q5*”ÇAc\ë±£ §TÍØéú…ÉEUÕ€bY,Dns´Ï®Y"«9®j®*ø[Z(¢1|¯H®B‘/x]d5ëEï°‘¨À…ºH®δÂÓ nˆ\®@¼E¹&ÎE¹G¿ „q|aÈ÷BáœÉñ˜¹bYðÀ(òE;TÍ#Åj²¼Y [�x‘Û î÷–[ϼà–ÛΞ½¦ß‘ɤ$<­†#ÿõúÿD©´jX×—›GÞ<ßÈg@xzÁЂïÈVð½@¿àx�~ããxV³à~$@Í –YÁý¢�°$#å‰!I¦ÑT$ÎY®6$Îf‹_;Þ{Ž�À ÷å?UwÿÊá WnÿðûŒ«�[ÃåÛ>ÿ™ÖW>ÖxëÑŒ'{kþÖÿðKæWŸêà˜_ø‰Úap‹©~ǃß-ýݧZï±”»õ_{­¬Íßú+_],^Ésˆ^x$%j¦ µ³h*Š—Ë‹ª½šj¢b>Þøx¤É¹ŽP4¡¹!ÏØ<ÆÆ3’$5Óu¼z³=!Èê´/ ÑnŠ’JKÍîõ²¬ Ïfz&¥›-µ´‹ÏÑÄ­Õ;ƒ7Xí ÙzAå«ãÏ"‚š(;ú…Îà�Öì6-‰tŠ0É2�0!“)¤v“hiU,Q/|ªã�?r P+|¼P2ÐFè·½0·´6»¸çxýÆlkŽÖ…�…•‰žÞ‘§f¤<³â5.¦( ¼lݰÅÙ@³n:C¶½§(-œ÷o´Vrø` varðø`EX‹K Fƒ7Z«/&‡›6 ÅJ:CÞæÓdº&_”!åeÐ{-�ƒ§è]ëÊ]ÌuûðñÆ9^Œ‘\µÊ­Eë[ýÝ£å�-Ðn7zI&`KÙ|FÊ{¬ç)W/Ë5ôÙLϤ`deäFA߬ê?j7—(ƒÍõGóÃÄç"r\ÃF{õ%Îæë­ö:ájÎ'§)眲ωf2•©TjWËäžx؉z÷.\âÝÜ»(ÆP2Cá¼{þ ÞnowïÂUä9¯ vv©zg"Ó;þŒÙ,5Í9� õ]˜r*éº#Ó86‰ gVt3› —ÜÁ­åû0åšeY‰o.ˆg¡)—¡�?l.^àYú M9×oä ¥ŒDò8üÀ-†åb;•Äùr--� rÄÓônï]Xíï-®m ö/ñ.®maû`i}>Þ�í£¥õmì¬oB‰qÁiL¯x ¸@ËV9Ì<—/ùM¡ ÞtÜ�Q.)`É4ÕÃ2ï þ°̾D¿ø õžf}Îü8© R(”‘Ô[/Ò/¼Z½w.X _÷rSNÕXÐ1ÎÅYñ†\%‰ R¦ã�<> ·=ßí,¬¬ô¶—Vûˆ0ènl!¹j~y½»±E¡ô¬jé®: +�ÎÒÒjbOïø³à½%H‘gäu9Ìã­´OϤäªfX‹Æsì7/š;�ª÷_2w1?G¶PÅÓ±18o»�6�¬­GÕû/›ûäH÷Âl¶˜‘òšNM{ãÿ(�e5jxò ôý#âÁÇÂÓër/˜Xð½Ð$û�¶P8ýê¶o8AÐì �jgŒ¡jæ!;Œ¹¢±ØŒ¶ý†6kºŽ× ²jÀHLrhÍ>ÞªjŽB0Ë �x#…3GO™v [žÌíDà{‹Ê�ChÐ,ð3"DS‘j8�C³H‹ÌP# g b�Ã2ó½e™²šñ˜Œ~™ãU „-WUƒºy¹©HxzIÕÌ=½Bí æ·8ƒ >^êBá  î>^’@Wªã|o‰c®p; ±h-Bn3„Ó@¼O`zÏž½#®dF7·Ç£­0÷ô"Qã4寸L=íNa¡bôñizó–›gà›ò L'î¢gò·œ@¼ÌýFòÂx#ç9'ÙéGè—EË3‰ˆø�ÜVlúåxJÙmG¹ñ1씄’nª/Êd©ÊŒ"=3³½êùKofÐûÒŸ”ÂüÇ�Ö»¹ow•ïxô ÿç{´¿ÿ�æ+´ø;·?ñ æ^“Ïœý×ïú õ�­/�û7ï;ßó3Ê?RkÜñ-ýHù p¶ßöÝ?Vù�Ÿ3þôÏ�.¯ä9 `Ú×ÕpÐÿ.:ÈEÍt…ª g¤YàbV­éØÓÅ…M\‰áùQ4 ¥ØT†�W1(¦‚zH-|-yóÈ·‰ÀIÑIʧÒ‘ ÞB4ÝÊJ©´DéMD‚E¬ÅÖ›¬Wÿ •å^z­¤ÃF»ÈÙN#Z¯ªèa£Ýÿ^ëÖ~äË W~‘î‚ô‘l¶`Z®ã‘±0ž=Ë6ªGJ¥¥|�˜r¹(gxü)â·ôÙÖ;‹èã…ØcÑN´ÐÝÀ¢°9»¼¸ÒkÏwÃÖü 1½p»A®Ç’¥vU‘•´”%’ǯ'S§Uy�¹æý¡~�—þ^cé õëè¦ÃXh±V¾ú!ºËË?O�Sa£ òŒ QF.¬¬§ÓeX®\UÑt?Kãc€ÞÁ6!^ä6÷vίö÷DI |¼kƒÈ¼:L±:¿´>˜_é v¹]?èUuD’ò ÝÁ ‘£RÓÍýRIŽXlÌÑe�½ÿÕzÝ�äË (g­¸<5þŽ(2W#x¶ýýÖ«¹ÒùÒ{1åȲ›ÍLÛ…—L©8{~ØB1i±\½!л³KÄ@h—îÛØ>ZÞØÙ>¼¼ñÞµÁÁJo‡UÍ«ý½µÍýý‹÷n^^éï­o\ºo’§wÂdÀÌæ¸O›Ê�Ó¦}œ¬î Þ©¦3¹jM·lªoËö;½ð¡��|yáE¿Îï‘jà´8:¤.¹^½¹Ø¼ÿ×}ô÷.ÞM*úR¥–‘òÕ1rŽÆ)Pœ=˦ü0üP Ç(þ‰Lôn ö—Ö·�x—7vàÝíí^X\Ûêöv·/ƒ×ˆ)â”nu#L/ÙïYŸ–h×Că3”­«š‘Í3™ÎQ¹Q)toW^‰~�·Ö¾ fHE;i)«ÔÈõåá/yï}Ú{üÇ•×p'œ/IylUð” G~å¼€¬°Ü”«Þè v; +«ýˆ–ç–ÖVzÛ Ý�Fg ãÙÅÕæì2¡Üõ"¯Wz ‡o”é…h&A›‚Â¥)G®¢XI™l:0Š[¶¿o>¦¿õiïñ�h?Ôõ»a£]S�‰º R^”d×kôÜÕ'´~Ú{ü£ú[7Ýu?l¨Ð8G±^Ýq©++®2@È6]³2YÚ*É™ë½íÙ%ÑÍ4;a{Îö©§—o{/Æšå™n(/P®Wo)Åg 书[N@c¤X …3Pî�ãõ`®j¦fÑØp™Q®h*2íݼH¦´œ±R¦˜vUs´HPˆïErU\5_.‚…^·ÇÇ@¼‘!K·‹aœàxq¼\Ó¡|†c«XQª õñåZ¡R­ªºy‹r­ª mK²î7[(•«ª¬èÈ�c(™ËUd¬P5ʲ(ò…ª¹P–IÉ\–�™1Æ£Åo&W$ÔÍcœ/URRãl�r[GA¯P5 O/ˆ_q»0ýâöñoûÍ[nž�›g`ü à�Nµ’™[váãâž^ bØtI±™! ™ýhu’M>¯žÞsß9-}K­ømµâ·™³/øì –Î~Ë‹ßQæüÒ»ÍTâúÏ¿]ÇŸïéM5šþ‡�Ö—Î~Ë÷>®âÆŸY=7ÿòä?~¢¹›üö·|àù”7Ã÷‚¶=áãE)®@¹¢P^QPú7 ’Q _Ü®[ž¸ò¶ŽW _N®"Oïð²êÚ~Ç×O ²Ÿ¥¥zi×aMÕ”z3ùQ 7 z‘ÕÜYX²…Þ¯³°‚>Þùåõµ5Ç+ogaå¹€Þbe&‘Öb –3„î–ëú ½ŠPšÝ Eïæ÷Ð*Y7læ6Ç7|Ó(n-7^÷÷öùòÂΛé.ôÒ–§9Q%¼9œ¦ Ð çðÄ�>~#@oë˜ã—+|¼ó+›àx—7H½¾uØÛ!Ä»°Úߨ>x :p½Çó ¼�ãÖ‘Á3@ïÕF=Æ/ù4)!ƒ:-‹'n”§R’¢Até}ÎÛËÿˆžÂq ôbÊ•åZ¾XÖ)ÏúxÊ!ÿ‰òØÊr$øŸ4¥ãçM0½PÞî]¸ÚÛ9ìã*™ÑND¼îý®o"ðy¼²(þø#c½– Qnôò ¡bÃrMÛ³�‰>–í/]9î^})õZ+º™JgâÎd< ·gW\¯>·G ÿú��„ W¦´šrl³~‹¾þ–MR^XnY®^�¢^xz7÷.ö/-oì¬ö÷6÷.‚0Çùì3ú] ö/�Ô­õw®áé9o zmtŒè�ýÄ ‡;t IDAT§ERA±’`Q†4>2,ãýˆö½M¶­ŽUSé Uˆ‡�ö/«oNþ¸þö°Ñ¦Â-Úg¡,îbY.”dÃr mÀ·5bz鲬˜,øŸ8¥ãoçØÓ˹ÍèZënlÍ/¯CÉ ^·ÞYÊÇ+<½íùî ƒ^‹öôë–ùõ·¼ ¡›%>XèµÿEúœ„§½Ç�¬-½ )äãïBL¹"‡Ì_6wÅ]î7Ž‚°Y(1èU U£)WS Ž’ôZoÔfMÛ-–*ñä‚ñ'Â-‘§waÅ ›ºíÃÇ 84;èæúE‘/P.¢˜Er•fÑ¥Ö ›¸òå¢©È (HÅ�NÐ@ï‘j:N@AYBÕL ”†­Û~”@ÉV\ßÇ“«¨¶�“APâ€5ÄÉŠn ÏöÖ«Šž/V Èm>Þ’¬âlÄcáÄ‹1R¬h̽GŒx Êj®PrxÝBY Ñ2/„Êåª÷ô U³ðñæKŒ‘ÛLÈ–c®�çŒ"_ a(™ñ\¨2Ê…ªãL®(婾F_ ^âxýN½ñÜæk¤XAá|§õÈ3ó÷?á/]¡»°¼Y’eµF¡Ð”ó”‘r:e¨F¸—Ñn&UßÓ»ÚÛ^\ÛÚØ>íDÛGkƒâu7÷û»¤DÇÛß½°ÜÛé,­olövŽÖú7èéÕYÞ,±¼™µ¦ñóÆJBS¨†ÊåK®Wßx•ýðï7^ñ'í­7Ñüñ‚ÆPó2Ê‹2o¦@ýâ'ë¯übg÷-thMsù’ª[àçÉ1^®¢T‰Á}°‘ß èݪæ¥õí­ƒ»wÏßQ®h*Ze¾7B¿›ûP;™9ÖÓ;þ%·0ÓK¼ÖL"mX‘È"~êÐLëz!ÇSoVc® ðå›Ze–lˆÇŽ>ÎØ› ?K³ôꇼùß ¨…2M9Þ<Ífó†åøC×´i»R–ÈRþ¯mÆ3ônížG7/zŒÑÍÛííö/õw/ )zëàî�í£¹n}ëp° cì³\·¼9£›6ýæpÌÞÝ*¾ªa£� j|õ¯Uïý}ë'Ïü‰×¨÷2'œæMåö2Ò³|—vùIó`½óQõ{:}9iÊ‘~�âñ©Ø©&Òûz!ȇUð:AïÖö~—»yç–ÖºëƒÅ•žP2/t7ê�Ep¼¨m[Zí/¯mý.¯mÞ(襮)î&yó˜ØSβ= sÎã½â­ü¼ò†§½Çß­<Òçü°‰Â-1ÓÄ€åÍYÇ :Áü{”GŸö\ùÞ®ßE†6˜Þª¢#x†vìîq ‚KäÍ×Ïôvæ–5‹ºvEŠUØš [³d²ßÛšß4;°éZ^|¯H´‚ªÙ ýNÀê k–ñÚ~£¦sr•W·Ü°ª™t;Ò(U9¢};×r�Ú ò Ä‹D+= Öˆ]‰P8G{îº�}ö’¬Š«²LùÌ(… $O±Ç Ä …3¬XðôFo¥Z(Ëàx�Hß îèH8®j4-WUÔ‰D+(œ�~Áå"äYÊ—ÀýЬfð½Èg gÁ÷ŠÜ椔Ã}G—ç@¹àuÁå"ÚJÜŽ²"¨�o½íÌøŒ¿yËÍ3pó ŒŸÚG‡Ây&‰ñ¹©éÈÓËJfŒß‹lgˆ–�r�½»Ã>^ Ü8â%”›É U3�ít2�ÎÇ;“Ê$Ò¤pÆíh*Jf²¸1“ûòô’tyê[ ýâ�j‰Â·~æSQ&ó¯\JÙçïü¯8æ?~Ã�^Ñ…3TÍt-á\ðºQ…bÄâ&.fÂô‹­\4ຎJ'ˉ*Pîçp<†¸¬rTù6; 7d¥A?LšRnUŸÏÃÝz çä\–°±Øèô¸äï—ÊòÄ�|,nRœ"ãú�ú\w±/?ôΩ¬ FÄ+¢wÀ[ú!ˆT–«¶s]Ëé™PkМ‹·Aí¶æë�E¨šƒæX‘ö àñâJovqõ=½´Ä‡)~݉çÍ›ÙlžÊi9z×é$„M¢,tÓæþÞ Üp/B‰ÂF«Ó mBzµ-£SiêC"u&Ê,%z“c{ÃFùXi)gÙ7dµ±¹K(wsv¹·ÒßÛØ&Ò2Žxg—{½�óýÝ ÝÞ.5í^ ô»±³Ú#Úí:å͉ÉG ÛÉæ duJ°-8m$?˲J²Ûn�çOÛqëEN'«ç‘ß^Ðh.E³ThG‹%YÑ�à '’®ì ý�üÒÎǪT•�\'Ó»{ |¼èàEkÑÞ…«{®®o®ö÷ j^ÛÜ_ÛÜ'U3+œ7¶�Æ{zGÞKüÏx�•fXqz?>÷È;@þÈN£Š&šrL�süOT2dŒ‡A_¦\Ð`oUK¥¤L&§hFYV`º†ç\‹ú«I°ÀAVy ²’o È ž^ì`.-oìì]aÁöJ ç¥uj�Þ:¸{msAÙÛ~Ý WÒ Kç/*ì=©•�Ÿ: H‹*¸uׯw½î²¿L.S7ÌN­ÅÏmOK9Ýt¼ ¹ä/­y«A½�<¹D2]ªÔ¨Ù(K™¯ØY@eÊ«Ël Alþ YÁÇ‹>ÞÖ)™WzÛsKkðkÀÓ ô»´ÚoÍ-7:Kà~oô’Ц\©Q�U¬•7~ÒÀi#Xž£ûȾæ­b#‰ vÚ›‹Ÿ11Æ{ž[|ÞhÊQ‚]JÊHyE7Ë•rûÁðîI�£ «lÑqØÓ;ü%�<>ˆ<½�y¿Ñ®wæQû÷ñ ¾×tCÄ\Aá<„ÇÄñŠž^¡j†bÙ«·4ËÕ,wÈ÷R©¯Pž3#^SÒ2¯ œaŠ/ê‚L;°Ýz\Õ ŽWÔ*ºmÚAÔT4µŠ\L _4‰˜+¡d®T5x}®5Âf½àuA+JM5�Ÿ åÚ1ß++ðñ"z ÞÝB¥ZâÛ!ZƸ$+@ªdúex î&[¤XÁÓ ô›-Dȶ(×ÀÙBÕœ-+TÍñ1y†9äY¨šÓÙî›+–SR÷ÍJ£ ÷¶3gáé}Á-·‰ä*j':{»@¿qïÈD¿ùçÍ3pó L<ÓÓ‰;ï:7=“d¾7Áˆ—¢2�\.wd|¢§w&¥UqÚóDO//8^$WM'¢äª(—ù^xzIáLaÎy)_J¤ŸÏÊ¢²ß²½ÿø›�íä·?øïŠÿðTû¿|Ø_™þÖ—ÿ¤sô~õ“­{³ÿö¥?!õ3í¯|¦ýõ!¢ŸêÜÐãï.’¡µGøxá´©T5ÃöQ.‘P.’«â/¢°púWDE³PmO jÃÝ šåBs4Ú7z“i¹ªÚŽ�ŽëôSÃtR¼°H¥©Ô¤¦šnU½X¬psc´¦I¥i±’–(k ^gK•šªªnÊ5-G%±Tö(Ë*é!£e =ÂL‚ò?mÇ·«ÌjM£®‘ìqæøjFÜÐ  …³@¹a{¦akkÄÎÂJМÇÛš£ÀçbzÓ™œaE•EY7:â—�üi¥J"EûR¶X‘U3ͬÈÄÁ b'Aˆ‘Ó%þŒä̓݅îÆúæÞÒj¿ÑYZèn¬öwàã]\é­öwàã]^Û„�·9»Œq�³ý[{â¯1@r¡¨,ºÆÖq³Ù"oåSØ!³é&í’�üñ&S™Œ”#Z¬5šª¹K•šbh]PÔ‡§¦)§RJ³8-ÙlѰȓÏeZt%¢ÆïRe¤²hâ›èíÌ/7: àuƒf§Þ™7Ý(7lÍj–g8AØšEO/n‡¢ >^ŒÝ° 946�ñzð÷"ÅJ _V5{tivCly{AëË ¡áBm!Š|kªi»uÀcŒEV³¨5‚AÑm Yì¡‹1@¬àx+U è’4,WÈŒåÚ‰°äcJ®¢ßB¹†�ΪjäK•¢\«i”bd[ÓÈÓ erU5ÊUž^ ^ªi¯i”áÌݼ‚ã gð±H®jÇ‹v¢cÄËyÑP8“¯¸,£›ÁÎÂÇ‹n^zÖK_ËÓ+¸\áé�ºyÏÞŽ˜+Ü.~nnž�›gàg`èé%¾—ÆÌ÷NôôF/Ó¹ôËÎÙW¨FDò3üº¢›(7•Î☞^´I)7•H'Òùx�x¥\:[ÖåÁý>¿ ÷¡ÒÿüŠXzó?~´¾<}Ìô~õ©Îßþ¼½œù¶³gþÕÙ3ÿê𵙿ª#@ïöÌÒË’_}ªó±W¦oùî¸ë|÷ÿåÜXýz O/oÔÏ©Œ5ÕÄN*Ü5ˆdDžDJP4¡�Ç �~`áãEy/®ˆàx±LcŸŒC‚ã¥, Ó©·æ&‚Þ™m»d2äÝ¥µ•Á0È$…gPbä9RÔŸábY3¤ÈÒÉ$« s ÷ЖtòÏr|TwŠÌÛ$c?Ü…–ƒºéú ×oІ1$UÅòQ"”Kkq^7XÒã$ÓIz ü.NVε"·ÉUðñBÕŒ1|¼­¹e¿1;»¸Š$H O½éD.z^ãr‰Õð¦ÉÈg;-ÚŠd†ŒŸ.1¦Óš&ây±.ð ï7•¦4fÓvm7ÐM›"di1áþîf·ä‹eÛ!S%ƒ�ã!@2 P“d v½z¥RËA°L|êâNçžÞÞ`®Û‡�·ÛÛ�]î­m’pwycâR´È@�„uI~:Ê{s댜£ó0“HI¬µæÓž¢zËKm<5¿…Ñ)÷ôn^F/R—vÏßCÉUƒƒ(·™{žö.\ÇÛß½°{þžÍ½‹åÍ8K”Àœ¬¢äBª†–hŸ…¤¤HŠ5‡‰ùÆŒ.Å#%Ó‘‹’�Î?g&�ÉÖêur_7ì“nUšiÉØy›žIK²Ã)»5Åàm”hs�¦\®”âúhògrµp#æ6 ­SÒÉùLSNYmÜ O/¼ÐqïúÖáÒúöÆöj�×¶ú»ò¼Á-Yã “<Í¿rxRÜ"WU*Åe�6Y¹ÃNrqöàÂÅìS.þÕK$Ó…bÙ°Ú˜³}YV±/3rüÜMÏ�Ý×´]/h8n€&[|‹iÊe ´ãÀ¿¢ÔòÍi‚b+‘L§¸°J.ñÝ�{zWzø5ë®æ–Ö¢|fN®·7g—�xWz�ÎRgae"Ó‹œJSävèðñaŸE7ìé™}mOÑe �\Ä:àœ³6íØ}�ÎäjŠa±ç\5ìllá'¸:¼Z©Ô�~åä*}¯‡g8Mç4G¹$‰$y¡]¿žç_@¿ÕÉ ]ãx‹G•Es‹+ðñ Žêe€X‘\¥Û”84;*‹ä*ð·^½eº¡fš…C›Î8X·}QÞ‹cPäkؾë7;±‹�üŒÝâ/„} ÚJXŸ°xß Ä‹ÅCMµ ˆf+(¢L(K‹’¬â1‘ÕŒq¥ªEïÐÇ+TÍñ‚ãÊEÊP.ü·U•c®8}ªRÓM+5 V \�´8@d8£EçKâiå O/š…ª/ø^ exz1†§WÊObz#ïíwÞz•ôŽ$Z�={‡@¿gÎÞ.~0¨7g×ÖúƒAäKÁÏ÷søÿÁ`wm­_oRÀÉÍ7ÏÀ¿€30=�H$ÓSS3SS3à{iÌæ^�ráé¥äªZR#õJŒâå«e5CÉ 4¸_ ^xÛhqÉ(wŠùÞcÄ›ÉfrE a$¹CùœÎ¾^¨ï¿ÝãüÓ­ëâo?Õ~æS‘ø¿Ý‹9í‘qiÈ6®/ŠgK  1Œñ‹™h¢A¿H¹!LJfÃÁœuOæË­“�—JÿH:eyuÄc´g—ÆA/s5E3l'pÜP3ª‡¡<›tZÊ;n(Ë*­!*ÕÓ–5~ج)ºX“aI[FS'g� ¤å‡-Ó¦¬‘زã¶ñr0‡ÞZ”ÅÉ7¬�€ÉAibe‰wQ£Ž%JOÑtk¤W¨5l/ÄÎ.®Í9¨šÁëBÕ ô;»¸*­æ–Ö¨§—¯e#%|0yr$U�ôÌŠ. 9�jM÷‚苉KF mË¡ÞTqÄ‚·$SÝ@¢RÔ¤âz |ïBÜ~„#Ͱ†ùv„ñ†Kê4×®4„&3™’JYÕLËöM‹º^FKR€ÞÕ•ÄôvÎCá¼6 sØNDÉUP5olA}:×í÷vΓ"z’§—Ò\sE…°|`;¡ÆY>XâÛæ×‘ø-Ëê5K¹ªŠ“0>åÊrMÄÛàlè–?Õ˜Hâ¤lAøi«…ã þ+Nþß´\DïàÏl®XS  M.¢€_Ükz÷áãííœGnóîù{N4mî¯oî_¼à­¿{aïÂUð½ãéÍ ¤ '¹^Ý´]šrü="e8¥´‡È©2m ÿÇÙ¶Ô›*Þ¸˜¸%-eu‹�ò«‘WW–«âxœj´¨·V7±7ᇔ0—Nƒ1å8åŽ Àø•H¥È› ê4å ¸ŠãÃÈÓ»GžÞnoˆ'pm“Î'øÞµÁÁöáåõ­CL6J´ÚÜŸ_Lôô=˜+iºe‡°y›úÆi(O6Ý|¡”Lføk;Y\À&ÛÚÈyR©¬¬‰ÁËê �Ú×N=Õl¦Æ¬°ÑrÜ0þ{%¦\"™¶È~O~r”'åò%E5LÛ³l_Õ )[?¼½[Ûû-/t7�b…ä* _ä6/¯m‚ûínl·æ–'V�»–«še{4å,·ZÓa̦ 0öloz†¾Î–=¹a&[Qq72¦ghSÉ´=žräì@_T±Tçvä.3‰´ÎíGØÄ©*dëÎ4ú¡ÃñrUs=ÊÜÆîj:“­È5îR¥l­b¹šJG_UzÛ³K@¶a{ÎòêàrŬÛ>8^Ýö-¯>T5ÇÑ/]jq0¸\D^a O¯j:^½%6£Eä•a®ß@î”ny®ßâ g ^ÚÝÖ, [¸îÐ …³H úþ)ÑT$×táã�ˆ~EŠôÒ…r ªf _¨š+U­$«ŠF º$«‚ã…ª9B¿C…34É"«…½¨5âEÈs¾T‘kô°Bá @+²š¡L†éÊgð½@³E¹%W±pZŒó¥ ÎÀÌP8Oîé(èwDÕ $,ÔÎ#?¯kkýîÊ:Ï-¹X~îÿ Ó鮬¯­õGÿæŸ7ÏÀ7阞I Ž—.WÌ÷bÇ]tó"Ñjzš(£¸§W4ávÈž£17E<0K ±ÞMprÔË‘�—=½ÂÇK­ER.“+Τ2(ï}>=½7¨> m~ƒÜŽ]ð½ªá­r&€r¡jÆÖi¼©H$ZÁÇ !Æñ=`lÐ"Å è×vëÄ÷š6•âuÃæ¸§©ÝºåКƒË$ÉNÆ¢DPg¶Ð&SZFøX¥�¬§iÑ&I“ �좌(»ù½`ñEž°IR¸"¾¾a�ŸÏÍâ¾�h¹,Ž”¸˜tXfK܈n:.—¦øaÓ©äÕš¸‹½óËëh'B¾ Ðo{¾‹>Þ 9Ï-­aQ¸9z¹g˜²Ž8ü†Þ‘ëSWhÀR¥æT›Lù`ÙdfÔâ·Ë›œÉt¼üo�åÜ2Nxs©¹x·×\¢mÛñ2Å­‹#ÅO$ <ˆïån'±å*–ƒLÎ$Ó5Õ° %âóÖô‚øg<…`zÑT4×í¯ô÷DÜ^\_@} àÄ;¿²¹¹wqMã Ûñe®6É‹[®‚GrÜ:€}2%U=>Äy ê-Ëöâä­8 íI”¡—ù#þ€–ã~Ø,Ë‘ 0~0°„Ì’`ñÙÕ�ÆO²¨]a#©r¹’a9®O•ZøèẴD»ü»ûïÝØ>êövwÏßÄ»ÚßÛ»pݼðñB ‹¦¢Áþ¥Õþ^÷ÂxOo"™asÈ_ÕhÊ醓ÎHœxD_Okó…2àGI˨Ϲ49Ý.SìmµVê‹w{�yš´†íÆAiìì‘jÀ²}1åxòè#6þdJª)†ëøj�¢X7ãS^Mñôv{»ÝÞîÎÑ•¸Ârq ÞµÁØ2XÞØéï^÷ôÎ$RÙl1>å˜_ óÅr"ID·ë5JÂÀ©4E|�6åtÓ/2vhIÔ Ké°Ñ>²¶¶œ œêÓzh¡äB† Ž<ç‘)GsÌv„«Í$R…bÙäÔw1åH˜M]Jôk0½{ÈáCSQgaªæÙÅÕÖ)™ESQw}xÜYXéràóÓ V¶ZÓ]ê�£¹D¿«~CÕ-¢è“il•’B$I’Ú6ŠeÅãÛŠó�/”…´'~êhÞÒÞV3¨·Wüî‘µÕ g©:Û°…O!~<�„R…ðx|ÞŒPùjuL§ÒYU³'@Io’Ã#l'ðüèWÎõ”7A[Ttê onvÂö\ñÍŽé†BÕl8�í7ÂÖ,@,Ð/G1Gž^p¼ÂÓ‹K0Æ›ÑñK³áŽyzÍúEN®ï¦¢›Ú.Œ!þˆ1WH¢‚¿÷ý²MW3]±ÿŽ2ÅJ5 ÚDà3xàšjŠÛ!‡ˆ7òñr‘//[\ƒd‚Î-WÕ8ßKÖëªZ(Ë•š†€rIÕÌдRÓ€xq $Ðñ¦"ŒAá*58„3¹"¸å(·™¹ß(·™VÊ—€„�UÍ,¢âÍ—*™\ñTO/|¼gÎÞþ‚[n{Á-·�={Ðï­äú=.òW# ƒ]Ãt¾¸+îkXÎ`@MÖ7ÿÝ<ÿÎÀÔÔÌ�w�cªŠÎSS3 ­ p>æuñåÂú8“ Ö¢és²ôKÍ ™rý ¥e4úM$3ÕE�¦ñDr£Ü¯H±z>åÍÿ²@/<·ØUÅõF¸häšU3|¼°îˆèEp¼¸h‰‹ê±} Ï’-l·NWAÝVtÊé%χ4ÒØ¡±aû^½e8AÐèŒ0½HŸÂ.{ïuöáOÚÈL¬jXšañR/Å�ɲnØ(ää•7–û1RU„R7¾L¡Æ]ÎöÞ˜ªycûªæ¹nïÂê`au0Ø¿…3u«Žyzù}i‹!7¿Ç:x‡µpH%Ÿ†åbßD7îÎ! n*-•ÊU*òê¼2nÏ[Ëõë§�Ø\ž BØhï¼™úx_ñgíÁéÓQ5C(ºÅ©›I¤ò…’åñõ:-»)Ñ÷Äæ‚LÆ{§X’ñÂ8¬±ûôƒzk(ñ¥W¾½s°³{°¾u¸Â(>ÞN®‚Â(wsï"gƒ]~I`ƒýKäé=™Þ z ˆ{�ƒ·+¯|­z/W|5J%lŲìx!… sÞXhË>ÞΞº¦a9=¢l÷×èó IDATÃæÂ¡‡>ÞË¿èÔ[–‘È1.NÉdF%^¸!潿Ϫ8X’òºéPùY†ôö…bïâµê½oU^¾koŽÜKxzWú{»çï/¢¿ ¡ß=�H®Ú=O··‹�gÊs“7'™÷‚F'œ{D½ÿ-µ‡{î:ÇÅ9ržL›¶7Ü"…l¹R¥í šr„‘†ç­å¸HæÝ¢¢)DoŠ"Á~HyøoÜŸû´ùã¯Òî¡�¿% ‹S�#7iØâÔÑä¡ìãƒgiHWò W# Çñ`WcŸ>bÞ!ñžÞÅ•ÞÚæ®H®ZíïtVÚóÝåµÍ•Þvsv¹=ßí®–×6¡jînlÁ<zÙŒM©„éÞ®¼ò»´Ë\ñE²aHˆ¹ú›Pw‚v÷JŠzb;C€sͰ&w'©úØ ë­+ÆúxFy?m‘ŒM9ÒµQ`ULJÍéÙT9?8›+¦£Ò•‹¤Î¥ I�ZÁ¬øôñ.Ä鈧—Ðl{.ä¬fŒƒf©TCÄ¡\ ^7lâ .>^ÕtüF›/%W‰ˆ ^Ó k:5 B ÝÎteóê „q L¿Šn#æŠP¨fÁÊ2Æðîb1€DÑ¡[žaûͦ‹cLSqU1P3½4ÔËH�Ž+œâÍ—ªé¬*F¾(ãøJURUt/¼»`e£˜«²œ/Up;ºy¡v&¤Z©Bá ÔJ˜¹RÅí/ú�…§€Ç#Þ¡�\q:[˜ìé½åVR5ƒË©/Âíðô"òJ|u1ØÞ9¨õklïŒ<þÍ?ož�oÒ3 <½ç¦¦‘b5“HMM%„ÂYôñžD¼i /ºy!�†Â™÷,O ÞãD«²šÉÓ›ÌdáÝEr•ðô¦³Œ“™ì7SúÍþ2 üÅ*2$F<½!Ìá)!æ ¯fº¸°áê¡\Íú¥F"ÃÇ«è¶fR,Ð/!Þ�¯j:�ÎüèÅr0¨·6¿‡àÁ#_^¸ÿ׉£�p^ܨÈåR Zò’™�©ËŠ\S4~3E3 xä‹oôbýÈ—^ü»´:Tuk¼L"™–TÍ„>0þ÷‚FY® ®:^Ò0çh9(IyƒâCÛ÷~È£Ñÿw~ð9¶ãç ÑKj%Oï0«Yøxº@¼íù.xݰ5�+B¼í’7oímïys‚U‘ß>ð„ÿÈ—^󷳯$B›hŠìÊZ¶WS D|Aq—Îä ÅrUÑ90ÖÑ ›K&ä�œº‹-ý Ñ}ð¸Oµ{?Q‹‘ŠÅ45©æKœtzbw8¨ST\ÖË1¿eŒqÁLY&ÕzÿÑŸ>ÕÒ*:H’!Ó»Žwsï"”Ìh*ZZßF€Zd@»õvÎϯlv{»›{ûcž^REêTñºófë‘g¨ôõêI‹ëúu®?I•ÊUG‰¶Q@†EG…“ÏÐ_"gC€Þ²ŽRÙû>BúÔ±ŠÃ0€Ap¼bÖ¹~½Ä @8,‘¤ÊeE‹²viV[nPoÅ?ý°Ñ¶lJá*j…�wïÂÕÕþ:x�x7¶�ö.\EÙÛ9¿ñ^¨šEÅÑèeËhÅ›³á<àÁç­wÝk€ÏçH[„rkB·IU1RQ@ºA;H˜s¼°Z#?ÂÈ© ·÷š¨:û‘//ÌøpPÇAæs��º‚æÅ©£m�tõâ<Óž‚íq¤�Ddu•¢ÝS^ô%ïñ§½Ç߯>™�ÉßNÒh€ÞwÃÓ»¶¹¿}xªfd5¯o"«Yp¼(õ]éï­Ÿ½´eœ‘ Ë ê­·*ß…Òׯ|M9ƒÌ0ÙH{Oœ¢Œ—�LQŸ�,«ªfR(�é(*•–SüuvTÒ ·Œoßg­wŸâ{ÃF»ZÕÇ÷Y`ÀŸr], ]õi›N�L¹¦íu‚Ÿþ0’�òŸ…§/2ù�Õq¼[íù.)™ñ¶æ–gW—×6áé�]\½År5¨·6ÜÕ�ëoÚ{ü3æ�Z[>gÅ'Slü‘.c耺¾X"%±nÒ”S9ƒŠm2ÊÈB<~ðß <$úx—ýeÛ â¹høPȯ^!óðè” ›ñ_ZøÌMÛ-”äd*C‚‘šî‡Í·*/~4ôéGj#Þ’è�[\A¿}ñÍ„ÊäãmÍrÕ¨ªyÄÇ‹n^7lâ` ^ÀãcŽw(ÅÒm*0Ç«ÃÓK×tÎãP *kìhG»Û¬pÖ'\÷b#Oï�×=ˆšé‚F�@,Æh*5@­ˆŒ²En3�ÙW\¬(8h dùb\©j„„«ªðô ŽH˜ºy+7” ¯¬è€Ä¸½(×€NãYÍP5Í¢÷c@âñ1/<Àǹ͕j&Wß;ÊôО9{ûˆwHø¶3gÁ÷B}Û™³âR�ÁMÐ;rBnþyó à LO'åFžÞá8örrU"™å½3‰ô¹): R/ù^ b _Ü}$Å <0UIÔÇ;ŽxáéúMIùDZJ¤¥›òæ¯ØF;ø^‘\Ä«[®C"¹J®é´@¼/AÉ U3”NðùÀÛî@Úõà„�xm·ŽGf¾7TMÇtÃqO/èÁ ÞÚ[´Ì}執ëí¹¡x ˜‘ò´àãTX±òàêŽL’•�¼ªÈPø / ±âë]ÒŽ¦2Šn†�öî[¬×|iö‘gößN•*ðmÆ�¤]’Ò±0òsÁª¹€(ŒÈ]FÜ…™´¨}éï5rŽ~ÚŽ‘$×�Z�x¡pšs­¹eÁýBØš#” Us£³ÄK=½'åÍ Ý<¿Ñ˜m½âOÚxÒ½·ÒûªÖt$BÉU�s^°ÆOÎXôÿÉL¾P2LG®’Boäl°Û°ÞÞ�¬îÂïôÓr…‡M˜'Ô’ñ³‡2Uo(ÛöÀÅíV’]¿1òéõVEVAô®õw jŽïàJf ^pq «øx—Ö·—Ö·û»¨’g¬²(ÁêÖ Þ:ÿ®hʽì‰ÕgE1EÔfsEÝ"·ªxwÈ ‚ç-ÁY¯Šnjº%v"ÄñÉtF3�°ÑÞÿê1~õßÎî¼™>ïâ0›Y#0A´æMœ· õvîÐTywå‚﯋ ç•Þöbw£9KèwÜÓ‹h® Þ:´¶"}‰~1ʦ"ÑY¦¦¤~�¥I!kMœ7$©õÚ°ÜR¹*6.qNfH¡PõÃæÝÆ.põã m(ª1>9‹%)}ñß7Þ1!©QÜ_SSh‡ô/”ÿA½9òé“ß�T9D­ô¶f¯‹D«°=‡º]R5·çœ ¡Û>Î6µéúN@‰VP5{õø^$WAÕ Äç{ù`×p<2]šòôBrl9¡Ëy¸ÝtCŰUöÝ:ʇàã…")!‚auí@¼b•™jº8¸ªØXŸˆxÑÍ Ô]–)ÑJøx�Š«Š� gE³ppY&…³ðñŠ+(™ •*8^áãú…�²ç\±©šË2P+4Ò@ÂÂÓ‹D«HÉ\©Ðâxøxqü1úåGKg ¹by²§w"â�·�ã½íÌÙÜrÛÈ,¼ zGNÈÍ?ožœ�!Ê%U³H´Š8Ç|ï±Â™S¬èx2Ñ gZ� ÎP5# ME° SÚm&;Í gB¹ÜN¯H®ÊäŠñfrÅgž|ÞŸ¾^€óyœgžl!’!Á÷VZ£*wó»‹J=±}‹-[ÝòH€t’ãíǹŽ:]q;eÙ0ú¥Ì [–W÷ê­q¦{ç´Ì=ôîý�÷ò?"þ�Öî¦�•¯TJ.=Ų;\ÏQø³¦[:eo¢]#C"ŒÔàtœåû�î}TY‰çá}É—Jgªœëž½`¬åšæzõÙmoíev{Ó§w](ÌàA~0l†JyâÏl©,¼‘¶Ù´ÕD¦.|ª¶Ìœøô '¨;J¤7÷”ÕŒn^¨š—7v:K½�óÂÇ;Ø¿´±}´¸¶µ´¾ dB�˜ûcâ=½ùSU! à ÿáßo ÞHÄ/1ä¬í„ÝÑ<ݲ+ÞxFÊi†¥éô)ÇI$òpæÈÃé‡Í•9K÷P2“\ÕX^ɼùÌ"è´)gX‘—•»‹ª®GiCx"24rfXüÓ'9«j c~"Oïîù{úux÷ýðî®mîÞ}ÿöáåµÍ}´ ïáÝ÷oî]D\Óˆ§—^pF²Úúaåej¿ûqå{{+ÙŸ_°�°#¨ã3MŒÀ†É7©ÂÃÉþÛúì¾»ö°Ýîù–MUØüGo±bXSÔÇ@/;Ñ`C±Òì�±ó…’ãÖ/˜;Rðw�{T}Ò¡_ž^êyf…3<½k›ûØ>XÞØéíœÇ „ ‘W�€^zÁ¬ü÷Ãæ½ÆÁÚLÛ«´{‚z‹¾iR°“àE75¶ìг4>˜I’wW7ˆ0ÿ=„S Ì=¤Ÿ?2·"£2e,O¹t&§jl¿ªªnÁŒÀ-µÆ&$¸‰TFã̰ø§�xH9ÓÛžïŠn^¨š»ë�xÑTÔžï®öwðCOïBwc„é…ˆÆõhKèGj¯ü+÷=ïVéú]ÚŸÊÑ�cù‹”}Í=XãgLÜ’JS›íx%b_�{°èä§%E·hëÍÚ|¡v~Ù]æ�£Ñ)W*˦åŽhÂÅ9 ê-$ó!¥‚êîdEdtK×o\�}úÏŸ/Z Oo½3/<½�΂ßh›n” Ѳú>Þ°= ôË/å6{õ–nû†@ÕŒMgÄ\)†�Û-¯)œÎmÖmáã­étɶ}*ò¥±"D ^¡dÆÖ¹Ø‡% µFP/ãŽq_¼T0Whg–^гbÙ3nÿÃ{Ï;hüfŸû0q¹¢ó�H5× Y¨š£²Í2ícp¼È–\. Ààr�ûúXÕ,”ÌTÅJÁÈTsoÚ�_oãzf{u´‚æìˆ¼™ „œÆÁHZB�Ó°ñ˜Í-Ç�óB‚AƒÏ4âiýºãÞ¡!îM¦3RN®iÄ“èfY®¡TK"²¼JùjM7L§\!çÄï¸ã†¼¥Hm¨ uÄ¢Š@ŽåúA#¤üOúç¸a©"‹5=@/8p¼h$ò³q/8ÞzgQp¼õÎb£³´µ}BÞŒ¥‰˜‡ç- ‚‹81aE­ë¸™ ™±‚�ÕõB׫#•Qx nª”ÝÔM»ZÓ²Ù"ÆðÆSéL©T1L‡J,Ë´°'ÉÃF›Zj¸è¨T©ñI® ˆ˜HfXbMëZþ×ö‚¦¢™¢(8òôî�šÞÝͽ‹‹k[ó+›½�óP5£0êÓ¥õmäè.¬Vú{Û{Æ{zaò&‘ר%ˆ÷ü@!@Cö§ Š\ìå¥ÒôãÆ±CuËö)}7VæÄ>ê|UÑužr%ê1&wŸÐK¶@Á˦SªÈðœ�Ï:Ëö3|¯t†T÷ªff$¢Ôð/_ zìz4å¿@½ ´Y <½ÔN´¹pé>²¡Èâ{p龸ª¹¿{aµ¿7Ø¿ttùâÆû{;GWŸôô‚—.Ë5›û�ðŒ^ÐP4SLrn�¥]€¸ §Ž'¶¨µX®º^�2êZšÍ“€µ3‰T2•)–«ªM9n‹~  6*•ešr5im§¶9ÓXÑ9�[˜É}¥†S®/4> áé…寽�ó�ˆCD°steycgycg°iûðòÒ:¥‹ö/mÜ="oƇEÄõÕ)šË›6 â1_,[¶—/G|MšrY)[à6µºa¹¹>‹íÞB¢I¥¶¢™Å’ßÃ>TTÃ0í"mr‘ç|üŸaEYY$±1,®¢=f•Ù}bÊņ̃nêcyó`wymsms7B¹ëƒcïÆVwc«ÑYš]\]ém/­öë�Eâx×óËëÍÙåqÐËù…*ªøÃ¢ ; 0•S)ª1DSŽã!4ÈH9R&ó”£Rh.§Žäkšnê†-WµhÑÂ_4^ÛdËr•ä0²ZamüÄ)W,WÐlT­iºaŠÇùÏ©tVc\�o 6Yª5]ü&y3Ú‰Àër¯ ” V¼à{E/¸\@â¯ëi–ç7ÚNÐPMÇp�x±­Û>�-?š‡k:z(­Š³£ÃV j4ìiR0ýÖTSØ�°‡N[Û¤Œ&¨ÉL;ªfÃö!�^ª¸ MŒì¬h g�lÁëb�c¹¦+,¨Î—ª—dJ®ªªFM3�VUU YÑáÝ•å½P2—dܬh**É I ¹n·$+ÂÇ‹q®XFÙ/TÍѸ,ñ?ƒËÅ#§³£¼jjXùFåÍgÎÞ%óiè÷̰§ ç‘oïõ0½½ðÅCÀûÏÿôOÿtáÒå› wä4Þüó_ÞˆùxIáŒD«©1ÄË—±ÈÇ‹±H±Ò Ñ2'Za!ÏjÆí¨ÁÄ®j2C(|oRÊAÉ<�LãËô›É…§÷Ý?PþʧÛßì°óy|ý_ùtûgß"£›Wøx± à ”̨@$#nˆ÷øb6ìèÃ… {½bìPs íÔj¦ëxQ¢•ÎME&ûx-7tƒ¦nûšåާ7cE˜LSƒˆa9¦íiºU(Q5®XÜ'SjI±=!›L¤2¥JM®j¹V‘kdR5mž‘,ðOÕÍ æ-þ_<8cMÛ5l‡h4ZpW&ÕØÜîÃ�=UÛñó…²ð.ò£¥¥l‘œëŽê–Ã]¯ÇAD½íùnØšoÎÇÛœ¥>^øx¡dúÅ|/︧¯Ÿ�½EU3LÛ5mW–UÎÍŠ@–¡¦å Ù$˜U¹¦ÑêM®ÉUr í3ÌeñæåøàŠÅ)ú9o¤U¹hª,+À-†9¹e´T®Òr0•ÑM§Z¥’±ÜŒ²‹eÕ&Y�:YVã®E€Þ�Íݹnµ¿Ä»°:Xß:Do*¬•ë[‡ «„ mlͯl®ðÁ½itãL/Þ7ˆ(˜rŠf¢0F¼ådZB;1¸_òþ¥3eYN9ÐÑÙ<åÈ…®hÆÉ,bËÅ?ñàà1mO7mȼËrù±#—ÃrÍ-A^6WŠ/X‰MΟ7ݰóL�ãÜ y³èã]íïmlAÕ¼ÂùÌ—î>ÞƒK÷õw/¬0âÝ»p•t¼c —Þ ›ÉUÍ4mϰê—Š™qb§\–£r¼ÈjM«È O9-šrA”>…þ°|q4\wü¼ñ|.©ô K¬¹M¦$Y"ókšC= Ç Ë²‚v=üW€Þþ)Ã…�wçè ºyÑÇ»ÚßCV3L¿@¼ „{ÚŸééå¶iû-—b«4Õ¸bV¤Òn·OWÕ O¹r¥V‘ÒñšŽã+á]¿Á}9Çîå“_Õh‡…�«R¥ªPÉ�nfY• ˪O½P£>� †0Lg$Œrþh«…"7T5“éñˆ8¦7ïw7¶æ–Ö"Žwc«5·L\.+œÛó]Œ�s›× Ý Ô�ƒ^À×|¡¤êM9RÅW!©ƒš<ÛådB{‚)W–•jMÓt‹Õb¿r´e0F�O9~¨²F2¡°X–Sjg¤èæIÑ…ekIRª™LÌU ªèŽ[wýºí„e¹ÿ­Ž@ïyzÁëB´Œ1²¦Ü°¶ç jâµ¼ºÎ!‘ÂÓëÕ[€Äºíñj–Ä‹ž^p¼èæEŠ•fyªÉ-ƒì㥱w¬Ûâä*ÚÅFÀL¿Âú/.¶¹�„ÅX¨É€r±ÿŽ´*øx1^Å}#I?r›áã�8Þ˜§»XQ*U »P®–«š¢™eF¼•š&Îàu‹r�‰]f@[(Ëàx …yÝ\±\”k@¼ U3²š�x‹r „°àx¥| ÈP÷…ª�Ä+8ÞL®8AÞ<±›wÄÇ‹*# ß‘Ÿ¼g½e¹öûŸý¬½�¿ï}§!ÞbY¾n¦wá�·ýÚÇßÿØF³sòõŒßÞY>zÍ�ÿÒÇ>ûÇ_üë¿þë¿øã?ø­ÿÜ÷=¸Û¤½·ñƒÛacíÕïùØ?õйùûÞùÑ'Ÿ|òS£ÿ>õ?xy-öìô O~â—_µ5%›¯yß'~íÇŽfÅË»ÆËß\¼ðÍ¿ðŸ>C/ù¯¾ø…§~ó}o{íöÂ5_m|+qþ¾wýÖg>ð†óõø�üf¯ù:Ÿõ�пû䓟üdôïÉ'?ùKß¹>ù4Ž¿©o”[î¹zß'>ñ‰{®Þÿ¼Nâ:þwÚ}§g’q…óL"ÅÑVIH"Áñ©ÂÇ+Ð/ø^^Q…!a¦s‡;ÊQ†3_¨2)ôK1WìéÇ o"MF_1úMf²¨2:{û�ïzSé™OÞ9wžr~æ“­w½©45�„ ’!‘!!×tÚO/bQ6€ByÁëê–‡+D1£¯W> _ ^ _2ýú�¨òÞ œ �+Ë«�{z±p�À/#eÓ™l*Ma3qPÄJݬeûð�"z©°®ßpýQvÃÆ#Lû Þöƒ†ë…ªfKr6WLKT¾™�)ç)G91ÃúG ªT“iZ½e¤<¸¬ø7ˆ{)”d’¢S4ÃV5 I°xýâ]û'å3R.�ÉÆI!ošsÍÙ%¬Á÷ …óß;¿¼Þè,5:KP8�È›Å3ÎpÍ œàF^VÒXô³ñ�ôçΟ:ZÀ ׾࠘º'�Ë—$úó'BbBòNg³†¥é–ã²ûkØÕIY¯”Þ|"J7¨·u“¢z±¹z*þáò«¥GÎHôÈüF$°‚x#‘§··�äªnowž/TÍ@¼/­ooî]¤„¡Õ„¦kƒƒqO¯8uÉT†“ö0åŽ�ç:A™Ýªá;Nà4ߢ)ÇPqØ€U3 ¥ŠDï…æœ™˜¹B¹ZÓ-Û¼/–)ç†4œ±’^1ë\¿Q®TAÐé96ü™=ÞÔ`h$IÙ<ÛI²qªY€Þ½ WÇ»ñ^(œ�~Á÷"«ys¼÷;âéç Í:Žè§gÒ×âJ¦UÍЇiçéL–ÒÖcç� öc¬%¦œa9¹–Ë•2R.•ÎDßVúŒ²Ù\±Ä:HL9ö&ä‘�ð£ÿ»¯üýg?òž7¾tÄjg IDATúe¾ðe¯zý[ß÷Äoÿü£ûüEZ8y0PÙÚwÿÊŸýßïíüÜþK_ÿ¿<ö¦ïìMßÿ¶_úìÓOýÒ›£ñc�½ñÁ�•Øz÷~õŸÿ¿?ÿÕÇÖZâ¶{¯ûà_îßAïµ_ÆI4ØÜxå{|é¿øc¯}ø¥=üÚ7ýÄÿñk�?Úm^ëÕÎÅðíÊKß÷ù?û‹?ù�wìtŽ_OØxÖ×I�Í7Â/àwþpøÌ|÷;õÆÂ)ŸÅÉ÷{…ñ_±ÿþãÿn (÷ÜÔ4,1Bጴ*й"·9Žx�`§¦“H«‚×7îãå ©šÑ„‰ã¡pžII„xOæ6£›ÉUðô&3Yt�%ÒÒmgo—’ßñð¥©|•tóßõŸ�‡/MeSÿvj:‰K'€~M;¨0â=öñ²jgP¸¸& ‹TÍ"·9ÊjÖ,E³ì³ ¯j8ºå¡©¨¦[TÈÁ´Î÷ênج·æÆåÍñ•Áic6˜ÙKùºÌ5±�ïY¾ËXO;.IUͬ©FM5ÍÐ Û°Ç¥… Ê�)¥in“i‰ÔÖ±½|ò­):¸ ¹JÒµ"‡OYÅŸqâ'%Èf ºaS Z*/o ]qºâƒ NEÓk=ÍPø«ª’®Þ±�šZi�ûZ32\4“HUÙs.'¨S~5ñ“i‰¬æ¶S*Ë'9·Ñïæøw w°s„0p4-oìllaû`¹·K}¼‡—»½Ý•þÞÖÁÝ‚ïÝ9ºrèçç´™Kʆ�¶Pª@ƒ-ÞÝi.š©#çxÊ™ša±•0¶f7šÛL†�a|ËÆ›²¬¹)ÔIcfs'|­ñ— R4~˱¼ykÈv¥·ÝYXé,¬¬ô¶»œÛÜYXYíïÀÓKÇllÁÓ;»¸ºÚß™_^gzãO1þI‰ÿJ�՜ƗH¦Ó™¬jXaãYæí�p·9ýÊi¦˜rôU5Ëñ¹˜ú{ý°YS¢²±‰[{„rsäû(”*†E¡ÍB!"^áµô6: ‚ã­wæEnsȹÍ@°ðôÁ¢ÖH³ÈÇ´f5‹ªüFÒhÁñ»ëÕ[ðñ Ä[ÕL‹/Íšå /©š¹�i”Èg¶œ(­E@°¢©HÔ‚×ß+×tx¦Dz”eðôÂ?…´K€X<~\á ”‹„­HáÌ|¯‹ÜfÕ°€W+5-ÞT)œýÒ¸,û)œùö¨›—Ç p��ÅXä6‹nÞ\±LAYÃä*øxÁßØÇ U3 ±@¼ðôBá<ÉÓ{û�Ã>Þ³q…3Æ·ÞvªfÑZ4òspm¦·,×>÷¹Ï Ð{ÿ]ƒæ½!¦÷ u®¿âÿò+ñ¿¿î€yÝñuÛ‰ƒ‡ï+½19wùÇ>õw¿ûŽ­cL¿ãƒ?õä§õƒOý—¿þÀëv¹½Ïö2â/¬³ùȇ¾ô•?þÙ‡·ÄC _XüIÅ]Æ_íÆwÿòç>ñs?ýëþ?zOwx_¢µŸíu^ǧl4œòYˆù�5¸!Ð;�7ü.DSÑôLõE`àé¥HªéÔq;�#%ót ÉU@³Ó3Q;Ñô4i±¯Ë¤M>R5óf3=æ°©h:™Y͈¶Be<½ñ0g)_Jf²·ßyîö;ÏÝynêö;Ï�¹ýÎ;ÎMÝ95}öŽ»Îb|nŠÆwÜuçÔô�ç¦ÎÞ~çíwž»kjÇÜq�ù¾wž›:75ƒÇ975#ÆwQoÓÌç¦î¸ëܹéĹé�ÏMMÑÉ¡ÛžšIÞ55}ǹ©»¦¦g)ßuî+ÃïäÛ§˜<§×Àà<ÍÇŸ›šI¤Òxœ©éD"•ž&‚}fš xèöˆTOKhK&#EéÙSÓIJå1k,%Œ‰áÉd1N¤2há¤b)›+‘ùDÖ j}¼0Ɉ¬fè‚à´$F6#P.8[\´ˆËå}V¤Y G1òñ2âuÉóãÃÇëM<Â!#éTtYuÇ{z¯½ÿ¹M\AáÐ69q8¨Žxö•�ëÕ!è­)†6¶I�¯Ú#°¨"_¢a‰½|p•X†æ‹eêæ­�XW¼¶ëôBÔ4çŽUÍ­ù¹¥5ØÛD7/Bž—VûsKkõÎbsvyk{?^Yt�O pR(–]¿^!ÀqHÚ�‰6u“ô«Õš®°¦4¾DƽÐ`, 0‹å*ÊBé¿2®«PB¯”Î䕱ÛY¯ý^z;¤^>Þù•ÍEÎg}¼Èj^\Û‚zmp°¸¶µ¾u8ÑÓ{ígÿ•¶?,WÓ)m¬bVœvÒp»ã†Y•«*Y(ÙÉ9~<öYÄ”Ó [d2qI¯‰sU(‘ã—ĺ$l⥎èESõîòF@÷TÍ«ŒÖï¾1W;GWŽ.?°68XÛÜß9ºB*è1yóø³L¼…X}²ì†…b™ÚžˆÇž ?'A½©6 ä\¥ ”±/x½ÅÆuÒôÎ$¨.›£ë m%xuhé3R^åX»ñ♉¯9~£ðôövÎï]Yíï�×Ý=|¼›{�x¡jÞ>¼Œ‰·upwoçüDOoüñOó¯: ¶ês–¨PšãñÆOÔÈ-” ଅVIm�سó�@¤N¥%ƒçñ_©wŠÅùdߨTMÛÍógw œ9þ.D�Uw}€n^ [xzÁå¢�wni­»±µÐÝ@rÁJo{vqµÑYº6èFqK"I$½%“Š�ŸÂ/N…Ð×-ú•Stžrõñ�-N¹3&á·ëÕñÈn=.ñ^�ªQ]Öˆ²@¼ÎÓ½ó‹+@¹^½UïÌæKªæÖ,TÍ^½H õrÐì€×E­ñºŒx‘ÕlºaÐìØ>yz-ŽÕ@7¯í7¢n^Ýr‚8^Ű�  ´Â®Ðp Ž×õ‚×Et%Ð/_ðL™v Çš °Ò€‚ cÔI q ›ò4ÖmÝò„’Y5�lÝ.‘›šŽQ4«XQF}¼ºE´íÙ‚VUƒ’«å O/TͱE¹&R¬"U3÷ñ–«ªP5 O¯”§e`°”/áé¤<%Z•d¼.Æ"­ª(×â>ÞL®ŽÁÎ@¯ðôŠ+‘Õ,ï-·ž g1‰1¸6è}øeß%¯<óÌ3sóKÑïדémîþ»ßúÒŸè ÝávøÈ+'òó- T3#Ÿ ô¾ë©Ï¾ÿ�¯ü©'ÿþ‹ÿñáõY<Ë1è}ö—CSÍý·ÿöÿóçzý¤×|]¯¶±ùúßú«Ï¾íî�G~ùóŸyÏËcÐ}áÁk¿ÎÆupôž:—bâðxz§§禦§¦fø×™@8^�xú�R¬¨v…Tˆñ $Œ+pÂðñâ˜T:›‘"ô›Hg“R.‘–Ü=½H±JIyáéÅ8)å¤<ÅÜáüp€Æí�@cŒÆ31†éAYùR?@¨P;¶UpQ¸”/!ØÜ2ðOž”ç,>Ž1ˆöóxœ/UDiÆÐ¨ Ðôc'¯\U‘‰Çä1E¹†ú8'ˆŸ×JUÃfg¡\öhIVÑÆO䯩&|,@¡%Y…Yôñ‚§E©.N#=åý¢3 ª×ÓíÿŸ½7q�-­ëÄÿ éî Ò7Iíû©:ûVujÍZ©T’JU%•=wëÛÝ4mC‹4 #"¢ˆ8ˆ"²öˆ:à‚ËøŸßD‡Ÿƒ Ž¢¢Øà(-*Ìó}?§¾9©T*IÓWtæòäáyoõIåää­sÞÏûÙðnxÚá€`VsÐÇ $¬è6ö}ñÄòѯfq¼'/‡j³‹ÏŒéÅ—ºdˆÍ0ÃêGÉIrÑ£ô£S·Ðãi_*ײRž6DÔg:�³Ç%¸P{„$3aÐËÄõ…Ä“†åæ ÔZy©µ :½ÈjFSûx±øóê óÍUŒ+�¥ùæê|sÕ«Í׿šTYt²§÷¬ÅÓØ×}» å‚´Œ'(ìôÚ.xKåšfØ0�Ò2Mèô='D}€ªa³‘U€^? ‡Ô¹’ Å8uƶXF[µÇžêézW7¶æ[ðñ»‹ çÙæ:¬ª«½]6ý¶7¶g›ëíîÎÆàp¬§÷ôOû 9‰ ¶ ¢¿„ò½ êäù­#Ùÿ"$Òü;­#õ*uÔ®ð”#Ð;¦Ax<‘¶lj² :NÇžêéYÞÜÙ:ÜÚÜ»É7/ÐwónîÝÜêl žgûðj¦}¦ W¤ÓÅdU7„´XØzÓ–S:wÊ‘k –„)K–Ãׄ'§Ø0a$èåË+/iƒ‰Ž#ÊÔFºØé‹3ùfzû»×‘¾18¤v¢îβàx{;×8¹ª»}„È´îöLæŒxz'ÿDþ¯äÝHçpŸ�­· ëçN9·T „“gBÿ|TÆ× qÁ)Q~î—®1è-×4Ý•O&3"5PqAóN°¼¹µÞ÷½»"¹Š‰ší�êl“¯ðñBö²¼Ö›o®–‹cÓ›'ü¸“ÿ‰îQŠjR7•˜B‰Ôù¸·T¦j"è)�Ôs¡[v',B vF�²nb¡^†‚ NÁž8,Þ�Ç’ÚÄ®:«šeÕdÄ‹n^B¼b­’Êè{EŠo^ñ›Š€x�~ÙÓˈªã §—›ŠØÓ‹ô),ù dfU38^F¼#>^æ{ã© P.dÏŒxýŽYв™ûxñBÕ $üœ{îã ŠÁЛ“äÏ}îOëbðµ¯}íÑo{ÑXÄûì2½åöË>òŧ~ù»#'ø'ÁÈ¿ù­·îolv{|mt_û+$oÀÅó@ïO~ês|ÅÂÂÍwþá—>÷_Ÿh Ìà÷§q¼p,·_þ›÷å_ýO;�“äÿz‘³�Ýû�ßþÂïÿçÍz£õØÏüå_þò£+>'¦wây^ì€O�\®ÖBC|ãX©9Ÿù7ptí½êÕßý±�}ìU¯þn~åèÚ�qœNû–Þ��õ½ðôñŠ%Qš"N&êg8 p{"·Y´�öñBÉT8G¢ p¼@¼0¡‘qN ØéP4KFb©é0õñ‚㥦¢p4OEb)aôMÄd�˜‰ÄB±P+tÑþX$?G„Šq@<•�f”‹û#^ a?D^T¥á„­8‚Äb;0šiY w1?¥`èÓà;]*+1úM IJ¼'#Þ` îÅ@¶ØYÄ8#É|ƒ¦"uYKçäd&Ä‹>:F¿È0„§wyD>ÐâuHƒ Š�€x‘\à £_òîªfý²�W5p¼ˆOE¼ÂccX%<áóá±ãVð½„xE… jØÓk+ßèE⑈-‘ �Ü¿Q)¯8g4 AA*‚šýœ•éPDÕŽ)ÜàD4ýHØž…©T³èU‰êH!Qʪ¨Ô‡ ö¼Ô²¨ –}¼èæ%ô[›â†�ïÒJgaym¬§÷‚'ç§¢[øu`ÕMgÂbš2lâiöÖ‚+>}\ø¢ý©SÈ�j�òàLPº ˆ¬PRñ4ˆ^üœq$ƒÞ¹¥vCôîÂÓÛYÍÍöFc¡Ž!ö#ÒãgÌôⳉ%t‹vE•—¢@ìâ„)'¯ÿáBÐ÷H$& ¿ó BÑ}y³`z…\< Wå´äA{.ç@ÜÓ ·ÚX°Kp¼�J¡§¨|/^/U¦[ å±f Çcô ”‹Z#F¿@¹ÃÀgÇtË"äY _§l¹eE§dJËñ“)¡pf¾×rÊŒ~9øˆ—=½@¿¼ÒÀbF3]¬LdÕßˈKE·é€3ÐoVRq|ÐÓKݼ¸_ƒr›s© ‰Å•à~ U‰z!ð½ç *ZV2ÙB# V¤Eñ ƒïeOo4‘æ+å ZÅG¿�n^ÂP>'3¹QÐ{Ͻ÷1Ç{Ͻ¾§—y]V5s†sð¶èUê@ï }lñ~ýë_ÿ�7ýàYˆ÷Ù½•þëþàþê}�­ù'\ßý~å—åWéëgÞ0 ¿+Ù\¿öµþêÉÿýó¿~íÏ?ôŠK�Þ?ùÐ+*õÅÛ?þÙø‹÷¿¸ëUŽ=½8�ã;l¥ÿºÿþ_xòÅë#YüógÛ8úÉ?üÂo¼î�¤Ñ ÿÌŸþÍ/½Š1?�Þ ç Ð;ùº\ÿúÏO?ýOøúê?~æ-ךÿ!@ï¹ØuÜÿFA/‰oï¿JºYtÌñŠÖ"dP� Þ«S!ÎjF­Ñ0Re¨p>^ðºÜTD¿¡0eáD¢ CŠÜXžÞép”ÒÞã)üˆx"C¸BÄ\�A¼ÂôË(›m@¼(OC1R2“#u´`Œ�`��NùÆäs¼ñùÞH<ÌåcŽŒ1/a XÄÖóí]穬”Ìä˜×Måò@¹x·‚ªsœàЂB7kÚ×Ì)©l¡ àu3’‚çD:G¢eìqf$šd<*°±Ê¥ªáàñ“m.¯ñB>T8ƒãEš¢¢Û@­Ç¶±Ÿ ”[P $W¡vï8¹JàgV;ëÒCjg‘×éq¼�Qyµ1•E§W^ …cY©`X.Je©c6W@mX°’3,7C@ëñ¦³y’YŽ[;:®GoTryÅ´ŠYG$ÁUWÄ.>WeL8ɱÿ  wvq…s›gW[ëåÆb©:ÇݼÁ¦¢êlˆ×«/|#L/Î'O+º© "D§il…ä«t½‚¢Ógp(áŽFãê9A¤Ëaa°œš¦tͰuÓÉ~„¢™,…rgÉÊ{\|2öúœõ"Ë›áÝ]Xév¶:[ó­�åõ­õÍýµþ8^‚pÛ<^é æ[ÝMJ!Io>ëg�} Ÿ†Y;å$™s›1ë0åtÓ=1>¶'R´¤¯0ÏRË.Åã~ÿpšió Búx"­�sžÒqù1öôÎzq(oÞÜBVóÞõ‡ÒºÛG»×DðÒÖþMŒW:ƒíÃHá¼±½Úۥȫ­ÝþæÖúgý”ɯc>€¿ …It:6Èv¼¼¬ÅâÇØ>Kˆæ°1"Ž¢WŶ°±pØâRCŒ¦øìOv�O8s€ÞNŸZ²ºÛGýÕÝYZí÷v® n±�wsïÆÒjé_ƒÃ…•.Úžz›tÝžÓ‹³ GâR^¡;XF SKBT’ò÷ l©LbͰHC>ìï™ ‰#‹Ç Ï<ß¼JþüˆP˜Â¢-»„†ˆÝ,(:ÍÀágÂU:ýŸXÞ\[h5×z­Îfu~¹¾¸Òêl.¯vÁ÷r7ïbk}¥³9·Ô®Î’’àoôb>$„‘» èbÿ=JÿbïàmŸú¢ìR¾ ¥ïèœ#§¢Œ€J%’ÊHºiSË@:+6ÂHsdP|´9‘Ø| èôôBáìxÕJcMEÅJ½ÒX ê ¡^†�—ΪéÍ–ª Õ$ËMEh'2Ý2š‡�ñ8†ÂY5«H�i˜¡�ÓÁÞ]ÚÑ>ßG/|¹Øò†ª³Â¹ 8ÆO Q©ì7¨,Ãf½¢ÛºUä¥ ÎåÉœ…e 6îƒ|/|¼à{sy•ÕΠ  ¬NçäTV _YOe „„eBÂ@­’¬AᜑdIÖ@~` G.Ëô°dŽ7›W2’|Ìñ m Þ3˜\…ÜfP)H±¢± O€xqÀ(è…w÷[žsï=÷^¹òÜo=�r™ãý–çÜûÌzz?ö{úý¯ü`&—ÿ·½åÎwýö—ÿæg¿ƒ (}Õ/ë;ò�?õÞ_ûô—?ý®z}3jm¶ZŸÃW¥ºúª_º4Ó ¬èUš/ü©?úû?ýàC­Ùο‚ « œÆ1è-w¾ëw¾üž¬¼�Çü¨³ÏváÁŸú³/~òCï}ß»ßóÞw¿ç½OþÆg¿ðÑ\÷­ÈÇ wìyAïÙF·Ö(WùK¸…ÇËž�¯á¯ðM{%Hê^ŠéýFΞ^R/OGžÿ´¯jÆXTï²ÂYÜÁ#@¹¤^zzý1{z‡ˆ—TÍSaxzñþáõ b‰Rn¡Èé�Ec)N®Bn3„ÓñxŠÊ°àxÑÙ‹�4¨�y µ3Ðo(–8­jf…3Ð/¢ù€¢9H OAÕ ! *Ý€~�H±Wd B›@¿þF �=#™ø¸Ÿ¢)ªfð½ØYÇ‹÷Dä`*—§ aY—5+•-¤s2ÈØT¶€–ö‚bàô'3yŽ€ª gxzQé $̈›�6Ìñ{zUž^¨�Qk„R.ðºŸ\%ºy1V GÖL<†UÓ…YH¸ŒÜ±=½§OÁWÀ] ’crWJJ¥¼Šˆ×x"cZEÁÍR&™xó´  ’<ñxʲ阱ŸYõ-[X9ÍP¯o<&ÀŽÆD G¨i«ÀãàÙNµ.¶Ö+�%N±¢>^áée…óÂòTÍ•ÆR³½AãúB}~ùxzÑöÅ#.E,ž¢r&ÓF'�ÀZšS¬€c¤5´n‘údß,zAÇ^7§XIˆ~Züâ ”‡rAò]›–+I² ^ˆ¾ãSÂxÂåâÿÐÛzz7‡ký½Ùæ:Ú‰Ö7÷�~©U´ îh¥3€§·'h·K�^jq QL+ˆnìæ šHp='§œ0ñ’"4HÉ&R[´(�½t�îȈ* ¤‹|„„FL‹•ÕÁâoG²ÕKM9ŸéÝÚ "^ôñå’€y÷úÎÑíÕÞ.8Þ�£Û0n‘øÒòfü}‘‘Nc¿4ËruÒÀ'DÒxߘ@�«ª&¡aŸÊÆÕV¦ú‘«g»^<�g � L9æ!;×°\ÒwĘcÏ`ʱ§wcp¸¹w£%xÝÞεͽ‹íå3ï^ßÚ¿¹´J‰âýÝëÝí£ùÖ”át17H\p)Ð;=C¢žrØ8–ôŠÙl¿B2•»{$lËRoÓñ”›ž‰¤29TÚŽ\4üS*¨Ây„ëF?Ñ߃Eâñ”n�<òQåãäƒÞåõ~«³Y™mñ6â�[j·Öû¸.,¯µÖû,XX^!<¶§wòOÄyú�Õ”JíS›–«éÍŠP$M`w�¦œH®’U7&ytè†uÚ¾�ëfÙ%® N¹8ÒûgBÑ<Å59™qãàkà»Çä_ÿ•=½n¹Å2r›‘8åÕç Y¬Ôƒž^‘VE�D^mÖ-×Àß–ª öô¢›(ˆ7/|¼x4ÓñªŽWU \.‚©Tá4ÊÀ3EØéVt›6Ù-×vËØ‚÷S¬T³ ¦íÄý²Â™WÈþ€&|/”ÌØ g.W5ÞÙgopý#«fVR!ŽÃ:'h ÃëRAKfòôº¢c…Æþ2ð´@¼ñùuÑÓ ß“#ݼàxq<Ø@‹17±øÄ‚Sp!áX2O�‚ÞaŠ•Ï÷BÕ|åÊó‚è÷{zÓY©ÛÝâý½�\Võ ˆ÷Ùez½¹[ïÿì?|âíŸL±jì¼á·¿4zOô]ÞÓ;dPésÛ|äŸýûO=ù²½'~á¯?#Ò›Ï?�œ»ý_>÷�ŸøñGjC_hà–:½gžíÊwüôÿÅ'>òKþ0¾>ü«ûü—ÿð ûKâM‚ wÜy ýó½ŸuÀXóØ üRc~—oæý7 ²úx#ÇïT˜Æ¢|AJ¾�W Üã±€Ä@¶b©úåä*Àc Ö)q0Æàx…Ö‘Š(¢Ôé’Br|¶Ó¢;„o4–Œ=½¨ü†˜Ç§/<½À¨£bŒ yôÇSdå…­‚·ßbSY /Ð)L¿‚ªÛðô6×6�xqé·¶úõ+Ž.ïé% Ù"ôÛÌå(Ãl¨¥·uƒ‚”‡S.�Jg4åüÎè¢è]u´øŠ×PA��ÏÀ„±xJVÈEœ“ $DS.‘ÌÀÜ++F6'¼ý˜r½½-J±jol7×6{;×ú»×ý"«ˆ¢ƒÕÞnoç$÷Ýþå˜^Tãób˜Ž`ûÅîp$¾· |§¨;J¥s4åâ©0µú’f ±tV‚š÷Œ)W¦™øõyÊes´9%ƒãú¯h,‘“ ªnªš)åÕ Óá¬ùÆéͽþvs­W[h5–ÚËëýÅöFY$ñVEB|¼µ9R²,¯vç–ÚØã»,Ó‰ËJaË–«hô'&-½é�«‚*ߣ¡P4žS.™Œß¿K4–P4Sd\�Y–Ê5XúyŠâjÓ_-žV5C7m!)¢¿ÅL(’Le %&žŽ WŒÿ@oc¾ ” …3TÊìé-U@¼º]Br•n—�V¨Œ1‚©L· B˜¯f﫚®jºœ\¥šT¼Ìˆ—BÔÇ‹g:tÈšI(WÑm VÔ2¯ õ2{z‘ñ�ìLp¹XuøcaÓÅ1àxÁëB’F?BTAž6‚x±þQto�bÆ ýBÙ3hR5g @·@¼Aî!-�ÛO/Tx *x9‡¸N±b”{z}B+OÄDiÐ*ìãå«1òæ±Jæ{ï»"¸_BÂ#è—o‹L�7ßþô>ðõ¯ýóŸÿ¼W&µÌä¯g3Ȫ²ðà�òé¿úõoïtï0è­Ô[�¾ÿÏÿñOžü‰ÿÅgÞ#*‹Î=�àçéÑ÷|æ«õß_ž3‹-�!zyíåùŸ¿ëÑ¡œ›Èí½ýý/~â'^X'ØyôŽ;OÖ?ã/{ú9#¥y쉩_ãK�ÞsuÑûØ™ž^qïÉU﮸_Sn3wó¢µè8Åj*ÌÉUǹ͂ã…�1Wœá¹ÍH·bU3Bž ‡)ÑÊçx#±•Ç 'p<‘A¯/ (º|áÈ…�Uà#ž^èFÀå²§ßµ3ǃËE˜�ß*ðñr¢T+PD§²¸_Àcöô}¼IÆ]�›ß8/‡œüŒ„+ÀÓ‹4߸!ò3 U3_а÷‰íÕ¬DÙWÌë2ßËÒ ä6#š±W Í’Ÿ-¡YÐA#�1¶`ñäÃÁxýØç#<9–Sö³š­¢íú¨Ø´=׫rT†„ô±—½T|KêºíËpغ¥Ša¹H !µd*£Žn:ÉTúù±lXB ^aŠ�Üàìâõ$ÿ+¨€=ÒXÓPé¥C}­E�x*Ë.¥3d2òí§ÿ ÔêÕæëóË Ëkàxar«4–Ê�Ź¥6] ÷Ãë¹¥ö¥<½"ÌF±Ï-UÁ 9År¡ AôNB´ÅºYˆýúb°ñ™‡ÂQ™öüOˆ*ƒÏYÇ-#‹¿¸�Ú(v‚­wz&’ÎH¦å:Eê:"6¾X.È!üÞ±ãOïÂJw±ÝCS8ÞÎÖÀF{c{cpȹÍ]�~/åéEä’nR•ññ”¦1…#±T*k)‘ÈÑ��r>â=•û…«W*×ó²W*ÿÊ`,ó2Y€ó¸”¬èkÅ”3­bŠàs¦3½èæÇëûx?¹}ø’«¶öoòxûðF¿›+‹øÌ1 am^SN¨%›ðDc YщöÏ«î’ l¯àM‘˜ª\±œl#ž7¸/ƒ)—JgisJ·‰Ì�p‹ãíĹ%úÂù\D€ л¹M�Ïðë’zc{y}«¿{µOȾ†\ gÎÛÝ�KyzIWLª:ÏR™rÜbŽz±qœ"‡ ð| ÂשiŠË†ÚåôEó*Tº“£:"ª± ~Q‡™âoNÅ(u’�µLÑg`x—+Ò]»�Áï==fOoc©ÝXj·:›K«Ýêü2�Ç‹[ßJg•l‹­u _$ZµÖû—½á0°Ù®��ø{(Ö$vBQ)1^’ÈŽËlðÈi‡#qÕG¼ãŸ¶]Š'|ç ïL(*¶\EŽ3®„i8媶S–ò?ÁßxÖ ·"›O Þúzz‹´ržc/-P1h[ ^ˆ–ñºé–UÓÁX·KP>}¼.§XQr•è×ÊèWÏt~¾[NyýB½^^ AÕŒ(Ä�C᜗uöôTâ{S¹<”Ì@¿@ÂXÝù gAÆrn3P1–v@Å pO¸Þ†ëCB¹bL±:¶Ñ …3ŽßÓËME÷ÞwåÞû®åÂë‹1›~/d•ÎJŽë}õ«_ýÊW¾Ò^[Ÿ wñ_/zÿæ£oÙ]ë®oôðµ²´0È\^~äÉOýýßî×ßøØas~¾R›«Íµø‘ß½ƒL/ÁËöK~ú³ÿøå/?¦·R?ï4N`ÂÊÚwüÒÿ|úËŸþÅïyp°0;_›]Zêì?ps§A¨õ4ÑÊ ·±ùš�üígÞ{0ìæml}ïo~é~ð�æìiÐ{êý7}óv{}um_­ÅyxzÇý-Nü^cŸß”ÿÍ@ïÔÔÌóšÃWÇKK¨!â…>^p¹èæ6 Ä‹×bñ½@¹ø^#ØBÓiŸãM’—8D>^¨— ñR;<½�%©,�EÌ•¯^í¾<ާ(n*¥8èx*Kfp0ÎáX;pP5ƒtõs›3¹`ŒÔ)~Vó°o�Ði.ü ¤Š½:æ{QÔ�h{ü\Ä�ì,²�—’«”cO¯¨�£-I \¨š™ãe/ö8å¢* —WYÕ ™�j8šébÓT3]¨šå"Z#ùäËæ©Rèì³mì¾åw>ÿÛ?üÀI-w½¼öŠ�|á/ú¥=‚¦çœç kŽËH—ò_øš�ÿ[Œþ^|}¾¹ƒK�ÞoäTŸÿ”H±Š §÷ñ«S>÷ õrñ¢›Èˆw&E‘/Ò§N«šy-/‘À‚×�ÆSS3ÔÓ!…3Y.©Ä1žÞª2B7/H` \?æJ¤RH ]¯…3’«¸A„CÚåÚÜÅ+‹Â‘¸¦[E¯:ø!󉧞xzáÆ‡°"É_öQ–UF²Ïq½|A‹œ LŠDãY‰Ø2ÃrL«hZ®n:²ªK’œLe"1ßò*$‘Ì  îÖ`ïL(BvD·|ô_lœÏö[„½j2�…Ѥ!P+’«Š•Yðº^m>ˆx«³´þ›[j£È·ÙÞ˜]\ñjó³‹+—òôŠ�Ýr­U~äw½'ž^xüsµæ-Êj–$…—}!Ëá–u“ú„‚×ÁçlÑ4똖k’î�”Òù‚šÎæcñi7‘h,+ɦU´ÊÖŽ I3_U*I²ÜÖÃöãR{âé…G~׫.‘¹ZV�±+QþÆ©é°zûÔHÔ\ÛDÈðlsÖÊvw‡Ú‰6¶Á¿A͈·³up)Oo4–À x÷íþÄGïûÅJ�!$é8åT—lÇËäDàÉšn⺉)g˪ž“äDʧ"ùwL¦2ªnÙŽGŽJ"��)Ü™PD!²½róCΧ÷}4åÜREèŽ�äwã3½Èæ´*$Wʈw÷Úƒí�mF¼h9Þ½öàe{zEdW¥g¯ý®þ#O¹O~\ÿѾÕ)•kaIÅY‘v#ž2 ÛqËôùJžPÛŠ)MŠ a§™ Ä”ËH`¿ùŒÄ¹¼lÚEÓ."ÖŽç¶p4Prï‹Õkj½ó)÷É_U¾M²Rø™ôQeO/|¼ÍµML6$W¡Ç¸·s )â›{7:[sË�õÍ}$c·cyAOo,ž´r{GáO¹O>å>ùÃòKJeÚJãóûŠø4¸ÇÛ/,!.þý)gµ¬ˆ)Gx�ì¦|éR™œfضãɪ¯¢çÿ EÕpK•ŸW^û”ûä_Ùïþå¦H~.wjøøà€=½+�Íåµñ·”VµÕloxõ…¥•8Þrc(wvq¥ÜX$…óZ¯6׬Í5/ÅôŠèþÊ‘±õÿo{Ê}ò·´7·ŠË¥r-2±KeZ®í”á… ^de§ÒYU3ðt°l×0E7¥‚’Îä„*íøS%¯�bÙ%?%Q„>ðÈd(æýÕòÃm¿ç)÷É)ß‹)'åU4·ñ‘§AO/<ºÕÙEˆ¤JÕ†WŸ3ªf¯6k8�­@¼”D 4�-Bž¥Ä«¶ãU!�Vé~OЊa˺å–k¦[�iã‚f’ò™v®Ý¼jè¶h¬,Ð/,Q¦íYNq›†U‚�k¬LàŸˆE&VªáÀ3…}vlÐåj¦ ”‹¥ +™hƒëF¼È4k9•Ë˪!(ZPÉ"”$‘Ê Ë˜Ž]ÐÓË)Vðš!¢+4,ùâ© –vðÄ�%ÆÒh^ú¡0ÂŒDõmt¹<#^PÊHœõôÞsï}Áv¢çÜC’f”÷Bù4ýÞwå¹#0`èÍIòç?ÿùï{Ýë/ˆx/zëåúBcv1øU‰MåÚ|­d; z•ë‹Kíng£»²Ü¬U�ÁØÏã­ø7=}XðûaQ'Þ¹Þ˜¥åÀ×Y§<†ÇåFsy­·¶º:?ë×èñauñÓ«³µÆBðW@WÇWfâyžû‹œyÍÏø[ ÏáÄEø¿çEàUôôNM‡h�E�½Óˆ˜:íéõ›Š„¿—Çâ1¯ Mrp,ž+ì /é¢E½ÐT(‚Xæ0ÅoPåï(â�%€xáÅ�‰Ä>^âu£‰4g5c Ñr4‘Ft"�Å|/ÆH±Ê4å”y \ØtÁßBµ‚1Ú‰ÀåBÔ ¾·B¨šÙÇËšÎÄç{+î§ìãEœ`Z*Ð�Xˆp�ÏãÆÍžÞc‹fIBíÌ¥v�±†6GÅ1>ârÑX´_+‰¦;“°ÃŠ1 1ûxJÁõExOöù@¹d»Ô^€h _?£X‘u ›ÊV±¢¶fë³K½‘h\ÔêT�Þç#�}šØZ·XÑ› �™ÐcØEE32Ù<Ñ>aj…%2EÌf8_1!xó5oÐJ1,Ë.©:ÅrÂúdTfÂQ+ÿ% �[¿èƒðT::On Ð O/#^øxÁåBÕŒq}~yi¥ÓXhyõ…¹¥¶ðôR:N<‘>½`:ý u+óƒÒ_™Ç©®¿‚X¯|Acd 2„øÜTFViY¤¶”W’i!µ âá:t­N\7Ñ1FQO‘X<žNg$YÕ±›�ä'ª‰‚‹Ëdš2x:¯ôÿŽO|ean«èUêŠÈ yúwayssmU:ó­ „3­t +]ôñ¶†>^ Þ…•îúæ>qƒ‹{z£±$4¢ 2_ø1j`r\ZñΓ2‡¢±$R[M«(+z&›�'2ÈÑ…,ùÔ”#52ó£±d2Eáu˜rDŒÓ”Ãõ�…Â1M·ÜRåÑO”ƒ œ@o ?ìôEC+’¨6÷nìÝÞ¹í^{�}¼œbµ}øÀÖþÍöÆöúæþÎÑmŒ/Åô�\3@nO¹OÞÖ÷„ªVN9×D*qU3mÇb 9IêßàM—. �šr!á5¥GF"�ÎJ O9‰‚ÁÑø…)ªÝ.½V~!Îç/ìw-”iŸEÑY€0öºMM‡YÞ¼¹wíDH«¢F¢îN÷úÆà°¹¶IJæ½â]íí.­ö»—IoŽ'Ò¶]*•kV^�Sýåu½AÓ;fT,ž’ò*>kÂ2*Áø�»\èä]N\CÊa‡+™ÎJyU7Ë.ʪ.ö_NxøÅ´¡»®[ª~Òø1œÏ› ß�HP3öÒ±¼yyµ‹T‚•!Ç d ŽcÔ¶-­tší�úür}~yyµ{)Ð[�5·Ty‘zÄSnÇì½êÉ}D�ÅÓ™œ?åt+'h»s˜) òÕð€<"1L¹H4žHf29IÑ Ë.¦“•òbÊ!¤ýx+!+BÝß"¿çó?ÌI~qÐÛ˜;öôBÕL¼nmÖ*VL·Ìž^â{‡E¾ðî"æ*¨jÆñh*r¼*¡áãò+29^ˆW³Š˺” w’fñìVtR);‚Æ"Áçu5 /÷ žV5³�—‘-TÍªá€¶åØ‘¬D5P8ó8˜âIíD9™|¼ÃõPwV¢PeY3°¸¢±Xäp,(XÙ Âc‘!šóÇBÕŒ(æ{aúÅÊ-••°’äþ^ÂÇ{¢S(™ñ:™ƒãÅêtôÙr†3²šYÕ ô¬5-@ï yô§?ð3G¼—½#§q÷Ÿw¯À¿·+€•ÁýW§¦¦C´™š¹J=½ VöôÒr_øx¡dF0«š�fÑ{Äk¨šÅ’"ŽÄáõ…h9KN‡£S¡ˆßÍK :´bÆ÷!,¸\•�fÑÍ‹×CÑ8lº¡Xb¤›×çxEy/�jPá W0«šýB”’ªfØt1IŸgU3úxñþðñÂëËÆÜ±ÿÇÞ]N±Âû»y�xéî)ªŒ�\…íIxWHÕ,nÜØûä»^è”°Ûê§&Š,àUxƒ±óÊEóAôË6 _àgæ~áùaÕ) H»HaJ´2�›Š�bå–k—òô†BQYÖÝRuùAûáß*=öG•�ÿd–Ê5ÝtPÃ8²ð¢•H礂nÚ†å’÷Ò°eE—òÄL&’T…‰%b±$…šdr9IÎËšBI$Ž/(z*CQXc7æ©È‘\‹åõWX�}ªòÈïy+�’¤öËD†Wö#gÅÿèErüº´œÕ¼ØZgÄ»ØZgŽwi¥3»¸r)OoŒ¢ª=¯Rßý1óå_š»ö3öì†ç¸åL6ú<áK¥³²Jî>ï,è5YËI2‚šb$ÍHÄã©DŠÖù‚*+ºF+!ºtšaó:òôû“î1žÒM»±Qºþ³öËþnvçm>CNËA±1ÁWéô w­;`Ä‹êÔvwgn¹ÄÛîî ¹ ­E¨5ênµ:ƒK�^á)5‹^uå1ë…÷ýïåµ—“Ö@5lá‡<^àf„#TÃ#I O!•t¶º”W2)!Ú×¢±¸˜r™tš¦\AÖÕô§¨éd=•Îù’™“~KüQ \î~�ùøgk´´|Û¦)g¹aëôÃ+Ìôî^{4x÷úîµauÞ>|`çè6ÂÀvŽnn±Âyppkµ·ÛÙ:¸TeQ"™±¯îͽ½ðò¿sÞÿùsÅÇ-§Ò”y>r’Ø¥JerŠjšþ”³ÕÈËZ– 5Ec šr‰T2•ÍæòyªsÓ5Òkˆ�¶nfr‚m1²©�¼?Ú³ ËÝ´;?'¿æO¬w¼A~ yNR„sõxgáô÷ôní�r¾ÕlîÝ€§w¥3Üêí\kuà{Qä»ÖßÛÜ»±Öß[ZíÓxûàâéÍáH­à/V¯}LëGµ7?ª½š¢š#tîpÊÅhÊåUw-“bŠ t—#f’îrôQ�ÇâÉD2“Êä$I¡\%¾Ë™N^ÖRé,;xG~ý™P´ S�ØkäGþØü‰_T^·göKeª;*«Ï¼t zUÄÛXhAɼØZ¯Ï/³ª}lËk½ÙÅ(œ—×z½Ó3át:ç¸å–Ûz—üÊ/8ï}kᥥrÝvJù½Dñu2“¡Ï*¦œf:ŠHÊÈæòÉTS.FS.�¤»\!_КrþÓDÕÌLŽž#ayÿ©é°pò÷Íþ‡•×}Òø±×È/ )W¬dsàçÓ߯€é­6Š•:TÍðè–óV±‚18^ŒKÕ†n—€x…P™øÞRµ@kIÕ,<½”V…Üf ^H 5«”bT˺…×M·\ÐLŸã5][%(œ�Û‰4ëD¡ƒh$b¾×°J´Xi°Â™•e0aý„…D+l 'Z öå±.Ç WÖB”b•£|fT?¦¥¡_YOçdèry5™%¯¬ð¬±ï ¨5˜bÅ|/TÍ 60j=V5g¥àúp¨<áéE@ ’e 0Äêøyô‚×�‹ñ=÷Þ÷-Ϲ÷¾+Ïå çgæé½~ã¦h�^DÅöôþ_Jþ{ÃuwÏg€wˆ÷êÕéçß”^G Z‹Ðº~u*tŒx6ö·HE;Ðo0«9èãâ%¦¨ºt¾]S3�aœìÐÂïÐÛÛ"9îÂJb]ŒŸÛ|/¨6øx;[H"OæÖþÅ™^CÆÓ‚ì­•ÊÃ)g—’©I›Ø5Hgr2‰$Ýs¦Í:Ê%’ò %ö é&þ}GÑXB·NL9§X‘òJ8J*† _ìé¥p¯�í­ý›#>^l"ñåî]�´ƒÃý_Šé�D¨÷Õ�‹+7H‘QªR]êÉæ°à CµO¤$JC'ë�íxâÓŠ�*O¹¢mý)'Œ ´MKr9mð=yŒú¢áùàÓZ£8¨S¡Dü-<`O/zw±{ï.æÆH®ZëïmíßÄx}skÿæÆeÒ›gB‘D2c9%jS×­è‘•ô´ö›O:ðh,‘¦yL9\7l]™VQÜßJ–S2­¢jX’¤Äésïr±¸pVϧT®;ÅŠÈÄ>GÎòæÅÖúêÆ`i¥”»º1XX^cÄ;ß\m,´ší�åÕn}~w<Œ/z…ÓŠ‚¾Ý’h¡ó§\….¢:(x¹‚cˆòMn—ᔣKt|—³‹â¾GO Ýt ¢5ìnð­FÆ¡0í§í—iƹûSSÓa€ÞÙùåêì"B•ÙÇ dˈ·X©ƒ¶Åó Þ]°²";£1Âñâq̈×-×p0�­áx@¹ÈÁÊ«†áx`� ¢}ÐÏmÖ,Ç¥�gÒ—‰B, �å\< /“÷ÓÁñÂ3 xŒ% äÐØ Ç%hÈBv @,«š±¼‘…é—ÔËCU³Ï÷’5—lbyY'ěɃË'Á|/–p´BîH, ê9JŠ%üÀÈ‚�îŒ ûx£‰4~\{ U3‚c˜ãE°ó˜Ê"Îg«jª�ï! ü­#«ü LoÍ^p|ôŽ\Þ»ÿü�{¨›Wh>¯^�¾ÿêïÕ«3 mCáü½P2ûˆ7Jjä©)R aÝÌïP$I¼.ÆÈjÁ6h'J²§7O]�!Ä/ÞÍW8Ãô›H‡¢ñcU³@¿¸ƒÀÇËc¨šƒ>^BÔCÓo$ž‚�7šP,�m6äEÃÇ »�-Þ�/÷­«É�xá× "Þ·Å\™Ìàx�xq¯Ä½1W„~EÈA^Ñ * ÓI´“—uºA9Þd&2Â`¬ú•U3ˆxá×õãDìãÅ µFØmÍRˆIÑ´= _¢ÈS•ŸÓˆ>^|/Ð/x](�hSVìﺥ*?YáìxUËW8â…ŒêRž^1KÃh"±lÏvȈ ŠÉ–<êYõ+a£‘h"‘ȤÒÙt&—ÉH錔_é¬hþH¤9ÃI|Ë$�O Êxl×Ct³”—ƒU™#Ë à?�ZÑÇ[ªÎýzµy$WÁÇ[�mñ¢È·ÙÞ …³(ò½”§Ñ4µ:¹bõVÊ´s‰h@IÇbq"ÙRâ¢Ñƒ×-#¥Ò9Q6CY¯T–k‡ÂÑt6gˆgÊ3¨8è_å#G½=òîÂÓÛÞØn,­1â�[î¬õ÷XÕ¼18ìn-­öIhº}t)O/þÄñDF!—-M9EhÝ¡I9±à?yÊ Ùs‚H¶tަÜðºÑÜÔ‹§Ã²‘cŠNžÉþ”‹§dUG0²ð¯�Â<�Ócfz‘ÀÄ»Òl>°wý!´Á»ËÉUÛ‡´:D^QËÑ&µ=�æOÿ,œg$JVg®vÉjŠ–Ç~ ¾ ÿ?¢Ðàx<�Õ4].žr¹à”㺦s§\8E¦1íĹeU3Éô¹6–7¯ui§ ¿{}y} ÉUýÝëH®ÚÜ»±18œomå®õ÷æ–;Ä�ïÝhww.åéeó<…[Û$ÇPT#™:?�û䔣�㤘r|ÝÄí.G´y"MöàKL¹p<‘VÈòPaN.Uò ;¥ÏúS‚¬+�Íf{{y+�M,­tÚ[Øæ#Ä»Ök,´èŽ·ÖÃÁõùåË€^ºÉ ó|A`{�â %ŠJž<1Ä¥OŸ˜rd°ÂuŸP1åhâå¨R‹ò5#½P~}ˆÃsRÁ²I LJmÔ2}Ö·ô.4Û–ˆ�DZ²š1Ö¬"R¬�\EHX(œÑH„ä*„GòÓÖ-×�Ã.Uœ\5$„lFccZ·KŽWÕí’¬[†ã xì0úU¨�‰:x¹©†ö᫚ÆÊ{ëàx9¹ êe@åU3ÔÎÇ›õª á›j8yYGÌ'òJ�c‚µ Ž)¨�'΂o «\^õ=½Ãä*ôD‚Ÿ�d�8Þ¬Oe$YcŽW’5.¡D×s¼ìzü>û«ZÐÇ w™l©CÃH<•ez9Å*èã½ïÊs9Î ¨˜ï•ç]ÊÓ{A <ì.èý�‹ñîžùÈv½zuú*ùxɶGòæ©�p Ŧ‚ݼIBe!AôÇ@¿¨/b/ó½AÄ O/Þž^tó …ó±§—–€Âô  g VÑYCù̬jÆ¢e¼ Õ4ûxq8^Ä\ÁV —}¼©\{uA¾žÞ‘=<€XF¼#íDˆ°‡š9^Äñrï¹$kAÄ Tœ‘dÒ§ÉZ*WÈæÕ‚jîWF ?'WÁ¯Ëݼ\éŽ×ñ¢�èïÔŠL,Œ±Ã ïnpŒn^¡2Þgñ2¯ …3W–SÆ~°fº–[f/GeèvéRž^¬°4‰‘Ü1IÓŒJ5΄¦Ó3áp„ÐZ"Ir58ýÈF"oöq†ÿ·›�=hÁ�HÅDÇï¹k&xÑc±d,ždÌ|Öj†_è-7+�¥¹¥6ûx‘Û\n,ÖDƒ%ûx¡,7盫—õôHÀw‹%#±->Ÿ‘èJ\:,…ýòôu‹Íˆv_À6Ÿ›„2�ðÈ;ãŸâV�Åé`¡3���Ú>ý½ìéeUó|kÌ$8^/¶{ðñ6×6�x©’§C^èKõô’Ç/J³ˆ.]«Þ3§­tÅÄÌX"Ÿ;åü÷Ŧ…$�^7æÓ×*øŠz7ÉwÊJf´Aɼ}ø+™}ow§³u°stý´—bzOO9x&|š„Ñ4ASNô ¡ŒE¾ÃiL ¢3añ%`š¥aU`üŃc!jMÅâi‘M½›Û‡�…¯öv�r›k›«½ÝþîõÎÖAsms­¿×ß½U3E¦í\ƒº·µwqy3c~‚ü4å‘(º‹ÏœrÔÀG5OB:Kå‚gÜåp•„&Ž»ÜXûFðºÑÁt>i!2'Rý"SŽåÍKí ÜÍ pFBAk½?·ÔfŽ·±Ð‚�ž^â{/#oÆÙbuÁO¤ ƒ‚¿€n4F· æìï=��r´£7¬A5¿â®5ÜÙ¾mpL?‚Â9éà¸pÓ\¤ÍŽ™Þúìóºà{áé5¯+uÝ.Ç+/­`ú…2¹Tm˜ä3"õ2†_ècH �rQkå3/'W)ºeØ”R©R²—í#^ÍšEу¢Û¶Kµ…@¿P5ÃuE>)á¥ÒL+ p¼€ÇØ”‡š%i¹<µ0¢ �Œ`Œ±æ�KK¤Rùݼ#O¯jEsX8á}Ò’Œ•@l*—úe#^ŽbÁñ B¸›—S¬‚9/v&!a.KÒz•E…¼°d…s<•Á’5••FA/÷ôr>3s¿÷Þw…/Î÷Ü{ßÈʾÛÝÒM;\ŸñX7ìn—òîï~ݽÿ\Z…L…ñÂÓ+žÄå¢ÊÈG¹ìé}¼bÝLÇ ƒ ˆ"ŽA¥Œ'1Žñ}¼‚�ž^V8OS¬€¨£¢gˆ�­h'b”‹}2îæEºUPÕ @ ô‹Üf$W±Âyˆ~%¼ò 0f¾—Œ¾¹<�0šuýý¼\[t8»ƒ¼·‡·â8{ÜFq‹„§ß›Í+@¼�=ó=7/P®Ÿb5Cœ#Ž9F¼A…3H`F¹²xq½;|¿ÁG§Xý‚ãÅs…/2œQòŽryE˜¶å3/¼¾†UŒ4 V=ùME¦‹§ -ž”ˆÊ”±ÕÆÂÅåÍ#‹‰à?ÏÇ©‚Lu ¤U£R5;w㟼XB%HöTU3'˧ùG™ºIÒ\>xj: ÐË>Þrc픈0ÅHxvq>^¯6?ß\…¿÷Rž^þ¹YªBØœó®I®hfò<Ÿë|AÕI ]Ô‰  ÞÝÓN>±¾3C|} w½K $¼»ÜÇ /![¡|îl ® ˆõ<Ïô‡L@kÁ³M$3h:¥‹`RÇÕ¹yÔh…�±ä V4WûÜŸxÁ¿&N�™Þ/].ÑN„n^´ÁÓÛÙ:`…swûèRž^¾&<ÉH4&Qtœo˜Dß©ØE�öbñM9‘í¬V¾ Fé)3é3(æ›/ýà“œ<€¼¹? ye¸¯p*ñÎÖÁòúûx[r›ƒã]^ßÚ^ª§—Ïä‚×mj:œLQ¦:‚ÁuÃÎJò¹l<ù ²yE7¡|VˆôÎLÖ/`6^ü¬˜éíõ·ë‹+‹­õöÆÒøší�•ÎæÜR»>¿Ì¹Íh Q8_Šé \:úûò?ÏD¨Áˆ„ôþEÉÕçMò;dqâ�ˆ�Da�ýq—½Ë±§YÍ0Ù‚ã=s›½úÜ1ú­ÍB‡ O/Bž‘Õ¬Û% \ä6 ³Â…‚Ša³ÂY1lÓ-ãÝ�BˆW¤Tñ"b*ˆ~9êé•·ªá \.¯:°Ò@+|¼P·Á�%4é"|¼X¥äe=+©@Ô(òÅB%+©âuî- _CASQ*[À÷f%5™!ÿ­ßš!/|¼�é¡©(hŒýŽ©£Aló\¸½’�°X+úHø$ú=�b…ãÇ0½@¶Ï¹Ç÷ñžF¹àxaú=ÝÓÛnw–[«ºñ�â^Ý´—[«ívçÿ´s÷W¸{¼J}ØÇK/2œÅ»ßÓËž^¤X±ª™“« )Ϙ/ž�H±Â3|ïLˆ¢J™ …Š%D†3í"!ÓÎk‚zw9·9èé�‰ÄNûxƒ/Ʊ$UÑX€q£AÝ.ó½¬pÆv�8>ňÛo@¶ˆ¹âØúŒ$Íñâö‡˜{¼Ñ2󽜋�Í+ÐÏàÞT8ƒãMK.LÏæY3Àç *4B©lŠ ¬D}¼ØCÇ …sFR`VtÒ ¿ìÕæ�xQkDkÁµ^¥±Tn,.¶Ö/åéùÑ“ÿ‰%Íð*õÕ—X×Ö¢•KåZAÑ'(–3¹¼EU+õÞkÍë?k¯~»ßg›Le'@åÉg2ö¿ôvºÛó­�•Π¿{½¹¶9ßÚ@yÌÒjªæÞÎ5޹‚ßry}‹Ðï&iMïè� E2Ù<µ^®zƒ7›ï¶vÝR™²Í&¤%Åb U7ÝReñ†³ÿNk÷mVu±Z*W5Ý:—"{}Îz‘åÍíîÎöáèã]ííîÝÞ9º½"øÉÝkn�ŸÜ¿ñðÖþMÔí]¨»}„…Ó³¾¾ŸšGc Í  ó�Ê­÷ɯ~•ò ú®‡•ZãqoN*ˆvŸúkä¼W~õCÚU驲ø¬‹ðÌ^ç +d5/¶{«½ÝÁÁ-ì¤ÀÇÛîî4×6‰×Ý»Ñê €x7÷n�ì¹K-Ywô†Â~ \Çnÿ üøÛä—­;«è:Y©uÅÅâ)*^”ýòf4P.Ð/R Qö‹g=B=àãÅ c,*TÃ�à Ü, 1P.Š|�`u«õ²n5ÓŽNùjb!IÃÆ=vö‘\%k@?óºhj—‹â „¡ø(7“ÏQØ;-¢©£¨@¬ïãŹðñÒª,+å$ÆL`€œ†kBÄ\Å’Ä_±§—ÎLŸ€)A¸ ÆèÎÃôŽxzÑÙìæÿ‡ÃwOøîø¦\�)¡U¾èéEO/{z‘\Å|/<3à{¡j;ÊÄñ‚§Å@Å �ƒ‰VHµ%B8– Eã@¼áXr†¢\ˆ&«¹æbˆ˜‚ÂÙO«jgN®ßMPB0j°›ž^tðÇ~¨ÀÉÜf el¹åŽâÎ…Ö" [V­=½0xø·È¡ôN`¨—q¢í±ƒTŒ�BV8ãž ! øÞ´TÀ6¤TÐÀñ¢ÏÝ零жxÝ÷ñ $L„°H–bO/D>ÔÍkº3úåçv[ƒªfÃ*áxlÙE“MW a¨šý'¢H±Â0@®#b®‚€P8Ž×˜£½üٹŋ¯.x$ú„œbeûGL4šÞþ5Ÿ/ÑÓû>ÑX½¬·~ÑÁwm¿• ŸS¬LXDŽ}«s_ôåÍ"¹jay /MÁñBÕ ŽªæêlE¾K+�g&o>÷¬Iš–[[)?öG•'ž^xÙg[�Ø^¥®öÀ#IŠã–Û�[/û»Ù'ž^ø¶OVjÍJ©\—$åÙe,ÙÓË}¼ +ݵþ8·¥Õþjo|/@ÈÆàpiµ G•<—÷ô^ä¢MM‡9¬uÿ�~ÿðõŸ£ëæUj©Ì˜ž¼m<ž2­bÉ«>øÿ¸˜rý×S—e—&_𔂇1èÜBïZMEký=ôñ2Ç»{íAp¼¨5‚=õ²žÞàOŸ<Ž'("»o­ÒxÛS5ß±gö©·Y3àšûíhoz…rûïÜ'ŸrŸüµ7—ËõR¹ž• Ïî”è…§—•ÌPËCÉŒ¦" ÞvwÇ�LÛ¹¶Òq†ßÐSTâºß#¿ e°o/¼œzqJ„üÏoñDÊ‚�¨oÂw}§r‹¶ö,W|ÀÇo1ŒýL~‘=½ ¢cªæùæ*¼»Ëk=ð½Ëk½cUóZÁγ‹++�þ�½‰TƶK׌Áç¬w<å>ù‡ÆÛ:b¿@Vô³œÞÓ3‘‚BíM¯•ÅuûUåûņ`=�‘κړ/ÑYÿ ·6»Èž^«X±K•rc")$WAÕl—*žP5#q ˆ¢b¥n8Þˆ�×-×ˬÛ%ä6«¦Ã¼.6¦éAãuè¶,§ŒgzÐÓ«[Ÿ júÕLªf X칟^i`?Ûè°éåbIý8^Y5aú æ˜`Œ°<Ò6åà{©Ê([ÀrÝ�X\!uåý µ3«šD ›G± ®ÅïéÍQûÈð½¾§WD“b݈�B¶Î]û´ŠèezO{zÑTìæe…ó·<çÞÑï¿ûï»Wàîwèf==½P8‡®^�9öôN � EýŠã}/ÆŒxsD¼°»ýŠ´X_áLˆWð½1ä3‡£á(E˜„"ñP$�¥¢ñ)™…8Šeйà~ÁÐâu0´àrYÕÌݼŒx±µ†ûP.ŽƒãÅ}‡oLàŠ‘Fô›ÊJØðQ5³š…“«€“ù /<ÃIæD+å û<½Õ•R¬Ò’œÍÇKï““‘ÛTòøªfÍ‚§.ö>ñÁc�tüú}¼¢ïW=òpÑø]ª9’\Ä‹w vóúÉU*©ž|ô«Y¦ã™Bõ¤¶5ä{iß·X¡× �^æ{Ýrí2½¢D×q+»ÿÙ½�~¢ì/P²¹³ä¦Ñ¨zoÿ7�\ÿáÛñ†*†g‡aOou¶9ß\E„i0¹ m–Œ~îâÕ曫ÍöFu¶yç@o,–4­âlÏ{é_7Ã:O StkB/U¹Tc‹oyéfg»^©\Kg¥g�øLooÕ;H±‚wÜÆà°¹¶ Ä‹„!Ô­oî Ú�´¦w‚éeÐ{ønÿ"¼à·J É“gËã£âj—¼ê#¿SÂ¥Û]mÓ*Rå쬉g­›G^èÝÜÚÙ9ºÝÙ:Ç»}øÀúæþúæþþ�‡áãÝÂÇ»ÚÛíí\Û»þPoçÚúæ~o÷ú3óôŽœÆØ¢êÐèÑy?àÄCÚ~©\“U}Ý-åU§Xþ.ùa|˧ͷ7¼ùR¹6¶ xìϽà‹ìé]é ÐN„ù¾w}s<ùæÞ�ÕÞ.&ÛæÞ�•ÎÚûþàŽ‚^¢íž”¿áç•×ú ÷l­²hí.y¥ÚÇõ·â»^/?V*×4ƒÄÏ¢.cz³Kí¥•ÎJgíDË‚×EŠ)™E7/”,Œ~[ëýf{ãÎ�Þd*kÛ¥‡µ}\�¿uÞ·göJBVU8�^QYüù1|×Çõ·Šxur‡Ù§Yð0½^}ΫÏÁ[[i, ¤ è×-×å�ësv©_.j�€l9¹ ˆW5]¼.΄x¡jfÄ r˜=½„fݲ]¬(† ÄËz.ßÇ+òD‚ªfÓöTÃâEŠ·±w—/ùú±#š% …36Ü9€>^hÜØÕä{�x³’"‹øOZnåUâxó>âß›ÊæED¨žÎRYJ±bYÍŒrÙÇ‹D+°h÷Å:p$Û%žÊ€> ®S¢T bðþH±¢qVŠ%O¥7�tó²§YÍH·º"ÎϹç>ÑZô¼+Ͻûu÷ ܽç\�a7/åÖ¢�FÜ«ãÎ@¿Ç>ÞaŠ•Xœùž^ŒÃ„]“AO/€4¸\Ä\±�—o’|¼3‘-Æ´ÜNìæ�&Ò|pD dàU¨�±ÙTä{¡.Ç’-'39”úB�Ž%ƒ7# ÜD:Ž%™ã…šÚ˜ �u»©\>ž¢,V8g$™Æ‚[ƽ÷8?-P¼žWHṎ—d3Ù¼³–ä´# IDATñÂy U3 (£_H€‚>^Žþç¸ø�ñBì €�EóئEùÚóð�ÓLï ”‹ƒ!d*(ò™UÓ… µ¨L ±a£�ï�öôNÏDh/ß)Ïïoý’óðGKëßi‰^ßòÎv&•5bNÚ�[�ü®wëÃÎÒ §T®©º9añ\¬\|ÌžÞ �ªfä» ›wvq(/�ñíϺ¬î\EÕ½J}ë�æ‹ÿ¸zð.«Ö¬°ðï,Få¢v©¶\9|·õ¢OW7ß r×›À8]üZ�ô=½[{Èjnol÷v®5×6YÕÌíDÝí£…•îÒj¿·smcp¸ØîQÏêöá½3!ß ½tÓ¹ýëîí_wÛ/¶Kåºe—&옄BQE#yóúËÌGÿ |ó!Š&¼wã¼A/yz�x÷®?„v¢½ë‘ µ»ÓÝ>:¸ùd5cÜݦâͽ7_pç˜ÞH”l^¥þ&ùÅŸ2ßþ#òKjÞœ[ªd²ù³æÛÔ4ÎY¶·ê¬¼G~Õïhoy•òyS�ÒEzP/~Ý‚ž^$~aWe­¿·st}¼�­\@ ^T=aLyÎwLÞL&ެä+·õÝ_SßøóÊ÷ÝÒw½JÝ°Ü …Ï¡HŒäÍ^õÊí�ë?ú~ù»Ö�Õ¢WŠÉŸµ}½¡§—ò«V7ÄñÎ51n,´àÝ…ªÙG¼Â¾1·Ôn­÷—V:åÆâ�½ÔwmØ oîG ßñ)óío,¼›©³÷§¦¦#Ù\ÞvÊ}«óù{~S}ÓK՛؟šðL¹ÔLãƒzçÉÓ äéÕçÊ�yÍÖçJÕ�ÙÇëÕ焊ÊuË5¿n©ÚPMW5éu4iVjg \ð½²n™n™Φ[Æ;4Ó*V ÏÂ1¬jvŠ‚Èšå–ª©‚™/Æ~:'†@MO/öÖ�r¹@è—“«`¶g«™.#^¬m°X:öôj&TÂFåPØù!)YI)Y霜LKBݦ�“ð¹±*ú‚Q” ÉÞñXZîïYâ`d8s&–ˆ [€„¡på¤8¡Šó™G8Þ`˜ó•ç~ëݯ»Wàî¸ÈxþýWQÂ}¼3¡èý¢§ŠeöôNM*^Åx&DŧyFŠ �"QêDA°sÐÓˈ7$Z=ÀGcÉhŒ|¹H®š%Ÿ—H{§Z£Aâ ÊÅ(W¨£ch'âEV3¸_è…cI®¢sÜ:¥ðÔíÙbŒPÑí&;Ö i©KÒ„1óÍG¼¢á YÍìãÅ E¾’¬AÓ- aÜg±ƒˆ1É¡E7/BöáãÍHJ:'cœÎÉÔM'öVÓ9ÙçxEŠC0â� $ø+º�MSîæ…ÝEÑmH†b�lP�]X¨š¹\ÞÏg*™¹�¼( â…шKÿ�É�XäjÔfiYs‡äÍ3¡(in‹ÇAV¶ãe¥üä~ްUâ—W©™–›Hež]º’™ÞÆB«T�CrU¥±ïÒJ§6×DïòZ¯ÜX,7–×–W»•ÆRu¶)<½d¼ WD+¥M»ˆœ¡ÕˆÇSÚ¡fÂÑœ {‘*T*×J媔W¢w&Èj­;˜[îÀÇ»Øî-¶{(ŒYZíƒãínÍ6×Q3»18œm®ÃÜéïÞ!ЋT!¡¹¥É#®!ÞtVe°ãU£"õ:Œ¿ò*5ôEšîøoá•ñ¥,oZÛ½ö å o ›mïúCýÝëìãíï^§m‚½û7îlQØÅ{z/un´E•ÌXN‰'YLU=&¶MÏz«P8š/Ù ÛB©\sK•¬$G¢Ïrª˜Þ�þîöá@¼�­ƒÁÁ­ÎÖÁÒj¿³u°µžÞþîõ­ý›ÍµÍ–¸nØŽéÜÁ «p(-È ‡)çUê¦Urúñd8Åã©‘ø+M·&8ÏÏúL~�™ÞöÆTÍ­õþJg³6ל]\i­÷™×]élâF7·Ô^^ë-¶Ö±Çwç@/mQ¥)ôÙi¸Ëåe-:±Jj§èg§‘¡·XÎäò|“/ÑYÿ•=½ðñÇ[Ÿ‚EV3dS•ÆÂ¨Š•:ºy�lKÕ†áxØhFr•n—Š•º]"ªV·K`�‘Ï 4ÍÐK“V«X�C»ØV±RÐLY·ìR…ò8„·ÖrDŠ•j"Ò(×O®RMHÌ`Fbˆi{yY§e‰åêV‹øx9hS5c邟…N xw±RtâœyýSPŒdƧ òT÷Hă¢“PË3Y3ÀÊæ:F¼RAKf$xwqp*+TT-H 6¯a9‡u wó¢³z@èþÀ÷UÍ8YªXLbœÊå�xéì(è妢{ï»C/x]îé…é÷¾+ÏÅëÏ}Þóï~ݽw¯À¹W`j:4=¯Ë/ð*Ð/DËà�aÙ¥Ý÷“o8™™Ds/ZL°å ”‹qD(™ñBṎ—9^(™¡p‚ ªšÑN„×�~ÁëBá K0§X�Âe…37}¼ì݅췼ฯ'ÒYÜÝpÀH x`V2ÃÓëßOŽÛ�©\>¯èØDDÌ�³-XP $WaûvÀ@a ¾§E3€ã…h‡|¼:µÆs›aX&ô‹�N¤XáG³š±ó �i{xOØt‘Ù¨Y®�~…FšÆÄå:¦[FB•jº¦èæE$ž”xÜb#ðøÎyz±˜Gb‰d&_Ð4ÖòJ*“;·^ DÊ«ªn©º)å•D23ÁXxÖªåÜ×AÕ–ªsµ¹&ll^mž=½åÆâ¬èù¨Í‘�waymi¥O/ÆwNÞ<5M6ÚFÊÍT5#+ÉÑXr2ñˆ;C*�U4CÕ YÕ3YéÜÊ¢s¯ÒéÀô¶;›mÑ" ^}¼H±êl@ÕÌ ç¥Õ~«3èn­oî¯nÐfÁ��7‹S�D¢±d*“—5M·¤¼BåC¢Ôôô/|%NÕ;´DSuK’ ó›X@üÞ Žô²�·#/ü½Ýí#øxQ<»{íÁþîuÔóìßx¸»}D|ïÖ�½bÊEcñT.WP5S¦»_!KžeCÀ¯,¶_£éLN¥Yj=�‘¢ÑgSŽôô®t�­ƒÍ½˜cƒCä6c×è×W5‹ H;wLÞ,N�t“élAÖ1åDå왈—/]<ž*È.]N*ÐSXôÐâ€gåÿ‡ wÛW5¯v¡pFZ<½�…£_p¼ˆ¼š[j·;›wô„�§r’¬é–¬êY)îý ;þ™œ¤ê–¢Ó”Ker‘(ü>+WŒß„åÍP2Ä:CO¯áxxV$WYE‚£àx ÇÃ!ÏP2cß9 jvGTÍ�@³ÂY�þòY5©9Ò²nÑóÝöLÛƒÿ±—²@¿P8ñ¢×�9^,sS^Çž;ÂAàéå z bl¾c¬è¶TаqÏM�XŸ Å1Ñé\!WP€xŒ"k( IÖòŠP5 rè¯bõ…¤Œƒe“þrN˜àFšŠh‡ëCJ?Å)Vþ8+ ãQ Xˆ²ª™T‡“=½÷Ü+ÔËWžwß•çBÉ î—Çxýyßzÿݯ»Wàî8÷ Ì„"÷_�…;=yþýÓ´@¹h*˜úîÃÔJ�x O¯Ð¡Qn3ûxÁñb5�%ÅëÑp$‹§À!3ú� “ª(UFàl�o4Ä ” †…½¬jÆ;à†‚ƒáËŽ¯}¼„x÷‹F_p³<æÜfæxQ¢ PÍ>^V U3•³‰k!èéi{óï­"äú™”BúEÕ[AÕ³y_Õ 4 ¡r0­AÖ,ÑÀ®€kES¶ZÕ€Ä)’ý\š—uŒ�~A#[„0^ÇÁà{PÁÉU°èàá$ ´Ÿl!ö†Á÷âé%3ª�b…GµØ�&xì–k•Æübzyõ€õt$ Gb_šÌ„°w…£ÿ®à=w Ð[Ÿ_öS¬ê ðñ’¹¾0·Ô^l­#Å (èw±µMw‚éå3Ÿ E‘(-é.³Gã‘X<$®öf˜Êe½Ýþ.’«�b…T¡EA»�Yëï-¶{!«½]âåz„Üîè%i((ßH4~¹)&ÕL$»ÔÕ¾øÕcy3ûx¡j^ëïm ÑND¼ï]hcp¸¾¹?8¸uç<½ü[P _EˆmVšr¸ÚäÐüS.;èímí£ƒME-�~åú)VÛt·�È,´÷ý- ¿AVü‹Ð”#Õ}î¦/ ÀķД =«¡Í|VCyó€•ÌóÍUŸã>^ðºËk½úüòÜR{¥³ Ä;ß\m­÷[ëwôŠó¤mú°Ã¹àýŠ6Fé£G(ìúNL9½ðñBáŒ+F¼ðñºåh[$W!Åjý+u¨šM· ¾;Ôh*ÂØñªl>B7/x`;ã™~ü|w˰éÂúM²n�x ýZ„ŠAu«D¿Xi@Y@ˈB6¬ XÆXº0Ê…Æ ½Ø…Çú?.+©âxR5ƒ§Ut´ÔÎDÀæ¨úˆ�)Œx9¹ ß M2@°ˆ¹Â2/ØåÁŒˆø¤%Äñ‘�u‹R¨š±È3ÞÓË çÞÝ¡�÷Þû® Ú UFßúüûï~ݽw¯À¹Wàþ«SÏ¿ ]÷_�¹ÿê ÐìýWgÐT45¡ñ4ÁF¿àuéñÀ€ªYÐA”„ŽÇ °jçP8&H JÆâ�)Y‘X2žÊÌDb@¼±d†TÍ¢ˆ~]SAÉŒñi/à(�08^;Ÿðñ 2Þ!õ¿Ù{ÓIÒü<ìÏÐÎt/¹Ó•÷�™‘‘qeFž••UyUÞWÝU}sìr¥¥—à $—–,ƒ@êâ.‹òÚ†yY€ÂÒ2)�CÒZZ€öÂþ²�ßûDþ*:»ªz¦«»gÖSD�x'6*3+ú͈÷yŸKŒYdŽ%àÝ‚Åöó½î»)œEðûx K‹Ð? hl.b÷î¼�()%ÓÙtVÅ}Ðáx“NI:î¹h*rFrU<%#«Þ]p¼¬êA:?—÷ÊŠKfܪfl¾Âƒ¬fÈ„°ÛÊ�¹¼‰18^°Ç@¹é ù¿œ±¬r+½ÛÓ+çÈó“7팢�ÂU�¢¬ê�cá8äUŠ^€)š«bå öôòÚ 8ä³´¼¡Õ *öôÖ¶Ú…òfµÑ‚_·XiÔ›��î�Ôεf³ÝoõF¥ú6$Ð;Ý¡]ݪ6Z“é›’7ó'Äà³.épÝ>ëo­½éÿÉž^ôñçGãåÉVg„’øx[ý|¼\kôKtåóô®}æW¸otÊ1èí�–ýéÁÁÙãýÓG]A€;>ÞñÞdï”yÝùá½ãûÏ(ïz¼·8ºOžÞ7&o~þÒ}fñ¦§@ïîh1˜bË[*¸€˜lðñb{e~xogwÚ-gw)ÝJ0–oôâ~ѦƒÞöî¸?^n og0í�æÕF ˆž^ ÜVo„;^g0m¶ûo´§×=å^á{·ú•×Lðò§by3¨L»ô õòª�ˆ<º¥ú–^(ã ^—ÇH«bÄ‹G°iWØd@kIɬÅŒ¢Å2à1/Î(øe×�¬�«lX%¸msy“+ �Êd¡pÎëEV5c!ÁgdbŸ+±�^tr›Ÿß¬GÅñ½BYͪføx±X’sZ4AµŽYUG¨J:«ñBU'+ÔTDc¡²&Us*>ˆ«²p,É/Ó°\tBIY’ ¨Ñ, t¬p†ëÃpŒŒ€xqœQ.–XdÆ |AO/øÛ¯¼sË�\/wóºk�¾öÞ�›Ÿ›+ps^zÞ»ãÁÜ�xáã^Ëm†Â‡Ñ/Zˆ8·ˆµCèæ%o0‚„†Š¸b_�z†¼�TÍ#˜ cF¼ìéâ „c¨&Â/©ú‚alªñbŒÜf PüV4‘Âù"ÅJ gx†qãñR3Ç‹»T+ˆF? :7š�ÜJfœÀ.‘d:ë$Z …3Ž'$9�Uqë„™¯Z¯ Ä «š¹�NÎi )˪f¬pF;¹ÿ ŠÐIк=½ðîbûR¢órù¬Š†zì­âa†EöödUÃ*VįŽÞ]Hª€x� ‘«ñæ<½¼zøÂz¹©êeøx�x9¹ªT߆�á.Uƒ_£LïóÒôîŽæðñ2ʅ¹ÙÃÇ;˜6ÚÃîp1Ù;íOPä;Ù;} Lï󺱼ªæÅÑ} ^d5³�íDóÃ{èæÝ��‘‰Mo ô¾¶ ¥×õÁL/®1ÁG÷w'û@¼ˆþÂ5œîŸñÎï¡:k$Äoô¾®¿÷u½Ë›;ÃY½Ù©7;Ýá (Jæöî¸Ú øzd5ÃèÄ[ªoït‡ožéýÂM6\|€ÞF³Ã¼.‚©L»¾ýºH®Ê…ZÑ ÅJÖ\œƒv¢¼i¯L¿¤X.Vê(òÕ e·�›Ñع†8§™F± ċ㴋-ÚƒÌBèž^, À÷b;c ̼^ÌëE ^tó©¢Ö¼.^ ¼®Û�H ÄëNîäõÞŽK.DSq¹8!–$d‹E�ÉÓK çxŠÆÌñb%†E Š$ÁO`ÙÔŠeŽƒã E)ç…õ€Ìˆà|ÎjÆÉÊ]ùxñ^މ&Rëž^¨š×”Ìà~ß½u›Ñ/�ß»³qóssn®ÀK¯ï‘\%¶Š)­ ªfÎj†bùΆݼ@¼>H„û@¿èé=çx=${†Âo€ºyC¾b¥Üèž^¤Iqn3�0|¼„lƒá•™zz€—BÄ”?…‹´*ŒÏÎ"Å ¯˼n0‡šïbë—J³ª~@¹8¾R5“š…�Ø t·½¹=½ìÁ}våã%ô‹@D8€¶e…3¦[Õ“”r@¼iYå¬fðºàxÝž^$%º}¼È�€¦�4VtæuÃè~€Á–¾{½Ü݇½^ˆšT½ˆâYÕa÷ U3’$�b¹¶¹óäͯk ÷z_¨µXilnw›í>'WmwÜÇ»Ý0âm¶ûv­YÛjït‡Ívÿ�zz_ï_úz_  ·?šïNHáÜìŽ[ýÙ`v8œ�×…§·ÙÔ�ãEOo¼÷æzz_ïŸùÚ_ͽ¢²hOd5CÕLݼ£åtÿ )V¨áaÄ»wòpÿôÑhq¼;Ù òæ×þW¿–è�ï�@Q?Ù;eïtÿ …ÆHüB Xo¼ÄÛ.èº-)ìË z+Usw8ÛÜînµv)¹jw\ÛjcŒè¾f»ßÎÀñŠñìé}-ãͽË›�rO¯]©lnC‡\(×ìU;�«›yÓÊ-VêŠ^²…McD1kVi…~)wˆ7§YzÁáx¡d!Œ4J£X†�ÏôŒ¢)zÁ°JN¯ø€µJÇy[Ü vÕ†œ‘‰ô ^ø¤0&Ä«èHådě˛ؔÇqlÄsŽI*ýÜúk¡”°†á51fÄËB4I‹:wO$£_ÈôXÕ Ä ‚H�fm…ã Iv¯ª ô »´Ø:wN±Á œƒ^´Á»ûî­Û@¼î gF¼_yçÖ�;ž›Ÿ›+ps.½Þ;âž^V2¯q¼œÛì \‘bň>^ü r›Ÿ÷ñR•ûx�~¡d†ü¹Í€¬„rWªf ^lƒ¹Û‰ð[¡(©‘}¡{zòÌž^(œaô�&RçˆWHS€™ÙÇ‹PeØ-°ýætóºÆy?w:TòŒ×áxF¼ÈÁ_óñânÈ/<½ˆ„¨†9"«™S¬h!ûÁ~'Ð,îþ3ß‹«sO¯ˆ—â÷+2úUE³ÀëBí¸k„¦ˆ=½Ð !¬B¼™l ô`St‡ãŠ#ÃršëißW¨�!£Â“r)Œ±yLžÞÚÛðô¾¹¥Éu^ Ë>îã…¥­TßÞjí —êÛðñV6[•M*üh¶ûåúΗœéÏñ¶ú3Äç²�ˆwgw Ž>^X+‘¯ûæÒ›¯3ÞÂï²¼yyü`w²?^ž¬õñN÷ϳC _tó.ŽîÃÓ;œí�<ü’ƒ^xz‘ÛÜŸ`Kž^ì ì Oާw¼7Ý?›¼yOï[˜?¯ð,oÞ-DÝᬱÓcÄ[ov0F y³ÝÇ‹˜ ß/9Ó[ÝÜ.×›`e™ãÅÆq©¾…+xz/L±B,3�­ñ‚ÂE#ó½˜Ä£‰Ð<âu§XÑó]/¢Q7 ý®…}€×…èÌ)òÍiH®rÒCrš{Ï� À¼YÔºæé…9‹×68‡×?ðôBû&ç4Á÷ÊtŽÄ¡üÂá{Ç t\:ç{±FeO/Öxpcí2ƒÑ/êBx}˜pX cÇà}cô Bx�éu«š9·>Þ¯¼sëo|åݵñ†Çwóssn®ÀK¯À×ÞóÜÙðÁRŠ•‡0ªƒ~7üàoq¾Ü÷îx�¬æ ÿ9Ç»Añ-@¶P5;c�ñ:>^_Ð#8Þ`$îñ=þ  é†/à „à¾á ÄúCQœÎÖ­jöŠˆÙH<é EXáì E@á†c @bp³Ž�7•Æù$€*#Ü¡á+™ƒ‘8¡S!DYS5ƒ�…�×aþÖ1�ˆ |V8ã¶ÈJæX*�É9ºøx�„²OwO´)z<%#Á~]d»ˆ„0ñ”ŒÔe„²Â9•Î)š…‚;V5C/ Ž×íãMJt2P®”QòziU™~(³éYf¡Lc¡t2�l!¶eW½€ý`ì:g �ÞœfÁ T(ײyã­yz_aÅö¦¨¿By³Þì´wÇ¥ú¶]ÝB;‘]kÚÕ­íÎ`§;D­Q«7Újí¢Öh2]¾¡Ê¢7ý‡_óõÁô·h*/O&{§›­ÁvoBêåùTÍÔ�:=hvÇ!½Ñ²Ùf‡oÍÓ{Í?óµÿ:ƒÞîpÁ/R—Žï?ã¬føxQä{|ÿŠ|÷O½EOïNqÊžÞÉÞ)õñŽ–íÁ|º¶wò�Û‰–ÇHÕ,8ÞÅÑý­Îé_£Å1Rˆ¿´Lïx²è gýñ²²I>ÞÞh¾;ZÀ¯±;Z´wÇðñ"ŪXilw�Á´±Ó+×I4ž,^ûwá‹ÿ‚`z›;]Pµ…r­\o"~Ù®nrSQ±Rç+»ºiW7ÁñÚÕÍB¹Æñ¦KÙËvuaTF‘TͨZ°JU¼‹¬ê¦]<Æcz¥p¶œ¦¢UN‡Ãñj–U¬€ãÍëEÃ*vj†mX¥L6�àÝ,QjTVÕÍg5ƒãÅ>Vàr!�N¥s¹¼‰Z#ŒÍ‚® Ü/瘤eë�À+O¯q^÷(QX¡ÖˆøÞ\é*Ü 4›ÎªÐ!;f4! isÜóã,§XÑÚOèapcúε`„Pî¹Â9•†��=½X¯ƒÞ yÝÛ·¿ /ø^H Á÷z|�›Ÿ›+ps®¸^_Àë#1ó‹ÉU ~™×s‹>^(œ¹›H˜›Š€x9ÑÊ­p#ç g!?†ª¯ÇäÜæµ+`Wä9Â1p¼@¼ìé…ª>^W7o [hŒx¹›—UÍÏùx“R¬hq#^X…�x‘ü ” W0›= p&ž9‘Bì½…("Â9ØYÄë$ÓY‘ÕLi¢©ÈQ8K²…3 rœ¬f�;>TÇn/Ç\!–� îR� ð½¼ÃŠ�W<-ÅŒ1<½x} _Œu³D¶œFÉU«Ž¾¬j8èWð½V±"\::ûxÑT„H æxEÅ‘õ¦+‹¾È‹fz¡pnõFåú|¼ðî‚ã¥ä*¡jÞî (襺µ¹ÝmõF_r¦wwèp¼ãåI£=„Í gðºðñ‚ÒÜ�ì7ÚC(œo<½H«ZÝG—,r›Ûƒùš�—UÍËãg�)ÌùMV}‘¿ªŽ§wAÖýé/TÍíÁ|²w:;¸ÛÌ¡pžì�6»cd_C~?žQ5ô—ôN¦ËÎpÆJf”�3ß[®ïlwÝá A­Þ¨3˜nµvËõ�Voô%½�f�Ñr½ r±R/Õ·`Ó%Ä[ÝÔ¬õîV7!�†Âðx�ãÅÉÈjf/Ð/¢7L»xÌoFÑršiÚ•UŠ�)›CÑÍ2 e�®Œxe¡dÖMB¼k† >ö\Õ,Î�M7«`Œ�~YÕŒÖ",WÐÇ+ehÙÐ[áŒsèhÖ°X’/>ê�Àã)™9^æ�¨Ñ2Vh±TöyO/ÐpœÎ@¼îõ!+œ#ñ$Æœ\…Ìgöñ"Å ÊçuÐ+TÍŽw÷+ïÜâ¬fp¼ðô"æ ξ@ðæçæ Ü\�—^¯�’úïÜñl�e—ÒïÜñx}ß /Ð/{zE®ÓNÄÉU@¿^_ÈŒ1£_ ^ ëP8�§X!¡ 6]'Å*�§—Ü}¡ÆŒrƒŠƒ'Žwåéån^qÉžWÉU4æ¬fàU _ÀQöñ2Êuûx÷Çw1 hìÛaŒ?dDCáÌ(û|èIOerÐÃH²´ Ä Ž7-+èæ7eUTÉÇ+ Q|¼srûxqÇGyP+!ÿ�U ì°¢#ž“Ï3$„ª¿‹¦"¼¦S6 èP5;3q2â‘`�¾>øyàÌÉާ7£P°³�K™¨¼_=V)yòÆÓ[¬4;=(–ÑÇ‹F"¬áé…�w»3â½ñôNg{ýÑ|0;Y$# IDATÌÝÉUÛ½ ï`v¸Õñö§;»ÓÑâ˜ÊfGË7ÜÓû…c)L²§÷àì1‰rGK \ØS�lÇË“ÝÉþþé£ýÓG#äy0;/O¾äòæù>õOP•†ñrŠ*6 pFõLjL`ñ&ÓY¬$9·™×„8HLJæ•EÎ�båÐ*"·ãK=½îäª5îd/£ß@0|óssn®ÀUW Dõ†¯ÿ½;^�x}„~=@¿ÔÇëñ¼¾ ¡\!TvÆB å3b™¹›¹Íø- ^ö÷z}Áó¦"ÑNÄž^æx½��»›×ÍñrS:èWxz1†Mc}Á »Ð/#©:ME«Ö¢XR‚™n@+¾7K0â^*Ž%%:.¼Á¸Óaœ�d XîæåÖ" \ _æx¡¥A×Òª?� s¼@¼0ârÝš�%)åÒ² …3{za€a¾—½»p¹@íŒä*ø{ñ\ál E³° BØéæ1W#ØÚ$ _œOrèB›ÇšUB¡6�ñ VôdT¥jãKdÕØé5vzÕF«T߆á |ïvg€@—j£Åݼ¨5jìôJõí/9Ó;YyzÛƒ9Šd[ý'WAhŠ â�Ý©“b5ZR­ÑŒJSßhO/ãÌ/Ô€åÍlœ\ù÷ÁÝ'ˆ¹^Ýß?}OïòøÁþé# ÞýÓG³/7Ó;ž‘�)Výé¶W�ÛÜÞÝñò¤#’«8·y0;œÞ›|¹™Þñd±ÕÚm¦­þ¤¾Ók´û‘b…ZòîpŽBr¨š·Z»@ˆ¼ú’3½õF»\ß±Jõ¼IéS@¼H¢BS¸\¤Xá8ÆÈd†M-D°é²ª™Q®j™×úÕ Ô`„°IøxI«¥ ç7«›NO¯(q(*šTL‹EÇÛß@¿0ýr;Ñ9âÊ5”)Â… Ž7“ÍÍbIƒ1à1Ö9X/áux÷/#Þ¤”s¸_Ac]”ÉæEùUi€ï…’™WeœÛì´­ø^œÀž^,í°äê’Nrh^âøsž^±ht™Ï§X]ÕÓû‘¼?ÁíD·¿ú“@¿·nõöíŸøÊ;·ÐÓ En~n®À͸ò Dƒ¡è×Þ»sçŽÇçnlx¿öÞ� �OŒ}P8³�÷BU³ÛÓ Žœ0TÍ@È<†:ŽÑqáé „cðñ‚¤âÅ'À— £/«šW¹Í”áŠ&BÑ"¯ jc d‹_"fÆq( U32#[xzcI Ü/�-„Ó¸åán…ìÏ�ËEl=�-„ÊÇ›”$YÁ P8#Å 9•É ô›å`ýX2ƒ1|¼ÜTM¤‘æõ2'WáÎŽô)öôb¿“oZ¦äª\ÞÄ­c�ê^Ȫä�An3Æ¢`‹�mZV «„±¬èÎXÑ¡po¬¶U¬(º¯£†RuNrUNÆ(ûxSé\R¢X¨—¡pÆž(4Eìã…b™ù^¼ïy¯ðñ—›Ó²ªÁ6êæµ«8®ˆ§£Øâ¥ä* ÛçUÍd e€¦¢>/O/Ím0™JgUMQu)� …¢¢¯ëíÉSAÕRSQ­¹ÕÚ%õr­Yªo7Û} \d5¯©šíêÖVk÷sôôz¼�p8–‘UU3嬉&|þàÛ¼t²ê ‰×Ç‹Þñòè·7Þ#%óxo«3êOÀ÷„™9¦°·zÅí4˜’äœBS.%É�Pv’·C;òæÙÞìàîÁÙcqç‡÷Àëv„R÷àìñp~ÔŸ@áÜŸŒÇP8S@ñçÄôÒ”‹Ä3YUÍ1å¼þàÛ¹hxxzgËcªwÓ®Áüð«šç‡÷ÐÍ‹ô¯ÉÞ)R¬¦ûg0™O‡Ÿ‹§×ã¥J)�UT-G�™@0즷sõÎ{zÓÊV»Ñî÷F‹Šës|¼2hp®6Zíþ¤ÝŸlnw+›4þ¼@¯ÇˆÄrVUòFFVÃá81ž·÷t@�U}«­¶]Ý*Õ·¬R•˵†]k µˆ’«j ·ª™Ç¦]Q�¢iW€xs)™aúE×.7Y¥* 2¸_F¹F‘LIÂÓK›Ô pá㯋€ �.Â>°0`”fØy½ˆ w ^,EðjØsÇÊÙ™Šf¡pËÖ¬ÁÇ›ÉæÍÉ�¼þ�+–ÌdôÇ‹¸Möñ‚*úMe(ì ¶ã•XYV5ñ¦³*ˆ“d:‹å+œ¡(cŒÕ&X 0"€ÇXL"¹ ÇãR†ÛC¢‰”3NJë >^îéEeó½P5»Αhüæçæ Ü\�—^�׿±áâ¥E؆ž^âc7üç‰V"«eÈžý�0x]ˆ–å‚Ôq•‘ÓÍŒ Ú—L¿"“L¬{ ï.0*ûx�N}Á£_œ€ã€ÇÂ1$ �C�1€\hV8stžƒx…ª}kØíØQ1º…Ð~ÄÞ] ^p¿|+D44ÌÐÀï…ì›…1AãžKÁ ² Ô ” Å8^Œ×”<çÞ]�r¥Œ‚`gwŠìD¢ä@kˆ¼.DG8b$H yìxzÅ[8¹Í"«ÙQ7‰Ö'·ùÜóC¼ñšª™+ØßKEÅrusûs‘7û¡t&g˜vÁ®KU«XVòz(üVq/@/hÛ­Ön©¾�+îæm¶û8 TÍ „;½Ï©§7�'óšiÊÅRµ`WLËNJ²È 8€·ðÐ;/ñBÕ¼;ÙßîMv'û(•ÝÙ�³¡©ž^ò^ŽŸ èõÂY=Ÿr…rNÕ‚¡¨ÈGx×�=½{'ç‡÷úÓƒåñƒ½“‡“½S 5$W f‡g�—ÇPþtx÷ÉòøÁ`vHqMs dòBoá_™ßÂã ÄR^7­b¹XªìŠnIémN9½»“}ä3ã¢ñ˜}¼ÃùQGp㳃»ƒÙa{0'/ôçÔÓ FäœjZçw¹¬’†Â|mßô€Aïævˆ·ÙV›�fwØ‘ª™|h*"Ä+Ðoc§WÛj·z£Ï ôz}�DRÒtKL¹jÁ®jz!–Hy¼�·¶»·êéÝ)”7…¹š7m \)#«ÏS»ºi•èöñ*zYÍF± 3z�0Fn³¢Ÿ{zÙp”Ó̼i#¹ ”ôvFÙ–V±]˜nR=!¥X‰ÚBøxq„`àoA#%€ûì`hÙÇ‹�xœŒÕN�2 v*í¸· jÆ.?à1¶àyÌ;þka(ŒxaŽ%Ó繡)CÕŒ@,/ÆlXC\ ê‹ÐsIz=¨šSih÷PYẍ7KÀë ŽƒJÁ8K¬ƒ^P¸·n•Ñ/s¼8U3}#±Ä§ÿ‰ÅSÕZ£ÓÙíÆ7?7WàÇô t:»ÕZ#O}ú™‰%6<¾¯½·±áñ ÄKž^�×e2/�YÁý^ˆxÁýñ2Ç‹ƒÁPT†Â± !Þ|¼œbDJ¹Í‚•õ…"<¦>Þ`ˆÉU cÑNh êw˜~™ûÊ Fâ¨2ZS8ƒ:Çˈ—9^(œ�ÏΫ»[8–`//öùÜ’˜UŠå3Ÿwó&)GAVòqIF°s&«Š-É´] 1{zã)™0ªH´‚é–>Œx¡FâEZh[ŒYá̈Ç�g�@Èx>Á]£hP1R¬Ü/�¡p†émõxòáYK GbÃXÑ @¹‚û5±ñl©Aás½)I6­Rë�ñà°žü/ÅîF±TÍ)šØÄydÃãè²-×wÐÍˈž^ä6ït‡Œ~[½ÑçèéõùƒyÝ,”Êû_ÿ©ÿPÝû{Z±\5­’ð,¼UÐ;�pŠÕxyÚŸpŠÕîdíDÄñЦ¢áüª$‡žíöö™Þt&gJ�÷õ‡b=úç…Ö³XªÊ²úÖ$öô"vxqtÿPøx{£åòøÁáÝ'£Å18^ð½ÃùÑѽ§{'‘vtïéçz¡ˆnJ[¥ÃßÕê/«ó_ÓŠ¥ªnØÁ`ø­ñä½Ã q¼³ƒ»³ƒ»„~EØtÿ >ÞÅÑýñò¤ÕŸõ§‹£û(ކ§w<ý|Ò›3YÕ,”¿ž;ýsÿÙe¿³¯MŠ¥ª”ΉúÛ¸ËqOo“ò™ç­þ¤²ÕÞãíîù|@¼ÁñvÓÍ�^u« ¾·Þì|.Lo83ŒbÛlý®ü³ÿ:ÿ÷~1û¤X"Ü‹à’7½S€×g¦W ÞZÞ$Ž—»y‘h¥Y%‡û­nªFˆ‘WàuAá^˜bU3ÌG¤^.U±1 ô ¾—Çé\^3ɵ$ЯŽF"¬ ýâ¹ï¤X $Œà™Rõ´iša3âG¼ŠŽ® ª™>׸å´s¯8™£@cÉŒ£j¦Š#²‰¥³*ú&%™ê”Ü^3pk|/ˆ øuÅ $—2´>L¥×Ö‡´P2ƒ‰áE&ÎÇ"ˆGë ×íãu£ÜÇ€ÇÑxòÓÿÔ7›�Æv<ž¼sÇ{óss~L¯@<žl4¶ë›ÍO?ó£ñä{w¼Ð!ßÙð½wÇ»ÖN.QÌà~‘\…1£\p¿àx9·èݼˆ¶‚™Æ�{wYÕÌ…½@¼`kÁ÷Âÿô‹1Яãé  Œ; /�-£_ðÀ‘xw"”ƒcËÍ} E)¹ ¿ cÜÝ0ŽK [Ä\a y ööb¡|â�Klþñn"|¼ðÃU‚›c:«frjŒjÜä´¬®BñBÕ ¼Ê‰ü@¿D‹º öñ—‹‚;ñf„0ûx9CÏ~ÁÓ‹< “`Ñ1ÑJ/ΆUÂF,å6Ë9ÍB1 ›2|¼â8¤S8ŽG¬^(ç4³\Ûzû ×ë dsj±T¹ÿÏÌ�ÔüøGÍûÿÌ´Ë5Ý(†Ã±·¶—Ï —»y·ÚýR}ªfxwáãmìôìêÖˆ@¼[­Ý·ïé¥"îPÔ´Jí'ÎuûøGÍö#£`WIé­í€éM©…¨#‚…v'û›­¬ª½ñ cÆË“s¯@&”bµ<ù\<½^_@ÉÓÆÊã?-`Ê�|_·Ëµ¼n…ÂÑ·³Œf¦ê\F¹ÈmÎ�³ÃýÓGg�Á�Þ}rpöZñûOöN¾}O/©L£ «Pîÿ-×í§ÿ¯Í­½‚U,ÇâI%,¾ ðÐ;¼óÃ{�áïìà.P.+œÑÍ;^ž4»ãÑâ™a»ÃÙÛ—7{}Á¼nKÕ¡üú­ïÿÐúþoe¾e—kŠª‡H_ð6®ƒÞîpÞîO�÷;Zp;Qo4oŠ›^kwLÁÎÛÝòf«%ÎÕFës½¯?–HŠåŸ•ãºý…ö[…–U,Gc‰·¶Ïâôô¶zÀ¥@¹ˆ‡ß«Y%p¿ÅJ]5(9|/6—‘Û,ç ˜‰DV³i•ª¬pæX 7âÍiV¡\Ó¬ Ásã L¿à�ÑTäTŠä*§ÂP|@52wócÅ’Ë›Ø7DzµFìãÊ…�—:eQ·Ë/(¬sœ´*±¶�òÙ]÷ˆ…SB’e%O´íŠoà6 ä6cÙÆ¯¨Ø v¢H<é˜Ô)˜×°œÃù�C¯­;¿¨pŽ¥Ò`k°Èd…s$žÄxô¾óî-ÇÇ+R¬x,ªŒnݺýÕ5ôû™Öý»ýa<‘‚•ñæÿß\�ß+O¤vûÃÏ4ù�Q¡dv��~ {Èšëxz=ÔTôâ)V@Âþ@˜Ñ/£Ü O ¢Ü,¯/èó‡B‘8R¬ÜˆÁTðôâ.å3Œ@¿¸›°§w=ÅJ„9ÍBöŒ 8^Œ�ÜfáïuåWÁñÈ©Ç� c`i$T!¥` ñH#è”2¼»P8CÕ xŒÝÄp,Áˆ7Oñ‚Oâ�K™¸”‘s”^è$W­/’«(Œ!‘vT=%–ÌpZ|¼¬ðq¤AR€OdNÀÓ‹4EæuaÅ‘2 |¼úÇà AŽ’Y ^ _È¡-»šÓÌŒ¢9ODM ^«d•ªˆÄ@V3 B¦]A®yz·Z¯ ôúüÁp$‰&¡—P@ôjv¹vð;ÎJúì÷ »\3-;‰_ z�w‰$Áð5½¬½åúŽ]k6Ûýf»oW·�\…1Öˆ„~…�·½;n¶ûÅJ£Ùî·wÇøõp$~�õ«ØŠ „B‘H, G¯f ô†cV¡ÜÜ·¾ùWµ�Ôüæ_Õ¶�¬‚]II™«U¯o è¼K ½e¯ü±Oï`ŠnÞÁì°¾Ó‡w·?=Øl‘\Õ-íáhq óêVg4^žP Ïë“7û!2�Dþ`èêiãõÔ<ͱ“ÿÊx;ú'z5ÝzÙ¿ UÇE¢‰H4á'nóÕa{z—ÇŽî=�ì�v†‹ýÓGG÷žŽÇÝáâàìñÁÙãÁìïòøAo´/O pî ¯ÅÓëL¹p,KC‘«¿D¯?MŠåÖCó[½ùñ�š_ÿ‹J}HzÝ8í³\z5ð.ÁP”'öÕÿ@WÏF€ÞùÞ ªžz£åâèþtÿ¬=˜# l²wºÝ›ŒdúÌíádïãfwüºäÍ´ÅLSŽ'ÃUÚ €^»\û}ù—Þ~Sþ›v¹¦jF(»âïæóÕ»^r/½âu6<~€ÞélÙL±—×/©x¼ºÕîOvG [º"檾ӳkÛêß×DŠUwøz*‹„r�’"ÑO5åâ ©Xª| ÿµù{?´¾ÿçÊoÖí-«X‰%R/�r!gbÓ½ô:SÎaz-E/”ê[åzªæR}Ë®5ÎÇ+Ž·²IµF9ÍÒ e„;P.¯›ãÅ2†8Þ,…q‚ à5­Ä‚$•¦¬æ¬jÈ9 MEˆ¶"Ñœ$gU�¬¹‚N@Š 8[YɃã•dEVònO/J(±„ƒªY’‡ÌÞ´„$cM,�1˜P)8\.a.aÄM¤x¥ºzYÕŒ|fxzׯðô¾{ëö;ïÞŠ%RŸþgÈA¹”œÁžÞ@0Âã`(Š1!ÞpÌ/ÔË+…3uð‚•š=W2 Us0g^cD1ÓXœàöñ‚Ëå¬föñb; a– ÊÈm«`U3ûx�]Y�‚[TÍØðcO/ ðëF)p¼@Îî¬fäãå"!|/Ä6° ËJ^ ä,Ä9PïÀÓ‹1ž(H¨’…É–Û‰€fÁñbWÚc [4é9ÝÂ… Õ4ï¼âdh�‰Qµ‡€ –ð :çxE~#u÷™6™Ù^d5C‹ÛíDp¥v† l"U¨=˜÷Ç{×—7{¼�h,¡¨ºáL9CÜH/�9¯?#«»²µ,ýc}ñ›Z}hÛåZŽ<–‘+¦J4F[¼‹­jF</ëKþY/|Á•¼y)VàuÑÇ;œïîp~” À6^žÝ{Š1E7½Oo0Ig²šASN#Ñ£ †/ÿÒÑV©a–ìruò«4åú?M›†YB‚Ú…)í°#R:—×-�&v1�Q®þj_ø:|�=½½ñÞîd�D½ñúx±eÄ;œÁaNðx¼×.ÆË“ùëðôz¼�X<©äuÃ(¦­¨z4ž¼ò.ç—sù‚]Ù×&ß“æog>lvìrMΪ�«¦½ O9%oÄâ©W¶O³§·Öì´z#p¼u1î�æ[­Ýz³ÓÞ÷FsR57;­þ|om»ÛîOZ½Ñk‘7CÑŒœÓÅuÓtKÊä®Ü¡£Ô4‘YPûŽüÁ?•þ™r$t@v8¿ì‚C“¦ýbL¹‚”ÎC‘Ë'öK¾Â+Oï¶]Ýâ%.W¤Xé U.Õ·ÀÊ’K¨Ö+‹1ûxíê&Èa \Õ("ÝÊ*U½ EV5çMÛ*Uñ˜Î›6@5û{•‘Ó‘Í”Li–€xá‡"à*8^d5…j† ŒªäMt‚§Ç‹írœ€UdÏ8ŽeÌÚªfˆÝ�üL²5ñ¾¼‚é—UÍ ) i[*“ƒFOVòÄa/²šqcw|¼B± U3ª7…3Üm©4‡P5Ùòú‹:ÇÇ»êéÅ9Xpò´JLtg®ƒÞwoÝFZ8^ [öñþ�¯¼‹1øÞÏ z'Ó%ßàn7WàÇú L¦ËÏz76ü_{ϳáqúxhéf-’«|þ�@¶ôŸÎX÷Ó0%]!¤ ç¸}¼Èpf…3:{AÓúÃç(œÝÞ]p¹Ø÷zýº}¼Žw7…K|ïó gN«Â=…‘0vìBÑ#^lØ-ÜâœÀB±GHÊgìÕÍñâÈ`x#�Óªp»Än"zÏ�x‘£Àˆ—ï¿@¼±TƹY‹ýK ^ìe‚ïåöµ»Rʽèãú<ÌÈŠÀsHÊ(ª^²MË*+œ!LúE7/P1ºyP±B¼Ï)œaÚ*‹Ã!så6cS¹X¹®§×ãõ‡ÂQÝ(ìJµg×:v±D.Ó””¹bÁ ET�L•v¹†Bn´ˆ¼”; …cªfìJy»\Ý¥w±Še½¯šëª]xzwºCR2ךèóØÜî–ë;ÈzaÄÛê�j[TÞx}¦×ëÊ²Š°üE»¢¨Z xiÔ�Ç�Ò²Y(óu+–j9E»‚êôú’”5 %ú×­hWÔüKè¦+îÀ½Óùoo¼‡|æíÞ�²¬jFoêÎît¼<-ŽÛƒ9¡ß×QYŽÄuƒøÆê®]Ù¡L/Ó²©4…^" …¢�›ò¥3 ¥Èå‚ID“ƒÚ®TZ¥jOLìB™6t.g8/{÷ �z÷‰îžìï�<„Âyw²�¬fp¼œ\5^žß�îüðÞѽ§×gz}þ`6—§)W®®¾D•l.¸üKäõÒ™œUtO¹j&«ú—²ë>¿ÂS®`W²ªöʲ^öôöÆ{‹£ûðŠ£á ój8?ZÝ-Ž;ÃÎýé¤gwGÚg± ¥+þu^ú?Ec Ã,íJÛl׋[ÅRÕ0íx^JÅÙ¬Wt´Zp°3Ž»×?Ž«KÄmÆS2NE+�‹ IDATvƘÎÁ:íD©4vÌñfrNSûx¡^†¬™£ŽyM eÇÓ»òñbMˆu �‘)ƒÅ—ƒœg5‹ú_h‘ƒŒÄ×A/¯Ù~å*ìeUóíÛ?Á)V·n5ž”>ýÏt¶wÅü»ùŸn®ÀÛ¿’$/–ûOž<�/ö$Iþô`:Ûûô3?ž” `öú‚ðôB~|gƒzzׯ@¹k|o (¶37ü^êeh¤ÑÇ Ó/�ã#P …³ðôR07aìñá¸\�?èxwƒaá%¤ì;_0â †ÃQ1E�qþ¹§W”÷"'°¿—=½Tk$n:x;ŒWˆWBF­‘ÃñŠŽ5Çß+öùpGKH2n…ðô2â=—Á¤Ò@³8cD^ñÎb:«®„7™LNŒE½ùx³¤pÆ�[JfÈŒáéu«zØÓ›”rYÕ€’èqÿN¥»Hw���­ðÀ0Ç Ä dëF¼²h*bîiUÀÏÜ×—7Žž^æ{Qô—ÓLÔ$0ßËÆ¡rýºž^¯/˜Èmô ÚOýeõÿ®2ø½hW4½p…Œ󙬚×-M/(ª‹§D×Å E�ÔöÜû¦þÑ¿-ëÿ¬O~U+–j†i‹Þ‹ëêï,P+)™W}¼C¸¹Ý¥+Á„Ô›»ÖÜÜî¶wÇõf!Ï×÷ôŠ5q¡>¶ïýwäÑ=þ=½X&$/Âí.þ‹`yH$ÓJÞÐŒB^3Ñöt EUÍ(V*'ÿ”Ääwÿجm«XND¼xyõus<½òîv…Û-©µhD5ª@¼HnæãåÉÎîQºÑs� +Z+ùB±<ýUíoþµÿMi÷›:íä ìñ]øù½>XÊ95¯›š^È)Z4šðr»øR{}‘ö\~¬}ãßW¾ùªÃ_@†S!ðJ+iöôr7ï‹>^§�Hì#ýâªÝ{J¶Õ�·+Y²‹ÿ\Ò*ǺQlZÿÄúøGÍÃïÒ—È*–Ãá«Túþ@0I¦ šrªf¦$yEÛ^<Âa{•Ž}öû$&?ý¯�r³bÈ|á?ÍK2è�Þ›ÞC/Î(‚^?-Ž[ý+œwv§“½Sð½ý1†_ôÒf�¢ìêßÎ|øõßýÓܯ=T v5«äÅ—èâë@S.Ï*yq—³²¹þ íþoùßþ©ÜY±TÍkæ÷Æ+®ÞŠé]ôF‹VoTÙlµz#ä6£�¨;œ5Û}Œ;ÃYµÙ©4ÈÓÛÚW­ÆNïšL/Ñ㉔aÚ§êâOr÷¯ÍßûµÌ7ì2M9!6¹xºŠB»PJ’U�¾ªªf$¥ŒPd\|�7<þh,¡éÖDüA–ÄäÿHþ6$0‘HâŠësÅÿäxzwºN;‘H±r'W1úEù�Q$îÚcÓ®¬TÍç>ÞœfÊ5«TU�"¼»«¦"kUkD›Ñ(FÊi„~Aã™ 4?ßIE¬è†EÎhâB…ÁÓËE¾à„Ñ-„±ñ¦eÕ�\%ç4îãB–EÝ.{zÁåfU#)å0Æzf�ãU( …Q"7 |x N±ZËjžÞ\,)ñâdŒO¯ ñr¯«šWÚ@ MEàx9¹ ðxµàÌ ›3O®ƒ^V23Ê…�÷o|å]n*bï»·n¦uÿ è½âëwó?½å+à„¾ýí�ÿüÏÿå'«ÿû³?û³oÿÌÇWÝŸð³‚Þ �Ïç'Ä»¦pfÄ ”»æãÇË|/TÍx»}¼ç g?uóúB‘;«+F¼Œr9·yÃà´*ñ’‹2âF"ÑD˜LtÙŽRP8ƒ•Å븻y�r‘˜ù1Ôθ—qn3¶ß@Û†cDc¼ºsÑ(û…à™’œÊäØÇËGáOR‘°‘åº3Ä›”8¹*–Êàà \±M¤åFì ž>^B¶…îò"I‚ûxq÷G"ÎÇãÊöñÂ]” Ä«6?{pˆ—Ë€rñ@úÅ+[Å <½¬jæä*áã¥n^”þ©FˆWèë{zýþ�š§,¥gÿ« ·ä£^ÝÒÕÂQp_¡p,‰‡B/±³z}YÉ›…ò½?r2œ>ú·õtõzÝýÅ\ôÂÇ‹ g¤Uµz£Íín±Ò¨7;P5ÛÕ­f»Ž·TßÞé…§÷ºòæXåôîgN¯ÈgÇÛ.`­œì�¶sŒ[ýν!]·ë€Þ@0 öÿ{ÔÝ?p‚Ю �6<~ZLÃTœ‰¯ö/^v#F�ªBùñœì«§F"ü‚]¹Ú“yÙedOïþé£Ã»O†ó£ÝÉ>ÒªúSŠÂFVszŽwïäao´œÜßÛïÍ®ÝÓ›H¦M«4þ�'Cm·d—kñ„tõˆ˜rÑH4AÖ˜Ë9^üíñ$áœö3Ç>ýñ�šÈÊNÒÞñ¥¸å²ë¶áñô.öO§ûg½ÑmO“½ÓVŽYÍŒx·{“éþHòV6ß;¾&è #š^°ËÕ¿Ô¿ ƒîß—ÿaÐ5…wôÒY$6�ÃáH<ŽE/ôe›, ¢6²bùÏ•ßÄ»üqö;o/½—^xõØÓ»#o{w¼;Z4ÛýÊf«3˜Bá\m´ºÃY»?©7;õf§;œ!¼ÕÞÜî^ßÓKÊ’™”Mþþ¢ÿ¨ÿãriÓ.×¢ñäK§\( G>Õ”K¦Ò†i+wïòCëû£_,U)*蕦@oms'oÚ¥:õôB]\®7íê&ž³åzYÍìã…�ˆvÅñRB•]k¨FÇA³ä JfÔ±ù(oÚ@¹Ž�WÕ9³ƒv±­ºy!þÒÍ6Ö±0€M7KP™©zh$† Ì™÷ÙÑרêE³Àë"hùÌ0RqZ'ʇx—ÇáãEñ/q¼‚�Èæu,´äéÕU�¢9 yŽ&Òà“cÉ �e…2DW(6ݘX¡1Ç‹Wƒ2i YIVÖÖŠ.ÅšcÔg²Â$ c'eæÂž^æu‘Ïüî­Û/ªš¹È÷Ú 7àÇ#þ‰ú}‘TVùüžˆ5:›±W¹{^xk¸9xsø x}�ßø�ßüä“O~å;¿Z®ÐM³T®~çWÿÓO>ùä×ý7®¾MãE>+è=½Nn³Ãå Ѳ{ìöôbìõÄ롨•Uš?Å\á8dÏ<†)×ã"¢™UÍ@ªÞ@ÈŠÂ1V5ã8b®¨m(HVáp$Ǥ�Ný"¹ ¼.N‚õ…"tIJP2³ÚÙíéEð�3D)ø]p¼P2»UͱELEâIV5T£µh­À ªfléAÕŒÍÂóF8¡±'—2™\êeÜôÁåº΄~s<½ØCå¬f \æuSiGáŒJ:`TöôÂEÓ/+™¹�Eó(”<Ç˪f¸‚9·Y3l§¯Od5¯ªíM4!ˆþ^ÞHÖ¬Òkñôúü!Á�T¾ë¤Ríý6M‰ƒ½�=¿ì ¸%ÏÿOçKI�7€þ�éßѾýÿn/ú_�·P�T¯ø Ð[m´¶Z»àu¡ýƒÂys»»æã…Ú¹Ùî¿.Oo„“vó°ðá¿)}ü£æ“ÿ¹P딊¥Kˆ¨©äk‚ëæ<=^Bt|s‘¸a«íÒ“QüøGÍþuiû„Be¥tö²_qÿú‹cfzá¥ÜîM€Óz£%Î8ެfô¦"佩ƒk{zyŸåèŸÐ”ûöÿÓ˜ýç4å4ݺ„ rdOe¦·.T*@¼›Û]F¼SSÑv—ü½"·è·3˜^ßÓëñ’RÚ,”?TŽÿ½ö�~h}ÿ¿‘ ¢åËdÞÏß”>í]NLlûP›þ+õ·~h}ÿ¿Ïþ�†Ý,Ø•ØË õ…ÿ,o®nnCÉŒçi©¾U¬ÔÑÍ O/¼¸v­B/<½P8kV œ-á¼iÊ5D^áw!�v{z5‘@™7íœfê…2à1r:øùnÊ´Šfqns.oñ‚�Å �QÎ9^‘D…UTÊX�@YÆ&, \ Rç4T6‚%¦E‘ÛÇ+vü“"­3«™l>)å’élbðëfUzÔ=Ç’„~9ä9•QЬ�e›ƒxÅ !¦Ñ¼Ð$#„%šHñšŒâH™)‰¥Ò¨Ãd�!�38^Z:ŠÖ™^ðºï¼skMá ”ûλ·À÷¢¼÷50½¾ìôÁûÏžÑÏû�Fº|øô¤œxÂ…½Ç‡Å(}’z-Ÿ¸ÔvÙ„þ¢ÿÿÙŸÃë³§Áb¹ÿÉ'Ÿ<{öÁÚ$yöþŸ|òÉroíø‹ÿùYAïÆ†÷½;(^¿³á…ˈh–Ž‹Üf'Ä»òúý ä@ˆjg¨š!BƒªÙ oø0û‚aêà FÀÓž7 %32¨|Á0lº8Ç¿B¼° ‡£””ˈ€}¼áXÉUØE‹NØíã%!JRâÅ�Œù^ [‚Ä+%3ÆìÝMH2£_Ô”`#,·3l º9^hcÜ­Eà~âUÓ¦OUr«òô nô¸Yƒïe T=bTc^ªæ„”Å&+TÍ�ø7âåç R‘ÕŒv"ln*ƒ 1ª^ÐMÑT”ÓÎoNCº”Ìz¡Ì>^F¹Ø„vÌBâÑK{ØÕÆ5ƒ¬¼>*51 år£2üY½÷MÝ®––š«Ï,½>ÊŽ'Ó’”MgréŒÂ?R:—”2ÑxòBêÁE†AT[ÿ[úàg5�«Y}5„ƒ¬Àëº}¼v­‰¬V2ïˆNK;ÃWm´®/oÉíf—k�'ÆøW4`QÝ(†ÂDXûƒáh,™”d)�“ÒîK—KIr<™‡còÃ>(“¥‚¨Ö}sü+Zë>‘¢†Qxåå {z»‚×Ç ^YÍíÁœúx÷NG‹cV5çGíÁœ¨Ë%Ñn×az½> û±ŠåZ§4úE­÷uŠe.ØÔ€úüŠ™ž;BÕO$¥Ôú”£Ë˜Le"±Äeüp,ž4-»T­ ~Fïÿ-½Ò¨À[]jº^›ðîÿdЋ|/wVóÁÙ㽓‡Ð„Ý{ʈ÷øþ³éþLª4¾Ó‹‡5~–kÝhÊ5 Åm¬äÊÏ=©Áp,žJ]4å$)OJ—µC‚¡œ’/–jí‡bbß%_«¦[‘è+jMzã½ÁìJæîp1œáBu‡ p¼»“}l¯pŠÕtÿŒôãå5™^¯/˜H¦ ve`ö~.ûä±rh—kE»’”äç÷SÄ”9ö‰TZJ¯ÝåÄ”“Ò‘X¸ [Øã Ä’i•¶ŠÍog| Ó»”*Rúêä§çþÕÜS w ª0ÍtlYÏ? ‚¡ÈjÊeÝw9)#îr‰eSù.Ø¥ †"Šˆg¨îÿ¼üd_› (û•ƒÙÓ ÚÖ´+ÈmV�"ü½h*²JU˜~Žw•\dëF¼yÓ¯ Ѳ ñš/¢Ü¼iSZU¡ üìr'Y8®‹ôʬj˜…2¬RØG8ÆX0ñ"H™C8=½ŒŠf!šÄ©–›û¼Y�…Ðyv‰HîL¥©“B>^ ^¨¬cI†¢8YÍ© ¡_ÑÇK¼.Än±dÜr<%CL‡•¯ÐˆïÞ]„T9cÉ}ßâE²)ÜmXL‚Âõ‹L q‚ãéMJP ^z¡p^k'b/Š|¹ÊèºL/�ÞGÕ]hðC^�ÿôúR­ããšt¨ në!ß .�?ð_ðUñøÃÁ@Ðãúây¼Aº¹Žà&â~ü–ûærÙû:¿+TUþ—~*ןCÈõÜÏrñîÏý-W¿»ûsÞŒ_z¾÷½ïýáþá‹ËGŸ?øÇüÇ¿ó;¿óÒWø¬ W ^?+œYÕ|g÷ÖT߯h‰Ê„°³^1WÂßH›AP8# >Þ;Þâ gn*ºã `ì E6|ÇÓ+P1Î�ªR"¤jFLt4–¤èÎUn3P1-�0x]pŬp&¯@¹P;ÁrŠ�3n^ã&>9.epG E‚×͆„¯8™Î&$Ù­pâ²{ …3<½ÈKˆ £¯ðëÒ_&'JÒã#Þh\b/D8î›5‚ IÕ#’ú…<ñâî�„ ÜaÓ¯ŒMS˜~Áß²Â=ÀŒx3¢Ö€Sñ`ðf/uóZ$^‚·Ç´+²ªËªÎo6o ­ |¯Q$$,«ºj!£Êæ�ë§7{¼4u%I6L»`W)y¥PÎdU^F{|T–OJäm-M/äuKÍ9U˪ZNÑUW5Î7MüOéLŽú-¨$ƹ×y}�d*cˆÄ¬b©bËÙœÇ.dZ^ú%eÐ ^·²Ùj¶ûÜÇ‹øx±D­ŽÃô;™’Qð•U |uƒ,«‚]1Ì¢ð6;/þ@(ŽÓÍãâˆë¦9\:\·¼A±Ì†¥éV^7e%OH¡P”Ö(�Id€™V¹X"ئÅx"uE\ÖÕW w8¡ÜfÒÜÜí[�‘ÈmvTÍ@¿ŒxG‹ãíÞ€d<;¸&èÚã`:£&¥saÊ¥3 °´·ŠÆ“éœc§,ДÓ,%oä” §\AÉëR:ŽÄ+yJw$IFbV±T1 %Y_¿¸›sõÃÿÊòæþôˆ ùZ/šŠ¦ûg'Þ_?è‹£ûà{¯ééÅ”‹DÉýˆ)gËš^ˆÆø‰²ÒâR ®fÂoŸ×-E3”¼NßVESòúj6bÊYrN�Å �ð7QL9²õššrE»bŸØÏú4êÅszGÓýåñƒéþûxÑTÄèwgw:;¸»8ºßY€;ÃÅõ=½Øq&±‰ÅS®„|`|Z8©LVÕpÝÄ”3�)§h9UÜåò†F)ô“Ë’” ‡IE…ž˜rÁtšÂ ÄÄ®˜…²˜Ø¾ ¾xq®8²bz—=¡j†w·7š7vzÕ)œ»ÃY½ÙÁ¸ÝŸÔ¶Úµ­6ΕM’À\ôz}´®é|U­bEÕLwôw ŽD™¬ªê¸8t—S4SQõ,ëSÎÌdÕh,Aw9×ÓÁ5±q—³¢´¹pi\Ö×�™Þf«U3!^¡j†Úˆ¼.˜XæxÑ6´R5“�ݼ9Íâ"_E/ ÈWÑ 9ÍDÈ3Ó8Ù¥j¦dJ£XFû`FÑ�ÓG•Y(£p>^ÄÀ÷‚•EÔ%öñ±uŽ•Я@¼Z^/*š%3©šEÔoÖóÒ7îªß›Ë›N>³¢ƒÂÅqª5žÛ¬ª�¶Å‚*•ÎEãs¼‘X ~®¸$CÉì$W¥Òy†|e“´´ME@¿Äýfr`M õC›¦{ìR¬šÅÖ9B�@ÖuÐˈªfn'ÊßËþÞwÞ½õZ@o+w¾¥ê‰8¯zãÙöÉÓ�¾ñ��>øàƒÇ3-ˆhݳg¾ÿìýŸžn«Ô„æ gÓÍ�ýg}ôxQ ¯`'¿»ì�ï¾ÿÁûïøÑÓãN&àßð&JâÈÓ§ïðôl;¿z…»{ýé½÷éÄNû�ÍýÖ}ô`Z‰øh�íÅ÷u�"ZçôÙ‡<{öá‡O ÕÙ§òÉ®?ç`ùàѮù³��ƹxqq¶Ü�Þ{ÿƒ÷?ü裇óÍ„ÿåïîþ$7ãOs~ðƒ?ý¹Ÿÿ… Ïü¥_úåüàO/üŸÜ?+èl 8«•ª™Ço@Ä\… Äën'ÂX^Ü;P}æEÑ´”ëöñ2âe”‹W‚…ìù|,ø^¨SpGã“‘R€MAlÝ%$»†ç¯p‰ ‘âýâ¦OÉiYM¥s±ä9Ç‹-Iæ~ÉÓ+¤>n @,T=Ø@Åò¡L–TÓYÕ`”‹Üf¼\4ð3âEí\7Y•¬;h¢W4ZDbœ×‹f¡ Ä‹öxwÁñÊªŽ’@ýaSˆªfH§Œbys«}M¦+i?¶4³‘H¦…a2à󣱄DÐC�ÌÊ*ùtF4Q:K†#1òô†c‘H"O&RÚÝ—U3tѧ’S´””Áâ_ò‘§³R:›HeÂj°poº¿†/³§·Ú ¦"øx‘Ռ䪭Ö.#ÞíΠÕ•ë;à{wºÃÑë¨,gÊœλД»ªÅíêKÐ;�-›�Am« U3å6 ïn{w¼¹ÝÝÜîöFsDômµv{£ùNwÄ»;"û=õ‰º˜WS¹z8ޝjJ’©Œ]Äj†#ñ”$gÚ&ÈëVNÕÄ”Ë&iÊ%yÊE¢ ºË‘>HÜåT]ô`”¼!¥ioÔç#Úܙé ha*Ö&:ýRüê?Lous[/”«�àR£Hcd5[¥*ƈÉ(Õ·ôB9oÚÅJÝ®5Àë+uœìF¹8G¨šÍ¼iKç4K³JÀÒ9Íá~sšÃëZ¥ªx¦“k Ïô\ÞdÄ d‹l…#¢0ÞOwgdbuáN®b” I–+XÛ€1æ„N)£`Ì7œô �t<•‘d%›×A?¤³d Cy/¸ep¼Xù$¤l,I�£ÌC¤³*ûxQÞM¤’L¦_ÑTî—ó™S™X¨š±VD1ÈXÛ .fæ1h ëuÐëF¹>«§HDç‰XË'÷¶³Ä€EÌÑ“‡#9 8á§ÏNFå¨@§<Ë 6ðÑaSñ{ü¾tëôÉ̦\ÁP<¢3éÍÃG‹jÈ+^áƒ÷7eŸÇïKÖO>ú踕÷{üÞhaùô^#¼ð}Ïß(RØ{zoG!¾Ú5§�vòQz÷‹>•ëÏ ¤Ç÷'v�¾±AµsvÚÕ|øÌ[9ŸÇï æºgÏöjé«ß�?ÆÍàÓ_�—�Þ¼ô¥^ôÞq!^·Âcn* LK.�¯èæeO/ ·«•nT¤>Òƒ9ŠúE†³? 4K gáÈ…ÚÙŠ‚³õB{ñ"nÊGYÍR5GâþP$Šáf�W€’PHÝß<†Ôq,)á|pD&âv†›nm¡h‚ïb0úↅ; ³á—” pÇ‹xÈZý" áõN* •¤SÌÎ÷Ó|2�ú8E^ù{Y�“�²@¼äWžÜÄñ„쨚*Æ#èY͸¿3úE""ž=Ðу*«²�UÀy½ˆ' Êà™ÉëEÍs~#ñÌB µòüXx:²§—UÍ«ôHz|Z¥j¹vÝôæ ¿@YYE3LÛ*›”H¦iÖ QŸ˜œäA}þç|uBD]8&�ñ(–M‹H`],}á[úƒ½µ­övg”ÛØéa\ªo£›·¶Õ.Õ··;(œмÓñäºAV~T¯/�’¨¹×*– Ê&Qhõ†„vŠb¢Ç“ûºá?ñRIÞÝö`>Ý?A1Æ£éþõ™Þ?å�‡cYU7Dƒe^7㉔H¼'[¯ûº‰ñù”ó‹)—É( ò ³”’dß úüß÷Óayóþé£Ñâx8?:¾ÿ ¼“½SŒûÓƒÙÁÝûOàã]Ý?¾ÿl²w óêk½k좔έ¦œÍŒ7h4 |÷¥¯p®¿„"ñ„D¿^(ŠeEÕ_¹šhí³ñôN‡½Ñr¼<âåñ`v/%W�÷åÞs¯ØA˜ŠÀðë¤7ó'qPj•˦E¥©y͌œ´ß'åò7 IDAT­^¼nî)G[xBÇ!Øcúª¦�L]Uoî~ëO9fysJæá¬ÑÚÝÜéu†3V5SŠ•@¿[­Ýîp† ƒf»¾÷µ€ÞµO+v ‚bÊÄ]®(�pŒ{×^üªbk¯ã1~ñ¤¤éôë´¬hbÏëüë¼öޝðŸdEÉUµ†ÛÇ Ÿ-wóÊ5F¼ÔNTkhV Í m�Š¡jƦ³iWàÑ]uóâEÓ/žã¦]!Ïô˜^=ÓÉß»[†UB0x]ˆÂØ…àn*RIZUäÅgH�hçƒÆ$YE~ÆÆ=:)0FB§3€ë¬yR%«’«,Y¡ÅU\™œ ê¹Í"´EÎdIm‡IVXÕ Žk?àg¬ýp‚ L õKòúÆ: ^h™ãÅ9ÂÇ rÜL(šX½@¶°ìrZ'Z­ÐïW¡v~-žÞÞý¯ýÃÞ'6öƒ'[±5¦wz«Iºÿ†�ñ£ÓaÙ.Û$§Ù9xzVK ÷ïÓ»›ÒújIÀγšøÅ OØ>8¨‹No8–ÎV©´½|x¸è}z†·Ø¨ãÇvdA>ûÒí»�:JäÂ÷åïXØ?9mÅ�ݦ€Ò¹ëÀ׋>@/Þ˯=Þ/ÐߨŽÝofBÏf¿Ô8~4¯$.ú«ùÝo¯p¾÷½ïýÁüËfø¼¾ÀýÑ}÷»ßå#— >+èÝØðÞ¹ãÁâccÃ�¦"�7¯Óû²!¢GBåF¼"ÅÊíãú…P��C„~qPÄo†½ñ‚Ë=O±¼.ˆYo @‹s`ô* …z±ïðñb³ €›p ‘�xA##r¯dËÑy¸ÁÎÁY|¼-Gw.�ŠAá®��Ÿå®ñ½P8Ç<æ\æ{Ýè7™Îfr´ËH[•+ ŠÀ ë â=Np­P2»’ñØéæ…IF4e²ytóâqô‹1/¼¾_†xé}Ýž^EÇ6sN3‘~”‹ H„§�G)ɪQ´«×íé}ñ[ EÓEPµíÄSîwXlÜÐæ ±ÿ’œ–•l.¯¨:ýä�¬ªA±Æël¯/àó‰Z‰§²9Õ0‰I¦2¯,W{ñsô¶z£:•1n×¶Ú jÞî ª�Ökñô®}$Ÿ?OHŠff1›ËÇ“é}mC>$F"%¥399«æÄESò†BŠÓ¼$eÅe!\‡ë]´$eóº©v6—…Ï¥€kïûYÿ“=½�á‚o«?â…w·=˜ªµú3’ÁìpgwJ îÚžÞ?p(ËÞ-äu*Ô*e纑�xÉlFV³Š˜ry#—׳ M¹HÄ)MS$´3á8M¹<¦\"™¦àÀë1]øu½ƒÙáhqÌ>Þñò„»yÑÇ Ä;?¼wòàýÉÞ)Š_KOïÚâó“U5¯[ºQ�sj\x&1å<¢á)™L§é6¨’!o�XWÕhOP’WŠèó)‰’¬CÓ-Ã(º koú ÿÉžÞñòdqtÉU£Å18^L0¨šýv‡‹ÞxžÞÁµ=½kŸpWÎaÊY˜r~ºË‘LÃO^èdJ¢¥¼ðnˆë–×sbʅäOŠ£ok DM I)G[„EU3c éuí¶0èmõ'½Ñ¢Ñî×V}¼õf>^ä67Û}$Waè·Úh½vÐKõW© Ô™, 㡈?‚Â%Ž'S4å²¹üù”S´lNÅŽ˜ÛÕ].¡N…œn�¼%-+�WŠûZûÇÅ:žÞí8^ÇÓ[ÝÄ£“/P.R¬ÐÇ /s¼œ\¥EŒ!‡ú%‚–^  hÕ(»‹rš“F ¾»Ø9Íržï¦�üdöô‚ïÅÂ/ @¼Ø²ÏëEn…€Ê é!ÈjÆ‚/�År’4Y _)£`—Ÿ¡²NJ”Ü P��²ðañJ²¡2VY@¼ì/‹¥ÒH¨r#^¬Ðp~2�eÉä�ìé±� ÄšÐññ¦Ò@¿@¼Ìýbaé¶ÎaÁ jgôº›ŠXá|û«?É(—‹|ß½uûöíŸx-òf·§÷2¦(1fÏß]t;½NWütZfJE'òê¹M �çÇÐë�—–�žÝ]ŽZ[[µöþ#½|f@?ZAèè½ð}ù[-Î6"+Ð+7Oî,ÿsïîú`‚¸v¶'Zš=ܯËQ}øð´•ð ÎùÉ‘½Ê¬Ž—÷ïmf.ú«ùÝo¯p–"ÈêéÓ÷×~÷Ù3 ²š/^^(ýYAï�;¯Pû µ¼î{w¼ðô2úu‚ú…z|ï*‚Œ”n…3R¬p¾ÏOšÃý G.Ò­˜ãE7o0‡�ÁË „1öÃÜÍë �^ñwÈjf¾—}¼¨5ŠÄ“@¿àxñvœà df»£_(–Á÷rú<‰°‡G~â7ŒqÅ0!É„x…ÂÎì�–&!É« …”»J7})£pk­p—Gûš�ˆ÷¹>^Qv‡ˆB¨š¡væä*Ô)š…^xÄ-⭑ό缻`�oެ8ÔX ¼4”åX(ËªŽ§&”Ì9�J�~ñÂ,T¬Ôá&ªnn__ÞÌß‘0”R5²fÉ9•L¹.§Ÿ×IË0m³P&*R°‘› ºV±¬äõ#…¼{™ÎÕ¢œ£äªWÓ—òçÄ ªfr»íŽk[m»º…Ój£eך��^{w\Ùl•ë;Èm®lâÝé¯ïéuž@0L­†¥êF4–ßÓó¨›p$®æ ƒS²ŠdZ£qÝ ³¥·ûÅW0މ—-ê†E‹éWu¸¹_ w0^6»ãþôŠSØ,G‹ctóŽ—'ãå‰[Õ¼ÙÀüZ<½üy<¾@<™&¯¸Q¬8eËó–%¹Í †LË6­¦\¡œUò/n£ÀŸOH@ƒYu¿&¿õg°§w0;Ü?}´ú¨7ZNöNO¼¿wò�ÇÜNŽ—Îã=(œG »NOïÚ†"Ù\ž¦œfDÈÀðÞÁc‘hB%¯8M9ñõ|nÊéf<îׄ֗øvEƒp7K²Ñ×}ægôŽgNnóÎît´8FôTÍ@¼P5ÏïµóŽðBÏîR­Ñk½j•¢�Í(¬±â¨aK“§ÅÁù]N|U­B9-+/n£°%X#�}!�QØ[þY¯•û|öôv‡óÍÖn…üºóîp^[µuÓj£…3’«;½îp¶Ý”ë;Û�Ák½Žƒæ‰çiÊQS�#zQ…Iq“·Í¦à|—Ó�‹×Äë#cW8˪4åÖÜÂîKñYǽÍ�nÞ´�b¹"bœÑ„¦"ÙŸ/<½ûÇW�Í£©hc÷ððìÞñåCä6žÝ#Oïèx{t||ùp|r|ïäôê©éÍ4u$-a¶ö í_øÕÔ¦AøÊõj7ÒàsäMp½øIó„m¥Ñä§óœ›ŒÐ¬2H ˽9ÃÙy㌺·€^ž{[žÞ•ͽ.ùx ñö×·{k[»ûÇàx…�ÑÛ£#ˆYÖ6÷Þ‹§wfÉ᳓½NŒgeñ’kiÆÍ_M*×mÇãÎÜ© ãk˜gå*Xr‹¹B¡XVÔ–Ä®Ê�Öô¾1g’§\FÝôÜyAVÝ¥5?ît–Öbáã…9l÷ÚýU/ºöñBÕw—`Í%¿noùzÜ]òãŽáäéå�gÃ!ŽUF8­Ž:}hµ`>â1½Ç‹Ú"�òúù¶�xqü Ñrêã5]lsÕÒmÇ‹\¡jÆD(œ…�¢eq@¯¨P®ðñ²‹×±ÿ�Âå½�°550ÃÓ‹B ömÙØ¼µ y¢hÍoê5ST [—â= 0i Ä µ3Þ )_šó²¾Z£‰�%ÂÂ:ª&Ëñç|³§Wøxß÷þÙ¾ïý/ěʞñ‚ûý‹½dÇ}ý|馭TK'¯<:ÝI|ß û›;Ëj��¢ài3Û�ÇagÊôVÃÃ×%–í$[§÷^yùl*oßaÓ»�›ós¯?ó9¥{üèîxÙ6ìpõøÕWO¼j¶réñÏdö×) ÆÎÕýÎ"fwËáñ˯ܿ%Žëõ÷_þ–ëzå)?=ó+__ÒóŸ6ÅRù“ŸüÔ¯þê¯è~ñ‹_üÕ_ýµO|ⓟüä§¾øÅ/>÷>+è]XÌð¥àUÁëfUÍb O/e‡rV³ðñò“/M¬)–*8°¸Å×Òih¹ŽqIªÂÓ ÚVøx¡j¾áã­¦\î”ã%”+U€]1Æ¡¾<;Æ!xÝÇTÍSO/\¸‚×j ÅçyýbŒ;n…(j¼.¸_¿„`ù^Öh阛ßð�Àx½Ñ2RU³ÚJǪ.jåÀñ’@ÈtEZBÕƒv_ _ Áâ xÞ ›¯ƒ¶(×rCÃöáã…_²gœÂâá$ Ä‹Ž>D^á(騳7Ýc‡„AH”þñúq穞ÞÅ5Q$©CI¤Or�åò%ÀÚŸ¨\(JÖ­{µ©qùÐ5N`CŠ ì^SDݶ‰çÇ5¹1w¿‚ ÖLÛ²=ËñäFk Š;!@/|¼àx�x¡j^ì»ÛY¢˜+(œ»ËÛ#F¿ëøò[Ò›óImœJMÙ6R9ÛD�Þùs…JUæ\–HVTÀã™ß«.7‚艈—hºªŒÍŸøÕ�`W«7¤r�3cŠÅ’¤”=kZ.ïöôð-±X*‹¤hÈSÅ7ÌROïáéhr¹9œ öŽàPÝØ=ÜNö�¯�0s÷àl}ç€B˜˜´$Hü´ôfp>/9ÃöêŠ:3!¸˜|žzt=’ùÙtC+̆ÖK’íR#ñÜmtuj‹%0×Szœ–\]ÁÝ5_(Õä†Ò’«Ô0Ï×ïÇ•,æ Õšl˜¶åø]psæØoòfâx÷O€xɆ:>Er,Ð"¹ „ðÅý×F“Ëý㫳»¯<ôŠ'*y¶ë?©Í‹®¶®¸^ì¸a]VonýsEEmqÖ.UøÞüÏ´Ýrevɱ¿Z«+^‚@Ã0?HtÃ"ñê<$Y”*´ä8¹�ä©¥Jv¥‰±`z©òŠQ.|¼oïŸ`��ßßdUóÑùýñÉŒ'ƇtXp‹§—$*rô]Û¡8¥úÊ]óêóü˜ç¶:³äH`%U7|Ò’óö¬¨LW^/!3Uªò4ë‹[u¥é¼äž\òT“†åXœr\«7æ« yóÒÆÎæð�8Þµ­%òîÍ ^¨š�xû«›ë[íááSÓ›ñ+SœKñòLPÏ÷Ô•¦çǶð'ëºoeú *ªMáÿ7×[Üîé¦].×g¿`ú¨ÂGMZ9Ší´²Xsaeˆ%$%©ÚÒM“ÃÉ›-£PºÎÊï ·¿¼Ñ›—"0ú«(D€�’ã°Ý>^‘Õ 4 ¨ì†í¨Óâõ"ƒãÅ4‡JRÇ4n#E¹P2g<½ôºp-yAVˆWÄ[B,ö؆�Eaèæ(›¨š¡&ƒ+;¬°uÁÈÖ°ýF“”ÌQ_�9Ç$U5kÜ^àxÁ%h&!^ Yêà2$W¡–R ^ìÊ TšzÖÇ‹­ÔÎ`Œ1 \c#;Ë‚×ÑZ$¬sYôKcÞ%Þæéúâ㙞Þ^üÀ¿+è-´Ú›»]ãú&¸Xq×v6œZq±â¬ílXÔÓ[(ÈáÆþñd<°ªÅÅ‚l÷v�OŽÆ{K�^Ê«ü%õÙ¥ÿøëe³·³5r½³u89oõ4-Z_�ÈÓ›ýE³¿³rnÖB^M;ƒö17nöóX��þÎáññx{Ù¨ræVö{>À²¿ÎÂbQ[»óòQ[bu4õÓ¶ÓÞì$z �F·ÿôì•<?Ó hšyzvñꫯŸž]´4lÕÛoîýÖ�}Û-ßêYAïK/-¾ôÒ"Î&çúxé^ÃÓ›JÑO±"î—ht»>^Èž‘ÿ\(rŠU�,4E©*Uˆ ÊJ"ÃEDðñf3œ…§w†ãÍzz!/)HU87+u®àªÜr! ‘ /^‡äX¿á¬nýâ˜ð:™€UÍ5EÅ­ß�N ¹)õôò8M®âæ·™{+¾>^·-³e¤¡ ¸‰+ª‘ÚT8­A¤Xe»é®=½üTË«ì#¨©‰à~ñèÀw|¯éH´3:º˜£=¥ëS[ãÍÿ‚¨ÓlÙFbŠdª8bëWìù´AD¡ ÐJÍ´)ÀSæÜ—ìΆÈ=8™j2Û~˜ÐVl^±*P+ªâÞjoe°¾5ìÒ.gHãõ­áê`·Ý_GyïúÖ0é¯õW7oéé]ÌŠ¥²iS¨”Û~ж¿üx/¦…’KŸ¶¼%©P¢Ž¢,d*%ÃržD€ÐV©o“ÀU1µf˰)‹8òš:ݰ)¡7_,JeµIÍR,¯Îp2…bY§+Ž¡e¥hP7,óÎÜëzÇGgèãM.Áënâ½3<ºXÛÃZ ô @ôûTO/èY׿^rž?cœG¥ÚÔKì ”Ê56w¤p‚�[ƒöÙ7×[Üî1Ç«gEË…R™Zµ,Š¿ö|,¹@Q‘©[b­/‰öëò,º &-8M¦$�¦^¸‘�-@ïÎøôàôîù½WO®A~qÿµ£óû×}¼§w‡G'W�®¾�… ßÚÓ[’*‡*¥K.l›ÄÇ>ö‡æé¥Ð)Ëö*™ù%:ÍB¦B‘–n”Ìù¨FI×´\"½§²ªA®Ô©`Ä è¯ÆKŽØã uMK„i %R‡YyfÉ¥ á]?KÎvƒ)œ¾†… ‹…¬§ªf©P½Óþ ¼»D’�Ž1·¨ÑB*‘äûÔ.ö$лH¶ �"÷ @¦¹XQ5ñ;âÑ_”*¼<ÈÁ j¹RÏ–„³}C÷ƒdî’óö²L5ÃŲBÊÒåbÉÙn 7èä §{œiLáXÙ[]L¾¨65× ÅmÙóEÕnšèP;q¼K;ƒ½ƒÍáam+M®ÚõV«›{¤jÞv9Øosï`ec§ÇÙþ·¤7KåªíøÓ›-uz–˽‰×>TÍ9nhZN¹R/¥¢T™YrE©b9ÞÜÂ(éê¼äÄ]Çš-Í¢À‚é’ki$X€ ¨¥Y,¾Ôu}%¤¯–ª&ùD®ïr&‹8ffX€ÞÕõí¸KÁTèãE3P.0*Æ‚ïÊE>3ÆÈdÆ›¡^f…3'Wµ{N�@Ÿöêåìcrhâ�ö$‚ïµ=Ò![.­Ô"‚ãžÞôˆœ/"¯p\.ÎÙ¯Ufì×ÕLˆðxÆÓKûŠ)âEŽIƒz(w|/¾¶¥Û"Em™u6—i¦ƒ+¡j‹¤•,÷€mmý¦ò=&KRƒÇÒ»›M6­±€¨ûO(¥‘\EÛE ô‹Ä™Yy3DË"¹ jg‘ÛŒ×Qk…ó¿+è} Îè7år§ˆèME ”㚎IGJæ:)Ÿš~áã(w�á1<½€ÄYî·$QƒQÖÓ+/b®€HgÆ@¼„�¥Š@¼y©"’«Pdµ3NÔÊ5iœÉ!Åj¾Â™–¯;Öø.†º]Á÷âþˆ+B­|+2ÜòÒ|†Ç\’N.‘´›W&/8ÞJ­†VQ©µˆnè†U³Èm¦Î:¾Ë×h[d8 /b®€lñfð·èãÅóFmÑ–2; Šàxq ï.à1q¹,XªfÍp\?I=½¦›f9rk|uð�3Ýn"Ír¿/¡!£êsTÉÒòÚÜõ\(–-׋۽Ñw8¯ÿz|ñcnwƒv„µ:eÝã?B¼´É PŠ¢T¥ÑâŒ%Úý0ÖÒ,ÿ ]Ýp²�‹%©¢1„F•(v�èbÕMßS*×`ñÍö=.,ȦhÚI·}úyçCÿc2þ^'n÷ü°=—£è%ï.ûxaiCrÕÆö(鯡�h°³wWs…1Ðï-Lï"%0·ü°½< ¯~Ú{õŸG[oºdZ¶Ü,º€mÒv ¸rôTM7ˆQ—-± «TeÏ›sX%Ý0îÔê ±ÓÍJ U£ê�i{-¦.Œ;ŽK••t¶U”jËó#M·J�S Uó<ºÎ‡ÿCp÷g¼•I%Ãön– y3”̧w—CF¼W‡g÷–CИ£Éåò`Ä»wx¾´±·wx~pzw8&cj»ÓK(;˜Ò³½ƒïu¾å·“ÓÏ»q·ãzq%CyŠ’FfÔ¨ÎåXÌLêÒM[¸þr…’nØOЄwÁÔ‰ÅY.×èë= ƒ`/Jz(æEhB¹\ãT°Yû´T®™–ÛYO.~Ì}ã7ãáwL—\Ê…^ï¹…§ˆ÷ìî+[à ’«&6‡“ãˇ—^?8½»=:>½óòåƒ×){ÿäìî+÷_#8÷dЛ+”ššDígÿ§´OÿcýoÝ·N¨ËÚ´Å’[ÌjuÅv}Ã&u-¹JUÆuYo«1|¹á3X­)"G½Pd-ƒK°'{.DmÛ%Ù"ŠeµI�²Ù2³¬ÚbŽÈ=Ï�?jÜûyýïü¸öÉí`+Œ;š1Çe Ð{0¹8¾|ˆD44m�Ž{GGç÷'™6¹xpxvouk{ÿD”úîßÊôJR•éÙÞßÖÞüuë>«}8nw]/ÊÆžJeÃ$oe]¦r¬\¾¤65Ëö4ÝÝBQ2-g®(#JºÙR_‚mÙ`çóì].HšÍÔÐ[®ÔÊ ÊÒkˆ� Ý7loÛÛü1ííj~î£Æ]ºË ÄÛ(ÞµR?8<POowu³O~Ý£Íáa{i|ïúÎ~gyc™²š�ÖwöÛK«[ÃÁÞÁò`7é¯ vöoñôæ %M·Â¸sÇ:ú¯´ïüoôï>w‚ˆLËjÒ±)ŸBR§:7¤J�uC®Ÿe§eY�{>%]RXðBÂïU(–Q"í‡7–œã³¡T”Êd„ñJøË¤Ðñ’3ü yKôO�¿ûÃÚ[«ÑZwØe=v›Y­nÚ~$}áãÇ‹¬©¨C¯»a~]”ÁÇw—,/âek.¡\†“m*òý¸#"6²cp¿Èéð£ö¦QGd5Sé±ÂH•VаÃQ—šáñ:^Lhvê¥ÂoB�� IDATNð¸ÞÐDµ¸\Áñ …3ö<ºå�À>]�H±Ê"^†‚ UK·‰kJ ãšÒª)-¤œTeµÖ Í8^ðÃYU3¶vY2CøxË5"êëœE­–U¹úhŒ³´ <½ð÷΂Þi>ó7‹«Ç“«>î÷…?€×ŸƒÞìÝç™Æ‹%³»±5<}øòÉr}Z¶ô¸$ûúQúLßùù›ÿfàYA/ú�xIº¼H¹ÍÌfPÞ2œÁë"Ú h ö&Ê%Us©"<½å2%»Ï ^p¿enÌË¢©(W”àé|/È@¼@°ùR¹SÅr $0Ь@¼"¹Jp¼¸…e¯ˆÔ›áxb…�éóâ.Ä‹êsŒSO/݉CA(œEÛ[š—ÀŽ1Æi"�3N.qƒÆƒcz`L+懈Ö"Š�[.W¨šSŽ—S¬šš…GB³/\7@Å"·§§©zÙpDÕ8^(™…ÂÑÐà{5þq¢»�΀¹öñxH‹š{ _?îÜz«uÅâî ýÑÿµûö»«o¿»:|Û‰’žÚÔñ9‚‡ ôoIªæódëõü8J(›ªZWx=Sð¸e{Ùm±ØRûAR“ÓïF»42†íù§þqDz=Y•¤ ñ™m‰²ÑqÃ��¹¸Úoû?ûK‡„Õ¦!<®âÔ Ä ¿®ðôv—7:KP8'ý5(œ×6÷ú]ÛÜ»¥§Wгç_H¯äå_"Ñc¶aÈÄ©nÄñ* ËLËeMi× t¥TtGFµy³%Í°Š¥T(ˆÄ&Ï‹æÏ[Ò HZÙDDj³e21„q7—/™–ëí×=ÆÔÿ}€·$»õÇÔôîîOöÏ÷Ï׶ǨN]¬lŽÇ»¶=†(eïðüðìÞÎøôöž^ÒÉÊ$úø¿ìãJ¶Þtã¤+7(Ø‚šÿˆæ"ò°Ù2Št£+1M—$ ’J5%-óEÉqƒhžEÐõ¢* •é»ü¨„Èb±8ãv�Ì„– ,]®Ô9Ú*Î2ö5¹á¸áþßtpµù½Nwƒ´è õúäW.<½ÔÍËïáÙ=¤XíŒOáã…í(jç‹û¯ÁÓ;>¹s‹¼¹X"®,Œ;ÿ¥öé/ï|9xçjß…9E¶˜+”Ë5Ç ‰ãåÐ×QB.Ê–n x 6õ¹‡€ÂQ\(”h!=aÉÅI×Û5ÆÒ¹|‘½‘ªjbÉå %b‡£ö­Ä—öZÜî!"K|H1è�œÞ�¢þèü>r›{GF¼;ãÓ�ñéä⚊�w …3ù¥Ožèéeê»é‡É•}ô¯üŸürðοñêÊ>Š“n­žÞ—ry:×s½¸¡j$Ç Üeø!-9Ï�E.zQª¸^Æsäô®Ç1Ó%W«S,_øÏBwtBþ”‰P©ÊHSÃy"fCn´\/üŒö&æíŸ›ß‡«4šâNˆw^{z»@¼ƒ½ð½ÛûÇë;ûÝÕÍåÁîöh²²¹×Y¬’ªùhi°Ûå(û­áÁ- ·D‡dø9ý{p%?ª}"JºŽLÙlºŸ{^d0›º°H.Û 0E$-žæêµZæ (èªé€•ž/s&™þAÂmJþGaž¢^Ï [l¼eåwíÂܸ·{¶ëg�c0u½Ý¥õ°½Ôî¯IÇvù‚ËMú+P8ÇÝ%tóýÄ O¯é†@¼"·YtózQð˜ôYqÉUÈã’®àu©âÈò,ªhâmÞÌ ^l$p,2ö:«™C@ÈcEiR8^p¹ðOýB/ d+zzº‰ÜfÓ Dkö?Ø5áG ½q¼ ß¿Ñ$¡œ°†ÕÐoMiQH ë¢kJ‹Þíp®a e2õôNÉ U3’Šmž@¹ÂÓ›Í|~—›cÓ(8^Ð*µF³*7fA¯àxEZ¼»BáüMï{ˆðø9èŇç+øßÅ¢bE�Ø3¸48Å·‹e=îv4ußóù—ü…ÍÀ³‚ÞÔÓ»XÌ"^Á÷f»yó)U53¯‹1TdxÖÇ U3^/Ë„I RšbÅc„9³NÊ ÄË5d5…Ьf¤UÍøxË5™Ë{Éô+’«núx‰!&A&n:�@C…¯ñâu‘D/ÆSoF£™�ªÇ $0øÞ¬ñ£Æ)V„lMœÒ�‘sÒ}&��lÁñ"o™¨ZŽ=„�W¤X‰äqÞÙd (P.êÔ–)M‘\%!À¨)ÇkºâÙ#úx�SaÒ ‘Îz‘b…4‹ë'"?áüˆŠþ€x½ˆŽ¢¯C GìS=½ÕšìI{µóæï¶±§~ÊeÖBÇî ZbÍ´‹R%W ø!àƒ° U-€ q)óQŽRêa!ÒÌöž´ŒÛ½(éFIÇqC‰™åJÍócÖp¦r˜JUvÜpó5ï­?]yûÝÕ�þA·?"�«ÚÔoÆ ô®lì¬vÉÓÛ[]ÙØAl)’KW»ÈjÞØa Žwe}»Ý¿ÍÓ;ˆv&ß—b¡W~9„ªû¼GŽãµº’cÁ¶íúwµ´,1ø°`v“çrb3ðLžàáÀ¹3Œ 1xK¥ÑBÛãÞˆ$‘¬SÍ勦íúaûÑ? ð‡&Š•Hò¢ÁìÍSÈ›¡^Ç»wx¾±{˜õñ‚×ÝÞ?YÛ9HÇ£cÊÚåÒÔ'1½0Ðö‡1ÎYÞú“åí“îQQÒÍ«Òh:^H‰Êõ®5[Do¹yA,®¶P”<þÐ2~£r…ï-þU0ê–ëSÿj¾T®Ð'B·¨ß�tû^´ûñôtãÍßm·W F62ïòæÉÅ ´«G‚§iU§w÷Ï�x÷�¯F“Ë‹û¯�ß{u4¹„øvЋ  }úŸÑþc€øCüL,sþ•jżÀ�!¦ï²Èc× EšW¾ ‘v#˜?Ä×úARç?½ŸÂÉc:yáöã|¡d9´æÙø.ø»µ7¦ 7UˆˆU'<½[ÃÉáÙ=LàöþÉäâ’«0Ÿ@¹P‰ï_m')ú}2Ó C„¶'îèsôËÁ;è~áÒ>Œ’nuª+æÌù°Ù2òJÇ¿8#^ºZ/â…A4lIªz>!añë‹�ªê"/�€ŸãGIgî;q—CÝq±D+¼R“ý�|ÑÅé’cÐ}JóöÏÌÏáMAï5',äÍ+Œl{å®m�Ä1WkÛ#@âîêæÚÖE¾O½t–÷ãÚ'q%ÿ…ö)ÎÕ zËÒãØ ` ¥j]qèP ýÅÕéÍga± öÜ#QÛñEäë;(•àIóF“@'_q½NqtòÈ-P8yAB„åøÝ`é7¦ç,oéXš¡‹%ÐÛ_t–6Âö|¹íþªw0Ž{Ë)âí-Ç\e^ˆ× ÍBi…÷CÕ,j�«�+dp ÈˆªfË‹ðãZ&•5qû‡L(ÌñòÎAøx]ŸÊ{�x1¦MËñâøoé!BÕ,<½¦ ‚ú5lQ²>^¤�àdhYm™Ù6š†¨uDä'~n½¡á=jˬ)- d´cÐX§žH¸ÕÐuT®ÉðôŠXlùðlùÄ›F|âr§ûCŒEí%}+¶Å¥ˆ— ap¿U¹QªÔgA¯P2C½ ¯ $ …󟃧w*Ÿ«ðùàù ü•˜�g½œb•#»PøàK9N$¾÷¦�§¿H±Ê¢_z�UÍ@¶¨Ž˜ñôñBíœË—€~¡p3(ÜR¥.zzñR;‘T•ÁýBÕ $Œn^øxâ…hY¨š³ž^Ú‰n^ø{0»îqÙq6}žînðñ2¯+în€ÇYÄ+Æðô"_Ü[³/5¶¬ê5%íæÅͤkŠx™ï…ªY _ácÁݾ\˜~¡üñ7Ñ/2$@ÏM±ÊÊ;^LO;¾×O,�b…ÓYÑ^ [=ñBÕ,/R¬�ÄkšX¾¥²ˆé#?n÷v¿Í}øóÁäû�¸Kœ!¸Ù’Tµ]Jî)Wj)áFBÜtÏG¢âi j._|R¾‹ÍåFªªËJ“ü}O�@‹í#p/£Ú+�&aÀ+±K0JºGŸsýB0ü$!· j×x4“ƒЛzz§¹Í¢�>^tób …óÊÆN»¿¾´¶u‹§Jã êôv“‹w¯Þq7úq†N>OþÛ†ªùaÂÑÁ©\�a ôS¹]³eÌ…²~Ø6L§Ù4•F“˜O/š»kó†Í4�YÍØÛÆ‘<�Dò%µ¿÷êí=½8øãξ·ûãÚÛŸo}û©3gˆ$3"'ƒDn�K™(kœ?¨Mƒ(ô‡Ö k.]É‘Tv³eÈ�f‹ä£ñÜ·ÝXr䆠ÖßJÝäf)P£©6L^1ÏFû›Ÿk}t9ZEdÑLÔ“ðôîîœÞ=¹zDz�Ñ1øÞ­áD¤Xa|t~5Zã‹£óû£ÉåÞ­ž^àq»÷Ú«?§ïwi¯�Ÿ_®Ô]/Ô),�’«ˆi$¨Ÿž]/ÕM%©J†Þy ×r¼–f5hÉ©t¼õîràÕKKY‚GT{·Ý`%ZýÁÖÇßѾóóœO7æ­ Ð;“bEªæ•Á ùx�Ö¶G�eR5o‰ï]ÞXÛm—Ö¶n÷ôŠåÆ�cwÿ'µOÿ§­�¸{¸lÚ�0=îù‡¥•«5Ùqƒ�ΧÒDC¥Œeìè s~lE˜¶Ú4”FA‰so†3KŽ¥´ä˜''ÔMý½œt¥6� lظó�ôïùlëÍvÒã…$—”Vmì„í%' Ûî¯ oÒ_A¬q¼Ý%'HˆËåÜfÛ�1ˆ7æÜfÓ �~ÑÍ ^—=½)Ç‹¦" \~LÓ붃ï bâx¯Ÿïn(_ÈmF¢Ähé†aŠx³>Þ¬²ì&â5lgè@¼yâESQÖÉ…ýr›±YÇ ^ñŸMÍ…Ž—ªŒÀëê6/öN�&yÓ„× |¯H±>^ a _ý‚ÕÀþ¬†£›·Æ*¿rMB}T\•Øß΂ޛ¼nÖÇ+8^ð½ÏÚÓ;�•Fó¯¤y~‘Ïgà–PÍáhüL2‡—^ÊñF­HMElÓ…Â=CYô+<½@ÈP8ñâÍyVE’Ñ—¹\}E7o±TIy].ì•8Ï™ùÞzQªŠnÞ¢T]Èáé-ðëè*>Þ\QÇ›—*YU3|¼P;ÜJÕÔÇ‹ù,ß‹#7X,²‚“”ãUTÐ˸£Aá 4+ŠÚ²fdDã  ŒH~V5jg8F0÷ÙJ­AެêiS÷Î /�0T=€ÇÂÓŽW$Wá¹"«ºh*ÊFÿ“Ì�tÛ÷‹'NLáÝU[$t…ÂùÚÓ›µèðÃŒ|¼~ÒÒmÝ"¬˜å{�¨Q*(Jÿ‚¤+/ƦÞ^YÄѵ*䵌6Ií‰Ð©\¾È¾©¨®¨9œâ?[JòfîÒ¶&—/’’qÊô†q‡j`O·œ–n55³Å%~¼�îˆ ev+33æ�ŠIl|®#aÑP>9 »|Ád|mif¹œRÁÙO.@/<½+;ðñ&ý54ŽUtxll�„éwu°÷V—Ö¶6¶Gøò¹éÍ_LåÊ´?Ž’yw9þ·ZS70L§(‘ _3ìì^�÷ýŽþ5Th”#çK¦åj†ÕlÍ–©ÖÀ<‘;³G»yâ¦È”X®ÔSÏ*' å™�ÈSg»AM¾ö ‹©K=½ÃCä6�Oî¬l޶GÇ 'W·ö�r÷ÏW6GBÕ¼<RÓìéݽýÛ<½ù|IVš ½±?¢6uYq(=«êõF>_¬Ë�mmjkd÷c¡(¹åmµ]?²Ï0�––.9NQŠõ$fiî Œ;¬(‘rÒ°=/bõ>eÆÖÕ¨Só† ¾) ž^d5_>Üâ.Ù«‡o xIð½»g@¼H±:¿÷êÙÝW(òêOo]Kg+ø…q‡²Ó8PŠ­¼õ‹¥2ûÞ cø·{šn‰%×l™3KÎvÃr5�–\‹Òkl 7ü¾s§K¼%]Û Š%*Á"åËAMZ”(1KèZ© ‰{€KLïáñ%Ž 6Ù �z§íÑ1|¼»‡P‰£ zxt1¹x0:¾ZÛ��În ²Ê¤†ªQ'&! ý‡.«B©\,IˆÓ«Ö©pXF4Ú¶ÅíÉ›I¦·"”·ø&ÔldÓ’kj&îr¼äþÍ!„ŤaDm–fÐ’3m×a›4wµé‡×KΩ|k&A*ëéÝvW7—6v¶G“�ÝqÒ_‡’ym{Ô^"”»5<â]ßÙß.óÑÞæÞmòfîÝ­B®Œy ãrÎsXy¡ (IUÓrg~ëfÓyšaáé%ôˆñ)š˜b´ù.g¶4K7l!LȮۙÃ?±òÑ»V#‡N‚ª6Ä\ÑO­ûÌf»”w�±LcÕ O¯åŬp¦Üf¡j�»KIÅ :>ï%Us†ãâE;QÜ[Fn3¼»œÛœõôAÒå�g<ðu;QÜÁÞÀâm$WátÉU7Ã>D¾Wðº±P8Ä墛W ^¡pFá¢é"Å [ øxÅ^H ß,ß[•›tLoºõ†ïnK·…ª™øÞF‹vbºÝhU™ú#E7/ièt«®¶²±,YÃƲª Ö\¼, �xEpL]m /¸_ Þ9•E‚ËE;ÑMŽ7m-úŠ<½+«ƒµõ­ç¸WÜåŸþ*΀Òh®­o­¬ž ô"|õñ2ß U³@¿‚×ÍÈSÄœec Ä[�*¹¢ôAʧ(æ¹e(æJ Þ´©ˆºà ­å"¹ŠUÍTÎY®ÈPñ¡Ö=æ ´&⎣Ø£©¨½´Á�ÏT©}Kz3ââ!\÷jr¢Ž´Yjéb{|ïåH¹f:õ›féÁ¤À‘{¡ªê¼©ŠÔ1ÁËF*±<¡¡jŽKé9óF‹™%Ç9dør®j#¯Mz—“ªü‰]�.˜^ŸW ÐÛî¯E�åÎÒ<½qo¹³´†¬æ¸· Ä ”+ÎIÖ\øuáãÅØ Ó ¡p¶ý�`áã ’nØî鶇÷ ›7«pv8DÚtÖéàY�0DZ‚ãu}*tÐ Ö'$WalºÎÖE^&Ôdšáàœ>^ wCQ²¤jÛðñ"¹ 0ôP` , ¿.*Añâ=ÌñÊÕ-šdâtRÛUå&š�€x-R>£ÝC�Ðú)Mœ­ÒÔbÁgpi&«šSô;�GM+0§´ gæ0½/¼ø�÷¿ð"L¼/¾øÍ3ÉUxoø¦÷½ðLû~EÕVVÃÑøà�Ž�Ÿÿ÷|þ*ÎÀp4^Y(¬bzïëa1åxéy6U8§(w¡)2Pî“<½ò\�^Ê¡I^,”ÈÓríã-–*ˆ½…ª™º: %(™óR…|¼´u®C]’ªåŠ\乓õñ�.Îï½zzçeøx/¼ðrøðÉLofÉaå§—"Ú#øª½_&+ïÍ%‡Œ\t¶˜¶[—’T-ð~üFÙ%Gµx5Ygmêôh ë¸¡¦“”Wn4•F‹5½�B1mÕ’$‚ŽºA€ß ÏEš7:�¸‰x褪f¡wÎ�\µ=:Æ|�.6‡“Ñäòøòáðèb°w”*œ90üI•E™•/áŽ�VábI2m�]»•|AjjD€ÏL+_Ì3o°þÂ".7ZŽê¦S«7P? Ïcw9~^àŒ¯ZW ‡Æ÷TÖ ‹<2Ó§? hÉ1,¯£ZAô™»ÜmK wieÐî¯ûqÝ›ÉUx gŒ!�Ê…·¼.”ÌAÒE•‘Iq�=áã ’.Í–yQž^ø{� Ñ,¯C·å‰7m*µ…Y»P.lº†íÃô+zÁЊ]ÔËØ]à=�ªµt›¢¡M—p“‰Ü©–nC/ ï.¢­„�1Ÿ"«¯C�1$Ð�–Ñ2,Rí5š@¶õ†v�xiܪf�r�~•¦ž&Wñ×"ÿ¼.tèß‹T¨šiÌ>^èkŠ Ý"ïO//øÞ¬¿èw&ÅêY=½ï!<çóø:›âxÜ ô›E¼)¯»PHïBªf¼G¤X½”áx�~…¿èWøxSô[(˵b¹FJfŽbæÄˆR±DzÄ÷2c\ªÔI½\*ÿÖíÍ ¸çÿ|ÖøíDˆWp¼xZ •Q·<œÂâ1 4ÐoS³²žÞi+½ƒN?Ë#ôKOGF¼ ‡ÉðéšåâlcT N€fÅÓ+’«Ê}ÿ /¾øâ7‹ä*4�ï}z¿Î€Ùó_ç«7©�—9^¸p©ƒ—ƒ©fÐ/j�@¸ñ£â=`nsEâ{‘ºŒ×áãÍ1B(IUÁ÷%ªˆ—Ñùñâ{%J®Ê³jºT©ÿß¿Þ~VŒ÷üý33ð'¿Þ†�h–R¬8Y‡©¦@½,<½8.M“«Ø#ÆðüØ~Ü4lÃ!/ÐŒÏOG(™uÛ›¦X‘ª‡Ê€Ê·WÍÝÀF ÿ$èÙKpÅZ °#Ô »ZW$&ßÈ„w¢˜ �Ìiùu9RïKópw¦¬•&Õ§úÐߊÍßÍ«âÖ&GÅRnçÍ7Ì} W$WAÉ ¾w}k˜ô׺ËÛ£•��¤¿FïTá¼:Ø쎟ÊôÎüP²pÔ ŸpWµ »�˜.1€!�•½Dõ€ï……�'‡ªS¦6ªnÚ~@ÆTòÂ…mͤ*ct¢è†=SÆ;sIˆœ%fÏrŸD²Ýü’ÔÓ;:Ê"^„ AÕ,ïò`Ä»=:^Ûï_=ÕÓ{óÇ�æâ]ªNQ£6S«³˜4 ¢„u[ºUe´ò� Þ<9 ©+’Õ(Ç cêY©QkUÓÉ#�⓹ƒ‘håd\�KNxz'(•jÚÇ{õ𠨚Ïî¾Uóhryùàõ³»¯€-¿zô¡Ó;/Ó ?�é�¹`ª)ªÈ~Ø–MæZ©Bf.èE¯íúJƒÚ¶e™ò–R×(e%-ò•Ê5jÑf/9ÒQK•:} Ù†ù”vÎI™¸6€7ͰæòáâmÙAÖÓ‹v" \$W¡�ó“«Gã“;Xl@¼»‡~ Ó›ýY“�Ör)=˜-»”¦™7A/„ÜžGÚ :`*ÓçqšMÐõú<²Þž8^…Õ¹�އq‡`]ݰ-‡z¤n_HÈ*ó ¼ý�â×è=8<ìŽÑH´ÍªæöÒÆúÎ~ÚT´Lc¨š{+ƒÍ½ƒÍ½ƒþÚVge°5|мYü ì ZS‚FÒÝPút@ú3ÿaÉY.¹]JR|/É7øVæzÒa`áB5Êm†ã—Î[‹eþ’ Ù2YàóÄ%—–u±ÔH°ÇÙ ž;èí/l?‰»+Èmv‚$é¯ ÅÊöcøx-îãâ›ôWÐèÇ�i;ywãÞ²åE�\!ä\.Š|-/ ÛD)£Èð/°4Æ0ýµQùÌ®ŸÐÍ?£j†% íDàfÁ÷‚×E t£i -®aûÐKCq†Cy|-L¿ÈmÖ ]» „…’΢ð‚�­é^#^Ó)Všá(*µi4Z†fÚF¥�ªo®ÊMä9S¾é´z¯@¼à~…§øY¨�…§W Ü«šK•ºT•Áý", :+ꬼY$T O/¢­nr¼(òýê�„çßùù |=ÍÀMUs¶›$0!XF‚ï/œáãýàb!_*©â ‚ïåSdB¶¹ûKÆòÈ:‹’žåø%©’Ï Ó±œ´�üIó¶°HfrdV‰Rå›Wž} w|p¼´¾½º5ÜŸ ©hcw¼3>ASÑÆî˜’«Ö·;K›{ƒÝñÒÚõôîŽo²Êþ 1æ‚\Û.,RR|yî9 7¢µë ­qü÷÷Zßú¿»_ø|ëÛWÂ5VÄÐçÑ0íeoåGZŸøC÷ Ÿk}g‚•š\(HµºâùÑTÌŒ�êœOëb®H)i†ßœÇ‡¸~1èíô× ÷ñã.zwâ�{ËqoÙ 7l·ûiÌ•¶“þ Ò4¼¨-8^ _øx¡v¶¼Ð8˜—K}¼üh’.R¬ Õ²ý˜|¼ÌñŽOc?ö‚)V©�×t…ª¬ëß ¤ê œ·–ŠÖ"Œ5Ã�² ä°Ú2m7BÔЯfº¨™ ƒunÖ…Ú¹©C‹O4�g›ŠDÝ£P8㈿¦Pë$/”É€ÄP8óX­5š¨Þ@ZÆ"”€¶®¶D²©¬j¢Éý”ÂÇ+*0¡p†ª¶a ^0Ƴ ùÌñ¾ð‹‚ã…�÷}ïáý/¼(Bž¿ž`Éóßåù |õf`a!÷7Ù¾´�OÏ#å^{zȃ—Ë—ð† ßK‰V‹Ìåæ(·™üº´¿‘*E©F¯çiŒ„ªŒ§—ºyýVr䨬H•:Ò°JåZ¹*go^ª|eïùWÍÌH;Ä3(pÑÀŠcëâ=°èÐëìé…nŠÚ‰¼ØcU3=ùøIl8éEmxzq¨Œ±íÇ8TŽ»KÏ z¹u#¨+ ��`ÞlwÖ›ÊùIµNñ¿„¬t‹Ê0ÿ^Ú[û‘ßëÄ]Ò?“�Riaûê§Ò¦Ó×�¬•AÔ–­Eʤ-ùÆÍFša‘r•‚‹MØ\¡m�é˜6“'žú‹=ÍÂb ž^‘\^ˆwim íDÛ#ŒÁ÷öW7»ËO÷ôfsªË¥(W!ˆEQ�µ8$Jº×rrà­âzq{¹ó±?î¡A÷ð3ÞÔ¦¾°X°Ý`y|âÿ¡Râ·ß]Ý}‹úr Ë¥›@¾X¯+–ãi¦MáØ¦­6zS VS‡X&Em™ž¹ì›ÿè=œœ‹F¢ñÉ�íÑñ:÷ñŠ1Ðïöèx‹m–èMÝ?ÕÓ;ós…]5¹Ã'»‘ gÆÔÑ’ ’J�¬Ý¼ùv‚¨}þ…t]}è·¨NÆâR©¢ªd ¾ÿs>æíÑ/ßîmh JRÕ0mËõhÞxÉ!+»NTðµ@:—/ZŽo˜ÎÜlð™ßiI‡'‡G§‡g÷�Ï ”;š\ Ž}¼Ç—ÁŠ#òjxtð³2½Œ%|ZKÓÄ Å\±Ù2n*ÃÑ4S¤oŽÅöã¥Qüíÿ׿gø4“ŠJøÄqÃõG^ûÝÕÍW©÷L7l—(yÛv|ݰ²KNaÍs6“¹Vo�¨ž�ts¢n¾Ð;<8åÞÝHDƒ�w4¹Ä¯+ÆTk´²|ut~ø4OïÌO\Ì!û¯ÖSAìb®P’(œy¦‘ˆÅ,åo‘9¼lÚ^u~Jû4zk^ÿ;P»Šå¦fQûôÏàÿzGûô qp�+Ê]ËÎ,9ÝR›FMV³i«»�¦[’T�¹æ¹ÿòæ æu×·†ýµ­õíÑÎþñÊÆÎÒúöq¼GKk[Kk[ƒÝñ`wÜ[¬lì�§wg¿ÿìòær¹n»AS»NfÆÍÿænb¶v+�¦ÄgΓóåà�7Ì ¦KÏ‹ÞÔ¯ðýÿ§&îhzzEK®¡¶œÇžvS3•F‹Òi%ÒÂbAV('{î\ͼл¼ºÙYZwöu’þjÜ[uÇ=Êj&omDªæ !H .ÁÎ@¶nØFÕÔÇ¢©ÈtC�r '°9uRp¼~Ü�ªˆ×ò"è¶Ä³ž’üD·<(™qDnØ~ªj6]l@ÛBA†˜+‚€Œ5�@øxE7/v i­Ñã>^tUÀœH $ BcÍpdUãzCÃû�x!sC•Q£eBÕ\kPOdS#¡2ù$8缦P¡®P5§íDüzªjžzz�„�xÓ„ªF šÂÓ+’«J•z¥®Ô =7Ñ�9ôåf‘í\$ …óW$<ÿÎÏgàëi^zi‘s)(Å €ÈöšãåÎ^ÁñB ~t.S48D UŒ~ÉÙÂmC0C½ Ä …3‚�ñ@åhÊ:Þ_�ªðñ.²éWxzgÀÛó~e3€CS´íÁÇ›æIðikš¦ÈB N«¢‰,ú¥dVØuLJ±ÂS�R¬8ýÉUxq¼Óq94+£p¼0µû+Ï zMÛµŠå¨‰úr¹BCÀ¶¸�–‰¸6è¶÷Þr�Ð^ýgÔèDmIª*j+Œ»‡Ÿ±±“~ð߯�†ªáôG*×=?òÃ$ÛADÿùaÛó#Û Ô¦^,•¡“älÏ@i4Å…Íìcfþ)@oÂÇùà{ÛýõîòÆúÖpy};é¯!ßeim g�~W»Ïêé­ÖžOÊdÑÁ $Ì Æ�1oD�We\m½ÞðªÌ}õW¢·ß]}ëO–GŸr£¤ÛÔÌ…Å‚ã…Ý­ä[~;yûÝÕ�ýqD¸éry>kHù†y ¶$”$d9´)ä ãb©BD“KDÓÌÍý'@ïþe2o '„r÷OV6GÈmÞNV·ö÷ÏÇ'w¶†H Ç'w{$‡>8½;f­é3yzMÇ7¨1øzÉq”×™%ÇÓKÈ-Ÿ/„@ÚãïIÏYþ<8Q›ƒ�0îœügéÿu÷z×ç,¿©L—¯·�—œëÅ$&"=]rlû jSh4wºÄ‹©¼ùèd{ÿäôÎËç÷^…�ME£ÉåþñÕÅý×N,¬fd8ïœ!Åêäêѳzze¥éù±Ü °*.QRÙyKS…ØgNð ¡úaÒYï|è_Äo¿»úñÙßþ°%bœÏ—<Òk„ù½ÎÛï®~ä÷;«çaœt¹‹r­óù’n9>-¹D|Tý ¡t+ªº¥$°Åc<Ë5mO qqysôÂÇ»5œ0ú}H>^N«š\<Ø?¾ÚØ=Ü?¾)Vã“;“óû»g»·öôÞü‰\±æsøõ'%½Ôl”áÉélNQaZ.°—5Œ;Ÿm½ „öÓÚwbÉKen?îü¨ö ü_Ÿo½ÅTgR—ÉÛ,dÀ×Õë%È ÒnÐÍ0_äPÀ RIï7/>ûÊ”é�l �;ûÈäÛMÖ6÷Äxu°‹äªlŠyzWËO ²Êþ,ŒUU'e²Lñ×âÿ•Ê5/“‡ ´Ÿt@‰$Â=û_XÿàËÁ;ÿ³óùKû(Œ;8ÙôƒäÒ>ü}燿¼óEëwü->gIß EÉt|^rÙ§Câx¡fXP°I¦Æ2ëº N\ÞÜAêéÝØ �{+IÍ‹ºäïíýÇ›ôW¢NÏ_ _Ó �„‘ÛŒä*‘b¶{P8‡íÞùÇx4ßôñfÛñL×m~]/ ô‹1Ð/* q¤ŽãràU ^øx³» _êBá tj:�P8à ^Iœý6š”Ì�@Óë¼i|/(\ aj*RåN›Šš*û‡Ñ¬«j&ºy¡j…Kã–!úx-cÆÇ+TÍ5E>Þ› ç[R¬Ê5|ï,èEVsÖNj֢oü¦÷ƒã}áÅ|Óû^@yïû_xñë –<ÿ]žÏÀWorô„˜"^Á÷¢µ1Wh*"Oï"Å2ã=× gn'â…Ú™¨n0‚¿w‘¹ßb©”›/H%©*/’«(ÃYªÊ-•�xEk‘T•¿2Œ÷ü«ffAˆx8A¨ .÷:·yŠ~/F ĵ�Wå”b…Sä–é€ÂEZÎŒ�~§>Þ&¢ éfë`zVOïb®Ï$ø[lxJ†ùXЋ‡Ò.n!æ¤eø!A”ÃÏ8ç_p73l»AIªVkTEÓ^îL¾Ï9þAgõ”i·°]¯§dr®@Õ>3‡Ýtdñ2m�¨%©ê¸dñºÙ3w[Ð Ž—»y©�¹ÍÙ¦¢åõí¸·JìÇÎþÒÚäЃ�ýý1¥ãÌíé�ûã•êg©75Sf“Ë—ªuÎR죤+7h�oÂûE ²¼ì]ü„»ÿ]$‡ãŽÒh-,xÎ;;ßê^þ„;ü$ѼQÒmµÌל°²îz×9Øb¿žð4Zèï¡T˜0‘¦°gîõ‹z·‡‡´h$BÞÒÖp²¶=f>Þó{ƒ½#ªKåÖ¢g•7çòEÏ�Õ¦1à Bø�eÞl7�˜â† ¸¥S�u»×;úœsúCÎÚ%­+ËñŠTÂÕÂvw39þûÎÑßu–Æä9ôüDXyÙ?™ÖÕŠIKN7múHå*Ç€Ñ錘Ÿ' „§(Wøx/¼>š\îŒOÏï½z~ïU¸ ¯¸©(õô>|ãäê�ŸÅÓËt%}è` W•/”ꊚ "Ž2UOÈWCòÐÖ›´®FŸ¦%„mjäfr;Œ;»oÑÿeSvÔ#%ÀÛÜà",9Ôzç‹R‹öæ¤pvË@È›�/n�ŽEn3²šE;ÑhryrõhxtA>ÞӻǗ÷Ï7v�)0ü½{zóɹ#7ƒÜDË«XÔòj¹%æ*iÉ‘× ¢Îj´öÙÖ›ŸÕ><öö¸ Ö+ˤg‰:»þÖ÷kûníõA8ˆÛä?Ç[˜“›Œ(Œ¬šn¥ m|X'ÕÃÓ—@ïÁá ѶܻÄÛYÚ쎷GG@¼›{[¬pî­ ¶GGƒÝqu³¿º¹ýŒžÞÅ\A3,¨ˆ³w¹|žøØì’ ãUOù„ï÷ÃÆ�ÑÞú6ý>ÓàIµ®ŠjŠ>¡?úí­7�+q$Š›äb®X­+Þ<Û0' „µ:¹î©qÀt\?B5×-‹ ÿ×ÔÓ»aûq»¿*oÒ_‹{«.W¶û«qwÉò"¡j†Û}¼@ª¨5²Å› ‡r›£NŸ“«hŒÃkË‹¢Nß Ýö Ųýc€1†vZ·\ÑT¾× ¨©|/6@¹HZ†*«p†PY ^¤X UsñbŒìe°Ç@¹øÎ˪JYQS$|íãåèšÒ"ôkº²ª ô˹ÍÄñ¶ ŹÄ÷ê×cP¸P;§¹ÍŠŠäg(Ÿ-£RWú­Ê ær›ÂÓ+ºyEŠ•P5WåFAªVêJUnÌ‚^áéßûâ‹ßü‹øÆoz?^‡�ˆ—^ÆÊ¢¯¢xþ�ŸÏÀ×ø äòž´øÁ—rP2¿´�‡§Wð½‚ã…) ¯àu_ZÈÄ sãH…9ùb±\C#Q®P(7_¸îã-Ëðñ.æ ñRrûxáøGn³T•ŸƒÞìúÿS3] \d5#¹J¨š‰Á÷¶tÇ‹�‘ÛŒ7ûìãm™ž²@¼¬Â"¿.TÍ0‹1ÌBˆ¶Š:ýgõôRe«*ikgþãb̰)iiÔä��2œf’ŠYÀLè._”4ÝÊîö€Ü„®�µ…e×»®÷Èî;øcÙ:�LÛ3mÅE3—w󟽢�(7î­.­n‚×�{«H®÷»¾5ÜØõVûûÏzÓô¯°-º[p="– �%CÚÅÄ~QüÊä!´àüZ]™ ‰=:øò\¾¨Ö\/"8¨*‰�Ku�µºò^2œzGã¨LW6G@¼Bá �å`ïèàô.ºR{GGç÷ÁÅííS%á{dzá÷ƒDVÔ›e6R¹j»©C5Œ»jÓàë'0@_X®Í˜ ¹ JAеNùÏ׬]”tÕ¦. a¿rÍž¸ä Ó¡sŸ|Ñ&…3Šf?3KNxzÁñîž#“yÿøj4¹¼óè[àÝÝ?¾ºûò›@¹Gç÷ï½òæäâAJl>‹§— ½ª$>†bÉŠR‹ xÆ÷pö$¦—¡šúL”fÎ_X,ÔJŒË®FÏ‹PÃ+–œnÚOZr~H�½¹BIQµ ¢öÔ÷²äRÐ{r…v¢³»¯@G€¶'(œ÷�¯÷µ5œ�ß?¹z´3>Åøèä꽃^Q5uÖbN¦Ê"¼øõ£©ELl¹\›A_l¿§^«b©lZ¤ÑS%݆ÚB�Ž8/}câmÓ£–®¦Ûyn>sܰ¥[,ézÊ’›2½Çýµ­ÁÎþÞødu°Û_ÝÜîŒ&ËëÛýÕÍͽƒíÑQusimkg4â]^ߦñÎþ3¥7Š%Óv9îá1@N~溣$ýÄM Ìéõ RK³²¿rÜîQë/—ß J´]b‰ÅÊ¡T|û±¹ß G-à{›|ðšÍ…žþYçL#@owi-éSŠ•´Ý°Óî¯ …sgi ¢e?î æ �ÚvŸ 1üºIÅöc ظ»d8©Ì ݼxò+'H`8Ò,× )äˆ× Û)ʵ=T¥Ï÷°M(wªdF7¯P8c“€ä*xz]–C‹�FK·…�·©YY¯f8¶A††1Š|5ÓÊEIªpV ;£©ˆ>^Âõ†” Ž_«¨FŠ~ §ÞÐRôkX5E­«­¦n©šY•7ZÆ �¡Rˆ>^p¼h*ú•U­®¶Ê5¹RW0†’>ÞR¥^•`�‹å¾g¹&Ï‚^ðºðôfUÍ¢ÊHôô¢Öèki<¿¼ç3ð52 ‹ù¾´À™¢)ß›E¿ØÁCö,¸\ªNe/’Ÿ1æ 4%ߤ g©Åò"ʇXHˆ·\/ð{ÐN„äªB©Byš\¾7_*Ë5Œ¿b˜÷çò…ÿö7;ôKÑýRôüJòîo÷þ\¾ç_Ê7�§ ŠÂß›uÔØn$ 0õz8dµÝˆB)ÜYŽðè"åcZH¤Àñâñ‰Ç°$†ããKù“Ýåyòf’Ê—¤ª$UóSÊìY]V©%‚$ĉHZEsùb¹R7¹ôÐ ˆ·ÈÐåJ½R“uÃq½Èõ#ËöäFS(“‹ÔåkØnàù±ãQ£/*ŽÊ•ø½\¾hXd,»™ìÀÛå21¨šAm(Ø*‰ MŽ�ÁR¹Zà_ñ:@/ùÜV7‘ÕœU5¯o {\Ò¸²±”Û]Þ ô»³ßYÚè­ æÊ›™ôN­òY*†¶ƒ–ëzA>_ÊJ•ªL”/s5t’U�¦¥�Ý–f™§%a¹V®ÔËêç°ßõ#Úïjê‘ ùB©VoÐwö#Ï‹ .ÿ ªžª\äý"ïàe?$�tvÆÄ¸ÑÔ ¥2ä$ RQ^‹a�•$êûË…Å@ïÁÑPîîÁüºh'‚’…1C Ä»=:~BeQ‘òl8^>+Œ$Ûs£åù1èIªR€Í48 3i:~w=?.Sª-Á]Îä«—+õZ]ÑMÇóBÏ‹LË­O•¨¼$(Üq׋7$ÿd½Á¼”�ƒ¹µè;_c1i ¡Ê¼íæ6Ÿïº×ý<2VÐs+–�½ûÇWH]BV3|¼@¼§w¯¾�îñåëGš\<M.'®}è`Ó‹ßW*S1•XÛ ‹bÂßr=¬Ì.¹¢„Òð´¨nF¤}T«r“òl|×£%×lR¹ÇIu IDAT*¦¥®ð’óbÒÉ›N]iVj´žqdW0dÙc¹ÑÊ¥šÜ XiÒÁ>fë%¯ÍT…$~�TÞ<>Ù;3¼»H®ÚƒãÝ=8Ãb!ŒÖè£óû{óä͘š7)ýÕðã¦%Ì1ç¤2͆¸ æ ¥jM±©ë˜BæÑ=F©ÂÕZ]n´äèóHUmñEg¹<…·£® :y•jZ”JE.—iɺ^ø¤%ç²vf1W4m�@ã”aÆeçéŽMK.{ä'<½ëÛ£ÝýãÕÁîòú6Pîòú6Æ[ÃÃþê&ƃÝqwycecgkx9ô\Ð Ò[*WÅÍ �s¹Ýrà`§uŠ['H¹˜/KR³eú‰�vy`Ç‚»\¥*·4Ênð<ò­4[F‰Uø3ÉJÓ²=Ïç%g8ÔiÇKNTï*�–>v#Ö[wj-­ U¾=NàKý.�ßåzWÖ6ñ&^Ô�ªšÛAÒOú«ñ"«9õôv—Pk.×á¼IŒ-/—‹n^(™Å ï.8^ŒâE 4žé „ÓœN±2ª< ctF¿¢©>^h’ÓŒLÓEúÔŒ² è×rCZ�x‘�‰(“¡‘ƹ</”ÌhaÄ{àé¥÷Ls›ñ~Ôa OoS³`ô­74BÝÜN.ãºÚBrЩ@¼)ÊeË®èãÈ>ÞÄ›íæ­Ê ©JHi©*#ZªÊó{zErÚ‰nESÑLyï×¢x~Ïgàk|â}i!ÿD¾—UÍ3/L¿ ƒï]X,¦h©BªfF¼ÂÓ‹ g@e©\/JÕÅ|©(UJeêãEV3øa‘Û ¾÷/"Šúß­~ã_û†ß÷|ãô í¯Ãù§¥wç¯$ô…¦ݼ8@ͺk,7Lëõ ž^(œÅà B&B˦k¹¤ªJûx}J±Òm�TOÜ\�+?îÀ,Ä›�Ç€Ëè&ÓËY�*:m2Ýéµtbã#%[¶HxŒ|)nŒ P±$UM›¬S”JZ(É�–n:¶ã[ާSe£Z“«5¥\® è‚ ‡«5™ºU›œÃ”äÆ#­&u�ÎßÖ°³ŽŒ‹jÓðükÞ‰7gÕfË4, GÕ-ºYE�’«À÷ ï€Õ€I�ò]xÜî¯CáÜ[t—7Ö6÷f@/­ªÌu,Û3-Wmꢡ´T*sÀQ‚uEµßvý,ÍEHæ¾ê„+•kü' Ý­a»ÔÖ[•«U¹R•y/x MqYß9ØÞ?9<»U3šŠ6‡“Û,Ñ•ºÉ¦ßÑärc÷p žÞ£ó¦Ž;M·hÞlO3,:ÂàTÅ8^X©Ê…bI3l‡�Ü8×K—7?iœ¥”#!%ý ¦KÎæ%§Tk´ÿ^r” X®Ð¼Uk„ñ€%°äû×ÔÌ'�· j×eú4ÉgO·þõ–fâa˜veºÉž^ Þ‹û¯ÁÇ{~ïU´�Oî\>xýôÎËY/¤¼—^§øëC"É…ô�<´¬üO–å"¬A¤X1%XTMË¡UÁ"‚œKeµIŸ)Šþâ¸oü ,—V¯¢6iÉÕdîÝ}ìÔÇø Ë ª¨Å7çÂUú–©Q–ÔÙ•†1‰84RêÒ9 ¥‹ÓÉ×tÉÑÑ�nÚtçá*o@ñ…Å@ïþáÚ‰ «GÜΠñ؎ÎïïŒO{G‡g÷(%{t¼·<Ãôâ0ˆº‚hɹ¸ÉL/#]får­Xªè–ã¸�2- ƒŒ™çéø ‡\?îЯ^jëå©ã%wýQʼnX¹R§©«+-� Ìiê\¯©™¥Å2i¦ý¤%Gò{VêâS ¨N.¦ª·4jœæ °Ë Ö‚Rýàðd|pLME›{=V8SSÑÆN�9ÞÍááó½Îj†�wsïÇ|+;7Aož�K ‹b· ËU¦Žq²%Wd‘PøœªaB„ŸîÆ¥J³eÒaAEÎ(î[3,“Ÿ¦åÈ ‚²´äªÔ"‘=hË.9¥Ñ¤ŸÎ_e˜€s|Œ8£$k�ZFQ*WktüÇ7ØtÉŠ’ªêé2°ø†ÉÞé…ÅÂônù1)ǽՄøÞ‰VQgI$W¡AW¤XáQw—à?‚§×öc�x-/²ýX;‹PIÃñ�„¹¼7M·b0Y™€x©‹cÛÇfݼÄñ†m è× \ÎjMEi/w"ŽfS¬€xUöÙšN`Ø>,¶ðîâÀœíuŠçE«-¯‹«Ç8^Ã>^l~�ÏÜÒm(œES‘ÈjF½PS·ROo£É‘WË€Ä@­ „1m[®ÉJSWšz¹&§JæFSª¦cN®"Ä‹¦"ð½ „Á÷Î2½ñRO/{wÁ÷ÂÇ‹1ü½�#�ç—÷|¾Ff`a1ŸË�xEg¯H±Êúxgr›…Â9õñ¢³—Cž‹ÜÁûe8WÑÇ‹¦"<� År©<íé…�—²àu Ôœ‡žÞ|©ü—.oþýïV‹þ_ÿ£/uÿìwúðýZá}ÿáOü¢Hüÿýf÷Ë¿Ùðƒw£ó§¿EoNÿûRïß~©÷g_êýé;ÿï_*QŒCP¤&Bw$Ñ ºy!X‚ÂHâ%ßZn(Ú‰/â®h/¢ÅQ¸<½ „ÑÍ+êÄ¡rec†é-–*¦í ¶�{‰ôÀn�ùXBkù¢äù1ºÕ¦.˜�…Å‚fÚôJAª+M*æ�î}I‡ìxà4°¿¼ù¿‹¹B¥"»^ . JºŽ–¤ZMn¸>;ßü/¢4c›ºU8L•È.©Âå(Tðˆ¯¢._Y Ó÷V¡jF#Qoe°±="ow)V½•AÒ_CSQoexL=½�Ë›a<ÎnX©­D3ñ³¨ç‰Ðéo[Zªå¶Oð½ ‹…j�‚šq,e˜ьˎ’^wäéeßœ4¼R`•8Ë#iŠ`l¨ZIªhº%„…3³G™dåZ©Tv¼�@ï4ËJn´¬L"7ì‹EþSOïÞÁîÁ™H±Êzz‘Û<Ø;Zß9ŸÜÉò½£Éåö�dáYy³$Umç:ý;Œ»Ì¡Õ@·j†ÅU+IÖwý0žSaXŽBU´eE%ZXü¹£¤c˜ÎSû`«5Ùõ¢ì’ƒâ—°?§b4n÷¨ÝP[¹<¹Í/©`’TÕMJr×àùqµFáé=»û |¼P8ýŽ&—ç÷^EŠÕÑù}ð½»g'W�®¾PwxôXeQ®P"ê,lƒÆ‡^]mêXrå åè*ª¶˜/êä·§åd°oàH[*×%†°\ƒøvzÙ”øˆ%&ùæ X*묿˜.Tú*YQ¥r�Ýæs>ª1û`™Ò¯¸^¨4ZÂcÉAtáôȸ®™v¡D<0@ïäôNXÀëŽOîå_>Ä© šŠvÎ6v�ÎïO.lïŸl'G�{zQ_Ìrém!Œ;޲i¶�/J†å˜œF½_œDàù Âä1 ‹9 î®Ë�bIj<~ÆÔÄ–ö/Üð€Lç0�ÈÎ.9VüR]퓎öˆW(¥�[ÜBh[€l R;´ÅÔ «°ðô®o�:ÜB´½¼²¹×YÞØQnóÆNwussxHݼìã…ªèwgDÕýñdzÙ49HäšþÅ{0?óï[¨VeÇ dÖ±ä‡2„ßDQ[˜•+uË¡èoÜ‘ð(yjqIª˜t†—ê/ðUÿ?{o-KUß ¿µ¾ï}ïåe½—/ϨÄ�sNÏÝÕUÕ5ÏU=žyžçùŽp/P@PpDD£ÆY†D@4Á £ ‰pŽQ”(yõ�qÄ)å‹ßúï_õ>uûœ{�Ÿ7æºÎrÕmútWï³»jÿöo¢]T&2길µ_¹©S{y!_ <-�± ô‚Ò·Ý㦫4£ý€Þfï°í×j­!49A�«šq 2Έ¼ò«�¨Ù·£jfÇ@³Q£×pà ¢F/ïæm£_�ûx·�|,.Ë‚±Öe©„šé"Ÿ™ûx¿ŠZ#„} mò gY¡¿à±¢Y–Âô U3z¡væˆ gp¹X~à8éãEȳ(ëÈ‘†�)VÐHsoý ’ ŽWѬb¹R’HÕLžÞv7/yzŸµH¬h Ä+år…38a$W¡Áˆó½eY…ª™‚²¤ W2—D™1“/�ïÝôr”ÛÑÍÛÁñ"òêA§Oãôœâ#@ˆ÷œnøx»{ýÄ£  /P.-YºÒ©4)™ñ|±q´i&ö]ÔTTLå ]ÌßKíDìùÄoä…T–x`ž\µÃëž’žÞ$èýŧjÏü½WÜf<ú·�W =ýiOù/g?ù¿ÈCO»ï‹µGïm}ç&3Hý�³Îú�§?õ¿Êƒgüý—üh~xÿ9›â<é÷ÿŸËnªì€aŽŠÿO [.ì¶Ê,½>^@b›BbCnúÅ=ɰ}TíÁ–“ìè£Vz¦nòŠ5†÷/L¿¨@à‘�N¹!‡ê­�Ћn¡¡Cîö»è§w> B]Z}QQ Ó!¾(�Éy>­¶i©Ô4�üWXÖ˜6%Üf²yÓ¡øÜ…רGîæ_I1WÄ�IÇ{òå(ŠÓt¼ 6tÐÛz§»ïÝnßb„5U7‹%¢ö\Ö p…i&eÛ!Ð £ Êž5&µ�CöÇŽÑËv|(Ùz[£CcS@¹H4¥´ªFßÐøðøLk`´Ö™õÄ;46Í*‹Žóôæ ‚ã†a­¾r-}ÞéR¬VŸÌ“\´¿L0‰ª•°Ô£¥¶ã äV%ò­\–=¿šÎä)ô˯íw·nu¶ßëö/SÒ5ÖÄÕü§P–(³ªÞXy ;�Ó»€#•+V¼çÐÙN�/éLQØ‚Ûk3/¢—Z¹ÖYÔ¶P–S©,@ïìÍÀ˜r’¬z~µw!Øx›sðCÛà9Ïdó¨,‚ªyvykóàù^š[ÙÞ:|Ž×ì;—|¼¨äÙ>|áÂÚ~Ôuôô²Ó‹zƒþ7©—~H{å³õ}Q�íÂBy�fK<âè"ˆê–ã %#5—$÷ì{íùÕ‘#ξÛÜ­?sZ3QTkh¦�mŽä4K‹rÅuƒú`}õj<ž¼ŒêŽ-‡²…w[4ùô³Xlo&›g` Þ‚.6Mß—¨GþZõ+Õ Ûžsú.ô.,oBɼ¶ï¼™¥Mp¼ Æ!"XÝ>w|velziamÿÒÆÁ±é¥±é¥åÍC ·'•V¿Hßú€v͵Êe}Á€Ö°qF— Ë�V¥P(cï)¬Ö©“Y1@³÷¤2t�)�¨Ûv‚FØ÷õÒkt‰¾“³P:™W9›£òm?¬_¨o¾_{ùuêåá OÛ(ë:Þ{Ÿª`Ô)YÛg¡(lÂÀ^P]±foT¯x·úÒU{ŽÂ�MòœŠe VR/O/ŒÏ.÷O4ÇÆ¦Çg–ZCã8�^h ŽõOLÌ,ᢇãÝL¯P–\¯:â�^«\v»vÍc›’�1Ke|»{h|¢jƒ¶Þši»<"®¢è¦åB(äµcúÆû´«oPž7 ‘ @3±Í‘œfÉc¹¢¹^4Ä'pÔØ @D›öa5Ýâs,y@}È–›%ëD�Z‹Ê2ü#9|DõW¨üµþê—hGØß޲{RÙ¶§w¸Þ;ÌR¬ê~µQmÅME~µQïÊ ë­ZkÀ k@­>^ðºA­ O/8^tórO/züjƒoFC�ÌæÐ-/¾¿ë6ò™b:AöÁ"-AËTòG6(l‘å‚ã列+™¡:†éž[ \ð½P8Ã�e:x] \©¢ãqä6ãXÑ,Q¦Çy´ ¥ ùx¡š.‰ |¼ˆ¹$5N®bžÞŽ>^„TÙ‚Î+ç{“¼nYVsU,KbEd…{wK¢œ-ð #«ˆME8Îwyz‘\Åy]ÞÇ ÄËœy‘ï)Ž4NŸÞé8EF€ï9ÝìqÄ d ¡rŒ„»É«…3œ9ú… æ. [rÂä ©\᜞L¬pf`ÖND>I$Weò¥žL®‡õuúxs…T6Ÿ-§‚§ ÷›_nüó—ŸyAùœô¿ë³Ñ]Š�§<ð¥ú£_l<ß3¹šÁ1-D˜«íð�í¸a=2U°o°‰YP,nÂj]Õèe±ê*�v.KùL0¼rmÜLsÞ]„™)B™}€^øx£æo³$jô �Ãë UóðøL½w„ððøL£�Ž;äÍ%A¤TÛËã÷ºøþFcŒº‚$Yíê&;Ÿe{¬i6c˜1è%Â0ª»^¤¨F¾ Àc™JÓš;ˆê‡>�Àú[)>×q£# wÁ¯O^×Ò^ü@£9A|c±$‚C³7‰Ô–fMÛ“+Š€—ZSÑÅ40 ÆŸCerEÍdó±§wi}”e5ñO. 0Þ]Pp;>^†~‡'ÆgW�*ÄAowOr€ó?K�LW>2°øjÓö �§ff¦–ÏåŠ ºƒ"4k9^Y¬dsEÇ ‹‚”Ï ~X›¸Ä¹ògT\|É7š­é"\Ó¾{ôâÝŠjýè§Û'ð;¢p …²EBts’³Rì×€°_(ËPªSv:‹€¨ÍwÄ…ƒwP΋P&¦ wjaíDI/ïÂÚþ­CǨZvqceëðöá çV¶g–6W·ÏÝ>|a‡§·,Q"îK´#hÁùœùÆzÔ >�€„@ %ò&$k´ý�ê¾*ŠžÏ“&ÖvÖÐCÚŠ#ŸŒG`éõ4ål7ÈŸ´òïÙ«ã9ÑWjµ^"÷˜\\wÈœéívZ:®ŸË ©tŽÉ†l×2}G°äLݹéaÿÖïxoß¶–¢Z>@ïÔì ”áÓ‹ã3Ës+Û+[‡áãESŽ�xÇg–¡½Ÿ_Ý×áé¥�+µs‰‡7ìB‘þjdà'�ÌqW9‚å2Ñø¢¬ÚmÐ }GTk¼[})ÎáfõJE’¾ zYVóRßÈd èwf©98Ö72925?25_ïéž�šG`ÁàèÔØôÂàèT£�t@I¦Ûg¬>ïu§þjøÛÑ¡ ·3ØZvþ1‹ë‡5Ç%÷D>_ÒtÒ`‡Õú§�×ã¥^¤‰o4'ôîîÉh:õ½¿Z}6~ë£úã*Z,‰Šf2³4Ù\“¬&Àcû<Û’³ÔG�¦=#7<`.Û{ûÃþ­ßpnZpgÂj£Ä"£zXq�í×¼¨Nˆ·Ù‡~]´Ù~Hݼ„l›}ðñ†õ¨ZÄg ~ÇH®â gÜŽývr•Rrj� ÕÂ-;y÷‚@è6G¼ªa'+ ©6©]eÔ�rÁñ‚ï5,�¯@ân^²M<¹Š#^žbE™%ZI™#^•U-‚eÏ %”«ÛÜÇ H ô»ƒxYg/–¡jæÉU±e™PqI¢6]±¢�ã…�W¬h%‘¸_øx9Ç‹'‘žÀÎ<¹ HOÈËà–±ÐídzÏ<ëì§�I�Dà{;­xS7úž"ˆâôiœ�S|˜§—òW€x;ÐoœáÌJ‰€rwR¬ºÒpô1¦ˆªŒ8âMg ñv¥bÄ›"==�¹Œ¨Ç2�‹“«‰÷L±Â… '“Kå ¿Av”$ÍWËOþÝÿûÿý½ÿüßçÿJ;Ozß�G¿Ò|¾vÆä¹]7\UºáªÒ5ÓÏ,��ù03úþäîêÇ®SßöòòfåÉÇ®•½·õ‰#ùÂàß;lÀŠf¡·Zã>Äï=ŽWB†Â™‡RpŽ×v#óÆì¿zA�²åñ+nâɼ-p·§×rü¨Ö8ø!dãíÄÞØz)î…�^ =,V*^Ö0=mÝ ªºå’à�˜Þ‚Ô÷{Ïÿaß•� <ïû½ƒÛ´°V43©…î!Ù\� PT?xG|[F±œŽKËw8ý8>ä $¬6è¥úM½½‹¯‰åçŽ(ϧüØT: Ð o³(—r›Û>^tó‚×­÷RŠ/$ÐsóKÉÊ¢’ µaÜ.ùz£9IU¥"S$²hkÒCv÷dô]!®Œò l7ð‚Z*�Ó*Þÿþx¶ßE€Óõôjž_¿¸}mÈW$rv±T.•%3¡]�Ñ Ð+Ç 7G¹Ç~s¢zÉ7šø8SϳÃjS–ÕL®{zg—Çç p™ZL¦X�M/!‘ïüê¾éÅ�Áñ¹‰¹ÕùÕ}³ kIy3-IaØ�ëØ Xn¡X&×¢\É&$Þ-–V(Ÿ¼,VhÊ1q(Ó "æŸåÜ�Ñ> ÙzçW@Û®ï?M8÷ñ.¬íß8pty󲚡jÌÛÞÓÛ“Ê8nT {?k¼ØéeêÑ0"%|:“Gñè­í\ \?2LõcÅmu]¢íÇëÜc];2€vò}׋ªQó3Æð‹W«ÇÂj“FŒ¦œ-ˆrž±åÉ0çô¦2’¬Z¶‡ât&«éVXmÞ¬^‰—ºM}Y»x¹ÐË<½¤dnŽ‘’yz¡54ô;:½Ðm²t«‘‰YžbaËðøLè•d5¬6®VÏÇ{Ým¼Ž]Qk%Ab0RéÚþR'‡Žd>Ë�3ms2ª5ï6^‡—z…z!½ré÷œr½~X{Yû>e¼û˜z _Ñ–¥ŠíøAD<3Œtÿb�|–Cá,“7Še׋¶­¥ïxïxØ¿õ;73’¼NÙcÙ|ÛÓ;îu7lTY;:r«­~àÒ Ö¬¶úyrUÔìsY«x]øxƒZw[à Âz‹#^˜~u›¼»ÐHë¶ Ä ôk8ø^¾£�û»Êü´~X�S¬X8¥nû C¿öay<ÙŠsu{ëªn-Çy™í¬førM'€&Y3Ý=}¼PV#«}¼¢ÜF¿,Šü0’«Àëîp¼º�Üf m(œeÅ`²ç Ïjæªf”÷Âë‹Ôeð½%© Ó/x]Àc bAV�VE¶a†x“ÉUà{ ‚ˆ+<*èNÐË=½}¼O=ãL”÷¢µè¬³ÿ�L¿gžuŠ#�Ó§wzN‘èî!{ɳÎé�e·»‡Ž!`îIeé¸�b t;Þcåv1˜IIïD}¼ÌÓ›T8§Ò9®pÎd Ùv›Q:W$.—!dîéíÉä8Ç{ªxzÝ'}ãžú?¼NM=ëw?p—ÿè—šG М:ûÜågâç‚K3?¸·ù¡s³Ï|Æ›žú .Ê,ŠOèýøÑ¼³öŒ:@¯DMÔËÈ™@#8^ _ \˜gÏÈo`~Xç"%?¬å:^ÕcÇH³@“8^'¨Qî/Û�N"^•áyQ½·¤CÞ  8ržwø#þæ;œþ%2å*š™aòfE3M‡œ¨$oN¸È¸œ K[ÊpJç W\|­}þgÃ…WµÛ>ËRG^kr}“Jg™ò°>rØ=ôaëÏœþå0ˆÕ( ’f:pä")š»ò¨ÎÔ°¹2Ñn¤®„s˜€ƒZs*Üús÷àÞØE„ŸmXìNebO/óîÆˆ—©š‘\5úáã…¼ ME(õŸŸ™9ÞÓ˲ ¢¨ÑX½Á9úépæÅ g)U««›’®-Ç“XŽºW¡KȤ€~XËdóeQöÃÚð!ïÐ_Ñ ¬p2LÚkHŽUÇ1,Áµfså:ûègB4úZÁ©¢Ñ_�å9S¨J¶ø“1"¤)gËçL/%Ä2oμ„^jõz»Ölúa½T¦Š)€Þ‰é0–èà�]Þš[ÙŸž\€�wp|¢Ó™¥M _˜ž^ÔÉQ}ì"çÜ�7;1=«èTgÅ¢}tËEÊnÃO�Æ�¼£eæ¥ü¤Z}å-4åf_F/ öÝd^kǸ¥˜œuçÞŸ€\¡ª Ú, =¥ïŠd « Ô IDATýmKÓ©!)•ÎJ’ÂA/kô¡ ܾ¥`ßmî¾÷º#ç’¢ƒŸeòæùÅ•�G7Å~ÁÖ¡cëû�Lί-¬í‡Ú9‰x'ç×Ö÷Ù:tŒèJêé=ÎÓ‹,¨�`àzõòi¯¼Xß´Ø�/g(�Á’ò~ù7”`ʹ~”Êä¢6zÌ=|§¿q‹ƒâb•Õw WòŸå²ìúQ}¨¾~“sîǃÉçÓ÷Ë$¤MÁ`ÕȰ„át&§éŸr–ML/\î¢LL/ –Ð`_¥ù¸þÚW©±¿]�*µ29€Þåµ}ó«Ôù<·²�ÜfÞÇ;9¿6ÚV5ÃÇ»´qpqý¡ßÙ•y3bÞƒ¨þ}ßGôW_«\> R•UVg•5,â‚B±Ì±SǸEµfI©ÂÍ‹ZaÿµÊeÖ_u™N³®O!ɦä ÁÝÍöžÏÖ·?¬¿êZåò¡`ˆÉ›Õ’ ªŒïEyI]7Øã ±µÍôB£Dõ5{î½êUoS_°ÆäÍ ~¡P~60:•T57¨µˆ<½��ÑÞá‰ñ™¥a†xF&Çg‡Æ¦±Ç·ÛÓ˲ jãþØÍê•ïÓ®>ߨàô,@¯MFòk°ÍÓNS7¦œí�¸@®è~X»Hßú°öG׫—�#9;‰¢ž²ÜeJiõÇnR¯x¿öòc$o¦kc±TV4ús–˜•×M;`W9š“L�ÄôÌ$oF�9<aµñGê…×_û2õ(ûÛU±�Õ–7¹a£Þ;5âäªZk éãõ¢ºá†A­‰�g Ûj«GÕÜì3œÀö«à~�l¹��ãvì†5˜~áË…, ü­_mp»¿S/ñ½^„½r/¨™nXÑ-Ãñ]‰E²©ˆ÷#ZNÏW–7Ëxch’9âEï.–%\ù,+†Øn*ß‹õIYÖ¤ 5!– ç$úErUE£½ ARË2©”ÉÓ+Èóô�ÛV8ÃÇ[–ÕŠf"iÇàu��ÑÇ î7_¢fžÛŒã’TI*œ3ùRI”¡‘Žs›Ùèq©R’*� —s¼\á ôË/$ð)‚(NŸÆé8ÅG=½H®Šo7uÆ€ûE¬’ãÅ1çu»Xr+* _Éd @ÅèæÅ1€Y#QW*C¢evW„ަ"Žx‰ã¥$Îr&_úÍ2½IOa¯>ãG÷6_S?{ô²ô/vÜ_|¦6ý¬ß{Á;HÒüèê›éÿyª�^d5c§Y͸ßXNˆ�UÍtm7B‰<ŠÀ÷"ˆ|¯íFP/à dûU¾¿k3U³é†I/ìF¸•b‹Z³\/"“R­Ùßz3¹‚’È=B .B_œƒ%~:“K†Tñ!TÍD8'Ã¥ñÒ4/ÖÁ«@þO”a°šØƒŠ<›ÛÂÕ‰®±$ÜËBbƒ¨N­2EgAÇ‹U b�ÈK…=1ç`9ÕW°‚€ÞÞÁ±¡±é¤�—Î�þ�‘I´q/r›G&fG§ê½Ãøu`Z¤|Q K¢Ù•E¼P˜mWw†–ø¶§¨ ²2Nä° ¢z>/dXÆ)ˆŒ©hR:×I‘û°9ȹ9¿ÁR»HŠ©j&K ♥Y¹¢z>á^ÃtòùR–ìm;AVÄÊd–œ�£P.*)v÷dzçVÁ³ MÌÏ,m¢�ªæ©…õ‘©ET¤Nί MÌOÌ­"S— ññéÍHØÖô¤ä›tž¹\±'•éIg)$œb‡ &í–gó‰ÇÖ»ÙB‰@?mÆÇxfZ˜½K*‘fùÏœF«¤GÈåQVT–^ŽXæ6î%•~Õ%I¡ô² Umñ «T&בùlZn‘åŸsO/Òªx;ÑÔÂ:%W±v"øx·_ïúþ#¤jfuÇŽv€^dÅ%¦wÃõª‚HÓ›1½äé¥\«TFÓ�+%惆M�\®@igÇõ9Szÿñ¯gÇA:“«(dçSŽÊ¥ÊR¾@©¼eII³:"”rUÃg¡Pûã²z›’ oQ�øžNL–)Y­»'Ù^®jžZX§ú«µýè㯻¸~`tzibnuyó Ê¢ÇgW(ðy‘Ä~PÅùã/Žà. ]dt‹tR©LšY™ÌFž/�`žO§ä¸‘ÚŸzwr%AJf§��e|§Âªcܰg—ü°äò%Y¦ý)\UÐÖSh§¬1ẌÀp‹‚¨¤�A輪íì)Dµ¦n’LšMW½³sK½ÔBD>ÞæàX/!Û¥Ñé:fˆwhb¶5868:ÄËb¦Çgw{zÓ´?Ráü3ÓàDE�º¾c¦Ùi=i�ä*{ç¸^˜Éæsùb²Ï"dÐ×Õüg:“çA€m—®�äé5,QÄõ–tsé,Õ¿ãϧjq`¸“²¢-*ŽÈïž_•e-Câç @o‹œ,CQ£ÇH±‚J¹Ö€ 7jô¢›�sOoXoE�^Ó ñ8lºNPãˆ}¼¨`@Är›½¨Ž*# ^7¤^ YÜß 'p²SJ¥²ÜfÒ$Cí¬1Ž7éãEJq¼†ãxÕ$Ç ¼ªc(“¹Â™Ð/ËÄ‚_�èME±§W·Ë²†è¬ŠjвÎ}¼H«B°3ÒªTÂùÉU‚¬ˆ�g5ãX¬h@­Šnòc¨šñ8€+ÔËÈjæ|/G¿\Õ –˜”Ì Ùvøx�„QeÔ z“)V<¹Šóº\Õ BøÌ³Î>Å‘ÆéÓ;=§Ètzzâíêf|/S5wu“ò€ˆ)V¼�ˆµ¿Ç‹«®îø8Í’«ÐÍÛ“Éâeªf^e”- Ù$Æ1­âÇs…\‘oO&wê€ÞŸ~À·ÏúÝ«þ\{ðZ=ý”ÿºqQê}o®¼åÂìs_^|ôKÍc“[ÛϺófýeSÏ,=ãwO5Ћ(¤)&“�r¹’÷(š¸�¹ˆŽWeêe-öàouÛóÂŽÁñšnÈs›a âÒ)ª=`Æ!à v÷ô¢Â”šHtK3,IRò…òo™KVCeQ*�…j±c!ˆZŽf8Ÿ/¡ FÓí²¤b¥,)ezM2õq(ÂÖ(ù’ Šr¥T–J‚H¿eRœ Ä¥$¥âPêodD1­öXÕ E€š,ÈxâI¬ûYÓl¶T–TÝÔ [’U”aà}�Zá×�ý@¿�>Š-A7o£�RL†Æ¦G§¸éw`dUFž^lNŠÔ·¤VE5 ¥2Cø„µ(Ûö ‹Â«EYá¬WÇèQ]+éL6“Í‹’¢¶a:ÅD¹,)¢¬”˜6/I"õо”P–*e‘ ?ˆÕeÉO%>(«yò V�él¾BFð�uÆPÅ(UÉ*�ÒÅ4`"U»¢¥2EòbTcлHhÉU3K›c³£¬‘ˆóºP5O.LÌ­.¬íŸZX‡ºÃÓ‹¿#…ÅKR2–(UPR…E?ë8¡u-E‘zï•4"a{¨tX¨¨Ô?¤ê ‹$‹REé5“ŠÓîžt&›/•%šr‚XèíѶ…'“[R§âÐdR4p¯åø†EzÊã¡çÄZS|–t&'ˆ’ª™ªaµ§m7ðžÞ$¯‹ížÏŒ¬æ¹•íéÅ âx_Àk�ˆï=¾§—¾5™l¡T®PC’Eq*v"¿"‰ ò%jÉ2,ƪi'šrHiNe(Q’ÝduA=žr’R¤Ž�**%*�‚¹,ÉÅbâyÃr*Š^d-Ê…b™ì÷¶Ï›œººÓÙl^ÓMÇ Ë,>·T]/BY7æ$+¦¦‚1�}$“ÁË=½ÜÇË/÷î.mâEnóÈÔâÔÂúÒÆÁÙå­ÉΞÞL7kÍ%EÓmM7QÎÅI�ÔEußäg.1"w'¾ãÛª›N:›C_ú‡4Ý,‹ôMéûXa­¹´�ºƒç ‚Øžre  ša l~oS涤F‚/ ¢íøºacóQ3,“…�á:ƦAž¾>º©é–(ÓÕ5ͼ¼§—R¬f–ÀëŽN/€ã›&Žwr®Þ7<À|¼CcÓµÖÐðøÌèÔ|ÿðÄnO/Þ«Äú–ØŸI/ôŸ£²Èr|E3»{Òõ„[{^ƒI.›+PÛ“i¦-W4¡,ÑUNR0‹øÝÛ—šiA¤)‡Ž(Ô±9ŸcƪŒâGšr¹‚nÚ¶”)�É•)…+dr•xû3¹¢bÊéÅ’Hûzl+¡íéÇ .[Æa½…n^´!Ø*e \Ë‹¢F/÷ñ‚ãR�X‘/6 Ãz‹!^’\µ}¼t ´nûè\`탾ÕÖJג醊acw[·=Õ°-'ôÚªfÚ÷ªP5ÛnÄÕd;=ˆLÕŒò!VÄ«æéEЦfº�¤Ù¶�ä*(œ‰§eiU°éå‚ãU4‹·ÁÓËdÆŠ¢³|f‰”̪aQ>3;®h¬§—q¼¼�èoœ\ż»H®ß+V4 _Îñèݼ8."R¬ �Ž}¼Ì!Ì{z3ùÒAVàu‘Ûœô÷òD«ŽòÞ=ÅÝÔ�&²?yvùg׿¸«úËìçCW>2°ùHtÓ“'oüOÅý§ÔÝâ3ÞÜûôΤ޹-|õ ñ+ï®øZ…nü§N�Àoß°+‚©É«ŽãÝ|/o*�xÀ݈­Y‰%ÎæŠœã>§‡8Þ¾w/Oow:›É—€r“)Vé\ñ7 zï{�²}  •E�ÞÛºóù¥­­sîÿJã¡[íóGÎnúO^Zyæw8�ÞÛúÑ_—Ž=½=åù×”ÞyqþÕJYÍŸ¹J<|Yæg§€¼]ð†íƒ×…§7Þmeݼ|ç5N«ÒIȇR0[O±Â2uó2»ƒ~£:’«€~‘ÕŒ»#¯¼çÒ©Ýž^,Ü{ˆñȧ3”Øœ\´•h݉r¥'•Õô•lÇrÐó«`·°^!9}®(Éýìú‘çW—¢tÒâX3pI5,Ç <ö_5Ã.¨ª1ÃÊ~~PËá²Ê–Y´”Ä:’-. BJdÞ©…õÁñ9XXgæI£Ëƒ¬8`›z4å’ @=):׫’ÑŽ%{Ÿˆ$'Mi�B›â?w¶�cSδ\׋‡5iÑ¡f,¢†lÇ =?r½HÕ­|�8v>åÒÙ¼É ê¬NVå{4,‹›æsc·P* Bò¸¡KÓÎE*½3åxeÑüê¾õýG´¸~`óàù°¤.oÚ<½+[‡ÑÍ;½¸�Š£¹•íÐËß¹†éÌÎW5^ñ[®íÔI+ˆ»¥ð�%§Þ“Êd²„~‹%QÕ-68UÏ�nâædª6%rÛÃW•2É%…& `Ô‘´äzäÌ×cM~¼E…)—ÎÒWµ,QV9•¦26¸= ÒŒkÅWuçãôÎ/m �Û+(¨šÑÇË}¼£P5¯˜_ÝG¥¾lÊq¦·ý^$YÏd;/ l[Š"¸Ù%ˆêµƒ(éMÝ‘ìª�«PŠþÜ4åä !f>åàhˆ}X*�ëaÊ…ªF}Ô|ÊÑ>3A°¤±*HË6¬¥ AºÊ¥(ŸÏ°=M· …às =íiÊñ¯*@ïÜüòØôb‡�·54>6½§X�LŽN/ ·y`drtj"—Ýž^þvéLŽÝv¬òàÏMÚÚs óOö·%o¬îKÅ×ßúl®P$Í ;»Ê…ºaåÚeÝ™l;ž^@_dËöQn_åèÃ"ÑÚõé*§éÔNÄÿĨgW•¸é½X;’iÊíš½}£Ø,®µÂz‹'Ñ/<½@¶èæ�½ ‡‘VO¯íWÛˆ—¼»mÄKÍ‚ív":æ¹ÍH±bˆ—�0à1ín³û»f¹à�±»M<°O./wÐLÜ/G¿–‚ÂÅãØgçªf(Î +ãþ^$Zé–Ñ2ÔËàxyŠUýâX5Y1ÀýªÜÇˉPTÑL€ÛoýÂÇ+È„�hyŠÒ­àãEr•¤�|/à1ç)V‚¬”DÜ/žÐáã…V¾’(w2½O=ãLŽx¡d†wž^ Þ§žq&¸ß3ž¶·§÷4èýíÃl§?ѯ8 ÑžuN7|¼ªføx‘PuNWj‡ãí¢]~ \p¼ÜÓËù^tóâ9@¼=™Ê{9úÍžáœ+–ÛÜo¬jF°s¾TþÍ‚ÞßšwçÉUR…$@\ɬê6’«°« ” Ó/ºø¸u"%Û«zQ½¢[¸óÁ»Ë“«8Ç‹î>‡yzqw„Œ ñ~µ±»§—/køº�?B0,›s=jIíIe„²|â•4->€0±(Aá-Ûá"Ðb±ˆø«¶ÌŒ´£àŠñÕÀôF“*eð�ûNK qZô€Ý2-—J/vÉYùÚ‘–®î4@oXïëâ ë}ÈmæÝ¼Ãã3ðñŽLÌŽLÌ¢¼wdbv·§—¿òžïÅÙ6öýÍë&íþ «z”ôîòÍ…öà4CVtߦ()$’¤:¢8² =©T ¨�¥]ùVë•‘’D+u~ ”%/¨íiDÄÀâ™øŒ±§w†P.|¼#S‹³Ë[³Ë[ý£3ã3Ë”Vµ¼506 )VÓ‹‹ë(_wja7è壇ãÿĦ†TË ;E±r¢•4ZŽØV m…`~¶ÛwwG”H™Í ÕUšrŒ+Ž×Ðx»$V§ß (�Lᣊ)�1AýriàäÛc³|œé�_\Ù|!Šv�ÕŒjÙ�G·[XÛ?>KOÞ:tlvykzq£CÞœ%lí¼6›ÕôüˆA;*ßÞ=ß uÝ i¤L¥³ºArèãÇŽ94¹¢9ŃáÕÐå!t{AµT¦©›Ë—L›×0ª¬F»¡éß)èîÉ”hoO Ø'1øëÇ³Žµ%� æ„?§ãëÃ{zÑÇ;>³ôKªæÙeŽxÇg—©È—©Z&g—G§j­¡¡±é©¹åŽ +þŽíËBç”ÓLÛq}À,¯~Ïqc¢èe¹øÂ¦3̂۞rèGkɹ=) £ºçÓE’YÀØÌ§�s’¥p;Y¦qc£O$"Ÿƒ®®ù¸ÜÄgÁõð¸)Ð[gÞfÿpXo�Ëmô yQo½w¹ÍQ£—«š£f_ÔìCBç{�€üº páÝåªfÂ@³a½¥Û>îéa½ÅT͸_8˜ðvàx¼©�È‹¼°\êxU¾E¾WÑ,¬.,'R…ÂJfÛ�ÀñÂx²nyˆeÝt~¬[G¼� Jf¼5W8s/ž\:ºX5¬¸�—I{àã-˪¢›´8â+=™%W�ûE>3¸ßbY*–%IÑÅŠï.Ïj.I¼çx‹e‰·AÀxâ•*{€ÞÝùÌàxÏ<ëìŽ÷$=½§Aï¯�Nÿúoßt÷¤ŸuNO®êêJ£›·ýrï.Ý'˜�\.!~œäxóy�ð½¦bûY5Û'xŒ¨ l$#Ò¯6öôôò¥À7 H*hÉ "õâîåyk¸~ÄyEV&i€Þœ~±½þV{ø Ç–>!ô~”eÚ¬Ï^m¯\g÷¯Pn“ç×Pðƒå;ËÎ�׋ì¿V�–’É“$*õîè€ÊÉÿ´ç1@oÿðÄàè|¼\Õ5G§Àëbý‡cä6CáŒ_çžÞ=ß"ù`Y¬P°-[I“Ï–Eû´qņ •³�…b™Â™ª�áCÞÚ�ÎÜËYXX© ) ä6þwíFgæEôŸÚ©c1S$aäÎ(`µl¹¹3t©IDZLžð‰Ž¹¼}¼ñR#C¼S ëCóñNί�&.nv…<½Kë'½É÷|%&–\â4åÊÀùm“6_Uc:qÆ•´îµ›DõÆìKíÕœ�õ�¢�Ž{~µ>T�»Æ^~³ÝKµ´ë]l—BQPylŒY>×��hÅO�€q‰ÒÂE™Â¢’À‰?'yÀåÍlË›‡¶_€�£ÖxmßyH®šYÚ$Ä{øl( >>È*ùâ»�Ay~�ZÙÓ¤�§í�v€YrÜȟ̶±ð"Ef" «�± h^!Í j‚XéIgr«O>×Y»Ñ™zM9øQÁžu÷�O29åü�J¼;²ëÒ™œB¡óÇûÏ?ù@ïì¸\ ÊŸW¶Cá Ä Žweë08^¤‚ÍïéM¾òîcP¦ž_UX:wš‰)7ÞþàãÖ6”ú|‹-•Éi†åµ¾hàÅê‘×)Ïx“€ý Ç=¿:îŽ^­{•zÑP0D±I.•ýâ §çB¶ÿ¢qŠŸ$ /9Ÿ©•ú1ç[WwšË›ûÚ>ÞÆÀ(8ÞáɹÆÀh?ùx—Çgý#Ãã3ã3‹ƒ£S­�Ñ‘‰Ùñ™Å¾¡ñ�^~JɃ¢š®¢l¬P ¼}¶%·s}øQ]”*|2åu]hl^«\þ\�òÀØ÷QÌdó–ãaí}ßµÊ囘r¤ÚÈÐUŽ©”dÀ¨”¬dŽ3Ìd ºa¡¤=ùxòü“DZ§·Ÿ<½A­ nݼ¶_…ÚÙe–"B¼Í>Ë‹ÀëBáì†Äߢ›\nâå&#Ȳ pf›Ñ”D…0*è³Ü°†]l¼�f¹Éû»å†NP3œ€W"ø6((œ�rUVðËWH+ %3x]ÍtÁsUsE5á·â>^Nãñ¤ÂYªèeò¥“ÂY”ãc†¥Uðº±H¥"…3K–âˆÈ–#^‚Ä Žò¦"(–aô-‰2ÎP5w¦X‰2|¼œïêŽÕÎìeAó”Dù„ž^Žr9Ç $Ì»yÏ>ûé'÷ôž½¿}˜íô'úG/’«žuN»éæ¸�—– ]ip¼ðîóc$Wq/�ÈjâMgòÙùræœÉ—ºÓYxwq 8©jN犜ãÅño ìüÍ~�¤¦H·7½¸1¿ºo|vè…åÍÇz1ytr¬yP»@¯XQ ¥³0g>nÔÜË,ßÄr§ÒYôÊ,þq<¯ý%íøa-›+°ø¥ÆÚ[ãÿ´õgD¼ûa­,)lÊ¥E™Sèñz¹Ä8>°—Êä$mл2>»²´q°ÃÇ‹¡â¯‹Ü晥ÍùÕ}ŽRkÑÂÊüÂJ‡8ó$ïHÌ¡_¹Í¦Ù"Á7vL9ô¾â‹#J/¨Ö‡êçÿMtå#—}«5zÄåò Ç�úVüg­~å#Ϲ¯Þ¿B_dÃtàOQ ”ƒŒ4Žý°Þ‘‰•Ë †éj†•ÍÆJÔ“|Š®î4÷ôv$W-mcÉU‹ë׌L-Nί-²¦"L¶¥�ƒ3K›H!î�7Ÿä»Y‡“i{`#Ó™|¡@×�ü�¾­ü*ç${�ê„Á3/ˆêoP/E Ï;ÔaÊe²yU7ƒ¨~s»Xè�ꥄë !)U´$r8Ôi`c*¾ ŠFMé|wæ$Ÿ" z‘ÕÜ`iU£¬›w`lzlzqp|¦Ö;<<1‹nÞzïð;îë{B ·«;]–d„™!….—+вb9Æ ³ÿO—©| çO´P›ò&>o¾ùaÿÖ{­ëWí9P‰�WÝg.};áaÿÖÏoõGY§±•ÉÒ2)›+˜–‹Œ4L9ôÆwˆ˜Ïœê—ÙÂé8‚zÏ1Œ=½Ãã'‡õV­5Ž—Ôˬ�7F¹ ñB½Ì}¼Q£7¨5qÛm7y~µÔšàxqŒÍh¿Ú hÖN„cÝö 'À“�r½øþîXnè…5Ó Í"^7¨QS‘nY^ä5ÔÑ1<½íä*øo¹š (—g5ó+ÃösUQMlÊs.W·<Î媆#Hª¢Y<·Ye>,Tï¢I”u<ì±(ëªn)šU¢p MÑ-™52ˆ,ÃYbQù’¢sU³¤è0ýRz€jð>^xz‹e©$Ê’¢£pèªæ’T$ÎAVv|¼LA�-¹b™`°T��1W{{zw{w‘çÜñøÓÎ<ë̳Î>Q�ÕiÐû+¤Ó¿þÛ7´@¹] rˆh IDATí+Î÷‚×åHOšúÅ:Œó½x�ø^òJ‘-0›+f¹Í@°Ýé,­z2¹¤�¹Í1n§X¥²ù߸§÷7‹Tÿ ßž^Îë¢3€7ãYNˆÃöm7Brø^Íòðd _Ýò¯Ê�]?>FÅ~/ãu=EšnHµõa è×p‚VßpGzóž+€äƒŒ<¤t,‘É”Kâ½¢ J=ªšŠfÊ]®è®–¥ xWâÍ¢úÒëb˜qé7›Q£)o©,…ÕÆÆÍqÛçE_¡TaB ¬á6›+êEûv�¢¬Àƒ’iqnL“i“¸3'ÉsÞó ·50Š`*xwë½Ãà~ë½”b…nÞZk¨50:8:546�òÞáñ™'Êôf²yÓq *ÏHXβ9ТV]¡ uC’IõnXl´€ÊÕÞ:¯Ì]|­�"Юî´i»}Ëþ?íG+,ëŒir¿ŸHnXâ0“?”’j{üX„)õ< µSî9P¶=½KÓÔZÄ“«f–6§7�ÕLéAmÄ;·² O/Ðïô!·OoÇ[$ÿIì |QV8EÃB�JBY–+º¢ÅSŽÉ «BÜ0”Õ Ûkkom·È~�ôº£¡Ê’D�}ïu1nG?M,#3‰@ËåKºEUCÉqÃкŒÓËdó†é(*93“'|¢cîé]\?°¶ï¼¤wž^îã�ZX_ÛwÞÆ�£s+Û3K›ëû�l8Jè÷ø «½<“+XŽGyK™ø/ËäâùB‰¢€Õ )§Ð”³œ8òŠ À¥²çW{g¢çý ã3óšr¢¬ô¤²¶ ŽÇíÊGF�Ð@©¬«‡BÚÈ Û!ý@g P1ÎM”¨Ü˜¦#ëø Ÿè waysiãàÔÂúk'‚v‰VèãÅnÂüê>žb…óÜÙÈŸèE¼ Êü”[^*‹²Ì À*ª�/¨‚�Mgr(Á~›ú€ÞO¯«MÇ¥°b¹¢Qývíü§÷kW£Ü¨(P‘r¾P6-¿tN9Ÿæ34Àði›¶+WtùéíyÀ=½£Ó }Cãý”Õ¼8:5ßìé��^š˜¥«±ixz¡d�š™lô �LÎ=QÐËlɾ¦Û¼Œ½›ŒÓ…BI”)à—O9Åf‘WPë”È)S[³ç08û·36ü°&PæYÎq£gëÛøO?ðn]rfXù¶žÉæR©¬\ј&¼ã*ÇZ—4YÖ,Ç/± é=ǪãÁ¤§ÉUðô¢ƒ×¯68¯kûUž\…ã°ÞB­žƒò^p¿@¼à~ÇK¼.^ }¼~µ�ä*7¬!ÃÙ¸§›u¹Fe ÔTäPn³å�¶‹­LÇdÜ/Ð/R¬€Náé7ËW1Çk8ðëvp¼Šf-c‰îW3]îãåYÍhRä>^xz¡¬æ|/Წ©º­hqkQE5╹�MEH¨Bn3çLj€æÉU‚¬ìä63o²�(ÙÍ Us®XŽ­DHxy3Ïgæ|/÷ñèžñ´³žzÆ™gŸýtD^í N~- W[xÝ_}òî»?y÷ÝÿË÷Ýô¢ý# �¼’ú^pÛgßó‚Y‘?BO¾û–çŽ ì·>øúCFû?9k|ç]oÛªøOì?ñ‘¾çM/:T7(5Žý¨á·|äoî»ÿ�¿¿ç®›_º/T+‚:ýGwÜõîÎá]ô™«þò3yùr€_i]pÓݽq+PéŸ�ÿ™ÇŸy9<÷mŸøÄuGûÛ§!ËCÏ»ý3ýÊ}ûÚŸ�Fà“ŸúÀe£ExúçßÑpŽx¹Í=)Òò¡Á€èÉUàu5Ä9^ZÙt¥‘b•ä{ñ:@¹©l¾+•áiU]© TÍà~qœÊæ¡pBÎäK§=½ÿV¸Be!"5«¸÷à–ƒ¦¢$âÅÖ)KˆItý*ñZl;6n«g�~X¶½*8^Ű¡jf¯‡[,ø^/ª7{‡ž(èe‘˜ŽíR@ РҌ¥Iÿ¤3´Î³lJ¼¢ ¹~Ô¿ü ÷œ¿¯Ï¿Â¦ž¡ŠžÉå39° tÏ»+¸à‹ÕéífP5k)�ÍWIËèÎå`Tk–Ëòxé4²¹‚ã†rEç׎EÌã�jô ×ZCh*ªµ† jÊmö� �MsŽwdb¶x¢£§w÷ëw<’JgË’B9 XŽ¡ãƒFì»g˜Ž¦ÛH‹Qu+¬6æÿȾô›Í·{ýË!QÁìEXkemå-öåßëÝús·9Qõú ʬì·Òv´·dâÀ�ÂêêN«º…N „MúdL½ $ÇçxSïæ�œ_›ErÔγË[ó«dR�˜Yz‚ —P¨aS4+Rt›³‹d<ßzXpTE1LÛ%ÒöœîóÏý¨á—«„ÜšD53ùl®`;þÈùîùŸ Ïÿ\4q)M9ÍthÊeò,2m�)G%Ϻɧ}¾ 8n$ÉJÎñ3Ü}ƒ^æéEÑ©š[Þ<41· ŽwamÿäüúÖ¡cŽbã`ûð…@¼ kû–ŽëéÝý� ÄË ªèÂU¸ç”+I‰ª’™ò·tÃŽj�¥7Ø—}»µïÝnk:Bú7ó)èa=Z»ÑyþûÖorjýuf#§„gIV“ŽÖüF;Vu…ÕÕ�ÖL›â¯�ÏÓî8ùä?cOïÚ¾éÅ�Ñé¥åÍCØ&àǤpžY†ªylzizqceë0j´f—·:zz“¯¼ç1‹Ö£Â'Õ°’O{É¿­lÊQÁ‹ˆ£!ú‚µæÊ�úkî6^w‰¾›wdÎ7¼ÐØü´ñú�ê¯9ÏX�jMV¥S¤hwÓÙÓ¬NšÅà ·(Päµ(U2¹Çµ?ÅAoïð:xG&çú‡'†Æ¦ÉÇ;1Ûߣܶª™ïÄìø4Ùïgç–’ƒpòãt†J¼¼€úÆñL¨uzR>n¸ÊK¢i¹…ZÜÀÖFµæÕç~˽å­ÊÁfI¦5sмI½â›ÎÍoP/¡Í�š�i+Aёҷ3ÙØ_,#Ê—ø·Õ°\êÊÊSÁÉ?þ+@o£wˆùR<·¼n­5à†5øu£6ß[mõƒïÅãÈŒ$o³t.ЯíW�fñÒj1>^H±x6‡ÕÑ*ßß�rý*â0m7"/‹´´¼µFP;ÇíD†ƒô©B;�èGšåž^¯ pÇ 8j:q°3*ƒÇ@¿ŠfAÉ 7– ©‘*zìãÕmùb#H*ñ½†C|¯¨ˆ²®hŒûeÇ�Ú‰ÀÓ"æ \.Œ¾ü¸ ˆü˜<ºRð§o¾îÆw}ô«?~ô'w¾x ø³2zõ=ßùþ·îy˨ÚF­ÚÂ-üø£/´…›ÿáç¿üÅ×ß²YÅ©«òà÷ÿê½·<ð“/ýÅõoxÓµo}×�ÿðÃG¿÷Ñ×(-]é¿øöï?úO_ûð[_vå ¯zãm÷ð/¾ó±«[Š}ðæû¿ÿ±—D=gòêÏü葟~ñ «�OûàÛøî�/é?±Þ|ÿÇ3w�¹ỿùà—{1 UƯþÌOxû¬·xË?ùò7]wýõ×]ýµ×¾þðÐiÐûï ó'»y“ˆÜo6RÕgK®ŠUÍín^Žx�r{R”!‰çCá DMñ¹¬�¼.Ð,W8÷drœã¥#æãMå I…ó?_û·~ÿa_營¯Ž%3œ3†í—©ÈýG”éž„=]™zB XE³âª=ÃÇ‹½^ôòÙ.5Ô›NàG TÕ]7”e-Ï fuÃ6ÛyB»GOhÛPKeÉbÞ{î†Ýý§ìx wf~ulzieë0â¾&æV9ÊÅxÂd>µ°¾º}.J¤g—·–7=a¦·‡šÎ½yð[Ç)áŸDcæòšnã’FA_ATw=ú>fs@¾¢ YŽ�)ç5�eÔ—Q7iÊ�¨SÊ0˜Èg®šŽå÷”ãžÞþ‘ÉÉÙå‘ɹfÿÈÀÈäÔÜÊàøL½„Z‹f—ûáã�œC7/ù8&çÆ¦þòfTSÄ—BÙ {¤M@Qf;•Z6WÄ…A_~XC èâlŽÄáØú è*GõÎÔiLåpd|ØkK”Ò Š%:£²Hbks|’sëêNôöö� ›—l³ g Ùj«ßö«@¿Q³ª¨ÙëEu(œqÛm§XQö2cÝ&µs»©ˆÚ‰pk6ÝMEÈã ¬šÔ£›¼¿Ç|¯áÀîd8>žO gÓQ Ûöª-£ð« `T,$ÍJr¼^¢‘iU0dÉŠO/W;WTü­ÊP.?Ç /qŒxÇ[‰:VE5‹‚,+†ª[Ð$˪Ž—ª½ž^¤Uă×deGá,U@ÁâÕ¸§¼.TÍ …sÌñBáœ-� wwZœùãg�ý‡I©óÿYÐËp,BïÂ÷<ôƒ�½„�L}ù _zè“w|껼qÅ�Ï'zo¹ÿ¿ø·ÿûŸî{Û¼­¢|<èå/(÷_ñÑŸ~ç[®"8Û·=øÈ=×ï×bä)«ãWé§ß{×±¾ê±÷ýà{:¨‚Ô{õ'¿ûµ{î{øËoT*‚2uÃWúékv¨æÇ÷Ì=ÎÜ?tëwþøuMåReìõ_üñ½×mUøÇiŸÒžÃ~úÁSyžuNO¬jfÞ]¶Ÿ%y3£m Á²cÎñB´¼'ÊeK:êä@Ù /μ›7•+t¥2ñ’Ô™U¥sEÈž)Š!ÞlAÈ—Ê©\!•ÍÿÍmTtúçW�/¼×†‹/wÔ`3å½Ð%Q.„L¦ „Àa73–ÐR–J'Üá<$[´S¬¸§—) |Äc ¡Öì¢L/¬b®1TœÌ·óÛÙ k¡`¥/UZüÉZ._bºJE”U¡,%7Ý™¦T(—eIVE¹Â¤Òª¦“l•- ÷Î:v½&_ ¶ÞŠbäŸÐËzë½ÃQs Ÿ‘!õÞáFyzû‡'ª­Až\5àéúížx¢ž^˜lQ>T$É⢕YŠ’�XSkšU ôsñ–ÔÄ+Ê"ôRbé†oz¡$J’"IÔâ+°¾Yê7–”B©ì{0–Q­‰øk¤=™¶W~ÜFè®î4@ïìü*Ú‰æV¶Áë¢�wbn)Väã�¡Z#¸RǦ—@ÿ+@oWwºP(»^¨¨DEbè0\XÔ⚙̈́²dÚžT/”d59åÐûÊ—¼X� b…F•ªAI~©é–Bë0Ñ´ÉX¾û‡ÜìÙ|•<Å©iɨíäßt÷1gzÑˉÖ÷Ù^ ^>?Qy3¼ÍTUêPÑ1?% ÝΔKçȳªš˜rÆŠå|AÀà”%¥P(³v1Â0Ø») ’$«’¤‚$°¾YÍ´E±"”e¶uµ[—ÑDàp*MUg†å”Ê2'0ù‰�è wz޼Ð@¼“ók8æž^$W!$!Ïs+Û‹ë&æVwõôî|õNôŽ]Ýi¶ñU�ïtN9.ˆ$Õ¦)çÔÍ›/±Ë»Ê ÃÌñÛaÊQq´¬Šb¥P*ËM7¨áö»ç[T#‹>v†™åŠ–ô&œäü;<½£SóèZŸY¤J¶�Ñ¡‰Y’=�LÖ™’yŒI ›ý#£Só#“s­�Ñ'd…“�Ì›IvM9–÷†>¼B±LP–µÁ–’/´¯rb%igS®P"ÿ »Ê "õ¸«†¦[å²,J óöï1åQB�¶Š‚xòáJþרÓ;4¡22™ãä*–ÏlûÕ˜ãmôBQ5û@óä*ÎåâÎ .oPk¶UÍq/R¬€x9ß‹˜+Û'  ¨íF\Õ ŽAÊPV³*#�Ž™Zež^$‰ ¹ .\žÕ þ–«š;<½@¹PDý"¡ 6]øxeÅ 8éãåJfÎëÊŠÁ/S5WdÅ �4‘ÃäÑ…�—.ƪÁ•Ì’¢ƒïú…MÏ/I•‚ ý¢¼W� ^â~™�· ˆ1ÇËdÏxÉUx¼ ˆÐ3v‚Þ3Ï:û©gœ o2¹ŠsŽÜïž0ãׯôrŒ=÷öo}ëŽËQ¬µw~ã»·=gî9ï¹ÿk·‰eÌ%j ·Üÿ½÷¼øúÇŸÝsÝ>uèýØ5K”ÎÒ˜~ѾþÝ»®nT*ÆÒuþü¾k¦¬ÄGë½ê®‡¿që1³uùgüàŸlUÅÆ%Ÿüá7Þú¢7ýÝOîyé¸-¾è ?½ÿµó.ÿ•òãyæžgîl¿ï[?üËç�P+üä«îûÙ?¼zÎØÇùø+WBÊW¨ùž+KÿÎxN>2ÿaº¨ˆˆ¸\êæm{zÏéJŪævŠ¡Ü6f‚:Z%g²…$úÅ1÷ñâ�çLž^ÖÍËÑo2·ˆ|/ŽqÀs2ùÒù©o2úU ßðßýö'£ ·Ò²b€•ß Í|¼à{“ž^Õp�b…-[ÜÀˆûe1Œ±§—HxA œ0öƒqwDÑø^„C궇Û07 =O/›E¹d¡e:“­(:‘½þŽìùF;•E +èã…%•«šÇgWàÝ…h|ãÀQ(œçV¶·[ßdr~í1AoüÜiئm”’ ºn¨h±0»»'âaÞcMšr�¢)熢¬fr㎠€¯J}±bÒ”óˆZgóܲýÝú‚ jໟϗÐÑ�cÕYÇO¹ƒ½‹«[P5#ÃÚd8/¬íGŠÕÒÆAÔhA\0³´98>7ÏÃOîéÝ}Ñ ô)q8jxÕT5|Ýtlæ±äL#EU›´ep’)‡�ˆ|¾¤hÔZζêH} JJÐ.4âè7¬6È6 (|¸P(³»||•K³.èÝ <¦w~aˆw�¥X�LÎQVßø R¬ê}Ä~§æb?297:5ß?<Ñ蛞LysrÊ1‰YšºµË’çË�Ó@À²fØñ”3,ÖžM©`ø¤¬M� 2¹¸¢|÷'ÂŽ7$Å´½¶à%ÏL¿¨m;îÛŠø´žT¶P*3Ê]˱0…îž4zãøµe÷{q¦=½a½·Æº‹L7<ý&›ŠX7¯é†à~‘š~ž^¿Úhwóß , Pò+/ª£ƒ×‹êÈm†òÙñ«šé@Ï/Ú‰@º:>i»TÓÑ,×aü3”ƈµò~D(œ±ç£ß]ž^ÄŽ‘¶/G¿P/sU3�0šŠ·‰ g¨šË²å3b®€„q …3Ð/Ú‰@ºýâêež\@ %sYV¡j<Þ9†§—µqÄ‹'s…3÷ñËÖº'óô>í̳x„Uñ"¿Š+Ÿ÷Ä0¿6ÐûÓÿu÷ßLJ?ýµïþüG_zÅb(ˆrpø�ß~è½k®ânßüà·?Df]QJ„¼ù–û¿ÿ—Ž]zûþù¾×¯VÝÍ›¸¼ùm÷ÿü—¿ü—ù—_þò—ÿß»îètƒóÞýƒÝuaƒ¸Öö�{ì]}ï¯_TFßð¥ñMCßþƒß³âO_ÿÕ~âš…úç{Wb’ãù±Ÿ¹÷™‹ÎÁ›ÿá{¿ª&éKo¸ç'÷^7¢Vb‘ö/ãÿýâ�·Ï‰÷âozúàFV¤wø^†~áé…ª9>n#^¨—{RÙv;|&•ÎÅÈ6™\•8&xœ/ÍÂÓÛ�r¡jÎËP>§sEÎñâêðÌsºÏ[íúÂ{í}¾þ¾>Ñ�ÿ£Ï׿ð^ûèzw6W:® ž9mŽë `vÓ (zQ·w’«tˆ×ñªàx9ß …3î‚¶Ky¶ñ‘5!²‰A€\F…pÈÇôô²² ŠqÝ�€¨nCïÇB5CVmšg=%Ô]ä‡5/ ÊêŒÃœcÄEýºaÍõª–í)*Y0ò�VÉ™\:C³·Èx�Z%�Ë,u–5îf²…Ý^A/¨•%9•"%°iSZ`!�0uttÜ@7,*flÛ�“ë Ö¨Ñ?02‰jJ$W¡‘ˆs¼ˆ¹"ïÐ8žü8=½ÅRYc IÇ ‰M)Ó‹ :K.”H›ÎäMÛ¥ø±¡£’�¶‡ûdÛvͰ%Y-”ÊÙ\!�Î¥2¹l6ÏHàŠ¢’¦×õB/¨Q�UÛº†ª'¾†„j:•&%0S®ÆÝbITuÇ MÛE�Øî¡k{z—çV¶§7úGg&æVÁ÷ö�ÎL-¬Ï­lOÌ­å"·™€Çê>p¿�ééÍÐ ÅZ;¦œIè«'“Ï—<¿ªqµ©(SOÉqSŽõ|r‚84×�H ‚(åÉ%Nã†mÁ"íë¬Y4ô‚ªëUË"í0‹x1Y Št½H`�«‚H]U7³l�žÉæäŠnÚžã´£A�ÇeÈÉùÆåÍÈmž˜[ÇË|¼kq>ó*ÙV¡jFSÑöá ×÷¡’Þµý'—7w÷¤¡•e3?4,W(ËÀ$šn9nq8Õ’ãÆ’uwvFø”³_Ó-QV E6åhÜÈ>CŒœ¤`ò¸ñNŠÊ>2S+h¬‹+9åÐÂÅîP9U§)‡Fhj¦e;>tÂ]L„²ê>9n<½yy�Tôðî¢Äx|fyuû\¤XMί¯lž]ÞŸY†ªyja}Z�ééÍæ ŠJ»]åhï#“ÍAOŸŽRè³°uÐî@ò*·ç”ó"¸UI\À\â˜r¹\±$Hå:.}U]7( �à¦sùÒîØ9Û Š�IYR,Û«( Z&K ä–�Ë2�0o¦M÷ô6ÇG§&g—‡ÇgzÇFHɼÔ?:¾wlšÚ‰ê½Ã£Só°o4ûG˜Âù1@/¡Ù²¬ãbë…†å@QLâpÒøHX`�j¤ëæw‡O¹@5,R©Ë™\�…䨔+‹’Š|×§)WQâø†Ö Íñ3&¢þØ+ä5dL­²XÁeÙué„K,÷n·è íéÂî§Qrúx¡j®¶ú¹�7jö…õøÞj« –ÎÌÇ«Û>ÔÎN@M @¿†Ͳ hÊj†ÚYÍ~µá5Ír©ƒ—5j–‹dJÝ&%3/µ1.7îæeÇØþ†z.ŠP·ËΊfýÂÇ ”‹ä*ÃŽMXP2#Å Êg˜ñ»H±R™å*F¹†,ͲšiS–5WT“+œ9ß«ê¶(“XR ä6ãó½L±\ÑLŽx%E'O/{ ¼.ç{˲Zbˆ¹ÍŲ^ÁÎ ñ*%–\…×Ay/Ž ‚¸ÓË›ŠÐÍ‹v"¨š�~‘bBxæ%ðƯôþÝGn½ùíºïGÝ|¨ÉÞ:zîß~äÇß}衇¾õ­ïüø‘Þ~é =~ÓûýÛ.ê¤Æåw<ôã/_¿´ïzoyàÇ»fѶ¯:zþ _øÙ÷?z¬¡ÙÛ·|çŸþæò>=ñÑ¢Koÿö?Þ~™#ék×þÝw?yí+ß÷õ¯¿ç"SÔ×®ýêwîzãKoý_Þ~ÑÎ;?�ùÌœ¹([ëúàO>÷¼ñÅ·Þ÷ÓÏ¿f‰<Ã`z_A¤´çG®cI§™Þ�¡Nû©{ÜÕ�zÖ9]lur|SQ»�üíNO/C¿1ÇÛE;¾¹|‰žÓE[˜±O’)œù1-8˜z™#^(œsER/CÕŒ>^ù1�+¦²ùlA("ÎÏêJ=õŒ3ÿç“~ÿ÷þÇ>ýóøGà)Oùƒ³ÿðé\ ’!äLàÁï=R…ºà�x+ª{z+T� IDATÛ¼®ÅZ pßKû¾ åVT“ïûÆM”åèk–‹ cµ¦Ò­T·}‡õÞ“È›{RIV]/b-Œ=cV´LŽž²¬!;Šd{ù«“=n¯=¹ðÅ1ÖÓ®W5)V„üºˆ´±l+N²²u¤OU´ \a©tδ© „¿ û¯*6ztÓ6m‡R 5ÃÚ3j wx|]ÞÇ[m ÖZC@¶1âeé/ÕÖàÀÈäÈÄlïàXµ5xRy3}%m=’+’>uH¨I­Ù\Ñ´]›•”2ˆ®²áÝAüc&@]Ò¾sê†m˜Ži»ÝÐõª´ìcY7m.€%ÅõwœÃjduÕʪMî8œ…E™Žë‘šý™®W-•e®íä‹i€ÞÅå ðºP5Oί MÌC‹;>³<8>7»¼þm`lvneÇÓ ‹+['ñô¢]–O¹ ¢œ$U'’b}ÂŽKºe(Ew§‚89VÉã°Ú$ë©Q6›rd=µhÜØ”£4>2Ko&”Vv�)'U²¹B6›×-Ç0wÖ÷LhÀ*»ØÐù!;á]QCô¢ÌiãÀÑ­CÇf—·&æV�xg–6§7¶_”;¿ºoÿy­nŸ 9ôÉ=½,˜²—øÇ¡Ì'@bY._²9–Éy^Qô°Z�j�9åhðm'€ÏY3lÃrL'žr¤ã`Lå{QùDiÊ1ò�3áS"Ûá’+ºíøe‘†±»'MN~ê7ЧþLôÙå�åÍó«Ç£ÜµõýGf—·FYrÕêö¹P5Ï,m®nŸ;9¿><¹ô;3²ôæTŠ9Æýø*GSÎ'ûw:“¥î\�ö ‘¾…byÏÂÞä|Ã1 ½†•˜rñWÕÇ6¶fè+ÖÖÜ¢�¶c˦,ÊÙ\!Ç®ÐÃÁZŽ�›rtÂíì(þUMzz§æVF&çÐÁ65·Ò?2YŸ]îžh ŒŽNÍ�1 tk`tœt –í¢ +}Ûp)·g><£ÖtÇ7m—6¯¨fò£í1<²ï»åøzûî [ŽIwºÊ1éP�öO£ºJ;±®‡i@bÒûzšnåó¥L–ä!¶ã#T‚\Ųa{|ÊÁ!Œ->h8èímö�xõ U[ýõÞÁXÕÜì«¶úÑ„äª$â…_þ^ÝöÂz G¸ík– ”ËÑ/nͦ¢©ˆ§XY^TÑ-è¶L7$¿®ÏšŠX¡ƒç×Pm¨ê6dÏà]a}:õ‚÷ñº~ 2äeÂÓ‹÷ñB†IDËüÜ,ò±�be:²šU†xc”Ëê9ÊåÉUØEA–*:ð3<½Šn ²Z¤PyB¿±ð÷"l|/G¼8^–bU’*h'B­Q®XF°3/Á`©’/QV3 1÷ôñæKô8Î� 7éÝÅ1øÞä1 /OÀ¼¼ñk½�7[oùÊ�¿v㌥ˆ½—æ‡÷ÿùKž{ñ%ôsÍ{¾ú½»¯®ËD�ò «[îÿþ{/êDYj]ü‰ïÿì ø«o~�Yq½´,]õ•Gú“ͰÜû¼ÏþäqñÀÎGs¶o{ègŸ~å6{ÿìÛÿø7Ÿ¹ÿ{ï{e,[7>øíÏêk?¸óã;ÏgxìäÏ<ᙋ² /¾ýþŸ|ú=ïÿú?}ù¥c,°ŠœoH¯cLþ#ÿóœsºYéñ ç$¯ËŽcO/C¹ñî$Wµs›¹�‰Vx1é,-Ð/ïæå>^<Ž,;îé%TÌœ‘�ÊØ„\QHçŠæÒÌÉœ-�cǹ¢P$=§P*1[ ž¹(ˆ8Î0ãŽsEŠàÃql·`¿[(Q�ZQ¡Z¡ë`©ŒcA&¿bž=�.X%J ÁÕ­ÀBüoPd›‚²jàuÐ�w�˶Ker•Ðq¹Rt<ÎE8°£àb{WXÌC2¹�û[DYG@"nàxqŒ«ã8^ÝF3xZWæË�ݶ]íD±Ÿ‡ù|ø±ÖYí5ÁM|¼P8ÇžÞÖÉ<½Yª<ñ£ZsüçàÞÒltK‚Lg¨²…1H$çC)èãYÙ0ܢ̎¥¨fÇ&=_5òV$’ö%‚^ÂjCÑÌ|A`Âf %(ñÊ劆I5¶‹¯¶~È›º‚ÌÀPóîf,zF&k­!$Wý"«È>ÞÞÁ±¨9@ˆ—YÝ �> èM¥³²¢ùa­9^]y‹½ï½îðAí¶ã#´T–¨ÇX53Ù<5ßXNÒŸhEHŒ™j0[…°½îmÔÃð´^A¬8nôV6³¦ÒÔ“dP8Š—gj^–ÊKͷýÍw8k7:�1‚"–ãïÞ/è�™[š˜Ÿ]™[ÙŸ]Ÿ›ZXGrG¿#S‹ ÚÐ36½4¿ºoŽiMOTY”Ím7ˆjÍé+é/¸ðŠö‚*ö ˆ¥d+`üõËÔtr¾:ÑÐYŽ_–H%ÉÄí9åxO/¯ùeÈ�öq¨®¨cír”Íæxq´GI~rË�êÍÅ×Ú?èM\BSÎë-O®¤“žÞÕís7ž�Šcð½Ð~û;½¸1·²½yð|¤XA½¼yè$òfJ9úÿÙ{ó/Y²»>ðÏ@­~’Gýªr_"2"cß2"×Z³*kÉʪÊÚ«Þ{õ–^ÔÝÚЀÉ’�@†±†UF€ØšÃØ xŒgƬƒ±±l0fɃ‡ÃvhŸ™ΜïýD~+^VV¾×¯Ÿ~:úáv¾Èʨ¨›÷s?›NM°›þúçµ�|Iûø¾;¨EMËñ /�+*Å ©„ÿ“ØEºêºaC­še©"UªŠ¢ *òT&Õ·“‰µ£ÑZO9L!héÉ)mSoŪšéõÖÑjŸø¼ö‘N´@•¿öEÁ_=²Ú?½YøÆÎÑþé=p¼ðñní�öDk4rÂ` ‡¸?ØŸRY$R¸iÊ}\þÇôÏümí…°Þöƒ:Š^3Y ú¶]ê Y¡|æ«.¿ÖÛ¦w”e©r¿àÜÓï³$в‚¨IÕD¹"!FÝ¢º‰žffÉll;þ\´ð¹ê«?ª}ê�uQ¾#|ÑØÓ»½³×ë“�w³µ­!…Õ/®v)­jØY^k/õÐÍÛY\úEäÕtOo:“Ó-겺[ß®}ô{µ� ¼ ±Éèˆo)nüZCV4 ¯Î—D×ú¥ÉsÉ9�YO9U÷‚h¬+†µ´•ƒÞä> ú´K‚‡Ãß0mޝ#x4^1Oÿ‘öéÏU?€§ƒfNHŒ=½Ýu�x›P8ãy …3!Ï��0Š|™×Åã5jÍAÕŒä*p¼µFªfȬ@3Ê5cøxm?ÂO&År�ê‹L·F¯x¦ë¶�…AŒxE¢¶Â™×åà4A€ûEx2ï³ÍÂô „lØ>R¦ jÆâ?¯Ã�…uίkºšéJŠ4 Žcp¼ŒrÙÓ+):Æ"‹ ©¢™H®â|fB¼²‚0gâ{G/�“oQªÄb}HkE¬!+jI;ÜäxÁ÷LfzÑZtã= gð½¬v¾qã½Ìý>{ã=aÌ_1èU¤àü'~÷?ýÂ7îo~æ_¼ñoE””@ƒÕÍoú�ÿô«ŸZ³&‚Þ²\]þÚÿõÿþ‹¿ø/|zö³‡QÔ¬Ïo}ä‡~ýÏÿôŸhN/ËÁ ?ô•ÿüG¿ø™Óe˰íÆö§þñWþì÷~ò^S§£Wêwþ׿üsh ý³{çÇ~û?üÎïý»O¯_ŠSžvduýª3§_Ä8üÖó¿òþÁ¿ú{sªˆƒ ÷ç¾étn~q~ain~Á3F9ÕOað%WàæŒðô dˉVH±‹*#Œ/|¼ý&Î@›”âÅÁqºU:›|/§X1úÍ�&Î3él¶PÆëà{ó%R>£Êüp*W€_Vaì«3ㆂ,Üh‹¬y´"áž•+J�Ç^nR@?ÆðoÄw.YÁ~î\”D_–9Ü�MA4³)š)‰DYÕyç%ÈÕbYÁîf¹¢•äªJ³T@›¼YcL1ƒ¦ ï uÐ Ï-!^±Ç©TM!B„z<bi�x/ø^¼—ó$ #ÂC c¬£\ÝòxŒ�°éAÔbÄK)VN`8„x9«y¤p&O/¢2 Ç·ý¨³0­§W4dÔ‹ÍW­�ÆÎõ�¸a½­¨ÕóÎ’$L#º  Ë ÞŒ—„(|8?#BtåÊ„.Y¬E’ —ÓMÈ ó$m ¼Yòjf>_Fƒ«Èž z¯RŸÊko.~ð7›í EjÕîćlzÑN…s½³&Þ]ä¾Ì/¯�ã]îõºëyžÞÓ›áØÃ/Ä%±÷þ—T­çét:§éµ�(Ú ;œÉ¤|õñ]ž¥Ud‘âuG¦¸äa¦årºòQñ¯®•¥J*CÖSÃrÈ/£ItmÚ¤²~ð35ü¡‡ßŒ ŽFþ’8 w½¿ )R¬úÓ±nÞ¤�·×ß[^ß!Ä{pkº¼¹,WPûÁßl¾öæâ×¼1¿ú‚ÖÛ²¢bÊŠ’ãŽÀñKNÈG�· Ö(–¤T&‡)Gâ…ûÍ—N€Þ˜é%}¦íÖ¢–n8¹|¥SžªU*JÅ”+Ë4 û�ÿЯüj½1O…ÀŠB%ÒÉ­–ôîÞzprþâîÑä6Ÿœ¿È¹ÍH±B¢8ÞáñùÙ½÷c¼{uOo&W5ý}Úkh4ýAía½åuá'O§³9ƒÚ¿""-SY±ŸåO'{E_N>|¡æ¸tµE“Óè…6d4åB!ÁÈerb‰I‘QÁfAJ´ÚaãçŒoÆ ¿¦=ˆm׋ =H‚7€Þ½Ã[œbE[‡·ÑNïjokïtÿôùx×w¶èàþðdes¸{µ§—ºŠêׇÎöo9ßýFðúWÜï9t¶Ãz»L ºé›3¤Áv¼šåR Ü�œr~@�:é i¤ô=Æ~ãúøA½$Å™v”ÿ4º Ð&‹NŠñT&G¹ô~$RÙbÍ< ûýð3ÚK¸n?cü=à@Qdý�/š=½Ø­[îõ×·öºk[͹nw}Ðë¡pînl¯öwbßëïBÌB|ïÔÊ¢\¾èxt[ûí“8“ïÔ¾&;k" MUL¶ëQ±,Ϧ3¹\AàÞij ZÔ¬39G¬“€hÒ”ôôRÀ„Ч»A±$SóÑã>I”b‹µ¸Â^+˜ÿ%ë[qÂ0nE�6mí ŸBrÊôvæWÜZ3j/ÖGíD�Î"­Ô/s¼‰„ª¨5jÏ'=½¶±’ÉUa³Ã gp¼P5#æŠÇÐjÙ~„]lBÂ>Õê–‡„*Äx‘@|¯íƒïÅ~ºãE%†²3!�Æ1@¿óÒ…DÔB‡Œä*4AÕ+œ… ‰VˆÛŒs›…]‹ù^Ð P;Ǫf‘á ô Ž—–‰V¼´ƒÂK¸ßK€–S¬°ªä+(Ÿó%©P–%E++Õ\1_¥pgz¹§7éãŘ[‹Þõ̳#=½ßÿ•?ý©¯ë ˜­.|ôþ“?ù•ŸþÍ7~öS›ÞÊâ7üâþòç�ʯúSöô‚é¥7*óŸüé?ü‹èý¾ßþó¿Œÿ÷ÿïïýò·ß_Š›~õå�þð¿ù“ÿüâþÇÿþ'>¼> ©ªÌæ{ã�_ø»Ä'Óçø±ßýó/ië²ÉvÊ‘ÚæwþÚO>sñ»hƒ¿ÿÛÿåÿù™OnÄ¿/ýÙèTÿò/ÿìW?Ñ5'n7<}ñÿ·W@¦Ýl¯Q›R—R™œ$«–Ci"dF‰¾ù)<×>#��þÁÜüÑ¡²Ä&ÈÍ™4ƒ^´ñrn39ßDo½³´Ð]çñÒêæÊú ³¸:¥§7�É&q ßáຽôKQ$r�hg*›£:'—Æ”¥”/鯕 ÀZÔؾE+uY�˜ÌLÉ7™`±€ëc¢JXã—É4Ó¶O–Õô¨¦hf6Cˆ¨ÖxþçbÐ{ü½ÄXz~ý²#š™^xwV·Ö$Ó̯ô·öNÁ÷.­moÜÚ>¸ÕëïQSÑám(Q7ívÓ[(J~P_Ø?ús¸t_MÔ}YVñç›MgËRÅóë¤Z®¿²¬zDzOXLƒi›,ÔyNsI@‹ ¼�Êóõk�BIÆaX×¢¹UâxS鬬�¯R7b•®p±,;nmëñúÃ_iµº¤—–+dáNN9–7#·yc‡Ô¹'ç/R¸×î1x]¤XaŒ ç³û/ïŸÞ£²Ùãó)ž^âÀÅw仵¯Å‚þŸê߈o\Ê"wª§¥TQ ×Mç²XF\þëϧ´Ó|Å0 „/ ·EÀÉ›iO¡Þ¢Žî2õ÷ærEÃr…eW¡­ü!D'P6~Ñü<¼õþðµí ÀÇ»µwzpv¿?·¨Y,I£SÍIboNÈìIš!WT!‘�0å�·,žâìºt–zÈ'âdª¼µvg²9Û% éuEÕs9Úd©(šíq»Ûè.W–éûéèý×Ö·ô’…ûae8{z;Ëkݵ­�Áþr¯Ÿôôv–z+›;äé ç^·×ßí,®Î-õzýÝÕÍiž^”]‡õÖë#Ðû?h_Oß8ÇÇu£‚+�<·Vnm˜$Øì±‰$8^ʦ†«e&•¹IÀ“S¦Âí2ÕKÊQ%¥EÒ�i¹¦MщiRdÐv'¶öæýÅ_³¿SîãúóâïågDìßeÐÛš[®w�e·ÖÊ�Úón�ºy�x�B¡d¶¼Ü/s¼8˜¹_Û�ðØE­ÆA½ŽwdD¢Íè Þ¢º]áãE­<½â9îßK±$ZÊ%Ä+¼µ^POò½Ð!Ã3…8^ _îæÇ‹ƒ�„±¼aU³"8Ñ{Dœ­ø,n*9ŒÝ„<Ùƒ¾ðôŠÐ¬¢PØ�.J*<½XÆ|¯¬€ûMúxAr0ß 4‹`g¨”qÀ…Pp¼e¥ŠŠ£Øß;òô"(+æc„zôrB7½ë™g¿ê]ï¾qã½ÜT”OÄ%L¯\U WóIðU7œšëºUåBV]–¹jzµ|q0½«Êï’IµLËRè]ôO–Cÿ7t=†»ŒŸeEÖý¨Õ =sìŸdÍÖµ‹))þćN—åÊ#�Z¶&Ÿ¹ø9M³œÄ§J'l'ÿiÂçNü£<}ñoö ܼ9û¾çnÆ}¼ñB¢LYÍ3£|æÑx6•E°s}¼ñ 5#ùÆíD"ˆ5›£Ö{iöô"Ÿ™/�*dÏ4Îæ1¦+¡jŽQn6Hœ/I\Þ‹ã³…2øX6#1 ,¸â’¬µ’ªYª”d%“/Q¨€Ð®Äðx„~‹RŠ Ô ÏçïɪŽ×Qæ£\sÏcF¹@¼�Á¨º…ס™©VQVK•^×(LŸbÅMRg<'ÐGd ¾\dê–'+F…q<ŽøçÀCV5³êèdj¢åÖå …³ãEØyå¦"” ¸~ÜD�B)¸±€äÐ#”[5/¤§2Úêk�¶#šë!©â1’$§{z3¹¼aÚa½5øzç•_­Ÿü€ÛZ­ûA½˜¨?I¥s’¤¸"Å„¨ J–’Zä](Ù@rê¦]i·ñ’(•QTí*¸Â¹;hú)KŠe{²R…®µ,Óꖃȋ Éz§~ôE÷•רý,Ñ•®GtÓØ2šAowmk~y�³š1¦—uòúÖ;Kób½ØY\­w–€xÛ +Ó=½ÌdR“.w~¿ÿχ‡Bœ ‚ÎçK†Ð‡—dEˆN Xä%qH-jŽ”¹"c{òøÙÞDš®5eEew_._ÔM[Ó­bIÊäòÙ,5^Ò®P· _7²ç•+ž­}È}é_†·ÿ¡·pP B¤bÈzw÷Ž¡j¦TáÃÛ+›Ã¥µmd5¯ö÷8¹jes¸¼¾³{tgûà*ަ{z%è…õÖÎ7:¯þzãè»Ýæ|Óõ)„‰Ï[°é"¾»T–EôCPÞZ°Lð«^ºÂÂD:¶à&¸å|MfÓYY„Äʲ Y�¬Pf¬¦[”Í+VÛ8ŸLŽÔéíÕúéºïÿ×ÑÖ§hÊ!ØylÊ1èEÌ5å3ß}ikï´?<�ª`·î¿²z’ÝÛ^ŸoîRDÓí¯N—7ËJ5ÇÎÎ�ëçiŸ¾o"Î'Q—JblÓñE<’œÎd³¹¢¦�‹½¡ÃÎ[JŽç*µ‚Mf†ƒ°Q–Iy B³ZäôÒw3›Ïæ "F«V&+o‘ÿˆ³) ‘öƒú‡õ;¿h~þûµ�oú½°N»ZéKLïæà`cçèðÖì¤lìAþ ýá­ëÛ‡«BBxëÁÚàãáñùtys._´Åú9íÿ»õí߬}P†5ž 7gÒ™l®¢h~iñVK–nzÙ€y"^©W°<š!ô-Šy’_j~‹e{¹||MfÄEâI©ÓO`9¾ª™Ât7u‰”µ‚íø›þÚjŸø)ãsÑdüÌ™=½ÝõÁúöÁÂê&|¼ëÛsK½ŽhC¹í…•ùå5ð½Ó=½©4±Ðµ¨ynü¤þÙÕ¾þÔÞEÚçB! Lèúu �³FQgdÍåëP‹šqæüñReTY¶Ý+¦´#4›/P“¹ªÒ…ÂGP ¢W+KN7À䔫ÿšvÿ—¬ÿþ‹ÚǺµåiþunäâK{z—V›s„x½°Ao{(cp¶�Îb2¹Jø†(2cÔÇ„ÍP®éÖ¢Ö\Øì˜nÍò°ÙaÄ£\Ñ2Ž·j:¬jÆ3º-Œ½Ç7®•=½†ís­¢.b±oµVŠh Br”n�ŒA�ŒŒ�x�fM'H&Wñú!ÏX i†ChV dd5c,):!^ͬêTxc«2N±BkøÛKžÞ*�-É¡ËÚCöñ ÃÓ›T5ã½²ÝQfM©¢‚�½Œl‘Òü®g.2œ/�oÜxïD ñWzŸ¢»§Wà¿â+ð¾çf„˜‡Ð,í̬¨/€–ÎéŒèyzÁñ²+VW”áÌ(=½¨!ß;“Î¯Ž©šÙÓ o&_¢ž^�~¡p&ô+H` ÜT6Ïþ^l’áu`T¼¼.”Ì@¿¸§¥ +Ÿ #D¯ãÄ7# _4‹æqŒ‹Rè?>^üøx±ˆ{(a¼Bî}Í,J*|¼¦�Ð…rES5kLÕÌw|Þ×$U�ð÷‚rÆ*^× ‡'B&{zÊ5lŸTÊ"ø;¯UÝFO/ûxQ6ÀÈ�,Ñ–�G”ëSg áøðÿ`?¡‘À«(šKa˜´†#ñm\Èy~Ýñj¢6é5ñÁ­®&W�¼ºJ“?eY‘Á“¢bÊÎÕ-Wø*c<Ë•¼P\‹K�L^Ü×z±Úæ#“ž^tóñBÕ O/ø^ ^ð½�ÅUTMñô"2·*úNMkQS7ØùÈt—/›¶K:çJ5�É¥Ò9¹R¥ÚÏ îz-y«&å<‹Æ#¼1“#¾î*/«P�Ck± C5Ÿ/i:qËÄ#%/~,%HU�`Tš„ êk)“çÌLïÒÚöÚà*S´1¯;Ø?Û9¼ ” U3€·ö ý�§YË2O ñŒÊ² LŧšJe…‘/2LJíâÛ²nPn›D"µÛA`Ã6A�+ˆÈâ™Æƒ°Þª(Z’ú†ìœÒŒÄ¶ŽMQÆ9uæogf3"ß(»<ñ”“•jàá´ÙÓÛžÝ~þäüÅ­½ÓÁþÙñ�Žï¼Ä{rþâá­Èj>½ûTÍðôî�ÜÝÙ¥¶§ä¥à¿ þÐ#»2í7‘,B·.I…3…‚$‚¾#©¢ŠS‚sñ”©ÝjÕ(¤ÙôÅW•¬òÄBNö²z” ]¢ç‘àÓšrI7mrÝ+;Çg 2+’ÌéÇŠ¬ò@$–ÀQš|<@ï`÷èàì>8ÞþðdÿôÞöÁ-¨š ÙOØÇ»¾}Ž¢ƒÍ©žÞ¿=/vȇQÓõBa ½À™ôK¥ÉÎMýä"÷FÝt<¿î*Öʲ’IÀ6*"A€—ºàfiʉ4&qA¨ì>‘t†Šy\�8^lØ%7P� •üŽ8nMªPä_1 ˜é%¯èæíŠÜf$W‰ çáBwݼ¨5Zè®SOïú ½°²¸²1¥²ˆ´f¹¼n9¬›9æ¥èòL±$ L*7s IDATT’*©T&“Í‹H3Jé÷^˜�àãeO/Î8ì°{Až^ð½À¥‚ä—Κဿ eŽ—¹\ж\3¤s¼ÊÇ++´ËÏ;þ´€IxzaZ†ªcY1ÀñV ›|j£|fDLÅݼ#ŽF6ð½€Ç8 -ÆœVÅ/”ÌP5'9^¼ (—iF¼”8#UÆAoÒ¯‹1g8sƒr›Á÷>½¯ÀÓŸ^�±+O//ø^*ìÁTàuáéeŽ—ÑïâðY>ü]œÉð¢ÊÐQ†3\¸©\彄TsV5s¢U&_K±‚ªÇñŽ�áéEãx¤)¹Jª€Fæ10*{zq“!,«z)V¢mœ}ÌëVªÆe¥ÊÆIÑÆP.#q* 6Pu i�·ðëâF�›5ùx…û…“«â>:ÃÑ…Gê \xzñµâ'\ŒMjÛ¯k:�0²šñÇ�E P.?Ìð@òâ~Ñô„Tîÿ£\/DŠ•ÏèW³\�€�ÝZcº§w„6 hÚ�5Ÿ/_ÞÇb¢X’=?„ýLÄ5QQ._"�Á¹,£…™ÙLE©:níªÔb"“æfGÛ7”éây¡nÚ�źµäRó_œ°.UTª¾ÈRÖtòŒzë�%€XB¼­4ñ¢›wnäéí®mµVp°ðôwv’ äØG¤3¹|¡\Q4E5Ð34¦wÅÒ?›+¶G¼%EødS©l6[ ë–/erùTšl�ü“É&'o'Ò¼Q£m˜/£Gï"‘m…ˆJê4’+UÂÀ‰Ÿ‰ÃðGÌåK2�°^,SÛ #™Ñ�"Ê7öôn ÑTÔëï-ö›»ÇP/w7v�åàãe…3h·­½Óéž^ìdsÅrYQTC’Õ|�¤ÅÉE?N&•Εˆ�=?”dà·l.OSNпbÊ Í ÄJÕN˜È¹Á„™üL¹l®¨–ë…ÄñÌb]ž¼ B9œ/IEÕ%Y-$ÏÉÃØÓ ” U3Æ[{§[{§cˆwÿôÞæîñþé½³{ï÷;EÞŒ¹”Îä "•¦ÍüX)š< ìIQ ™ê–ƒïf&‡)WD×®øÝczŸb½É>>~ÀjÎÄ&>÷ EÑm×w½P–Õ‰g‚‚|ß�²’¹|…z÷�nÄö‡'h'Z%W1âÝ?½·±s´ÚßÛ=ºƒÈ«^oxp:%ÈŠNƒLÎŲ¬*ªQ–IÁÛF|ép¶’ÐÒ*•ãiQ—€)G-b£:nús¤2’–ž8å<¡_¸<åò…²N;a¡Z5‰¥Ý„‹;_áL¶ IŠ¢êe™îrxúóÙbÀ w¹×GrÕÚ`>^Êjîï.,¯Å¼îÆöüòr›yµÐ]ŸîéÅ”ËdiÊ)”`¤‹ž!*Ú;�Y‘âPÈ|¨ñ”£Tjñt `öÄuCÆ2ŠÜ’lpbª©V ñ– J<åTj׃•ƒô“îr´%‹Û²¢ã¶Ì¦äiƒém š(ú©Fg")?jry¯5ë�t !Ñ ˆ7lvÀ÷BfÅ|o­Ñæ+>�fN±ò£¦å…†ã;A]”Ó¤MÏzðá›.�¹Î ä3¶ŸôL1âeô˪fÈÓh‹ôBò¦™nr³žµo@¼>^q0�0#^ˆ¨ÙÓ[Q�rEÃrHVñBÉ b–s›¡Âƒh¹4’ïAˆåÆÀÌùRÜ`T(Ëàr¡—Ë>^,ü˜×E7/o¾DÉ2¡@½Ï¼ûYN®J*œáõŒ0[Ùã?Ÿ2½/ËÓßÉW •Î>÷ÜÌs7SŒxŸ»™BV3¡_Q·›D¼à�ñâàØÓ{3�Í�rá¨aîJcð½àc ñ Ú–[‹ð:L¿—y] ^ô÷R,3e,SãÑÇ+a¨—A#0hÜh`úŘ9^ü4öô⦆c8� Éñãî —Ñ//K_°¥'«:«š�xqd]MY©r*U¹BCº€1ó½ÜMþ6Vòˆ=NÞû¬¨|¼PDsrH`Ç‹Ð`Ø~2¹*V5‹ò^Ô ž‘ëõØÇ‹í[ aGä6£»ODð½ðî"Ãc ^Ȩ°y\k´§3½XÖPú+U° ¾¼-¸sÅ’lRgc�–ky²Ú"�dlT*W¸è‚—2<@|G1a!2›ÊKÅ/QÍ/­ÑW™\¦$ÆBõ�£½Ä%þéb�Ä —ª.r›Û‹1â¹ÍK«›XFíÅîÚÖr¯ß^X™âéÅÇa1-ò™ èùœx wÔªá¸5Ûñ)êv”3vÝÒR›“:7!ªäëÆÇ$H¾9CacàU Ó) \1öcù¬D†|&“%Áí¬]"ÜpdÌô>^ð½ «[Û·€~—×w†Çç[{§+›ÃÕþ�ûÛDW^åés‰(/dŒÄµÄÙfÒ™\Id úšÂ¥0ß.m.�’–6Y® ŽH¬è™‡K†D y%=jÕÛ=±•Ï�b«%—Éå±O1ñ ³¼™}¼g÷_¯ÛžÜºÿÊá­pDߺÿÊÁÙ}¤aß~ð*™Žn?¿»GÕ;™^œ‰fYL9Ì">ÃÄ€¢•r¹¢ªQä«e{Ào¸t‰ÃèšS?“IU(a’r/7¾äó%U¨3u“ 7YF'œ2L¹‡öw’gл»º¶µ�F"Ê ßÚïOp‘ÛŒ‹¶68Ø=ºƒÈ«µ­ýáñùtЋ)GAŠR�gþÄ¿ 8&'2�©rLQÈyË·¸ä[h›©R½,¹ço+*Ù.M9’± ñKQu¡«¿jÊÑNV:óˆ)Ç wny íDó+í¥Þ*¥ÐÇ;¿¼†v¢¹¥ÞÜR1W¬pî®mMazGAHÌÄÍ6MYqÉ?ÜhL+ä?Ô€e‘„„Ÿ£câïx6'öõ®žr¦å¢q:ùÆ|ABÓ²nX…m÷$ÿÉ#as ïHŽžcwK> ·5·Ôœ[ÇëÖ­ùeæx�~‘\Õè,ñÖ톈¼‚òMEìãµ¼Ðö£°5¡²Ô�Ÿ±[�1ò™�x/s¼¨5¢×Ç«Žø×±EÎݼX~xAÕrk€Ç=ˆ"ƒÓvC¬. ,ÃX!ý4E^1÷‹M ßªnc—„0¯y€Â)Vx–],{**õñ₸¢,Î)œ¡¶ƒ"ãJÕ(Jž^^Îq7/Ð/ZˆÄÁ”ÛŒµ"Ð/'WAá\VªÈ¦a/+œÁñB=z“~]tó²ªù™w“¹÷™wSŠG[M„1OAïÄËòôÅwò¸ysö9R8›Ž7•¦GÝûž›½y“"ñ:’«èV>J®JŽ!0ŽâúEyo*›ʽ@¼£Îfrðñfò% pÎæa¸…ìË‚¦˜«l¡<›É�ÂÅñØ<#NX„9©Ä’S1WL"^ÀcÊŒÍAá‚NúxK‚ËÅë¬N�§iðñÍ¥ (€b²gU'³G2ý¯(Uª†Å;ˆªnÁRVªUÃRª¤pÆÍZVF[’£F"tßÅ™„Â?S®hì]Áþ%îø „ÁÁ"Ú!– Ó/?W d†‹ÆvCì¶bGcù&/`ðñbû6ÑPO>^øuQˆ cƒ¤gË ™ãµýH·=/lÀY4ÝÓË+€ÇˆtœñB')+UÚ�¿´ * 0úxQ‘Šþ^4d¢†9F�ªUSDqúlë}ÌSšr@oŒfÇ Q_ÔZ %³è´D•òN�åîÚÖÊú 9×mÍw§È›§|èUÿ”ÍæËÂ%è¸5M·hË€d´�=êˆr|(�ùº…õf-j¡œF$6±Ê”‚[d¥ª‹ fµjüÈŽ ¯:Ÿ)¯³§wUp¼È[ênì.‹È\xw»»@¿@¼»Gw6w©7ump0ÝÓ;ås'þS*�ÍJ´MEêz—$»âFš<˜„Í•ªçG§œDjÕSKŠ’ªÑ”3mJüº¬KOþüÇ3èíO¶öN¹‘h°vz÷%„0íÞ9»ÿ2.|¼ˆ¶:ºýütOïcžCò°l® UȘê¸ ¡óqLZò˜LV„B ÑûÃS®Y DxêÑÁ»R™\E©¦ã¸”ùlRHþØ·:èío$ÓªûgG·ŸgïîÁÙýµ­} ÜýÓ{«ý½ñŸo ö¦0½oõdR¢°× áDÍ´'›,„¶BÔíˆÖq¾tµ¨‰ _E¥Ä&f´©W–5ª&òMaÜx[¦{zW7wÖ·ÐN$ï§Uõú»P2¯oíᦷ¸²Ñëïbkï‘ ÷ñ¯ÞÌ,mµÈ$ÛŽl7P5W€/~zò J^·°Þ ¢¦a¹dÜ¥ý8 ëL6›WÝ´\1åHàpIêòÐ]ô1O wai>^?j6ç–¢Öûxñ­5ÚàxÁåâ`Ë áݵ¼Þ]N®‚ª©TŒxÝ=Žm?J"Þ¤§W'ß%Pò.¶-p©Aqì-l—³Ý «ôñbŒ`gU³8 è{ëP–å&7è!"ã]~øx9»D¥�¼æ²­êvQR‘B›/œÐŽ¡š2ª¥«PdE¥Õ—°æ&“«X²‡%–vù’$«:-áDî§™âu@b,ÿ`Ó%ù ágâuXçPíŽè ÄqÐûì�÷0ÊeïeôË!ÏaÌSÐ;ñ²<}ñ�|Þ'r›�l™ï¥+nYáë—„ìy´‘9ÙÇ Çñ⽩Lžª&…ì'•%†/ iÒÇ;›É!ò (!U@Ëé\7‹$úc ¤Šp vÑpÓÇ[(Ë1â­¨8[tà��~Ñ$Î7&p¼¸Íñ¾¬Âœh…Z#ƒÛ%¶ôF·H¥$S¦yweµ$«ªFݼE™|¼ªf‰mHáé5lâx+ñ–$9ÔNd8>^1ÆÝžÜñá×Å?©p®êô3y£íD¬vâÅG°wW©šY°Ä>^/¨Ó“Ætm/rŘá Ž×)Á"lŠ×]à  [^Èž^'¨Ã8dºµG2½�¹DH–Îd%YuÜZPkˆ\e,¾\•®‰­›ŽnØm:è’¬ä jd¡9,(ªn;¾ç‡°˜N¡¹’çð8c€^øxáém/¬D‚ã…’¹ÑYž_^[Y´æ»èæ]îõ�x»k[Û;´’ž"o~œsH#(_Jý!«›OULc ßRæ•U×tK�/°U”j©\n@B¼ðÚ•¤ŠnÒö†ãb…}a�K~èŒz7ûËë;œb…nÞÁþYwcwesˆ|¦•Í!¬•Ô"³¶½¾}¸{tg°{4�é}‚SJgr²¢:^-”\®Œ-|Ó™|YVªdÎÇ”sªº-+©FÉI©t.›+¨UÃv}Ïã)wáí|‚sã·$=½Çw^8¼õ`cç}¼£�hïäîæîñÞÉݳ{ïÇ¥¾;‡·§Yñ§¼¥t§îÉC.ª˜rq/~Ž8 ¬¨†¦[†iôm�§5«‹„ašr© uÜÉÝr\/„£2››l+xKgˆƒz·…§w°ÖíDØ&à´*öñ�Ï{#Ä×Mõô>ÁùÌÌRf¤"‚ ‚°aZ®ÈK»ÿ3³éL6/ÉjUÝåL[L9½,)TŽ-R¬[KÊjãžWÓ Gxò'7žà<™é¥v¢•�¹8¹jØYêu–×VE>s{quNŒ»ëƒÖÂÊ\w}µ¿»Ôë·æ»+냷ôâüÅ.U[û5šr—oMØSP«†fX†é¦£–Z5åJ56‰ ÒÈ%Y1iÊEÔŠ\©fG_ä'¸Vco�Þ5'hxa«.šŠœ %3 àu™ã…§(€–Óªl?"ŽwÔN„±0"‹MêJf¨š¹e�ûtÛÃð˜Æµíh›�ƒ:ìã…_7.ò5ð½D‹ ‰xo]¼Î’4ú #U3~¬^$TÖi™„¼èŠ'w&õnÈjÆñP8cÙŽªi4 ÙcBÈXqý‚“@ø(ê90†é7n'KG,í�ç^¯¬êÌŽá4E^±u«P‹AJïOïÄnÞw?{ã«Þõn¢xGÎ,�~'ا¿ûÓ+ðøWݼIoñÞÉUÂÚGIW³©,£ßT:‡1H`æxÙÇË çÙTè*h"„sEF¼ðîÄ ƒïÅë@¼ñ˜šŠ(ò.•+€ãÅ8W”ÀñBÕœôñ2âÅ-)™ÛÌ‚F¼¥Ê¨IœbØ/Æðô㎆"_Sª¨|§Ãmñ!Äó½„r±Ë¨TiŒ¬æñVª’¢aǘY3 åÆ>^�r‘Õ ôËê�‹»¿8åCP/Ç)VœD¼H®B?°éx´\¸n„` HµxŽ%=½Œ~±ï«Y®å…”Õ,²£9Ù‚/ú…)i0ÝÓ;¶xÌÿyä %©B‹,¤6 �ÊÈa.J/Ó™¼ø?` I?)¢ dë1(fØ«a-.VØX¿ó4y@oÔ^lÍwÅŠ0j/vW—V7‘\…3²š—V7—V7ÙÓ»Üë�ðô>òÆ=´$Y$š±J½/"ËÊ#Ƭ(�ø%©9}ëé‹qÝ29h³9’>TuËv|z¯íÑ>B¾)8ÓqcŸûVÿ“=½;G[{§=‘ÕÜžlÜZÙv7vûgP8#X]©H±êO¦{zßêÉàxÈzÉ–)UÈ D…Ùº†.M¹lŠøôÿBIV«˜r!)WUMèró—yã';Û3i½G·Ÿ‡’/ÒªvoŸÞ} Þ]$W�ïE©/2œ§{zŸìÄ $³íù,dÚ.ɹ qa]ºL.uiÊÑ•‘ur¥*ÒÂ#–µc$Þ“�!WíRÚ¡Iò-’«P愦"¨š‘á<<>�k�¶öw÷OÞF¦79år ì�Aš²¬4Ý’*dOÀ]9aüm×0žrÏ«U“Ü»^èzµŠB Ž“ìOvézwv÷—DSQìãí®úíï®lîP¢ÕòÚÊæÎÒÚV{©7×]ïõ‡‹Â¼¸²ñHOï“�•À«¹BIÒ ËóëHþWTƒEË3änÀâ¡»¦\^äè†%|é‘aÚe‰ÞÞ)7òôvÝZ³Þ!Ž)Vðñý"·Ùö# a/lÄݼ­9 \d83âß‹c½‘@¼ä×…,+©j6Ÿ+8^BÅ#=WàÖè㪦cº5‹.w@ðªŒZ]”Ë)V–[ƒšŒ“«€Tñê–g W0Ö6 „'®�áÌ610¨xdU3lb€ÇàPeTªTcå�úq¢ÔÎXÎ!¢0ÜÍ‹5!j�’kBŒÁ‚ÄcòÌÖ9( q+Ç™^N«è÷8^V5ƒû}öÆ{ pþªw½ûñýO�|zÞÉW€9^ [¨šåŠÍ` ‡â�9^Á÷2ú嬿›3ÿÈèW< òÈÁÊçË@¼éLžÄ“™¸�ü-|¼Ìë²’Y$P�ªÎà`ÙÇ „|ñfò%H Yá ¥q’ãâÅ- 7´ ñV> ݼ<ædÎèÇ ôˈrn-ªT‰ã-W4B‚w-ÉÕ’\:-Jªðñ:�ÐȪ®ÛnE bйP;C¨#)º¤èHq€�…Pè(·ˆ´"*×ñØ€ÆvC kÝòð¼Aš¢í†pΰÂ>^ìÂrrUÒ¢a’'”NUÓqÊmÖ,W·¼ lúµ6£\ȱ°7Ìɨ=Õ SzzM“ÉdEÓ â‚5vW¦EAEYRèu²ãRĈa»šn+ª!Ëj¹\)–äRY.ËJEÑTÍ4LDz]’•ZžnÐaÅ’Œi SªT‰ä´±./_gU Ðۚ2j- �ˆøÞÖÂâÊ¥¿Ìw£ÖÂr¯ÏÜowmkiu³9×l¿  w6�-–$¢Ñ,â)Ý4MËâl®@ñ0ªa˜¶e{¶ ”¸ª™²¢•eºnÅ’T’*R¥ª¨†nX¦åZŽgÙ>q#š%IJ¡HvJ�ë2…’TÕLÃ"Ú¶á'¾t½ƒ�Cd5£©ˆwy}ˆ·»±‹0!¨š{[{ˆe"Hüv0½ØÎS�¸ Ë�»R¬•IÌ"ɪfئåÚn`»�i¹$% ”)¥T–‹EIL9µ¢hUÍÒ-Dz=(™uqX±$Q”‘àâ²¹BEÑÀ8Ѻ<_zâëÆòæ£ÛÏc¿íD`ËÑÇ»±s4<>¿uÿ ÜýÓ{·î¿²{tgkï”<½ÃGxzç ›JeKR…h4L¹òCSN­ÒwÐt|1å|ݰժY©TË’R,I…’T–¹¢gÚÂ}Ꙣ.»Z5KR%_(‹øbÚG(Ò”£OÑ šØSMø� ²§/¶ ˜ïÝØ9ZÛÚß9¼M>^¡pÞ;¹»wr·×ßëõ÷öNîîîQ`xP«?Îõ¹êRçæ‹Š¢ë‚~yÔ”&ZaIFISÎ Ë­êVE¡`3šr%šr’,¦œø²�¦œKSN¡(À¶2¿&¦œ° _uJ�|}Äôî—»¹³¶5œÉUÂÇ;l ¾wm°ßÝØn.¬t¨©ˆos¾;×]_ÛNOo~ä§ó)êÖVtL9�êÓ°y—Í‹%òè¦c9â.g{ºé¯«ÄS®X’ÊrEVªjÕÐã)ç›T—íPË`YL9ØF»,WI’àhºUû‰¿­#Oïrs®µ�r›sKµF(>^H¨šsK^H¤+ÔÎÜǵçM·d6;†C¨5zØÓë…ôø†üŠΈ¹Ò(A¯áG”Ri8>gs$w´ñºå…H¨r}òñÆ‹áéóñ¢¾*ô ‚ƒ!LèÔp€Ÿ‘· í4,+œQq”ËëðÀ±X8�f€ö ‹(a`…Ï-W4P ¤v–pÐ$'ù^V;Cë94ø[ÂÜå�å(±P#–˜–¬pfÄKÝ™¢µhôÞxÏß©šc^—/|¼ÌñBáüN†1O÷§Wàñ¯Àûž›}ßs³ €x�f‘bE•E3ˆ—¬,£¬fŒ‘½ÁY£²íefE%ÞËcÂ"š27“¢0ç\QB´`*ùx³yˆ=Èß+L¿é\$p¾$ÁÇ{�rETʈ¹‚zªæBY!\’¼žT8s;Q&_‚µŠèäžÞ‚hOÞÅFÁ}Ôô‹Û$Тyˆ" âMAÁñ"!°(©p›TT ÍÇŽ#Æ´ã¨[ ¯[µUª¸YãMòcÓ�séüð´`ψ„0ûxA�x ÛǮ꘣yØ …ÂYÕ,Ä\ñŒfðôê–Ïö}5Ë Â&Åb‰hè lÚ„Psoy!LDx”bó»ÎQkîÚ 7C]”:=ŸQD �¢»Ô"th…‚$ÖÊ&™¯ë¸5ô7"oÓõ‡v�}èN)·HÕ²4’ÎäDT õ'¡ø×¦bÕ'WíôÆ>^Áñv׶嶺ë˽~£³ŒnÞîÚVÔ^„§ˆ·³¸z}O¯(ÑQm7 ›îÈì'+ÕįLé/%‘Ñ ¿ŸK¤)–m×· ™øŽ[£8"×fEÑFÛ¢ÜR”{—Îꊪ_ΧåEêô@ïÎyt—Ö¶�r—Ö¶ÙÇ»¼¾Óñ¹›»ÇÔT48€L·»±KáLû¥;%Èjú§ƒCKgò¢ („M×HbÊ¥84åÄ®�\©’ÜöÄU ǦœCA¯5Ëö4�€G™’¢ig�Êé ¥…»^3„ Ûñ“VÌGžjò½h'B&óæîñÎámŒ7vŽHÕ|ÿeùÝzpëþ+ýáIxr|ç…Ó»/]_Þ,¼¦TP$œáÍ l¸^(É ~ed#åò¥2%QšAmC£)W»<å ÓV«†¬Ti›@„´ã÷�™¥ä0ÀKSN¸Xëpø'/Èã�z7ûc>^êã(ˆ—UÍðô®o�Ïûg×÷ôŠM–‚N¿RT£ŽYÚ^4,‡KqÄC¶P,ÉØ¼eÈøªÖ°ó‚»œ˜r�i{UMì©sò.G%@Ôú¸Ë‰{é˜=äñ¯{zW6wÖ·öæ–zÈj^Û6Yɼ¶Õœï.¬n®öwV7ë�åÅ^¿×ÂÊq}yó,õ±ëˆ‘Ã}ÛqkŲœ¸ËåóùRY¦´vÝ NµKSŽvKñ°»0XqV×C`/+UÛ¡~ZºËEMÏ�¤ŠÂŸòø Gô.v×£ö¢íS~2’«àÝâe/Hר57æéeÄ[k´F¼ÄÓ²§×�šÀÒšåúQYͺíõ$МӡYäZBÌUÕt£e8�E…!!¶ÂÓ«ŽK­�”�9¦jæ+öñB™ŒMy VlÊ3â•ã1Wü½šéVuÞ]Žÿĉixz±FR5‹WbByGâ>¤®€›å� E*UhN0-J´äCc%P.ºŽ°LeO/u¼ÈBBP;„xeM"ã wÌÓûÌ3æœL®ÂÓ=½��žùô ¼C®(\ZvÜL#«¼.Z ^!Ï#ô‹*#áXËàæuÁ÷2âÅ1Â¥VŠÎˆ*pÈi‘º /{zâ%’‰V(×E•o*K)V¸q�ùxÓ¹"h[¼N€öaÄ‹ŸƒÜfŒ98‚¶[ Ñ MEÌëâN‡-:öñ˜Á·Â$â•U¨¸$W!Eæûìâ9«¡` IDATž^ä%àž+œE§.+œ9ÅŠ3 Q®›Lt�.\„BrœD¼UÝÇ‹$*P¸@¶xöàuð½x€™N4ËÂÓëØ~äuâxE0vjM'úÕmå�0ýšn ›Ä@¼†´ç–¯ z‘ä×�NkýCîÆG]¬l Ûã„»h•À„ÌçË…¢T($þ_”òùr6Wd•Z²7ef6-‰4Ô¨Ñê½ìõ¿Îm.ÓzÚr¼±ÔÇ_ÜôvW¡j¯[ï,AÕÜè,³�·ÑYn/¬,­n.÷úõÎÒÜR�äÍÛ×õôRJ�í…õÖÒmë“ÎÒ­MÈ\¢ËPD#ÙL¶�Ï—ó…òøu+”©ßH#9¸8�Ür†éÔ¢æÂQmë“N÷žOŸD¥²üø×*y$@ïÆ)™‘bµ´¶½Ú߃Ây±7Xß>ÜÚ;ÝÜ=†�wûàÖÆÎùöwˆ®¼è¥e´¢a£Õml|­»þáxÊé†Í¿urÊ‘â Wœ6åD/ö YNÅÅŠîyaÔl¯}ÐÛü'jÚ1¬Ë¥P� *qõbyó.e CáL±^Çç'ç/‚¢Ü?½wrþâîÑ���££ÛÏßyaçðöæî1<½ýáÉ5A/’„¨p·Þºe?¦ßßsû„ß‚ˆÃÒžr¹L®�/”óÉïiA*¥|<å„ü{T\̼µ¨yèlL¿jï„õ–ë……¢”œH�?Ž=½{duF;”Ì;G½þÞöÁ-ðºœ\…­(œW6‡1å®ÃôΦ2jÕ¨…�5¯÷1ýþ‹æ îrjÕäß"1åÈ‚”Ë—è«zù.WˆïrhÊIÞåħ˜žÍE 0Î>`ÜBŸfXO–e0bz÷{ýagqu^𽫛;íâ%ŽWðº«ý]âxV{}B¿+͹îã¤7ó¯?q wËŽ[ ë­skÿcúý-wQ^bwž¾8bÚPõˆþ¥)7ñºåH­–‡ü›'*>7OÅZt/=µv>¦ß?t¶ÃzÛõj|/�xzS^è�_ê ÄÛ�ªÊäzga³Ãݼ„x…¼.@,<½À¨àxb¡d¶ýÏèQ7/¡Y~4'=½‰+:i”x¯éÖ4Ë¥±àu‘>Ζ¯åÖ 8Ã1ÈÅĘ}¼h'²ÅRªfŒ1ëÚxÇûõ-ƒËÇ ¤Íˆ‹¢˜×Õ,IÑ1Fy/”ÌÀ«àxÇTÍXï!Å ëÀ1Ž÷ñŠ˜+ \ùrT*/2sE‰Î<½ÜÓûîgo ¾ˆ}¼ÏÞxϳ7ÞÃ|/�ð;±<ý5Ÿ^�k^q»Ï&}¼ÌñÒ�}äéÅî\‘m w)Ÿ!�Ç áP.8^ŒÓÙ|6'4{©lF@S ÞL¾õ2’«àÝ¥q¾œ=½™\1_”²yR8#–ªfÎmc£b‘á ^—/|¼Ø�ã1ŽGê2P4¶÷â>^!8I6Œs6üXÕŒèyÜ+1Æmñâ)vòˆï¥|f…Bª4“ÂÈÇ«Sywi\%¾—Æ•ª‰4$МbÅ7qì‰"¹*~O/-Ž�ËîÄëcž^ð½Ð#%/øaÎmæ F¿ô0³}lÙ’�—úú\G _òÞ¸5¯Ö@º•éÆûÁ¨Cà'%ζAu}ЛJçtË©…�Ãà¼öæâko.î«ÖÛžM n�7d2'Ÿyâÿp»ÑdÆ‚&¹"™™ÍTuËêÃÏ9_û'󯽹xò}ujQ3Ÿ/%�|ü1Pk½³”ôñжæ»õÎÒâÊÆÒêfk¾ÛœëñrŠÕÛâé-–d× —΂—¥þÚ›‹Ïÿ\­Õ¥nfÞÆ~@ßK×� ½Ð03`K¾±P”7h­FÏÿ|íµ7_þ•úâaÖ›Šª'{üq z{›»Ç[{§«ý= ßþð/zz»»(’�¡M;G×÷ô¦39ËöjQëäKîko.~Íó;׉mÇ D‰ôCÓ‰.ÝÔ)wù×O¥³TUkì[<±¿@Sί5"^~×”W’ž^(œwoßyE;{'wOÎ_„üàìþñ�àé=ºýüéÝ—…}MyóÌlº,W^ÁC„ ÄGü‹¸öñšN€G’«¸ÏvCàgäI`‡ÉUpÈ 1­x,‚�P�^>z°NÒçcº5 \(œyŒÇ¶à{É D’­öu=½éLÖ´ÜZÔ|ÿ¿ŠzŸÿÙZÔh{~}4?!¼Ú€Ø¾X’ŠeY¨”©²‹ÿul0›Êh†å×ç?îãS>ø4Åz½õÄùɽ Ýu$T¡©¨+‰àéâ­w–ÐÍÛœëvW—{ý¥ÕÍFgùúLo±,{A´ñÕ„ÜðÿÅcºt�TåQj¾\’*£~Ž+¯ÛÍ™t¡(y^¸t𧬠jôš wgHÉÃËë;H®Ú9¼ Ä x¶Ø .u}ûpimVÕµÁÁÒÚöÎ¥ ]‡éMgò ¢æþ}¿Ô�ó ôzµé„Dª1å¨ÎmDQŽM6üg*M;Ø,xíÍÅ—~)ŠíZx-л;<<ºý<‚¬Ïî½x|ù7|¼ëÛ‡‡·pkÑÉù‹g÷_îOyuMÐ{s&]–U?ˆ>¡½ðFð:þ¿¬F�v©\a]ÆÄ«‘Îäòšr¨Èžx ¿X*ËžÞ7ùSnÛðޖ•k�Þíá1ŒâØ&€_7V8 Î|ïäîÊæˆwçðöÊæpcçhÿôÞε=½™\Þqƒ¨Ñþ-ç‹ø¥¾Sûš¨Ñ6_�“oqØ5Èæ ŲLw9Qê;å.—Îäl—:Éþ…ùy|ÊOˆ] ¿VÏ^ô¶÷�ÕÜë[‹«Â¯»·º¹Ó(wc°�À‚å^}koqe1k[ù¥Þ5åÍ3©LEÑüZã[´â7ú}ÿõ¹¨Ñ.–ä)—BlP¤¹vóÔÊγkâ@’/ˆ>jœó”Ûö6hbK“ws&þ�䋽�ùnk~¸´Öh7ç–ÀñF­9øx�l¡j¶ý gDKÜššåÜæ¤ªÙ å¢\�c!Ë"”+Š|R2 Ä dÔ[Ðvñó gi k—“«/Â[ä-c?=Ù‰ŒŠ¨lÖ¶�ƒYÕÌR5tóVT�Œ—/a©B�Ä+†àlÝr!Ö«”ŸÛšª‹Ö¢‘�Þ4öñbí‡X [,Õ’(—ÇÉõ!ø[øx™×Eœ*‚�ÏN´%!,†ÆBá<zÁëN÷ñÞ¸ñÞw=C�½ï~öÆ;±<ý5Ÿ^�k^�çn¦ž»™:%ô;B¼¨2 U3��rEUÝÊM"^ð½8èw&�¥ž^‘º<›ÉÝLe’žÞ ¯ðô*N 9eA ^a7;“¦r p¹h*Ê—¤´È‚1›Î§{zq<©šecˆoF"gÍãÈjF0P.tȱ¹Bçø9Ð$‹Ä,±#U3™~î7–‰_5„�7F¼v²<=®’ÓmÝòÊ 7nxz�Qá]ÁSÉ @¼HêÇ ô›Ü5lO• ÛG â…»Æt�xQkÄcÇ‹°e«’é§Î3Øu4Ó5lÑ‘ðü`ÃODÈ¥àéI§ñb\oÍ_SÞœJe+Š„�Á×;ù�í}¹Õÿ:"ÄLÛOx&×Ë2ú<]?´Ý R©r7ïåƒgfÓÁl|µûê¯7¾úwÛ;Ÿu¢zËvü\¾xùøÇy¨ > ^ØØ�åå^¹×Oúx£öbsŽ:<€xßOo>_rÜ`nÝý'„äÏ~Ø‹Zí lFÁ¹‹ŒèÔ¡–PÆöt®›DÔ®WoµÎ^'t}÷òç¶£ Ö�*Õ‰4ÝÄM¾{z‡GÜÍ;Ø?[ì àãE;²šÙÓKüÛà »±Ûž\ßÓ›JçU¯E­�ot>ús¯þzcý#nXo¦ƒ}ÃäÙ&Ç%©bXŽãÕ<Ÿju$Y�‚ôHÞ\ÕýZ£ÿq÷C_n}äwÚ[ŸrÂz˲½'C ìé]ß>ä¬flœÞ}ix|ÞžœÝ?»÷~îæ=»ÿ2"¯NÎ_$OïîÁÎîÁ#@òW ´rè ~Rÿ†7‚׿Kûo£FÛ¯Õóùi™pÔ©£™¢9Œ2Š©Ô÷áf£±OÉåK¶ë/׺?¢}ò�àõÔ>±.úA½,)cG>æ‚éÝïþé½µÁ�íþé=B¹ñîŸÞënìÂ=<>ǘBž÷N¯ïéMgrªf†õÖç´ü¾ÿ¿`þwÏ›Ça½]Õ¬‰Êü^ÂÛ¬±¥œ ÊRlŸžø‹Ï¦2U�¶öþ¶ö—Ý/þ[û;>¢ß ëmÓr'ªf&þ�ä‹ìé]íïöúC(™{ý!ÎK«›ë[{(!_ZÝDr<½þîüòZ{a庠w–"ô<¿~nü´ñÍèÿÐçµG�–_« áñäÝ:‘Vªj”Ï," jªf²}:ù ò¸P,;^0ð6~\ÿÌÁë_Ô>&6^£â“*êGžÞµ‰ˆ—S¬€lÁëBá ^·ÞYÉUô\ŽZs°é&/ûxÑBÄÉUA½…ƒ!ÅÇk8à±H´ºðôN€ƒ5“Ò§|Qâ€ÕEr‘�T5'»y™ãÅÁP)ãì¹[n�Š«&–1Œr±.â>^¨”áã�Åq¢÷ˆ­a’¢‹t|«jP7/¼»ªn�Ëeo’ã•UJZ‘ Jæ12ƒ}¼8€×‡ìã-‰5$ø æuQäKHX ^p¼e¥Z’P>ã —Ú‰žy|™}¼�@#ÑêšHàéÛŸ^�wÈâ�èã%ÎVöBÕ̦_öôÆèWH  Ã6 ®8�É‹¼‡Üs³™T¶�ÎgÒÙ™4¥X!¡Š›ŠÐÍ ïLаt¾ á½Y¡p&d+’«rE�r“cª2¢24F¼@ÈèÇñØuKªš³…2‡<Ƕ ±å†1ÝŒ„:%öñ&îb@¹‚ï¥æq$WÙò-’¨cs…$œl~“Uý%,[MàQ¡øeÃá:øXJ2ùRš”nãù!)ºfR�²Bù“Bž™ãÅ1©šM×vC´äÁÇ‹�WÓ ðRuËvC ^lÙb¬[Ú‰€x);Ê «Ô×w¡jF°¤áœbe8bóx•aºµÎ|÷š á7ÐþuúQ{­5Ú®G–Ñ)ˆ¢P’l²‹Ð¡RÂFEÑfR“—AØø7-B­^}n@œ›D—YyôÈ@/ºyç–zH¨jt–¡j®w–šsì¼´ºµÛ +˽þâÊ<½Ýµ­ë3½³©Œ¬h”þÕlá7ªEͪfMÁTXSšNÔ ë­°NYD–ãOB³©LY®ˆà"ñ)MzcU·¦Cå)W w]xz9Åjmp€ø%xzûgëÛ‡ìã],öäJ=¼MÐåzL¯ÐäaœD­Ò„»^X,Å-;O¾T–à„4¯ZDBeIV¯šrðŒX¶5Z�ͨ³ÅŸR–§\í‰�ÙÓ;<>?¾ó�·­}¨š±)À}¼›»ÇðôöÏ�Û|tûyм^ôΦ²ŠjÔ¢f+šßô{ ®Õª‘Íå¯:ót&G™aÁCSδ]¡5�ÌpΦ²²¢"ÖŸÖ[j•z§¯ú”é¯ôîîŸîŸÞƒ�wx|’ˆݼ@¼Û·–ÖwÐu¼µwJùjCª†¾Ž§W”3]�n;›~o>\“!.å+oYeY¡' Þ£T*Ä_Mç3Ùœ0]Ó§tkݰÞrÜ X’ž,vŽåÍ«ýÝÖâêüÊÆÚÖÞòú !ü@¼¸³õú»¼t×¶V6¶Á÷®ll_ôΦ³UͪEÍùh“!Š¢‹5ÌäùCi^–ëqðîrºáL‘f¤ÒYEÕè٨ÏÅ;j‰à'‘…ßœIôÎ-¬ÀÇËMEàr!žÊM"^mD­9xzÝ!^ж„~Ûóàu½�R¬„Ɉž×~Ô4ÝøÛQr¡Y8˜’ý 8É”–â`ÒsyQœ\%„`ìãµÝ´-¸\¬@0ƪ¼.lººå�Núx‘©‰ƒ)Ú]tU@ÙóøúGt.¢�—Nt¼Nˆ/wCŽ©íª¡\F `ÑÇ‹úYÕ'úx‰IE(8Œ¢Ta¾—¹\$/Ž)UT¤X•deôÙrr�-zz ³Úù]Ï<ûA,OͧWàšW[Åðñ¬ûÜÍ'W!æ <ðC¹Í‚ŽQñêf‘7aL?M8rSÙ<8^¨”ÑTÄ>^d8S;Q6Ÿ/0s¾ Q¯¯ �ã¬f1Î¥TŽ€4o&_‚é—³š‘"7‰D«¸©H XF¼ñ�)áãÅv`®H@7ʤ‚w7(X’ gF¿HäƒÂÂiE3q»Än"î’ˆ¼¢×åñâf]Õm YlUb @ %sRÕŒ'x]¸pYáŒg h[ŒA_F¿ñ3I<·€¨‘áL‰Y#­ ðaÄñ‚ûi®@¿@¹~Ô„ŠS¬¸‰VA½u}O/’3óù’¢êÔš#‚I‹EIèí'¯iff3ªfúµF{#~‹süEg~7 ëmÛ ¦¤RA¼ (ô)¦åV5*¥HŸN_7_þW Ö¨½8¿¼ċܿ¤�¼nkž2]W6�åÎâ*Æ[×îé�™%“BYR4ƒz‰tÓ–-KÈ‹àå±ÓÎd HÉîܽõ#^ÿãq†µ€¤'¿kf6M¥ ÔõdY¶gXnEÑȰpÅñcŸxù?ÙÓ»5<ÙÚ;]^ßYíïmí�b /ü½ 47vŽ–¡ÞÔÁÁõ=½¸aæ eE50T�ªŒÓ"èþò #,G7� lÌk{Ÿw¿ËioÔcíj¼Ɖ§œª™Å²œÎæ¦ìæLüt¼ÈžÞã;/ÞzŽ÷äüEˆuÎî—+’«Žï¼prþ"Æ'ç/ßy—÷úòæ™Ùt&›—*ª.ª°tÓ‘*j6GÕ;W�y>_r½¨5_ÓïIû:¤+ùµF¾Pžò®T&W–ÍSδ+•ªðËLž¢W}4¿лwxks÷"‚½“»@¿{'wcOïÖþðøžÞõíý“»(‹¦ë|mO/r7D�¶iÚžiS{öt¥÷L*yü�³ýyí#ßRýÐB¸ÖÛši§³Wn1ÌÌfòù2UF�>¥X¢M–éJ`¾Pc½ó+�åµµ­½•Í�öRo^4u×¶g°¶EYÍIô+œû»×½8ŸL¶ ªæ¨L§ölE´'^9å@×¢æÇõ¾¤}� Õ[~PÏå1åä )â{i¥J‰âOz—cO¯(ö[Ñ6)ÑŠS¬ê�ä6ß+-Pîâeµ3\¸8†S¬ÂfÇòBN´ÂÆ4+œ�r�~�r�xm?rkä FO/UŠ6ݤªˆ—lYBA†ò! ^öôbÏ;øœbI«š±�u–.@Â�CcŒ5¸_tóBáŒøOZP @[V¨Ù‹Ú‰**/uI*UðºdÓ­¨?”b%bYbóš¨ä€§·P–Yá å ~Ö‡ø @¶ˆGE{¨”ñŽD…Øã YÍÜÇ‹8+æx™ûå çk"�§ozÞ!WàæL†UÍcYÍŒxÁ§3yF¿ÌëBÕŒ×Ç|¼´´¥4™~3‚ãâß Žã¸�7_$0ѶðôŠ&=™ø^�ró%B¹©lÎ4q¼@¿¨ÂÁ@¼8€•Ìɦ"ÀQ(«AÌŽq¼P8—**¡qGÃ�‹ÆBÍ‘yZ×Sœ=K_Àå–*jÜH$Ü#šiã½äãö’’¬TªDçJŠ.j�¨ªõqتDSs¼²Bž áäõîJ•’±ÐN”C&ï.Øã1/Jð`ÓÅ£¡ðsS‘fºIŽ× ¨�€°ôÈÇ[5)ØfF¿–¢›Ê†C�3¨·ÞŽÊ"B¶D‹eE`©H`ž¾Ô˜Ietƒ8ÛÓï�í¬¤ì%pT(N#ëhïFtÿRxl®(@Îd\=¶ø›øŸ½}¼íÅÅ• ˆý pC¼ˆ¼ZÙØ^è®×;K×gzqV©t–²…Gq¸SV·À`~­±t|è+­×Þ\üЗ[ µZÔª(Úú‘P"µøP5Zy¦À•‰×*ù"Ë›A£­lÏ–Ö¶,”»±s|/òu»»×÷ôâdÀ÷æò%„~§®Þ)ÖÊ,‚²oÿC6àÃ/¸È¾šî ‡�ŸBS.3Íyž¼J—Ç,o>8»{zᅩ�R5�šŠÐN„øëÓ»/�œ¿¸¹{<Ø?;»÷þëƒ^œM¹|<åÒYQ 03ù{4#ä©Aظo~Åýž7‚×Ùú¶U‘J%ÉÊ”¯ùÌlz6•ÉæDÞ8Ý(pñò5yÌWz·v{ý½áñùþé=J®ÚÚß?½·z�šŠû§÷v�ît7v×·ÎîoÜBE�w)0ü:L/nq´ïvq—+̦§ýF©tAÙÿ£ܾ¼þ ÚËQ£m9ÞtÆ[ÔMç.&6måLþë<òu–7“�}¼ó]ð½+ë Þõ­=æx×·öºëí…••�m(œßЋüÄ—hÚd M¸T©EÍ·ßÿ�7‚×ÿ¹ù÷;Ñ|6¨`|*ˆSŽ&vžÒì/êîy¡.{zÈÓ[k´¡LnÎ-1ÇÛèPy/e2·çë�æxb‰Ë|/ÐlÔšƒPÙ�šˆ¼‚z9lv÷K¼nÐhóf´RJ%t[n­§žé#K5l _ƒªþ¨ã1ø{Iv ñ¢ûJf¨Æ¸�(ééMÊÓ”ª©VMöñ¢rB¹'ɬ…*ª�å $Ðh'Ò ‡UÍUÃ*Jd@߯¾ÄªŒ4À÷Vª$ÐìéÅ*±R5 jFS‘¤h@°h-‚E?M–88[(ƒ>Á‚(ªfee åqÐËYÍÜT”äußõ̳Èpf…ó;±<ý5Ÿ^�k^�ÿæ}3ÜZô þžÞXÉ,ºy Ù µ3«šoÞLC�Œ�gQpO/£_îæ…Û-“+æò%Ú·Ngñ…¿™Ê�MW¬gSÙ´P5Ó1#/P1|¼©\a†>�"¦€~ÁñŽ!^ä6Ó1*�rrÔÎ c¡¦·XŒTÍœFûxŶö�¨AÕiCS”*E©/n‘P/ƒ1ÊÅ=è·(â…ð¦(«ZÛ�:²šKr•n⦠$Œ§ÝÄ…Â]º³›.Òª$E§ e'ÀF©é@³Ì÷â§Á¯ 4ž=ØIåçP¬jÊjxzÁ?“’Ù­Qr•M�„ˆd´Üž‚@¼BOåk–ëÖ‰Aã‘YÈGé«×²º¼\xä+ˆbŽíÛ?#�çžœ\¯6Ý[øÈŸü–ˆÎ!´…Íyn$ªw– dŽZ ­ù.PnÔZh/¬¬nî,ˆæÆ…îúõ{zßÒÙŠew:›+øµÆÊ qš×ko.®<ðjQSª(S@ï[ý éÇônï’zyµ¿Ä;¿Ò Yß>\XÝBEêÚà`y}§?<Ÿ#äy°v}OïôÓ›ø¯³©ŒaRÂó½z�ÿcʾ²ÿ‰eÞ?hÊ‹ÌôB‘{vïý;‡·7vŽ(¹*áã=½ûÒæîqxrrþâÉù‹ëÛ‡Û·À÷^ßÓ;åô®ú§|¾„�·ôþìzý l”ʲØi}B^»½Ï¼› ½(+b^ÉUÌ÷¾kdú}öÆ{®‰ž¾ýéx‡\„Tݼ™Ê²½@¼—<½ÈpÊ�¹_áéE�´mM28^tóB˜Í��é'ˆè) s´-©—Ó¹t&ŸÏSç'€z„ð%oÌñýB¨ŒcàãEB4ÉðîBs‚ðð½àu™ã…Pw.•áÍFÊ…ú%9FTý˜Ü…•̸]¢±�o�¬Ÿ�éy %YAœà(f� uÁñ¢\WRtì‰âu(‚TQ7‡;>>†íƒ§­(Ä÷^¥j†dˆ[ò°KJÖtñŒú½(VaׯâÛ .ÆAH¦ ¸¯/l‰”�jÃ!”Ëè›Ç@Å–^ßÓ;eÝ0åŸ E)ÝÞó?_{ð³µÞ«$Ó­(Õ ñNËè›3i€ÞÖ|—UÍìã…’?ðºP5Ï-õ�å…îúÛâé}‚ßt6•5m7j5¿à~äÿj~—ÓhSjq>Ötüu\:öôBÕÜž€ãìŸ!ŸíDÃÇÛëï-¯ï ö©rfc°MOï\·›3ébYÂÆÚ¼—þexÿŸ+¨ÕSªT§x Ÿìƒ®z{zÎî£�híäüÅíƒ[Èmf%3$Ш>Æømñô^unS^‘ÂÁB°ð´¯ý ç ߤ½Ó•SEÑS~àü@ïðà …ÆœÏÜëïa{YÍ›»Ç¨2B‡²ÁV6‡o ÓûVO[0–J6>hÜþEóó?®æÈ¡¾â²ü×·?Åòæ•Í�Öâêb¯ßë—Ö¶š ++ëøx‘H¿º¹3×]o.¬t7¶»¢Ê¨³¸Úëïü�€ÞL6ïùaÏ_ù’öñ_±¿ýÓÚKQƒbê¦ëðßêhúñÌôâ1 U3x]tóÆãÖœÔ�raÓuƒ:|¼¶!Å éÊP53¯‹ƒ�f“ž^ Ä 0t[ûx}Ý¢4$WÙ’§×p`}Š=½«š�x“+ lÄcß™ÌÜÇk:ARɬ[Ð/Ê�`ûbO/ød¨š!LƒªˆWRt ^,œà�‘±’Üsà~!�ƹÍX­ñb§™ ¥'›bíîÉU´òéY`hÀñ²Ï~=¬NÇAïDO/Ð/s¼0÷¢µè‚XžþšO¯À5¯€Ð}‘Â9éã[ µsœb5C�½IU3#^$--'S¬0WœÉàïÅ‹™\ ‰V0âR#‘@¼8ÉU©\MEŒxq§Ç+Æ”\ è¹Í@¼Ð!3úŦ ñC¶ 7&| QÐ*Ž@y`Wüð½<ÆmPw=ܱƒÈ½çÜüõ ï,â`¶�T Q%WÑ@áBÉ †åu¬jÆ–‚� ‡9^æ{bñ8�4±´ðîò.,#^¨©-·Fèw$R⇙ë×ñ¬2�¢&x{Øçƒý`¨šGˆ7N±B®†éÖj�vknéšAVÓ—Wýk*““+ªã‰”—¨éõªfAƒpÕ[Þö×z�x�rë�¥¥ÕÍ$â]\Ù@ŠUwm ïüòÚÊú`¡»~}OïýF™|A¢þØ ÖÛAØ´D$,Rëžè¾eœ л9 ïæîñÒÚ6|¼H®3‰¦"Âi‡·×·—×w¶n‘”wkÿúžÞ'û5Ó™œ¬hžÖ¢f-jz~DÑJ¢EæÉ~à[}×HÞ|prþâÞÉ]F¼»GwÖ·©ÇèøÎ ;¾ó¡ßý³þðäôîKG·Ÿú}»äÍoéÌIá\� ‹QƒÒÅ-Û+•+Óõäoé#y0{zÇ}¼ƒƒ½“»±W\ð½ƒý³^â‚þðû2Ã}jÉúkfzoΤ3Ù\EÑ{ã=0ý> ²º&zúöwÎÇ‹¦"ŒgSYâi÷ËÈöñÞLßœÉÄ�7‚ã¥ÎIrLQ»/^Gô(<½HÂx6Mf!*PMeg3¹l¡<òôÆYÍÀÏ‘PŽ7V2‹®#çKBá,±p7a£/øadP-ã>u1(—$Уàxæx¤"ÏÉUqŸ¸s�ã-+Ôfﮬêc|s¼%ÔUT ^4¿åj¦�Ÿ¢™@¼¨‰jgj* º\Ñ`ÓeŽÈVR¨�UF¬d†§›£è¯¨ôxÀ*wóR—�0ƒã½Øy|o2ˆ(·ªÛ0ýBá Ó/?ØWÆO_ÃñuÛóBz*ƒïMB†Íö¡ÿF@/Ò• EI’¹R-ËÊurn’‹•Çô2Ê…�w¡»Þè,#¹ cZnlÏ/¯1ÇÛY\mÎuñöéŽÐÇ?™Ç?_ç’T‘M®TQÕûdåC�ÿ¡É#ÙÓ ïnO(œ�lÇTÍ»GwÀñní�îÞîõ÷ˆv¥©×ééMžÌ[§Ò¹BI’dUVªe¹2=3ì-ýäÇ9xz‡Çç;GH®ìŸAá|rþ"šŠNÎ_DVóöÁ­³û/#¯xçðÿcï=xÇ®vÝŸa{fÎw®;UuUwueåIJL¢$R9Tî03¶Ïùýk=Ôn¹Æß…16ü]  6–["÷»Þô¨žÞ5½ùŸyŸ¿=FÍäï?ð•;»ÜµCÿ‡àÇËW€Þx&>Þåí'¼âœÃéúa/ÇóÚ‰‚ñ"^Ü®î>Ä+‰V³ƒ§÷·§åŸyäàðèýÉééùÕÙÅÕɾrÿ!ÄûòÕ�‘7÷Â1ˆ·Ý d½óñz¢v^ôƒQ×ø£)1W²N‚Ñô_¯,úgNÑo�A˜vt|òáôüüâúôìòÿ;3ì·Ïð¯?èuúa·çW›î•øxA¹tó ¯»S8—ë­¦ÕÄ’—Á|¹ÚììTÍâÝÅô‹ÉˆÂ!z0ýÂëJe¡Lpt¾\¿ÌŠÕf¥ÑfŠ]¬6ËÚNDŒešÛœ-–«2 yÜ/¬ì3”Ë �9;¹ÍÏôf»Bè&¹'¬Ñ¸ýÝþGyfÃë^çJÆFÅ#9ôÙ¥øuá'àx��—Z£w’ƒ—K¯náR2ãüÒxz?\\™Üf˜èSö¥B#«]/YÍl8)ï…¦Uä€^£j6(ô‹�wŸïýé§ÿúv@Ë÷Oúý ü+gïë7o_¼|óç¯áuMy¯ññ¾98JךÕÌñ¤X��ß( Å»‹Â™›‡Q8¿~ó…³ÐÈêé=<>‘òÞ·ÇGï>°Ž÷Ý©„+1ƒïM9^ vþêéÕ+A¹ª‘6è:÷í»äc�Z £âB“"^-'`.—5Çì+œáxͬ”K9iU”íK_Èë3ˆ—gãzJ®}ªŸÑ˜«ôq³¦0]3œwÆ“W&ŸðäìÊøXvfzz¶S5Sjgâ@¼tUó>â=¿Ì^÷â*—v󪧗›â%nfÜxög½(–ŸyzËZmÿ[Ä[ku¹Åd„Ã}—ðûž�¯¨þÿ?·‡~ùêàäÃÙl¾žÎ$¸¥Ñí7:=7ËZ}¼†×•L—áÄñ¢F§g»ƒ`8±ÝAC#¯µg²ùß÷Áÿ•¿Ú;i²�þW"‚~ÇÛèZÒíœÌÅ»K7o4YÛþ8š¬A¹½0�ã UÕ<]?L×Áx!)V›ÇÙòn6_÷Ýàw¼ô¿åOž�½Ësþ3Or~q%¦ÜÅ6JVñÂñÞ}ú+´9ÞÝát3YÝÃñFZN{÷鯛‡Ÿ§3½™æåþ½Ç<;iÿᯜӓfµáD’«–·ŸBU5?óñÎ6�n4�¬îA¼ýÁd²9ôh¶ GÂXZvÿß{Nþ¹gK¡æþsõï¹^]çä§:Y â…?š¶ßN¢ÉÊ�’–åÃÉWOïxÆó®;h;~0ž£iÛöµ�\¾rNÏÿ“o›×zõZ®l»ÿdÐÿŸ|~ÉeʤÉUšVEV3ÉUôñÒN”¦Uí<½p¼øxk­n½m1wf�/׳ŊùÃl±Êšä*Î(âÝO£_加ßLAêS^7[Dá,)VŠ<±>á­-W›ìL²…J¾Tƒ¶U¾·ÎLŸÖ¢Ëë¼A¼fë’-T˜ìì €cë·ûö6ì…@amïu¶xq•{ÿáB‡þE:&/®sÏüe'ç—ï>œ]fò×9’_Œ1 šÙÚÉNÓLA¿†QøÌ¤Xa£3 �›M&®`’YŸƒÞÿñþá�?`ôEÕü'ɹî÷_�ßÿöûøvΠ틯_¼xEèåË—¯_šÖ¢�§d‹eנ߃Ãcƒxµ ÍjÞ‘R·ËÚ ^@õ¡öôâé…ï}-þÞwG‚Tß½Ö"_A­»¬f©5Ò¬f® ¦©^—˜+Öâï==ç9akI«‚€ÝïæMëÑvݼŒÜ@ÈŒëŒRd‹ ÅðºÌöˆ­7ž^d0L ¹îgß﫚‰ìûZ§Ur—×¹“s ]ïUŽ×ð½û>Þ}UòãóË,¦_î+жp¹ñ"�†§E#ÍšP,“mÖ…R�c&�¢eÄ«‰VÚ­—öõɷܨÔ[¹R5[O/÷Ú\©Vªµ¸?3 Õ[Ýq2�ÎVåJý?OZþ'71û¯uzvÑéÚ³ùzœÌ›– …‹w·­ –p¼txàã%ØÙ¬½ADñl¾vzþÙù忆¼ÿÆþ¾>>>ÉåKãx:›oÂñíèh¶u£épºI–wƒxéFSÒ†I®J–wñN×Ú"³˜ÎÖÉd^,Uÿc!Rÿ³'öÕëóóKËî‹Cr&ÙÂ7O¿N×ñâvóð3ªæxq»}üeóðs¼¸�¬î©2"ûöã_à{©Þ±ìþéÙÅvþO�ÀãwŠ¥j2‘îœå­6MÖôñÎ6�¡r¼¦�U3¡â“Õ=Œú ^N—wóÅzOÿ“!RÿSgŒ×}ýæðüâŠaA<]ùÃÉ3O¯%a<—*£¯k{‘íÂñÌ×`g™ñ�¦ãDÎ|§kÿ�àÞÿ‘søîýi¹RŸÎVÉdYm ^mt{�ŽƒfÊtó‚lMV3ÉUi¢UÇKV³V¡j6>^B%éæ…FÎ+†ãÍ«p¿…Jàß\©–)Täþ.º-1Üšv"6ä6!; |¼¸®H Ùßi€r!‡ ╬æëü>Ç‹�žÖ¨šAרšÙÿ¤>^Eà)ß›+]e £€xOή�¼�]H;Ñž�W:#•‡¸zzy~%¯ ÞÇËŽWR`TmR¬ �Ù@šý¡úx¯Ñ$‚xß¾}¢Éj–õ®G“ÝésлŸVeÖûH˜˜+Îúá{OïÅ·Û¾Òå j}uðç=Ä«èW˜ÉjNÕÎêé}Æ÷‚~%uô« g­Èmfm#‚��Þ¿>^ƒx›– âu$ÎÔµÝ�%Â÷vûn8fmõ?~k'MéñÕ0N/>Þh²&Ū?˜à>ÅÓ;YÝ㱄ãE‰ÆËùêqø·vö£duóñöÓ_©–ÅÇ;]Ký,/HÄk òýç¿Q仸ùxóøóp<ýÖNYJËMJÛâ…Nýáïã…ãÅažr¼ñR÷OãÉŠ¸õoíì…Ñx0žÙ^äF‰¨š£¤ëâÅß{ ¢eTÍ©ÂYUÍ(œ_Q½+þÞ}UóÑ;-è— <Ð2ྗ¬fø^´+K¿±ÆÓ‹Fš+Ú>ÇKy¯ñôƒ‡)mãrÊeM#ѳT@|¼Œe�)œœ]Äkì( _(\¸speĦÝtz×!îŸÜf3MUÍ٢܄ô®  ­¬¿6é�Á ^ªöžQ0¦E¼t™-@áæJ5ñüè ’D[1.”w(WR¬ö=½µV—$ÉB¥QovúÞ`2]|#››8™õ½�ó(ˆÙ¶mߨšYÄK§eÛ–Üæ`8éö‚¦åúQRov{ý`ô-á�h”ØýP¬¹ëò™ñôâ¥?š�f[¼»n4%·ÙÍýÑœ+$Py¾}š¬î�~8MfsIrþþK& 0îûÑíÇ¿ dÞ<üL/ˆ—¦¢dywÿùo›‡ŸÇó›éúáîÓ_—·Ÿ%¾ûô×ùö©m¹ƒÑd2ýVÎÛt¶D±?¯ï¿H švð¢¢ÇÓk’«Ö÷_DÉK¾MÈ|K)ˆ¥ý`<Ò8âoáû6›¯Gã‰ë­®í¼A<œ®Ý(éôC7JF³µíYGɲë,åxññÂñ†ãYÇñ%Ë ëxÁ0þf£“éÒõµF§Xm5:½¶í—j2)nªÂýTÓêí7íó½$WÕZ]Bž³' çB¥aÖp¼µVÓ/ˆ·T“n^|¼¬‹ÕfµÙÉët»Ti2Ñ6}¼$W•«Í4êòï=½¥JV–9¹˜¹b¾—=L±Ü0ªæ|©Çk$Щ�W·+—á~ â¥�‘‰¶P1{!L¿$WQëÈ1l®�¹�_fߟ ¯ â¥yH…ÊWï?\ðÞŸ^¢d¾¸ÎÁÁšmü°áxI0Å£ óaúxi-¢ŒQ!1ÑìcÙ@šÍ'»Óç ïþøƒñîîwóÄ‹Úù»§÷oß?òï;»Üæ·/_ŠÂY�ñ%óWô«¥D _hÛW¯9X[ï%Ñêðí»Ã·ï€ÁGÇ'o�Þ¿|%ö³6)V/ßÂʽùæ�òÞ7o��§WPîÛãTÕüöÄk|¼Ç'§xw˜±>>9…ã5ž^ÔÎ'gïOÏM!¸ ‹ß¿1Ìñž^dŒ�×(œárñSGÎ˱Þ!Þc‚rQ5»Ñà1]?Pê âí&õvÏr¼hÓòäÌwû•F'a½Ý«4º�^`{QµeW[¶¥ûòJ£[o÷oØíÕ–Ý´Üž?äµQz©Þéô«{•F×r¶Òõõv¯ç-wÐèôÔÂ[î ÞÇÄæ Ý0îô‚ZÛéö7Œ9�Ž7¤Î´Ñ‘'qøi¹�N¯Æä{K»é@ž�ï�¯“‘F§G ZÛökmÇÖïR¼¸­�x“åYÍQ²J–wxw£ÉZR¬>ÿmu÷™è&*ŽF³m/ùQÒ¶ý¦åöUtÐÔ#o»aÜèöùrò®ÚŽÌqOœê¢b�ËðNøÈõ¶ møÈZî ÒèV[¶íE�^Pit9-Mý†7-×rMËåkÏ[•ß‹íwzAµi•õ Ù²¼r£+ß«~(?�z§Ú´øö–jm¾6µ¶S¬¶êí¯’þ¦ô·V¬î~_‚£ä÷Õ´ÜbµÅ�´Öv •¿‚J£“/7ªÍnÛñ”-lT[ݶí«ÍB¥YoÛ�n/_–_z£ã4:N¶T+Tš�ŽSk[½ô5:NµÑÉ«¾r¼ýAÜé‡þ®�Wò™ÕÇÛé‡�~ŽgƒxÞq|Û â9ž^Ç‹ñœ ±b¥‘É—JU¹ åKõŒºlª�N®TÍäK•z‹+žÜ§ê-Î*ÕF§Pn\e‹’ÞÔhëä·˜/Õ+õV¦P¹Êqådò%Öæú\¬4ò¥úe¦ öª\äÉÔàZ*÷�B¥Xi\犬K•æe¦pq�Ë+ùRýìR²¹k¤}³¥j¦P‘u¦À{æÖÃíãÃŕܳ ¥³ËÌÙeçK©Ö.V[-«ß²ú…J#M±êØp¹M«GÝ.)V€ØZ«Û´äúLE�ï®ÉjÆÇ+ï³\7¦_ÖFÕL ôu¾Tªµªõ6Àµ\ôK/Å ÏÂ>²… „0þ)Š|A¹Ô�f %)ò¥N"_ªÁåº R…ãEìÆöƒ2‹¬ž@¶1ûùÌûÉUûˆW|¼§—R¬ød{­¹Í&­êäìòýiª¶{ÿáBŽÏä©Þ`Sa8^•@ + úÅÇ{ªû :xÙ¢j6)VÇ'§ñ›Í'ÉÏÈŸƒ^Òª ß‹�^—¦¢gëß¾ÿÕ÷3ð­��´�H|¼¯á{_¼xõòå“h…é×p¼i=‰òº¿U5s0þ^8^ÉjV¾$ŒúðH<º¯Ô»‹_—v"“çüö݇TÕüöøëZI`�íÁÑ{fio”ã5kƒ~™¢�ZÓ¦¢]rÈsçé½2>^#8AŸŒRŤXqµ2ž fx؆Ÿ AÑ.®ŒÂ� 2ªfªÛ@t"†9¿&£ßˆpàx/®r¨‘9€È~îð´\ýYCsqç–ÃñéÐT¹\ƒ~÷=½Ü{àu¯2ƒ~Q5çK54Ò„R½\ªQâ·×Í+ýÀ4ÔKvt©J›B¦P&fU3Ceþ–Ar±Úd4p™Í«çú*[¸Î°ådòÅ«¬¬Ï.³™BIlœ)”xü:Wà�-œ]fu]æy²År¶(k¶ ²Îä/³ù¼ø�åqö7²�Ñ΃B¹!`5#ÏV(7¤¯X©ì¢Tìʺ¿)‰Ð«Òd ²åxù˜âs®ãs®hw1»"ÝüI_q¹ÖªÔÛšìU-×Z&¹*M±êö��”ëG ¼nÏØÓqü¶í÷ƒQ0œ´m_j˪·¬|©®A«¼ Ýq¶ó¥zµÑa]¬ [oÊéVµTo³UmtœRµY©·[V¿Þ–îÇr£Ý²½zÇ)ÖZÕf·e{µ¶]ª·ë§e{•F§Xk5t]n´Ë�v³ÛçqþP×Vµåtœ ©;õz§×é…�N¿Ò°]·Ûkm§Ú´[–â`—ƒ� ÛåàN¿ÛÛŽ_mÚM˳½h_Õü[/,¥7œã go8 Uhš,ï‚ñb8Ý8Þ°Ó y•ž?ê8o©Ž;Ž`NÇö‚QKÐ�דŒ±Q£ë¶l¿ŒÄzŠè&¬»ýÐ$¬m/òIÛ‘ÙDÏ¹Š¯#ï8�7Hx¼Ó }) 8t³ IDAT’²½È—Ð2AÑTË´l¿ŽƒÑ´Ó ;½ÐIJÖ3ãG?š´_ñ䤎ùÃpZÛñÝAŽgݾœ>fÇ XûѤe§ç‡Mž\N¸þëøÑ„“Ì¿N§'H²È¿ZËöyrY[^¤íDóíÓo}¼ËÛOd5“\5žßãÅlóHÈ3J„Éê¾Ñuu2".V¾Kî îÊœ«Ïãü:8]MËSL.§®Ñuù 8Þ°.Áá2èô]WΤ~c[¶ïxCþ°ey:2èW›2Z²½H~kúcìôÂjË‘'w‚ŽTkà´ù‘Ê�«ãH‹xÇ)ÕÓ_wµÙ­4:Ín_�p½]itZ¶×²eÍ ÑíÉå¢eq¤Ú¶£d!Ÿt§jv´�ˆ¬fø^’«lwàxQ”¤UFŽ~—¼A\¬4Êz©áÂUmtäUiÊ Ö…rƒu­)H8_ª×š]®„ÅŠ\!Ë ÿŠ2û³Š2 ¬+ÍZ³[(7D¬T•u®TËåšl®Ï¥]F±Œwëíb¥)·N]çµÐž«®”¨Áµ¨ãN.þÜ®²ÅbEÞÛ¥ÜÑd „æí‡u&_’›Z¾˜/U¯²…ó«l¶XmZn¥Ñ…s·/Gu 鉣¯p¿ŠxÓ>^m'B™ÜPOo¾\7ÉU¬‘@ƒ„�ªy*Y…ã5ò+TÍòö* R¬³€¿Ý÷ñÅLž3ctx]r›ó¥svƒxQ5c†º¼–ŽÆt­$cŒþ�§×øxI¨úêðÊ•˜æÃñ>óñÊæáBÚʱ¡:»�ž!vbº+Tü΄<…óɹlM;$ŒHØ$›¢p¦F…3[S#$„C†¶aîÿ@ï?þôÃ�?áãýñ§ÿõÓOÿµ¯p6ÎÔ}kÐåûçý~~ß gçãUŽWù^áxw>^ÔˤXŽ÷àð˜Çß�lM­™‡o�Þó¸áxM•ÑÁÑ»Wo_í'WÁßÂñ‚l1ú¦èw/«ùàè=sµ7;£/}¿\bLŠ™ÌLѰRPÞ BѲ ‘ ü0ˆ×4Ö·¯p~†~)jãòß -iÖøxñÓÍkÐ/ü¤ð½™×Ü4Åê:Ÿ0¨™91*e®à\ĹÊõôæË<Î`Õ Þý[7$&Ö“L¶¯q×`ÓÝ)�~¥©HÇÞ’Õ\¸E²»”Õå]r•ì$´W�@²(M<HXÇÛe2Íú\æèåL¡Ä�Iæâ…Ò¹v;±¾¸Î]ç …r-SÐC¡$ë|Q¤PÂXÊú*›/”k…J=“/^çŠÙ‚ÈZ°hµÉÞ…}�ÙÇ”wA…²l¶Ô–\kS½�)ˆH»\S>¡PR*}]-TšÕF‡SÁ.ªPi‚?k-‹Ý[±|©^¨4k-«¦T! –+ƒxññzƒ˜ä*Ç‹à�[–âíö‚Žã7»=a\usfÀj­ÙmYn½mó6:¶WkÙåZ«Þ¶Û²–-`ËrÛ¶WmvË�NËr[º®µ¬¶íÉã�N­euzAËr+Ín½ãXnØìök-«i ,䬯ÒíõŽSkÙ-ÛëöƒZÛ®wœn?�µ~:Û´!EufíxÖÐ�½nàøBîÕu+Ï®½©[vœ©(<©PøLI®ÚóñŽf[üºÞpFŠYÍ“Õ=(7Œ—¸Uƒñ"JVóí“£°§ÛøÃ©P¾Nàø#?Ë«øÑd‡3³ö£‰%mÁœƒ`4sAtÁ8Œ½`¬ˆ.ã…ã�tEI0`&¯"ˆnnɶ~Žçþp*œµ¾�;Hñ‹"ºƒ$Œý0æí ôÉþÍñÂñ†‚-ã…¼�7tüQ/‚‘Ú&I”¬øþpÊZþ0^ 'kw�Xnâ¥�èæé×ÍÃÏÉòŽ>Þõ.Å U3ZqTÍÉònyûéöã_üH`ù ^Œ¦ë^0îã�>¹ã�úa%«(Yö‚±;H†“5¨Ø�&£éÚNå §£éÚ‹d@`Þ•œ‡Xþ]™Èyã…íEú„KΛMäãèyÓõR?Žü+ ô\ý·çGŸ< ´æÝr’5HiÁ¿ kþÕüᔓÙíÂñœ?´Üo4Y35Øo*ÏoàÉ‘‚ƒrá{£d…´~/öî iÙ>_‰^0Þ ;dÁÚ‹’nÀO€/› Y=3ŠÃƒ~ó“ÑÌØ«¿ÛíøÂ(<–OÚv‚z§Ï§nÙ~úûÒßPY!t_dî Û—�N”$?†í äÊ ?ÞÝ@ ´å†µ¶]kÛÝ~ „yKÖV?Ѓ­:kË‘Jô€æàãu´�Ž×Vწe4�rƒÑÔê‡$Z!¨µ¸péM¯Qµ¦Xcä²cõ+õ6·–Õ/U›RáÓqêm»P‘+v½msù­ Vï�Šyœ%3AîzM–k52NCY•ÏèíCd…ÐåZ«ÚèÀ<›;,´0Ï…j¦ w�‚¢bn7ÌXYëݳ$P\•PWY¹©ÉûWÄÛ´\åÿ% RTÍ hYS·+iU›«4u%òŠá2¦_úuá{A¶H A³Z£ /�‹J 1R¬²$SÖ¤}Po42±-T˜ngòeR¬´™¼cFäˆÅØ]™)kB™ _vÌÜ÷#HÌší Ê䯪fÕ¸¥)V¹Ò~nóW¯Ö.š(пG¼Ù“sA¼ig¤¦Uщ§WM¿©�Ñò¾§—5¹Í$˜šœ•=Ÿ¥˜;/›=¶¦û´Ê‰úx�§÷èýo<½¦ƒ^÷YVó>âýãŸ~üdõûðÏ÷¿úÏÀË—¯ÕÇû•2­E [@lÚNôòþö…;›¬æ×ñîõô¢p>:>1è—ž^j�@‡ÇÇÇxžÃ£wd/Ã÷î£_¼»ÆÇË Ö]‘ïÙÛwÐK#ysôŽ�0ˇÇ'ÒT¤êâýBpƒxù[Fz<¿áx�OèY@¤X±Æ²gÏšê]£j&ÐLñôJ†³Æ ‚x5GAb™_Âñ‚l‘@ãcý¢ð�ãEùc*ÝQ8Ë T…=&ÅÊ4‘ž•+VM‚bQ¦Ñ5Ñe‹¬ÑK—*éÍ,_ª1ë…6­E²áØùx ÇK ”þåå¦ÎMÚ ^†Êºá¨]dò™|¶XoOFôÞ¹RµXi°V™Yí2“¿ÎÉì<[,s°n)J×9Ñ­•kM¥‚Å·\n´Dú›/Ê’,­ȶ£\oë´¾^ÖÉýU¶”+Õ…´ÔíH±Ò¬ W 4o¹Þ®5­\©ž•ð­N­i‰ XlÉݪÐõ\©^kÙÕf7[¬ ËÚ¶+¢²“gpfKµª2«‚„E?lææK�¦Ê€‹*ëd« U"ÝÔØÒF·/ªT]+c#ˆU³áxÑ|v¿¬|KÇöÛ¶W®µjMËqæÕ/ë†Ï=§]¢¦ç¸²rÆro [Õ–Ýu|[ØTyÏÝ~ÐéeE¹ V} ±@­6»Ûïù‘ì[r°ãG�nO¥¿¡ ë§Þqœ`èÆ ñ¾ -7¬wå9ÇÝþ@wáf”eíÛÞÐRTvçý0¨>6<`y-Ûà¤kp¦¬m\%+r›çÛ§`¼ð†3|¼ñÎ6�ð½ÓõC²¼ó†3äÐãù�‰`%+à€ÍñGm'ð‡ÓA¼ìö–£Y/:½l™®é kÙ>èŽOáŠ÷ù¤)ŠÛ­‡“µã�lo8œ¬£de{C^1Ïmo F3þp<Û€î¤v¶¬'ëñlàϤ0Vpæ I7ƒxéc8�7 ‡Áh/n‚ÑLaÞ2^ÜxѤŒ‡“5ÞÝÑl»}üåîÓ_G³-ïöñf_þïêîópº™m¾üßùö‰°âû/ÿgº~àI&Ë[WÈêd4]Ç‹›~£Ùx¶Ï6½`Ì«ó1Ãx‘ìÞ• ÃÅ�üƒú£áDþЋ&N0–'™oå£ãx¾åI¼h2žmøhÁxÏ·Lñ2žo—Y{2ªަëñîIFS9ÉàpÎ x[ždwÂãùŽç¼¢­ðx4];ÁØö†âà�¬-7b½¸ù8ˆ—œ·éú!Œ—ä]Ç‹Û`¼ÀÇ‹§w²º_ßÄKÉm^?,n>ʨEÏ2›0ß%OYhG¿K|Ûû¡LL,WЯ >dJ"kO'&m'h‰º{æ§-Ñ<‡^4é‡ÂH[n$gúZ¿ –‰BA×�^Ø´¼aÁÌõŽø>¿X•;ME ئÕ#ŒªÒh7­ªf/wañôvìB¥ÇÛP94êe“bUo[•FÛÜŽ��BÄ <¾Î—víƒÕL¡,÷wå½3ùrµÞfóÀšñ:|/ë\±ÊÁ´B@ƒx�§—9»øl3P.{ð3!¶%æqƒxÍþÅõéE~…ó¹r¼û–1<½—:=G‘G¯Ù‰™¦"Îð·„�¢RÞïæÅÓkr^ТDá|v)1ѸóömtlQ šÖ¢çL/ü­ññ>ãxAÂ&Ìù»§÷oß?òï;~ñòÕëƒ7Gôô~õî¾<88<æqÐ/¨Ø$W½P 4~]0ÞÝ÷ï�Níæ}óO/|¯A¼o�ÞŸ¼y{üêà-Jf‚��Þ‹_—ä*³£>G¹júMÎo�I±B5�D™�gÆl)úÕ1Ï !|z!)óÀã³Ë ¯K.Ÿ¹Šq‘2ÉUe³€–×:Uã(Ú•ó+qøªi�3>UÉK897ïû\Üuâ(ݼf–)¡ÊÙâ‡óëç×™|9“/3ËÙ~E¹êMeÈÊì3M®RO/�y ^‘"«Üo ¥:æ™k ¥ �›–á{±ë‰÷[éKµÖU®ˆ�× \8^$ÐÜJ�\ŠáqIHë*[ØÑ³uÕ6óåš ^1ë–T!V?£T¹TmÊuË2ª/×t.^WJV\ĪÑMÅ þ�Ä•FG¨ZU&W„’m±f'$fWÝ£ˆS”«ô,ÀµÖ²ò:þ7ȶ$&+·ÒèÈÁº´¬¸Ží¡…é¯å–ª-·�^Ër‹•fY ®�Wêm7ããñª˜Púxý(‘µzzÃñ ë� ÞÑ´¥–W?J‚᤬ٞV_Xß’¦ž8Þ ·m{V?0ëžAÕÚnØó"xO:B ‹STU»•–Õ²E?Üé•–…(W˜Ÿ¶m»¡ŒÚ¶§�Á¡Ž[¶'vÊpÜÇØÏ¼H|½#¶I˜8ZAÜuC4éºÂG9þ8Ï‘öÃØÍØ…ûé?šµl¿eû¾nëÛNÐè¸XÞ0Ï¨î ™m÷}¼Þpâ�oŸüÑUótýà1À#YÞQê;Û&ï„wÏ·|d/šLVwÉòVžp8�®ïGSù‡ðG³Ùú�µd�my’A"ë0†v<ÛÈÇNåÄêù×™µ?š%Ë[ÆæüÈ YÊIÖ?Œ’ÕduçNx²¼›t „žmº &�ЈÖ÷_&«{¾`¬ýÑœnÞátŒóíÓòöS0^ ÔÇË•óÉ÷‡âûãE“ádí)ÕÏ’yP0ž’¥ã�õ )¼·å »n4H–þpÚvÛùitz!_TÇ—!Q/Œùƶ�@ r¼ìôE!ï�fÁxlæËlD¬.âmuÛ¢Õ½´?št$-ϳ½‘ü0ÕeíøC/’ƒ[¶×Çî`\m ñÛÇŽ?mˆíyá%— «/ªúxA¼a,j…v/À»kÒª¢da|¼Áh*¦k± úÕq^»c{Ž7à"Ö±=Û ‰èöñÃë,²‹8¥Þ®µ,Û Ûz)nt}=½BÊZÕ."Øî8¾ÅrMnÛ^©*Úf®Ï嚈·�Ê¥ª@h¹°ï|Ί«ÛùrCÄ/ݾè–�кµ^T³¥kf£˜JT>]-U[µ–%·¡B…çÏ—ýVêmΖjp¼¹R£ÒñN£ë Lñ’½,\w£Í@˜càx ÊÍ—ë©(.—*#«ÉLÄE¾¦sA8ÞzÚ8øõþ®=¥Š¦XéÚŒÂsÅ*¬ ^m…(”êñæŠÕ\± š-”êÄ‘…3î-ƒ~%VC·( YP®FoÏÌþ¿1<íõ®©H”Ìøxñôêæ'õ÷f °Wj€"=ä*+>^³ÆÈiÁ:�hÑnÞ³Ë M¿Ç'§êÁÎüÖÓ»¯dFöLتÙd¢”fÓ{rvñô.—D«gÉU¿ûUF¿|ÿ«ïgà[;ZÂ~ðRó™_¿Iù^2¨RŽw/¹ ¼j²šñôò`ªvÞ¥X™Üf¸Ü7Go�ÞsÌÁáñÑñ ûöèýññ‡M®:8z�’ù™ÂäI7¯"ÛÓg>^Œµ¨š âÄÂßr­a�ª%3x•«pÔ¬¹Ì¡jþ HU3ˆ¼Ê �\%'Þ€,hb“d‚xva/Ío ä“sÉK$|~i8^¢Q&ï.Ð’>•zzõ"N¢ôÔÇ«–XÙ}UóU¦`¥ \Ð/±ªjž÷'«×Ùâ³n^l9ÜÌ0ؾ—g0ÉUÅjÓ ^ø^j�Êõ–‰Ç0•÷¥Z ãЕ¨”å®|-ÂãR¡Ò(V›WjÖ-ÕZÜ�s¥j¥!k9¸Ò¨4xÂ’v*´$òQ'Е†¬³ÅJ¥Ñª4¤1¸P®W›m݈f¬Þ–d¦œjŒ�^±úuZ_®·™¸×ÛŽxÆT„Üèô •¦Ã8¯Ašýº„¾4ÙÕZHb“ÚÞêm‡µLè5�³¬»tÅ¥šìxÚâÁ‹„5•4A¿f£¬ˆ­‘6ޏCÅÇ+äL8f#H­�7»}Û ­~ ”… ä뎄*EI~Ù¡ð-Bt8¶²æàž±ÛsÑ-´­° ýpli‘’äýDI[“¢-Op8{Êž¿cžÕnêE"×ÄýȺÓü¡XL…ƒò¤xÓ †m'è…±�WÞ°-ÆNQð²ö¢i/ºnÔfuîgí^èc—ÊN½&â�d»ïDæ%«þ`2œn@ ^úQýÑìx>YÞñä¬#A>Óh"1‘ót4ÛLW‚„½hÏofë‡`4Çódq;YÞùÙàÕåÝx¾•?LVóÍ#ëÑl3ß<EN_ù^|àή›—|²~0RO¸\jzþ0J=¨¾ _/\~]¬ÈèMä lõƒž/#<Ö\ý¸è�„�žã Z– ñ«3>G ´®Þ©k‘ó¤þ_r›”(–I¥D‚Ùm[^ùLJëãMI¿Kc–±ÝêWîÉð“øe´Ö¬e~* ¶Óèôö•Aû·!õÅÔE%Ôí—{w5µNhÛJC2(>(×%ÝŠ¨p¼{_Õ,FžJÃ𽬙;³FÕÌšˆ ½+IïÑþ`ѵÞ=%“‚û»&SŠÂ@+v'‚!%3¹Í¿õñJ½P¶HS‘áuÍœ�Üfö3ñA’ncöTÍLü/®rW¹L¾ÌdTLÅ#� FÉ•Î.² bQ2_\™ Q�¦ªp6œÄÅuô iC›ç—ìý.®sFÕ úÅǾ‘õÉù¥ññ¡jR¬Ò”%�ñܽ?=zŸ©šM†ó?L±úÃøÖ Ë÷Ïûý ü¾3ðúÍ!ÉUÀTÚ‰ÒnÞ—û)VdP=C¼û>^L¿ Ù´�WS¬@¼ _ƒxqÃ÷¾9º³‹lšb¥#Ìgˆ¤Ê3ÀÓ2øÙ’b… ÝÇàãEJ„]”K(ÇÀýÂ-›†zfÆ¥ZK•Ì•r]nÿä6c7â–iÖº±�:n±ê†M©ZÖÙ¢$pª€¹œ/×Äq¤¥ b;ýÃN¤JC q]ã`íZ¨4̃�râJCòK*uÝvÔ%Õ³Ú´$¹W×µ–Ýèö˵vYS‚ÍZ¢D:Â`0Û_×Û,«‚L§\k7-·£?&ôÂ'hàªÆPyÕ¦¸y‰¤jH\“SÙ’mÓ·Ý�«T ±ÀXÚL8m·ÄÛ¶}…Ê#Ýç ¥ì²&¼·ïe­�Ø“d&_$ÍîÀ Çð^8vƒQKß§޽p,h\5�Ž?ƒ®+*DÛ‹ÚŽ/ Ïp⸃Žã{Øk»¡DÝbo8i÷f­^Í9h¹ŒÂXs�z\ƒñ¢›J¬”ã�eG>^„ñÒr‡–+jÕ`¼°½QOÚ`¼°Ü!(—ǽá 8ç J¹I–ÂmÒýBÆó/°�Z#䩽 V‘ê�7œÉ«ˆ]S0$`u(ÖÓ©§Ðq$ã‰pz;° 挒•M‡Êg ,GñVÁªô'�ç[ÁTú¡ÑWO{oe=&hGÿp¶~�O' ]P\”¬S­îñê“›*Hx)¬ìú�'Ù&KÙÆ‹›¹PÙB9N–w‹íÓpº®[±%ÊêÍÃÏôî&Ë;úxÉýºÿü·ÅÍGÚ‰¶�¿ j–nÞ§_±F¯ï¿Ü<ý*O2Y/¶O°¯£Ùfuûi±}ÄËát½ºýŽ7«ÛOÉòv >·+é=ÚòNT;-òãÙúa©šáh"t4 v<ß.o>N•MÏ·óÍ£ðÀzNÛ'EŒ‚öåÕIH^?(÷+ZbƒÃÍùÑn™ˆØ[ÏÏþIž®îÅ'¬O>YÞÑz5YÞÉXAÛ­Ì¿Ô YÂëêÇ{s¢Ç›Üf¼»âãÝ¡\©ÔJV2ÈØ<ò}ÓÑÌM$šù-¨îZ°·ú�å3öC±d›/!c—~˜ðå@ë�ùBbÕ èWÈÍ•�•‰kÔÔý0±Üa¨*kËÚžÌtBýCLJú[ëºQ:QÎäW%ü`õ-9p¶7âë�Äú.ó¬ÑÔüêƒ]dZš7&c~_kÕz¯%HUºvUEâ�¦a<¯í'W…ãVP®„�÷Ã~0Äó¾>!s@‰0°Üžõ<ÕiêAèèp°©7G£Ërkå¯:~å¢Ç¥˜Ç[–˵—K¥YsM&(ß×LnD Vê.ì26ÕµF$Ø\ðEøSï°–ªÝšùi¥.¦’ZKò·$µ[o7JðZ‚~w·¡tØ*¤±%”jí²ü¡ˆk$YPQn½mÑ�Û´z¸p��wŸãůKK‚A¼b!Vi•"^A°;¯¤N2Œ6·iMöª�ž¥É‹²6÷ôr­Eù£p0j¡Tñ%3p4E¿ŠxMF&sv¼»OëkÂ;¯³Eäf X?Ë1¡ÃBâ'¯%ô{q•;½È¾÷Ãù5)V*”»2¢ YƒxMr•‰_yÑ‚�ùkÌt&ÃÙ0"ì”Ë&óú%Aæ9èåš+“ÕüÓOÿµ¿þÓ?þáBÿ>ðý¯¾Ÿ�oí üùÅKÓÍûâåʇP2cÍ5ªf“\E/1WýÈÆ IDAT‡ÇÒN¤�D‡oßõêõ¡I±zÆñ¿;EA­ªæo�ýÂñj/•B¯Þš+BžQ›5 g/™KÌÁÑûƒ£÷2„;=‡ñªQƒŸA¶�Àp¶Gï UNѯBS¸_Òçy ñi¨Ä…r�”ïÕa!ÉX)Ç»‡xÕd2q½ãš‹mX:4XU³áui2>^Ð/†Ä\¡êáj.ë\‰ƒA³H ±ÜàãÍÒTT(ÕMOZ#lº†A¼La)ïåžT,7(!@á,¯¦giPGã {­òºW9 yæVz�/a.2ªfê2…rµÙÛ­˜~å¶ZiTÖû·<ž)”U£Õe�þ 3p¥!Õ…A¼µjSÂ<o×Ûbg2‚®z[l·êk•\biÙQMƒvâ�ªÍ®†‹¹\—RD(ÙB¥YÞ ÞŠ*rkÛ~[EËu-•�ûmjê²lYª­]ç�¸gY“�bõCC>ØZ–à\Œ`81 gO3c¥ÇE³š›=%U+~”4T˜—–ú*lV^%J+j(òíö¥Ôw4Uc[ß ì â`8á=ûQâGI³+�7ÁxÖS¡²í¡g¥ëàjÉFS^]²võƒÈVu,‚d©‰çÁx&ð8EÉRÖ½ ?ˆ£dé*¬=%«^˜´ì@0›°¦q§� œ ¶¼‘°©¢+jùÐF•™‘Öí \éºC´‚ lŒã…s¼¸¯i˜ÐÇ;]?¸B/g‚—îú *æ‚—Ü ¾(¸Q¢X°–7œõ•’e 2™®î{ŠL’åídu‡Lz¶~Ï·½0�’ô"=I‚©„ªG±R²ã…?šÏÖ3í³‘w¢`•w²�–à;W¹ÜÅö)YÞò¹–8·n4�­V·Ÿ¢‰˜Åö <ÆËÕí§¹Šº‡Óõúî³ð™ •×wŸ�…ñBb™ÕÊ;Ÿª­Ä;ß<®ï>‡;P*Àuº‰··ÿ²yø™v"TÍÃéŽw&\ñfyûéþËÿ1G÷Ÿÿ/nA¶›‡Ÿ5Äx»ºý´¾û „[ßáNVw›‡Ÿ§«{•þÞ­ï>ðä�Üáš?&3Y­n?­T<žo•L‡v²¼]ßðóqâ…Ì/ø8£™|CÛ'9WÉŠó³ÐheÎ'4Ûðêæ\É,c(²pó‡³õÃBUñÀf³^lŸfú]’Üæ›�×d)�iËduÏ d¼²Ò“LLÚâæ£ù²Í·O8Ïp8�Ä} ÞÖ_ƒ�0^öTP rñhÚ ¦$Nóˆ7¶?Ÿ�f)lîºb?fŒÒî ˜ÝôË›{abûãÑLÔ –7â›o~_cÑçÏÛ½�MF³u UºÁX~)– ^KE“u§?èJ™ÐBÄÉŽoI4÷‚+€#U"—™ßAÏ:0š¬L*Õpº¦÷ …3µ^r‘k”(™£dáG ª–A<…*\ИPÖ¥j¯Ù• šŽëm™÷Qüë†c•ψŽ̬į h¼dD7»r/°ú¡#^ ¾²S¨,res}fÍM�7ßÛRIq mÛw‰Ü¹D­-h)Q¬ O*�–lá~øT4‹‰§J™Zª ò */ “/£j ’¢–Õotl”Ì Þ4­J“« âå†(tz0 g¡m5 ¬ ˆ5’+¼»d5£œ2kãTU]J @¤&¹*W¬² • ïU¦ÀXœ‘=¨Ø$†d P( gôŲ<³Ð_^ç ÷{~™¶3æŠU�íþþU3B9À6B9àñÉ™ÚÄÔvrvu•É_eóû^3TÍøxÙ¡í|¼g‘’;…ªÙ˜×ŒÂ™þŽýý![SöŠ Þgªfºyy]üwÿô¢pþé§ÿz¦p&¹Š0g£pþÖ Ë÷Ïûý ü¾3€§÷å«Ã?¿xMŠÕËWÒ»ûò¥}YU5¿:Üç{aký¾>„˜}ñú�ê]<½ñB‹w÷àHžíèÝÛã“ׇǯ´§ÔŠªùP?z£ÑVoß}ô»[¾—cà{ŽÞSäûþô\Öšbu|r ú5ùÌ&·Ù¤X½ûpfÐ/ jD)iˆüß#^êÔðopù{zOk¢ê÷/Hûü*›vÏþF?C* Ži„S/õëFጠ‡Påç×$õãé5/²gøX<½Ü ?çJ Ö³‹,Þ]“\Åãår*hÝbÓ7 ÇË]¤Pª¯áx%öi×P/i�ŽÎ€‹ÙbõYíÁ3ÄK°s½m¥„0}³‚rkÕ†¤’( \¯5;Z¨(~]iÔ°èJ]ÌÀ¥j3W’|,i× )iP—äKKßl«[¨ˆã·Ñu8¦ªÉµf'_–rZQ‹5;…J½!á¥2¡/I•¥Û²¼J½S© pmJ2ŠäZ�HeÝ’ “l€”×e­ã|i|®@¶ÝAMy]«ÊãM™ë÷|iy…ˆñ’\Å®Qõx¢¦¢¶ç”*âuÓZT%a?©¨/$Õ¬!�Mà³6”~•FûQâ ¤O•$Ó’"ÏfëNQ:o„ö¼(Äs©¢Õ�-BV»½ ÔÀÕ®›îƒýÑ´ÓñNVn$›æ¾æÖ¸QBOÉp*›é®;Lë‚‚#âpº±¼‘Äè�mÜ EGªñE1¢åPRšâ`¼µÚ¾¤O‘P¥H攫àv²º§�—tb¨z°Ì*XþMêpº™®UæMãÅ-ä°Â! |î‰úz9ÛHü•I®nXÚ€ç[1÷•¹ „v£édu?ß úÕºš‡Ù&•þ.nž&;zvóð…Ü#mÊ!1îÐÕݧáTPÜló°¾—)`ÛÇÅ�äh=ì§ùV$ÁÃéf}ÿY^HpÎÍÍã/ӵЕ ÆäÉÕ?n~æ”.nž¶?K&Ót³ºû¤˜sCSÑúþ <äíÇ¿,:ηO7O¿B‰/o?Ý<ý:òyc*Ž4¸øóêî“$H-n7_–·Âm²^܈šw¶yØ<|™m$êiqó´yø)º¼ý¸¾—�MÖëûÏëûÏ£ÙVµÖ_øCóqŒÓ˜?œ®ï7_øVÌ·�›‡/£ÙVÛƒ?òN8'‹a›£ÉšWçüðê„Nqb Þ¯ï?Gš(6Û<¬î>AžïŸðÅÍÓl#¼ þ?’‚†w×ü«-o?�f[Î(™õ_í‰/'GS1WKÁ/µFhògùòUçKè1Ê3ÇáÛŽr��7ï÷@á1º}~ÑdÍ·8Í7¶&£Ùv<¿±¼/$5]A¬óù}ÙþX 2GNó*–'aà£ÙÖ F¶? c!�Åâ®äp”¬Ú½3 4Ï8Ž’¥§Ó:Oæ\ …—Ú#¥¼n»'ä°p¼ªdÄs|¼øuQ5›äªŽã»Ú³•^vS¶F·�¿¯‡–B�Mc9UçÀl¹ú©�ÄU… £IžMý"¥iJ¸½c»©bni¢�HcäºÍõYÈa½V;^Ô²¼ZÓ2Yã¹#`K©5ZÛî Úè²î8>w s×`š pU•�„]%bº'þ—FWTB¶‹žî:jÇm¤YÍ]ÇðºLuI®B¨,ȶëÐÇ Ê-Ê QK×w)Võ¶¥¢§:óbb®ð÷â‚ûÍ—ë \3Œ6>^ ‰¬·ÊÚÍ›-TH®B¥\‘оÛ 3þÞß$ì£\<½ì4LrÕu®„ªÙ$TaÎÚW5£d6ˆ&À¸ºÌÄŸ(PÐ2E‚´s¥Ó‹ ˆ—ñJ†ªfP®A¿`TS6iÐ/ò=/ªfÃñ²'dH²),k(Ü¿ÛXžI.4ˆ.šçË›÷•ÌöÂñþðãO Þ?üñÿžÞüûðÏ÷¿úÏžÞ?¿xýòå�H—A¼Åüêµ á¯ˆWa°á{MZ öÍÑ;wovݼð½ ^<½°Ä‡Gï_�ñ¿lšŠ¸(€rSOïÛclºFጒ™`gÖ€X/.kƒx9Ôʳ™è<.Liy¯^˜Œ:Å\ÑhÇ ,×GMÃJKÛtm8^b®Ò~sõôš®s#¼\zÍ=¿„t=»Èîûx¹@ƒ„M7ï?T5ãi¡©èò:�Fd‹ÔÇ(œÉ�ÀÓkÖ‡~s¥b¹aR¬(”Gt„‡Ž—5ݼŒuÉlTÄ[Ê—$69_®K­‘š‘òå:5÷µÖ®QÉtq‹Í+äs0�f2M­QYQ.º¬J£�Ê+[¬š›=7r—]Eשµ-“u‰ªÚì´mò¹Úìà‰R·•´ÅV]äd-Ë+ÕÚU®¬Ù<µ%#T5-IL¡2³�N�ƒ­~h”rpZÛÔÛ;'’«Ô™6äqTÍ jNjخi�è�-¬…Ž <öqSmi)ß«¼.è” 'ÔACÏÕq|I‡M©AêùÃp<r»²…•mkÇñý(&ËžnÃñ džg.�«ýÐrfÆsË‹àuƒñÌò"o8‰&+ÖþHÔ¿ýA¼sÌ ø‹êÆZváQ²Ͷì¼Á3Ž � úV‰:ZA,¸Quž[Ј×ðºtððÌ@8Ð ,Må `•5D1f`Ò¡y!Èa@ÈpºYÜ|êÐâXUÄ›8çÛ'Ø»¼ýD³ëh¶]Ý}†-¤ó$LÒ/Pp¾}Ú(XåU”ê™YÝ}f/„ü$Fxº~Ø<ü<“T'‰†~ä­n´yh4Û.n>n~ü¬î>“É W ú�¬îo?þ…ÇQ2£jFÉLr`ìÐÛÇ_6?϶�¿¬î¸¡A}ƒé§6'Ë;íŸož~å®ï¿@�>{'ÛÇ_0Ä BÈÏ·OÛÇ_Q• óLÄ4iÒœ+N¦Ûäi Üý5Ýûž^Ö_Û‰4…´”k�öD§�ø‚Dx‹¯^³³ x4ÉûA¤ð½FÉ i�RïìRR¬öUÍïOåy¨ÌQ›:L6�©Úùì"ÝpjòËs¦×xzáuMg/(î× Þ?þéÇo½|ÿÈßÏÀï8¯^üùÅ+¢˜A¹øx÷׆å“\%!Ïš½üòÍ¡"^áo!�9†¦"¼¾‡ÇoñBçÂñ"Z~ûN}¼Åœ¢_íæåðªA¼¨�-£Fæãéåò„Ñ—á\Êñîºy)ço�§Ó/¦gž^“DÏÕ-M®Ò«$r—ÔÓ«ÏO ŸI±âÚJ^h™k+볋 ÎÔŽ¢]F˜ Þ4ÅJÓª¸+íÀUÞ\ýá{ÁÏ™BÅÄ?€~9Øp¼tÁ£;’ð§BÅÜ“K4ž^bá~,q¯¢­”»ßV/wÇ]rU^Kƒ jÇehÍšpHõôV«ÍÕH Yë8\Â9p"™ Žr½Ås/µ„¼ßaÈ.�×Zݶír¿¯·­ŽãÕZ¢šntìŽ#V-¸¢U¸’“\kIJŠXpÕš ì!£^ývù7¤ÌV‚©Øriб4s°£’ú %"Ð’\Õí}±ã†ÆÓ›º×|A¼¬ÝpìŠW|¼Þ †žµt£ +´ípÒó‡`i‰¢Q>Ù Ç _:�èÀt¼HRd´ ÄË¢O�7ˆG“ñZ„¯¢! Ç3‰¥ FÈž£dé#/è”+@e�ÕgÈZXJ7š %Q"0Fö9œnzaÂN�­<¼.úaHEqϪ8ù™�×ͱ�]à�0¹Íìæá{É×¥˜J–Š#IiŽ—“Õ=è—ƒSzVåЬIxŠâS�·`'þ¦Öt²¦ä“'°‡ $ØB^hº~XÝ}ž¨³t¾}Rq²PµËÛOQ ²3)ø‘WR�üž©flpM–wÀBžÐÀB’«ðôrnž~5OÂO//ðoûø‹ñô§§ëƒ~'«û›§_MüÀ•Ï{ûñ/S‰�ÚRð ÷¾ºû¼}ü%^'ú%Ck}ÿ…s8Ûâ%Š™Ç��× ^ÓT„�—ƒQ/ÓÈZçÈûˆWÌDû>^á”×ÕÛ.ˆwçã­T´©ˆ,årµI7/¼®ñô2.å²I`ÃÀ<¾Ÿ’î:´G.2’´kÍ…6 g1X]å Ç{~™…×e�d8ÞÔÇ«›¥ÔÇ«(l¢R¾W{zQáýñÞÅuŽf8^�ðþ6ï·Ù.ûè—€UþŠ5E/$0|ÌÉÙÅ?èé5ªæ?þéÇ}%óOÿëïó½üÓ�ð½¿c÷ÿýO¾Ÿ�oð üùÅË—/_£d¾W9^Ô΄T½|yðÿüùME ß÷ïÄÇûòÀ¤Xýù囯QÿùÕ�”½—çTrØd5¾}Gaï냷àÕWowˆW”̯�àu�ª™ç¤[èðøäåy•”ãݵ¡på~õô~8ÃŒêøàè½‚Ø )þU,m|¼‚xõ¢spôž´*ÞÇ‹kò÷Œª™+×Dà± Yõ÷šxd-ÒBôáŒò^Ã÷’‰o8^´4g—™ë\áô"cTÍ4AY#Ô99»B´|�+‘CHZ•1ý^e �à [býMÜ? ç³ ¹U /‚þê¨Ùq¼ç—Y"ñà R",U3þ^£jÎäŽÈX7_ªÕ¤íVx]ŒFÙbõ*Wd¨ŒÂª–Èj«[mv8-VÚ© q”Üw¹Áãnì|¼µV·iõðî6ºNËêçJ5£ ËIóPšu‰â ”›/×]§ÛóÙ=4­ÜoY•ÌêÎ’ÀÌŽ#“Lf†’*™ÉU.Ió�d/7-·Tkã[“Ô«zÏX£#e¶ \/Û/8öj•F·Û ðñV› Vƒ:{Xp‘½±ŸãI…K³&òj0ž±cãHbV0œDɨŒ¦Q²hYM!Ãd‰_¾õà@Î�n” äæ‰ÚŠ’E”,0ÂEÉr/D­JfjH¼¡Øƒñ¬Óñb<ß |N×’M;ýh8ÝŒç7ø Çó/À•�50Q²Â”>”µ •q<’½l¬ÚšñCïNœü8žß€À?j�¼…†U%³ðuùÎ6�‹›�.IÈJÕ:A `K–âé%°—wì¡úÒ¾—ºä¬`'=Ö¼úæáçùöÉÎ ‡é�æ ¸ÑLÜ•@A''«ÍÃÏP‘” -oEW ÎD7;Û<‚-ƒñ‚’!¡ÊE?üåöã_†ÓÍpºÙ>þróô+d8>^ıp¼œÕ»OwÑNÄ¿ËúþËýç¿ñïE©/èëæé×»OU÷ãýç¿­ÔÓk*޼áŒ'¡<™w¢fàô�02¸yúuûø‹*ºož~]ßa}÷é¯ëû/ÁxÁ“@ÕÂ6Ç‹Û0^²æcn�i´xs~&êyž®â3°FR#_Ü|Ü>þ"øm²^Ý}Þ<ü,Œ¨ž·ÕÝg !»o3F*CªóŠR¤¤Ì<‘WÌ,˜Ë,n>®î>£~g¨¡]ùâÁ¸&Ë;’±ûƒI²¼›k _ûÙæŽw*Piçît#ìGÁ°€Ÿ C4ïºC¢Ëù™$’ï-¿55 [Ç˧ݓJ0ä ]�‘›¨•Ï|¼ØZ^dyÑp*1æ¨.¿ˆ(Yuú`~é‚xgkd#ÁhšÌ7BϪÕ8]wúaׄñ|4Y1’&Ëñt —‹�wwýY`Óõ1ðX+»…ãµú!‹`8iY—M?J°™Pq„1„_½íôƒo©ÞvÌ °Ú´0ËeV%Ó�üÀ•7Fú ¹úŒ8�â\ØmwÐFÌI).×;\ùƒ€Š[–WÖÈ+æ¡f]itKµ¶¨„úa©ÖfÝíùè’ڶ˽¬Òh3¥å6Ê} qSKšØ[ÙbUx]%„QEÁñÊ=®cãBǤÖ\A¹Ì¯ó%£–ºÎ—ªÍ„ðU®XiÐt }¼µVjúÍ+ÕFmW¾T«6:€Ø\±ZmtØ„€~±Aü�- UóÅUî2“'æ ^x ‚enÎ:_ª](²¥X‘„ªL^Ú‰@³B#ïö?¼{b®P2³oyzÉÆéÃùõÉÙÍI'gW*š+¿|r~IkLÆU6m»ïã%ˆôýéùñÉéùU–íß~c%N7ô€ïOÏ÷÷‡4�l¡Id­Ö9ÓTtrv�Âù9ÓkÒª~üéí£\ { Çû§~dý ¢—ïùûøgàÅ‹W¯ßšä*ããE“l8^ñè*ÊÅÓ+>^…Çé㯕ã=zâºC¼¨šÉÄ2 gŒû¯�@¼Êý‚Q�OH±BáüZƒ�ÍÚ ß7ŠxQ/ãé5 ç¿ëæUDš¦XíÖè“÷mÆÓ»Ïñ‚Š â}–R@Sˆš¦"cöårù#ê€Ö"g²È•ñì2ÃuöýéÅoΧ-êeÎ [Dˈv.¯ó\ý9€›�‘ ¡vÎ*Hƒ.®r¹R• +™&OÂh�-“ úeÍÍŒø´£Os¤ÍÜ× _QCiŠ(—!´*™I«jƒx+�v­Õ%­Ê¬™L£d6¼. �¿U5Ž7_®£«·-èå¦ÕÃUku[VŸ(ËFÇnÛ.·ó¦ÕSŽW¤e’P%…CÂ÷‚r+�.Ó}³w�›5{&÷)¯« g!ä0è—8hD»âAkÀ¤žÞŽtó¢XÄ¢d6v\ˆ“bm A!iUÉË�žðº£©Q5³ÿC¨ 'ØÏP5ó*´ƒ°áÄsà7(× ^ÎÝ^0�‚MQÚî`¨ˆ×ò"X 0žwú’ö<š­Åݧëñ|ÓW¶'š¬Æó�Md×. ɲ ‡�2 gô½»¨!¯PZB«bÇMÆ@£df+¯e0’Ü,ï°ã¸Bp©wWŒ©¸ñôºÑ4YÞUódu?“2Û9H†­?IH?cìD,iU›GÃסj&škqó¶P�´©ª5/ïΧ*ïh&áÆËÛOFá¼¾ÿ²ºû ùƒjà"úa`³ÅJß<ý XEW ÛŒ(¸yøyóð3øÍÓ¯@h£jV nšÕl  ¤1O2š‰b€ŠüØŒ‘Ì©V[1Ckƒ·!H pÀ™tê(VF€JÃ-ÍÀF�ÂÝõÎ ,1Ô(ÀÿÁùÑIªúNVϤãÈ¡‘Lƒ±ù'¦b"¼ QÌ×`²º_J µ8±™’0옮RA{²ZÜ|¸¢^6ߟÅ�ƒùâ‘¶ó�‹™µQ8OV÷�f3»Á€-}ÅD©©Š�.Ìž¬îáxãÅ-§:ˆ—Ÿ ¿/�"“Ï‚8^Üöãù�í{áXÇU\ÝH8ÞátC¤œ´Oi^^ñ÷Ú~0š“¥7ˆmE¹(œi* ã9-Dr�Ù%W‘Ûl’«ü(Á—û5S@=½\Ђá$Ј¾Ž#/ÄÅ ôË•��¤4ð½Ò¼ó}ˆÂ¹#ÃÄýK+ g.³ ^.†>ƒrÛ¶¸pSÄ«ªf.ø€A¼†¿µú!w«â‹Ù6µúHú�5Õ ïÎPã"ƒBÕÌí²mK7/ë¦ÕÃÇ˨ÚÖX{r¥(·Pi€x9˜;)aTÜ(i'BáL‰ è× £ÕÓ+íDô/hÀ¤ds óBá Ç‹Âq†ÀQFä(ÈXÃÁ¢j6kò2©<¤Š‚2Eh[øäËk©´ÀÓkÐ/6]£q#Ç–˜ÍÒu®tq• ³Aýî{zé‰üpqu�+À[Ð`dÚ‰(•d ÇÁŠŠ3çW¶yg—ÓNt~•Цž^ePP>³EáÌ&Ó¬aPh�û}zÿðÇP8K>óλûÃ�?™5ÁÎ?ýô_ðÀ¿c÷ÿýO¾Ÿ�oð ¼~#ðOïë7o_¾<ÀÇk¸ßW¯E« úÝG¼‡Ç)â}uxðöÝ›Ãc)=Ò(æ7‡Ç/5ò*å{µ¼×¤X‰Ñw§p><>�§}£–]“bµßTtô^R©8À \ Ðxüøäô™�—"_†sFáÌó�;µ�x�¶Xè IDAT�^Uó~Ç<0W1ž3õñêÕ ‰ ÉU.® ¯ËP5>^Cs ˆ—ë,µuûÉU ^ªíN/2p¼ _®ø¤óƒxY_k‘(wÿ¶±�xQ2ƒ™I®2kÐo¶P1‰Vä6Ä[ª4�ËiÑ<ªfJç¹óáÌ1ªf8^nÒû��Ä\�lI¡¬4Ú×yéÝ­µºxzññÔAZ• êýBÛ"èJ9ÞŽÄ„¤ 1]“V•"^%„wˆ·ßí•F—ªF\X¿õñ‚x«jnJ÷cj÷Ò2F¾”›r¿�Ö\‚O°æ’beõC”ɵ–�©l_nG’ªf²šÍÇû<ØŒž?dãh|¼lñ¤™ ¢Õ÷;0áuÉdf-»I%‡�âêã]JüŒæÙˆzÙô4©”+ªæÉ U³7”ÖSÙÚê~W3r'¶?H(Žˆ${¡¤U�rQ2 ¨FRŽ ßÇ‹ç94ÒMþð 9ÌNÄËý'ON‘/²j0dÒFÉŒó­$ID­Â$H0ô´hDãÅí|û„'Óp¼ñBÉîK[—·Ÿ€@¦Ù•·g<½³ÍãJ�o±•‚r®‚âT�™Œ"Ð/1ËÆÓ <·ãÝå ‘û÷,OˆíÒý°`uEhÛÇ_`£F½ â½ýøJ}aM‘LÚø±ÚB£d6ñW7O¿B6‚·‘ã›9ÛÆQL†ïÄdh¡î¾yúÕ$HãéElÌGc|€¥7vÜÅÍGJ† %ËWËHÇA¼Ë[I±BÕÌ"�fbôç€|¤àLP5‡:§0Ž…†<3§å’Dµÿýa`å¤�l¡îYwútýÀ—�}ÄÉ£Ùí´ róGstxzýÑ<^Üîÿ4ø9§º ~_¬U;=ÑTªÕh¶Ñ–`±!ðct#ùuSöËZ~éš 0œ¬ÄáJw”,eÎå��ô´‰-J¤X‘ÏÌT®/1ï’Õl2á±oøQŽgØ4X£dæ‚–† 'Ìñtàéˆv#wÇËh3�ƒx÷#pšh°xXúÁˆë3ÄË(ï^à³DaÙî€]BÒÄå¥A³ ßJ£‹âFß;ôÕQJĺ\ïè1^S(ܶ†<»Ü×êmË ÞFÇ6ªfîkçÄ ²­·-ã âÎ[®·ðò œ"á‚[0ðX›íáx+ü­©NHÑo®T(ÕS=—®Mn³ÑwHÀÁ4G˜D<º(Ë úEA¯‹É Iªæ\± …KÉ"N®ý=Ïþšq<žÞ«La¿üâ*[P{ÚõUVR¬ðÜ^fòð½xÍpá²+C“l &a8 ™�¬Ïd»¤N·óKÝˉ–ð$]ŸŸˆÇM_àx¡RÒMæŽã%(ë9è%–ù·|¯I·2¦_Ðï7ˆ^¾äïgàwœ�Ô»ûòàõ›·û|/}¼”÷ÒN”–÷ Ç+ÁÎ aÎx} ©2k/˜Y|¼oÞr€(œ%¹ ¾÷Í^7¯}ÕÓkÐ/è‹�›¢_ v6ˆ2–§¥jޤš¦X)RM›Štmlü‰„È+'l.LlZ‹P5‹òY‰¸º™Üf®›\"Q/#}1y ×98^3Yä`ãÝ5è7aª¿2Ç€QŸùXÎ.²æêOâ3/OKrú"“bER"Še|¼ÌJŸ•Ëo±Ü`�É—‹åªfúú@Ë2ß­IŠ•)ïUï® �ñë¢=f�-Чï.™$Lšä*¢­Ðe�%·YŸ_FÝšo !¼�~9fßÕèØ’Õ¬’­FW r«M‹0ª¶-Uºš¨,Ãxq[iÂ6"£¾&WõCœZlÂŒ�—„ª}‹».ÂNZ–$¦àæñ ¡/a-Ú<)�¢D›¸á˜T¶bl ¥)wÇÉU©�W“«ÐæùQ‚Žä*8íDÐ$WA_D‰Ô�t{�¯YÍn8žDÐï’RM)Ò<Ðo”,I®¢¿„|æ(‘<ññŠso!Ù6;ôëF‰VIgiJ%©¬´?˜ þ�&k*X€%½0(1¤ºVH-“bŶ>/LÞ�7œAi"<'DÉ*-ŒÑÜf”«`E°(k„»@k ŸPmðu�{¨R¡d1s¢•MùÞÿ—½7ÿ’ì<ë<ÿ «*3KRÆ�¸kì‘ûž¹ï[dFîK-ª*É’,Ó6 öÌa� †iº0LCÛ`ƒÝ4ÈÝ¢�A,¶$„Ý  ݦ=3ô@C7 M÷àÃsÞ÷sãÉ[Q©´ª,—UÊÇ'�Ï«¨›‘OFÞ{¿ïw³¥¬(œ‰NóS€@ÒXrh úå]£‰ÝÜ» SaÇ%¹ ,�ó�õtü„IHؼµͦ"i4ôìÉÍgpÌ‚~ñ¯Š{Nûª ‚Ž-¸øx�‚�¥;GO %FX.`•ä*Ð °y×;g,´-oàŠíàŠ½ë24,h0Ï0¿cªŒM ˜X”ÅÛlS£Í[Û°ÙNHÇ�ÓG7ÞÍ“ <†mñÊ�Å8MŠ¿µ£ï&Œ ô‹Ö€5Ì<¼.¿úÝã›ü:´’;&|~Øø�Ï¿2>�áDd�·å)>^öwÌf�åó¥’š?%6¤ª0H˜Ü54íÈÄÇKJcx]‹~÷ÉannQQ†üÁ²³3¿ºiޱus6`Ó"^çÆÎÊŽU{X´ÕA"!;`mkaðzc\ úe—�´*`' gN\øxA•¬ P@´Ì®"vb|¹PÍ’\%>^2œ9'/¬Ô‰Ä�;ÒíÙ^|¼œ$É�â5@Âo+ŽÌ'ä0'|Nìøx¹jÔl��©ä­Íp!ïP¢"ˆ�àÒ3f¢Ù`›0¡ÐÉë×hm nÓ/©T _²—!„%¹jp´†™›îHÕxwíþòè—X�ÑÚÔ™>Þf7ïv¡¡± ÌG¤XÁÍ�N°»�zhÊäßôKŠ•p¿±²Ì"çž¾!î[ÐK³F†Véîg³žÐMC)Û`*ŽIÞÿÐÇË㲆=–0”B¥»Xééî3ME˜r+=ýP¸(™ÅkFSQ¶PŠCIË]p ÉU�Én^sɦ伨l ‹ ŸÞXÚ›Lá~‰¹j½mí YÉj‹§·½ãJGÇ£Ôµw\¹�»ý�Àœ¯ál-ßóºŽG´�Ÿ®­Âùñ¦}“be•Ìtó®ØÊžA¹² ãéMg|i*r\_Ð/ˆ×�ò±ÂÙZ”Ï´�„O9Þ&â¥�% „pÌñºP±p¼Ô‰§—¸)Ð5AöØ-È0 o 4 âŧ$fóïôÙìæåŠ|q‰�ƒÏñ²³ˆ~¦»Ï4ªK°~¾Ô-â,(\0rEò,>á{ åJó*Ýý¬ññŠÂ¹ÒÝoTÍCFÕ ~¦'€"ß$÷ š-wõq K cWÏ€øxI±BéÔ;0’Ü«Nõ�w÷Aºö�“Û<61m+ï�\ŠhJE’b%î#§€Ç YHôñÄKLemf¾63ÏÖ5}†¨Â@¹xz'g¹ÆããÅXÅ­Ïhm†Íxthȉ'gMqb|¿2³HÒ& çáñ)‰ñÄÊ…¬nlbV”̵™Åùå QÍ�xÉöÙò�ä¯T§æ‰ZÄkH K/¯7h'Bˇ ÍÜhÚ´**.ÅöÆ�ãÔÜ ´íÚÖ>^”„ø�“ªBéÆ\ÙØ&·yrv…óÜJ�ÆÎõÆ�óèãåþ˜5|¯Ñ7.¬®5ö7vŽ–ë;SF}Pß=^ÚØÆˆ_wvyS|¼i'âvŸ5ˆwesO/æL\‘Âñ­l† ãVôÅ­¼´Ú´Þ8”Üæ•Í}šfP¢B¯ñƒ„ï…:ÃNÉO±ÀÑÁIBãÉ$)&�­S”'°±F ´Þ¿zP [(QXTøÞ8ÒÉæJ¡¥*V�7¶�!C§'Í®<¡™ðÁõO½W ôõ'Ÿ#/Jb–i'¢ÈwkߘZ¯Ý~ÑÙp¿0çWo=‹g,d)O)¤1¶dÄÛ"�c0`uûð†Øql¹}ttÃd5C_¾evvŽI�Æi|ýÉçÀœ`rÀêîñMv dɯ¶Oh2´ÐèBžÛîâ×ì†�àVc£'òŠáó~u^ €ÊvnÖˆ�áxåó³±sŒ’Äk[ˆŒwwuë£5h~(ô¬Ù»±µÉ¢ÏÄK¶Ö8äï%ÂÂÚ6�aK»±’yçxa}§åï x ÇË7έ˜¾±­ý“…µ­…µ­­}#ʘ[ÙÂÙn›ŠÖðî¢òX©ïlí¯nî’ÉÜ0äðÙuñÙòF}ûpsçHvÙÖ¶öd—m}kŽ—óÏÄì;nÀñÎ.®%­x:h)çìǾÊNŬQ8³�89»\›^àt*R–dA”Ìhpòp¾å\ÍO‘mM£j¶»–³‹kì“"®ÿ {£ìfV§æA¹È‹$BÂvðxjne`¤ÆÂVÕØ±Åm ßËÖ°lõ‚~k3ó#¦‘¨6=Gáèwlb™WR:xÙó¯(œÙ€æñdn3µFfcº:ŵ¾ v§¤§WDaˆ¿à{†Ç (Dz ÷ ú�Îý‚ri'‚ïÅÇË:_î!S³§Xš¥�B˜Çáx“ݼ ^áuIWÁ£KƒF®X)uõReQ$NúxÃ\U³8ÝP8c^Ä{êéµ|o\�i Ab¯ÍjÆÇ Ç 7Ó zQ5_6�÷ÑSô{å1Ö‚x9 £ãÑ ˆ^ô-ëîc)ÇE¥|šbeo úu½PÊ{9žh«äôK>3kzzAÂ~�=å{m¡.ÉUDO™äg‹Q½0G 4¼nÚ H]&Ã)2Ѩšé–¬f/̱�&ªfŸA¼¬�ä¸Ü…‚ñIòdÊôå‹(�ÁÏ V/È–27¼»$W â…3»†ÉŒž³ÜÝÇÖc6_ÆÓ úå6C†N;èìµ�Z#.6É<½œý‹•^P®\BD&âe'•õiž„í…§›— ˜ Þž¾¡áQ›Ùh}¼xzÙ^•+#�Æyàtóò©–R_ 2†aþâ4¸�ãùÕëäîÒš-û5ây[¤´°¶]ß=Ä»±s´¹gÄ„À‘\µ\7ÝcøLB»åx§çWÖû�½s›_Yµ çùÕMTÔz“Õ â�_Þ€Æ:‹Ædbviµ¾ƒ�—}=B 0 ¯nî"ƦA`þj}‡ÐHfÂI7àÔJ`2ú”»¼ÞÄâã¥UŽs2çm¢“z’©YŽ7>±7¯øx§çWØå% �™¨@¬›YÍå ¯‹±ehl2F¼Ó #µêÔlòú51»@ò"Û»p¿¬ÅÇK˜­ElïrõŽ—½céã•ê„æf´¹47³š­�w|²«o)–蹤›UsÿÐ\îÈXl}âÆ iƒ2B0”ÉxzK•>Q“´É3Ë=• Ür—ѯa¦yHîyxœû"”Ìp¼ü\lb’\eR¬úãn^A¿ä°tõ\‹•žžþAÒ•%¹*[(A·øxA¹¥®^t|xt“÷‡ÅJ÷¨$WqË�eÜ$RîÊËd¬æŠ•VÐ+òfA¼I㠉VíWXßÇÝ¿~‹NàN€n^|¼xzSŽ+ªfÖ XlºCy/�#ZŽ×²(¥1ý¢jÂjgöÂ,ˆ7ȼ0'k7ÌRe:…¶å6Ãb¯åxáf-³æÄ1ˆ–A¶œ�XôkëѱøuyP’«’)ó²N*™Å³âÁBÛÆˆ·ÜŦ YÍV3Ó !ŒÂ™snœ‰_î"³A’«ðèbYU³E¤ÈžA°Ð¶¨‘Q5ó8 –ǹ<â5W)+¢ž|¼\$âuÿpwï`¬pîbËÖ¤,ö qÑ—*#Q:qE4²ç± TÊ\bíu× Þáq£pî2Æ!ÌB}Cc°²ƒ‹n^R%ñôV§fq"SÉ€X˜Gkxz9†ä*.áxŸèf¸3Åj r2ÚÇ'ç¦æVÈdF«FZ‘¡èÓä>FŠ+ªSó FÉÌ]ä*J¹ÕÜüò’xz¹-£NC|¼xwéçUó’•&µ|Ð&´ A�•²à­Z œð-tðò o¹ã\oìS¡´ºµ‡_k.ŠeÛØy ©­ÒYBSÑÒÆ6Ÿ–�lnì-¬™hH¶ùÕðõòšmLYç.|ûhkÿÚÊæ>wÛ¤ƒxyÄ‹z9‰x[TÍX@Ñy¢kÅZIÝøÙ*zãíƒëÆÓkÑ JT|¼¬éàåÅâ�ˆ´uÿêmÐ�Ïàv4±<.ZY©‡%øàÚ“ 8j~ÜžçØV·|#>Uò¢ "ÉÊ‚Š„ªMªš1»Rä ƒŠÜ—,.ä¾bÁ…@Þ:¸Nj´ôñ; ÞæA¼Pß°Í�ưÍâãåЦr2‰½®hÈ“úêø•ì_‹²øxi¦âæùø‰§å­Ý0UºÌG‰x›Å𺟯ažeŸáºl1ì_½-ycÐûÀiòÃXs°d}³OÁ7ò)ehðºÐÑðº|#¹kq)´5–Ç=[;Çüjø{¡<‰O50ñî.×÷V6÷)d^ÚØ…©ýŠ�—?@þŽ,Ê5!êËõ½ùUc¶ç–$vþ`ù¡ëv[ŠTêÕ­½¹•úÊæîzãŽw½±O7¯­ï6ÞÝ…µ-ê»Ñ¡ˆ� 1Wô®ml›¬f"ë¥�ŽWºyWl­\.E¾¤U¡ŽiQ» —æ¬È~ŸxwQ/®n¢p/ŠiŒ“œ¸\i'’@~’âmM«^&˜ªÅÿ‚ Z|¼rÕ°¢eÃ÷r‰!4‘5¿ˆ¨‡Ç§lä¡Ñ%¡^¦O>îà�™­MI/×Y8^ñ÷¶ôü±,WO6�GkýÃÙ‚xÅpÄåx¤: Ç+Ù½ÃC#µ±ê»ä ^$Çã;ÃÙr“Àšv"Öˆ–ñî&×(œ‘›±f³Ooßà(QÌ‚rãFÆ�‘Jw¿Üÿ”»ú’k²ÜDu÷Þ�xI®‚ׯ܉ñ8æ5šŠð»QBIÓG©«·Pé&®×< Ï&ë8ÅÊf5ÇÖ9ëïE·È��u”/¶‚^(Ü»“«@¹¢jÓïD/ú–u÷1�8ÅÊæN‘V¸¯A¶ißÂÖÇ+|/�Ã÷‚„éæñ ÇˤXe\Se„¹´kÚ‰H±U3è×mªši-¢aجƒ(éé•n^L¿’Û ú•v",,þ^à¨Ø*@ÂÂF•†ñS…³=‹Q³†©ƒót.f�Ù–*ÒÍK&>Ž|¼FKSî6»†]}ÝvÇ1_î¶Aÿ4�B å-J<½œÐ¹pö7‘W6·�MSÒÅæ)—2$DÕgHX$,»°Ô± KÕk‚� ¨èAíÜÕ3pÚ×g{�FÆM¿nwßÐÈø$k"4’ˆ”‹h™5º¬¤§—´Iá{)o ÅŠ ¿d5×fæ 𠩈ä*öËcÄkS¬@Ë“³Kxw¹™š[Ÿb£�ÔM`'›ñ ^�° ^j�ØÅ‡ï�m]MU3anà8˜€f]�š_X©£v†}åLµ¸ºin§>^RI¡ „‘[ÓÇ;³°jÄÉåb�#«yzÞ´+Áýr#²åîSÖ«övvausÆÖ�¬7LŠÕòÆzÃÜÎÎ,®�¦X-¬.×wÖ1ú5 �mìäë;GËÛ3‹kMÄK@™±‹ëÛ›{'ÖÇ»¹²¹·µoJPf–6pT®7g—7Á$ aêXAÂÒr‹¿sôÔø$ŒË‘¼x] 5}¼k�C |^o’Á+ïþÕÛb¡æ0�LÃÅá†%)V5Û8¨ƒkO¢•=¸ö$U=D^ sCmÀ˜í_ñä�_–<$I«"ð™P¥dJ\%|ïqÓì*Ò_ÀÀUÉ@k|¼ü ØTpW’4FKŒe™t}÷zV ´èŠA¿Ä#‡&þЬfx]äЀU)ai4ï]Ÿñô\io’+ÙàIàxññò«”’!ó„?ƒ½ir’-`3|øñOƒEÑŸó[#Å ”ˆ‰/¡e;&Ø ¾—ºy©½=¼þ²aô<‰€‘Ó‹ª¾wes¦š+ÒªÈmŽÕ VÅÐ8¸-O�ä°øx—6vÑð“Õ üÆ3OÕ3ÁThàÉm&ól¹¾·°ÖØÜ3íDó«[ k þ0çLïîæÞÉZã`n¥NV3 ík�ýºíæµú‘ƒúÎÑÂêælS²°º9¿¼aR¬¶öf×ðî®nîRÇK&ç±cpÂ\ÝÜ…îW8^1¨—“y~T£Ky/§S¤4 aññ²iÈ–%ˆWò™I±åhç—7Ømd[“HBQ5ãÅ�[Z'ù%3‡$WÕ¦P2ó̬‰‡àÒS³ÆÙx�`ã•kÜ×/›b%ˆwbvAP.ME²̆r³ÿÏøxÇl’2+®Œ´!Ç+¦_Ð/)V¦¡65<6ÑÝ788R­NŽT ò›€ãñ‚~AÂ=}Cö86(FP5ß‘bÛt¹¡›WnQŒ!ëNÄKnsWÏXš4Ò \r°  Èmô[¨ô˜uß@WO®ÔUêêk¦XUÊÝý]=ý¢¼ƒû•ê äÇÜÎ Ê�“«JFMSQœlЧ·™b%ÉUÙB m`KŠUŒx­mØ�ò­ 7©jnï¸"(÷̵ʛïüè·\Ì <.ݼwªšÇ“ÜfêvA¶§ë´):‚×…6h6W‰§µ3Ôqæâž^‹xéÝMªš¡sá{ñ<¸–U³iΜéÚ³¦¼×¬›>^‡ã…û¥87V57Óª „A¹A¶¯Ë³qäÐÀpƒËEö,ž^6ùRæâå{i*â9akó¥nlºÍZ MЂ]ûJOßP®Øu&â�lë:tlˆš3¾ÍpNªšñ’îÐÓ77 <&C¢ÜÕ×?4²­t÷‹ªYÊåy=d6ra“5í\‡Fj£ã“¦½ÀÊ¡GÆ&¨ ŪohU32*h[x]²7„±»Ñ¦n/ƒle«[b*±3Ñè >(º y–ýr<½$"3›$·dËýÐÄìÒÀH-æxí­ Q¢µé…ÑÚŒ™ŒMÌbåBü†§w|r޼Pò?á&g—A¼ Yr›‘Û!ZÄËðl¼ b?^ Uh§a3$·U3 g鿥ÖJ„›EbP5/¯7ðñ…áæ.L2EÃñ.®YÇTŒˆ�µùF¼»hízfa•N^d}÷Êhn¥¾¹w¼±}8¿º9¿ºÙ8¸JDÖr}§qp•^“õÆ·ïÒž²\ß›[Ù"‡iici4�´È5%žÎ�Š#Ø0:] XÁàF¾”K+,ý.¨“í2€ ºyaÌà{ë»'¨OIÂØ)>ÞÃëOíßä'{0p²^ÙÜÊñ4õwçx­qÊ%,÷ä¦Q8K;ïh÷ø&áR¢ÚÝÚ¿¶Ö8Ä= IßlÝ–BI#âdÒ¤wŽž¸ñÔ{ÑÖ‚9é≿c0ßHµ�¤Xñ~¯?ù ¨Œ@W’«Ä],Øûø‰§%·-±@e怓–9Àñ®oJnVÌ×wO¤ “ðÞÉm(zæÃ+DGÍ“#�fM~õæÞUNn3ˆ—ßð˜p)\Öâã5eT¶úˆ_=îý«·¡XQ84uxý)R”“}¼|~ˆU#<œ‚hdöËõ=>�È¡ù@ÖwOø0Ÿðí£ùÕ 䈓×ù“Y\ß!닦"ò·Ö¶Q4llŽ×ÚÂãv"û YÚØew‰�·éæµ�Dó« ´o,®$Œ«iè iÞý.®7·«ïͯÔ9]På Ç»¶µÇ©�F4‰@¼“³¦¼íôüSß�=fÛU³øx¥n Žî—Èå…•ºœ)uÃ�‚1)�„ÿaÆš‹:94R˜XÖWÚ¤›wni]šŠ*ãLÁ#31»$‰¬O}¼Öô+>ÞfV³Q8séÁo<8:A­]uj¾¸ âÅm+ž^s᳃£µä¶/ˆ—v"bñ Áë²w<61-ˆwlbZ/’({ÍÛÉî IDATi6¢˜ãµ}¼q2åHmÌè³Æp-Ùgåú.YÍq…¡½÷À…êXºyAÂFYf[ˆØ7gS 4h¶hLTÍtó²³��·»w…3íDÜóHS‘”_ôô %iƒ|©››(ªŒà„Ë]}¹Bä\¬˜""TÍ‚r!„Q8‹‘ Bô‹ª^W|¼61«Wx]΂x¹w…%N"^έ WšŠýâã}äRÊçô{1Œ¾k�À½N€¬)šŠ’댸^HÌÉUp¼’\E‘/^_(\Öð½ _|¼¬áx)= lSQ*cR¬P/“h…ª9•ñ9 Àýrv s6ñµJŠ• _çðîzaŽsˆ—H=³H«jÚ-z@¿q7¯ ”'»�ÇÙÿcߎ @P®DØKV3zérwg=A¼<³ÉH(ugóeB• åž\±ÒÕ;ÐÓ?X¨t›`çÞAxÝäÉšäªJw?ž^vLA¼²ß)!‡¥Š±\´½#œî ²m*œ¹öp¤rW_ÜÍÛg¼ÄâÝíé’–I®â‚d’«šÞž±ê¯adl‚æz­Mu÷IV3��’«!ˆ—, PnßÐèØÄ4N¤¾¡ÑêÔlÒ¶ú5ø™yP®d5s0(·oÈÄKMÍ-±G>9»hs/§†Æ&¡F‡Æ&éæOo²�.—ä*r˜‡Ç§ˆôŸœñÎ,¬ŽMÌBÛ²&#2r•Ý}nk3‹‚r�gÌš~ â�^ÀlÆZ²šyfJÇ'ç¸Ïã… Ç[›^ ŸYïòzƒ–H¸_bNáUj3‹$dzãZ‘•úäÜÊÆö¡ñëÚ6Žúö!·­ +urk¸#ܲ÷¾3Kë«[{u›Ú:½°º±}°µ{ sRß>¬ïþ¼µ²±sDô+(—ÀçÆÁÕõÆO²}húB¸ZÞiÛÈkmw(Q=Øk¡jm�èñ<õÝ“ÙåMØ0Á ˜s+[ôñb–úSˆAP®$Wá"F²;·²éGÙ/Þ]¬•"6ÆŽ ž\ožÜ|†�¼bÂ{1£#¥D‡Î$ÐïÆöÑšýFC?ÚðgO4±-k­ _cvµYYIïÕ[Ï®ÛÔkB§Ðqes_úxW·°àòji¾EÈ ÇK—òµÛï"4•ôñî�ÜZ®ïñ�°Žp¹àóO½'-¶[ªt·ö¯aÎ%}¼×Ÿ|^¢˜TaˆbàTANÄ·íö{ÀŸ;GOPê n¤`‰ä*ÈaÌÒ'7Ÿ��—+Ò¤¯?µ´± ‘Άktä�ñ« 7òi¨ZÐïîñM´÷@åäçgq}GÈáÅõ 1©ãD^¡\r˜¡pF­€µÂÊæ¾ ßåúÞâúqÙËõ=äÓ´‚Åˆ×æ¢C ¯nÌ.oB�ó÷Å®Äâú¹è[ûצ7ø+ØØ9¦_wkÿd½q0e¼»¦{ŒìºµÆ>î}òêøëž2§Žƒ�í¨ÑÍ�#I®’ÓÈÒÚ çÚÌ"íhlÿòL/ð¡ŠDîF@ù�)ÞÚC¨l|¼›»œ A¼I–Ö¶V6¶ ’´':~ÊÄìèWâ±×K7/›ƒ$ rzäôk8^{’ “\/ š…ï%ñ�—$žÞñÉ9.7ÓóFR$—›áñ)6[mr•A¼ï¾ájmfžkׯISe498Z3åó3ó”ô;=×?<Îã ÞáñIBžÙ\æ`®¤\1{G@¿}Cc“½unQ¸ÁëKÌUWÏ24ár¡mAÅܱí^îê³~ÝažÙ¤xÚ¼è¸î±¸«§)šk–÷ ÄÛ¤ÌÝW¡RîîÃÓË-œ­5*ßÑ"ÉUHö š-Uìí\…5ð”[êê s¦M“›:îcÅÓ+¢Bii½-ȶ­½%³x}/]n—ú¢K—ÛïõÖ_�× \Ì Dj9^Q5CÛò8¼®xzA¼àùÜo‹§7~ÜvóŠ¿7s<îzahoìé=U8‡Yƒxm}QÌ÷6«Œx 7^‡YA¿°²Ä\±E·øx³…ÈW[n¸5â-7¼,Ûo‚rÙ–ã,ÆZÎb¤g�xA¿RYŽe·Éñö� Hþ�M4/¡Ê…r� £à̆¢¨š»ûÉ0D½œôô¢ä/o¥»ŸB<—ÀC\Áðº§-yÍή=�À"L"|‚-Û¡‘�#�ÆL7oRÝÔ;0By/WDªŒFÆ&ðñʦ2åCl*“bew£ãNúxñôJPÜïðø$&Šj3óÚÁÅž=oÖÌð˜ÇGª&b„> ädèÐ Tk3‹d“ X–ÔÍñÉ9„p _æn‰-¶ÿ LÆ E»Æäì2ÇJ¹™E’QjÓ ^£Óñ¢dž[ZÇÿ&Í“³¶ ’òÞ™…UññJ­%- †*ÙÜ%ôeÑTìîSËâ•õƶQ2“Õ ßkU͆ãåGolP¼´¶µi5�€Ué)1÷Á;G¸æ6¶ê–×¥àŽ» ‘L¯Ô T6µŸó«›k�ý­ý“Õ­=èYð!}¼G!Ýu$+Xu´ªÐg+íDÛ‡7ÈjÞ>¼AÝh‡¸”5ˆ—õÖþ5dºâÃܰ4ìöá ¼»ÂñBÉî_½ ´¦ò‡*ñWÂBÃRk„’9®5²ÄZ\–cÉ·ÃëOAÃbF½ŒÈÖÀÂ�cj�š:¼þ *¼%>ÞíÃ1il™½d…O¼¶O‚{ç0ºk‚¦À]0¨ˆº%Z™÷%‹yõê­gQ2ãé…`LJ£Å,Žb¢˜®Þz–yBó�BYKOÒhDÈâãåU‘ÏÌ/ á1O¶Þ]Ö´áãÌß=d>`Qðááõ§H\¬RØ—‹/%óÆöYÄqoí_ÃÇË'“r©µ-#aH~~øóCc¯õîÒšK¸ŸvÑç‹�wesŸ”i´ÓâÝ…(†·_\ß/SÒøÅÆPˆ—ͲБpÏ­láÒ_ÝÚ›±uø ¯k½ âÞÇÇ;¿º Ê]X©/®nÖ·ñôrºàÔ¯KîÉyˆb8Í-­s²âà9{â¢J ¡ a’ÕŒŽFšÉ%¹ŠT*à1©T¿%O­È­ÙÙÄÇ+íDH Q/Ã$S}$>^ªàªSó(™ï°·x‡ªyfÅ2J®ì{b¢!ØYïHuÄKy¯Íí_äZIÓùp¼ÃãÆpËV¯xz¹šëÝÌ<žÞ¤'ˆõÀH•þ?8^ÖȬ¸‹üÊxzGj\ècï ät˜lŽ¡Ñ‰‘±‰ž~ƒ6“/7 Àñ²-nZ!lJˆôñ ¯Ëþ¾ôñr»rÇ­‹�2Ž—ÛvüA°ìàÇž^[ñÈ}Qwï`±Ò+a(rCTæxrC ·ÜkÔvHó±ÜÂA᲎}¼6®…È«XÕl.ÉyÁa²M¦Xø �,7™Ü”ÂÇœáémkï ¡ê‘KmIÄÛÞq£ï¥Ëíâï½Ü¦ ·r1!œ¾ë{�@ÊqOS¬¬w7îãm¶el#¼n¬p¶ME b˜[¸\Ï�å ß‹Zr›ƒ0çY<½ðºxwe;¼®ð½$ZÁå¢jÆß …+/éðnqŠ�ך‚„A¼¤^±Žƒã›ˆ—P¶P"æ µ3ªæd¢kL¿(–!„áu·x€i*"í Ümέö{ññ¢p®t÷sÎ¥¼¯/'nZˆÀ¨´® ß+è—o©Ò‡dHâZ.'\!zFýŠ£ŽW|¼(œ)H"Þ¸£Ïj¤…û•ö‚žþá‘1³LÅXujxt‚Me®â½ƒ#‚xÍåslI¦_�­„<ŒTññ’ÕŒ  _.xA¼5›ðÁ3ÓN$}†£µ)A¼Cc6òj^WbEˆáî‡Y‹&­6½0<>5=¿‚"Žû©gDáLë/Ûÿ²Æî…Zdkzq'f—$P´6³È­[Œx×ÐïMÌ.Í/op׈ªYÎTVòÚå"äfJ‡è7™beî>—ÖW¬Âyfi]ÂW)Õ4ˆ×Ò)Ëë rk ÙÒØ_o,mlŸ6­oÏ.®Žwûм©•úÆÎÈô â]®ï ˜ÄK\žÃ¤sesŸ®—úî D2Î…µm©cYÚØÝ°iO”Áà„”æRÈL4Æ I±ÂB¹wr ¿% z�õÆÎ1?%‰R�L·¨šA¿¤‹±“È+à´ð½„ �ñŠxç艘4¶Ðîê­gAƒ \¨ÐWóÖX7®óª˜ýIX‘‰VÆP œ†åÊ|$ÙK’«ØHœmÉmñŠ4Zö)ÄÂ�Âô»Þ8äí\¥ÏPJäAS ”ËKi=ÍÒtnEU2¤1;T¡p–⮕Í}Ž�ŽæƒŠà_|¼d¡3�™¥:˜=)Ö8Ø#¾·i¼ß!«™ä*TÍ$´y%íD$´÷þöñðº„óôkèpR¬Öw$Ūõü³¸¶jÎñ¶Ýæ.“\ˆ%˜€¼»I¯!WgÙ$ŠŸ¦"Jé8ÍJ@ ‰ƒ¸6ÄÇË3W§æç¬Î…�Ê8æjzî—ƒkv×RšÛy \^û¤ì�Âër ÜÄ+íD‚x«Sód8OÍ-ÇYÍM¯\¿â­Þé¹ÚôÜÀH•]]@¬9fzN/*ª¤�—5WL©NèmA¼F5Rë±ÙcÕ)ô_Ãã“Àãž�aƒ´Åµ4f Œ›Ér¿l�Ãñ"þJ6AÈZTÍâã…ã%I„[”äf=kºy{ú†pƒZѯq³„qÁÎ"”ñ ß$–µ±Vá£ß’á~1¯Éíœ(™ãv¢&ú„¼xÝôæ ß›+–ý(/¯ _n\[™^oÙ¶¬;:•+íé½Wä£Ç_Ø t¦ÒŽãeÜ å¸�w¦[šŠx¼…ïÙRqd¬åŠQ8Tl{zy\/ž^Q;“bå†YšŠ Ok×â饩H8Þ0[4ÈÖr¿a.^ƒ~[8^a¶Ð\Kƒ`éæ…¿¥Öˆ€Vx`±[hùÞ¼íX³ëbr?OTÍIÄ‹$&–Á”»@¹<›œOK]š âµÜoˆ—]F `ˆE8Mq$ [îêc¿“³?6]/—–düƒxzáiщ§—=…ãEáQ4Îl厎OŠªÙp¹¶>þÔÓkÑoìéÄkâ1&¦áxÁ¥8Ž@¿ƒ£µ¾¡Ñ‘ê$Jæ»/Þ].ö’\ßË3Ãå¶øxk3ó³ ì‘[…˜A°âãÅL…lhl²f“9A¹ÆÓ»¸<³° âå>^k.ëêÔ<Ä)Vr·À]ëÚÌ"c0ƒ¸�ÒÈåõ†YÛ—A*)�¢+Ûôp p¦Ì-Ÿtó®llã(£Ø¨ ñÂM! g¼s’›j’cûÓ‹kS ««[{ Üy[¶ÉÝçÒzCzJ¬4ñpic{rÎö”ì-Ù¼¹s´¹sDNŒøx©ý¤úOïêÖÞüêæÊænãà*ëõÆ·ïäÊâ3ÄÇK[)·þ¬¥ŽeÑ�¢ª•nÞõÆ!DñîñMÃŒÕ÷pBb¡Dá ¶{|“Ð HT^|T[Ü.³sŒp„FÒV€+Jf8^‰/‚-\ÚØ…ª­ïž¬nÄqÁ–@>ºñn@L°{'·ÁQȤ!ëÀ“’Û ýHÔŒ\,“Þ9FÁKÐTÓìzKqÑîñMdÀ‚~ÅÇ‹Ll‰ ïáõ§€‚1=kM­ð½ëÖQ,¯3°àpXhq³1Aí0.Y`³Ø’%¹ ̹±}$}¼xz�Êõݾn_|ÎûמDSM,-MüvŽŸxz½qˆÚ¨¼¹wU* 6ªšv"Öè«Ù§”‹ËÀ��—�TÍPßüêÅÎV Ÿéæe;†–é•Í}Ð/<2œ®Ò¹EurùÓT”T5ËfŸ7à�ÇíD6o<Ð kÛ†‘C‹ªy~µÁŸ[QtóŠ�wkÿ„æíË÷.¬mÍýÈ�qé/­Ç>ÞÆ>+|/ûwøxM Q}/þ^j�x94ëÕúÎô¼)ûa �<|TÍP¯p¼µéÎ~ж²÷G R«ªyÆlt"™ôkv6-‚%æÄK3F’–::ãéµQ…$ÿób&fGk3œuI|€ûÅÿ™y´6Ã冠D© h¢Ü•êÔ<—!àqëõkz®63?46!>ÞÁÑ|¯¨škÓsäD ÇKZ•ì#�OÎ⛘æà¾¡1�Çq;ÑhÍlLWÇjÓ8¡†F'8Ä;’Èì5™‚xQÃñÂÍš€ÁQnE ~¶’còœi¬èÄ+%‹|/u»±§×ÚtyœOÉ.Ä«šmÙD±Ò âíêà&*F¼Ã7 —Î*†oèhñô¢XŽ9^«^ævåóq¼Ü[Êý!jgb®Ð JTjý’‰…D±ô’\ß+)V�>r©�`çöŽ+²nk︰F߸Nàž&à8× R©Œð½xwá{A¶¨še ¦µ(�1ÁÎÂë:MU3ܯdA¿§¹Íßæã>^›;uâ "Çõã+‹r�9*˜×àGÙ\1Ê=›á "Íø¡á{‹e¸bTÍžíŽòE�mìéµME~”U3ˆ—³Ûu”“´§ØŒ¾¸a¼Ù6ˆ-w›Ä6ño´l JÔA©«d+ÍoFKS2>Þî¾�|©‹º][žÞ%/1WdæŠ]tЉ�d âí±ªŒ1 [h[6M1ÉÇ+.šþ¡1‚9xh¤j³£%ÅŠ° )Ù²í:bóÉm«NqåÄÛ;82R�©NZ¯±æ²&rp´Ö30ŒAh`¤*I’¶9Ð ¯Û74FSQÿðxÿð8ªæ8¹Êªš¹HÓaÈž—ƒ­w×ø ðñ’u9=¿\›ž³ÍI3ÜñpÛšŸJ"^ü±Õ©ù‘ê4ˆwlbvlbvvqMP®ðºñ Ðì74 +un_¸œ˜]¸rG…§·b¬Q5£¦#Ý{ØÂJ±„ðÊÆ6]+Û«¶ƒ{ô²¹Ë=ß‚U$bN[ZÛZÛÚCÂG>ªd¥‚rgMärÌë&¯‘,îÆ¼q†�­YGÕ¯6vŽŒ�wi}cçhcûpvycam ^wn¥¾¸ÞåB�4ðñ>MŠ•úÂ;‘Ռ꒜¹•-´Ç¶€”æXò™©ÃYk 3&à Àw‘V%¯xz‘LKÖîr}OÈ=ò�b3çöÑÑ�wÃÝAÕB&7®ÃOâ–Àç¸�hû¸ž¬ïž@Ã^�f¸ «|íö{c¨šQíÆùÃ;Ç`KŒÁ ^!B�ˆÀ¿«·ž”P�¨uûˆR_„¯�Æd5K^T2tjÿêmp&¡S‚9%tjsïê�§Þ+1ËD^�x%ŸyÿêíØÇkmÉbÁ¥�8¤1\ð6QXן|ó TÞ;¹uýÉçdG€2dË./`/ÙcÒ#Åo ‰¸�ê;DzO±Þ8d†àO 5žð­ýklpP‹Ç ø„ã]ÚØ%^v$© Ã»+ÉURºÎk†ËEŒ <¦òB˜½Ñ™…ÕÑÚ WA¼Ô™ V›VX›žÍ¢Q2×/Û5@uÐäì"ˆwhl‚Âù¤µ§xôkq©i!júxÇ’‰ã“3€ÙG†fͦ35 ƒñÊ¥¹§hhtÂàêA“\58\�S*íŽöð¨éæM–8Ç‹ H|Úa÷îÙ[‡ãe�Ï Ä +q$l¯CÛ¢¦†-`�ö�’‹RÅ´õX5k$Ð…²Émææ'_êN"^Ú�Œ§·ÔE/w†•ž~R¬@¿I¯ ^nçàl+=ý-ÉUÜL+=p¹I/!2IŽ× s¨ϽIõ2ªæo[{‡Ä\ÝÓ}¿¬¸°Hg<lj/œ-įp¼¢v†/Ý”ã&Î~�åq8^Ï�„ã…θ�xz)"Ÿ9^Ñ)ÇfO}¼~äùQ"‹~½ ‹D™¦"Q5ÓToÜâéµÈ¶ˆh”ËVÈ9)8¡ÊH:Ö8Í¡N�nQ5ÓZd¤/Í{Ê{ËÝ}âe{OÖ¸G@ÅÛT”´šÀår€Ë5o³§·…ãå„ÎeFÖ\¥8ÅÃ뢑”‹Â™k�8mÄÓÛ¢j–ÄElåÚòÞªQ/Ûj�aëó‰³šÇ âíA´ŒY&6yY…ן”hšññŽOÎ�]In3IT½8žn^›˜”[³ª0áuáx9TW£ƒE•ÊšoïÁµ')û¥b—8eÄÉ›{WÅ) ¶Œ}¼öÍâã]o•Aq¢j¢§%‹×%°™õÑ�w§ùFˆPqyµ†ª½ù ¯vïä2µ=ÇO<�ÿ”+1ËI/�^dDí�Üâ=‚riU3`•b!ññòJxBHc*g�ЬŠS X%\ ØÌZ^ ¶d6)¤¯ø Éñò$äH‘ò%ÒèØ8mÙN¾Ûíáõ§PÿZÆopï䵺ì -âvA¼„?ƒxå aàw�o¶|~€Í{'·ø‰²íBÝ‘ù XAˆ—´3I±"Yš>-éæméã‹;’œää6ó'À߆ùÕû&wùxMÙ/‘WxzW6wEɼ\ß™µfë�éã]kìÏ­ÔçW7A¼³Ëf½s»¼Þà!}¼œÇl;šA¼±�·yþ1ò›»s‹kÒÇ;=¿bPn}‡“ØÂê¦øxyœÔú¤Úey½Á»�Ä%€r‘Ï€lÙå„ æZ0¿¼!;’8PHä<‰�—ru¬+$oµ¨š§æVx6x]ñô¢Ð­ÍT§æYÓÍ ð©¤:5·é âEQ<1»pÇõËîØ’VÅÖ0(w¤:I§.[ºl.Ó{ÄeWüAð½ôñ6›ŠŒÂ)VßÐèàhm´6Åf4n “ÛlÕËøxåöô£X–nÞ¤�—-r¼»ÆÓ;0gË�Ŝܔ—j ©Ü®À!ǯmE�÷<æV'�x¬Ê=<ÎÍÏ)>^°´A Ù)â-w%k8ävŽSÎÒR)÷‡øx[<½ù’‰¹JÞdŠ�Ž—ZAo Ç›T;·µw\n3)VI…ó…Å0úÆu÷4‹x�tÆô ÇËÚtóZÔj¿ÓÇ›T5{~dJ}­ª™ãïF¼w¤XùÙºAœ\•öI®Âß‹’ŒÂÙ â¥ì7sÙœ�¯¢dN®IÆÂÓËZ<½p¼¢jÎ˨š9±6[n¶6MÔ)Ò±&ˆW<„9ÛÓŸA¼vóÏV–—ÍÆ!¡œ¥ëÜ™]Þ6à-„l\\ßA]i<ºv 9I ÌfE§ ^P.|ïêÖ.Gh4ÖÜú#Ö`“‹w—Œ¥u[äÛ8¸Ž*U*Ž@,â×wQÄØI7/Jf¡–וðgš]yr°<ÀuûðPY¯Äó�P‘`N€™p˜"÷5XËšœcá±µà&¥¿âã Ú±_ƒ4fï@˜UqÌò~¯Ý~P°ÊšÆ`éã¬î=»‹·�Ä Ì“\m>‰$WñbUóÎ1ÑÊp¼ÒäD_1¾Öý«·coµÖÉ·†�W Ò|¢ŽŸx9©ÚìÇ+ÉUÒÁ 9 õ*UÌÄ,¯Ù} P.n¡ôQ5“|¶sôöcû$ÊE Ï…ª•v¢åú)VìÝ É_ÙÜgï†Ü/Îs‘<,¬mƒxáx�dààzÌñZÝ„d5ã�¿/þÖ€Çó« 8Þ&â5ùÌËõ‰$¯ÎìmÙ$vó—ÞTsÌ­Ô×me7ʬþne � IDAT&#`c›Sˆ—`g‚LržõÍâã%ï`mkoy½A©8kTÍœÐèÚñ"™nI4€;ÅÇ;9»œäx)ƽBNy ‚xñëJÊ [d쓉p7âe+_.Û”ã³(ƒ¸j�/8Z›AøC„•uH A¿ÍäªùéùåñÉ|¹SsKqrUs÷V®_ƒ£5¶}±ÿŒÖ¦¸ ryÅÓËQ:ÿh'’t äÐp¹lFß�rFª±ww|’¦¢‘± ®ï _Q5�ŽOb�’xK‰½ä†�¤+TÍ¢,3¼Ve†ºXx]„cv¶$WÑO‘ôñrƒtÇý�•@ó8!Ï \ /’ˆeµmÍhæ‰VºI«²j»²È÷ @@¼Ü(–ºzó6¹*F¿¥ $„0/�˜VKTÍ#¢BñæŠÒgZAoK#MEp¿-ˆ¾÷žîûõ`�À…�@gÊqÒ¦’·³©p–5­E a× A¢j†ôëzaæ@¿$Z�™uåý k¾±ÙT”Êø`WQ8ûQ>ã‡ÒÇ›ñÃŒFYÃñº^èÅ ç®àØ»D’ÛlÎáoÝ "TîWÖÆÓÛ,Gጪ™“ÏÉI Ùv¯õ `�×e?¯Xé%¹*éém¢ß.žÍøxí)²Xé1Jf«j®ô˜ä*6%éÙ|Œ*õqðº-°—)ME aö>ík0êÎþxzý‚xM”¿� ¢w`4Kg™Ìh�ðîâãåbÖÝ;h¼»Ãc á…3 Ò^úµ ¨áîþ¡±‰i©@à*ÞÝ?””Q �MpñFÍšŒ I˜¬MÏÑ©€�s‘¤X¡p–ÈÊêÔìäìâð¸Q5“{û l»ÜïÔÜRmÆ ^6ì‰!]¹:5?0Rƒt­NÍÓ?13¿2>97R�&3ylbv´6CrÕøä…ìèÓ K¤'°³6³È�BÒÇ‹$�&né>—BD ½–“b%- Þéyc“£fô»´¶EúèÚÖžYÛ>$éÀŽwjnemko½±ÏÍ Ä5/ f·²En3òNè5Èd²vñ^Âס÷NnI ÑþÕÛ€̱â…fD} õŠ´•5]A(Wñ¬ÒpKvOΘD;‘¨vãö�í#`a²Ô—aqÌnÞÀ» iŒ–Øk‰­®ï.FÖ£ï†9¿zëYt×PÑÇ‹ ¸X5;Mi4ÌsR� XEaK±¬éµÛïámÊ“ “Äkªm®µH£!�…çIøõ‰ªùèÆ»!Š¡²¸Æˆ×ÖAáã%ç ¥7ý='7ŸaCdçè ó�¶GjÿêmÞ;/ÅT²O�˜°käôò«ñ¾wr‹_1Òz/Bññ¢³wÃnÈìòfãà:»!´!›çÏAâÍùÆÅõBÅùÓ`›F|¼lú Û§ãZþ¾Ö¶Ö¶Í.’u ðøºQ5×ù[[ÙÜ�YZÇÓ»¸Þ Ú½¾{Lr•(;àu×ûS «¬W6w'¬uvÓò½É>^ñôrò\ÛÚÃÇkNb6¹Š�‚ô‹PÙä3oîr¥�œ3$‰Vp§«õññr0j´'Îâã�9^›³ÀŽdujž°I®U³°“ð�x‡ìCÎì�²ÊÖçÔÜ &b®N#$ìÆ«M.4ˆ×\³,ß‹ª¾·åú50R�˜]Ä+vá{%¹ ªVP2#�ÆþúwpBY*/ð˜Ksì`²¡ð½=}C£ã&ä™{¢.ñîä—ËÁÒ‰HV³ì­³ÏŽw—5·.qŠUìã5ÉUÛa�Ú9æx-ß{zÿóÆÝ¼ôñróCO$Œq6_N ßrWï€$WÉ:[(Ëâ=U5Û¤+Ú1¥¿Cø^éã-TºEá,)VÐ'1Ç[îB´˜-”ZA¯(™Å»{¦ÚBX=½Âé¿× 8i×õ‚ÎT¦ÙTdÖZ'í?Þ™†Â Ç1WÍ�gƒ`Ó¦ñȳòc'mèbA¹Â÷Þ�x-cì‡Ù:®éã%‰ U3k q�5È–(æÚäŒ~ét:�€N@' Ð èÞ ÄÉ2å.8^«ø«´‚^:xÏG¼—ÛÚ¥¼÷^oýõx�ÀÅœ@:ã¥L€³+ glºâéu½P’«„ï=õñ:,¹Íxzy*?Èš‚ß´OŠÊgÏ�ŒJÙ�ÒnàQšuÆ*œáx¡pA¿âé}xÏnúÊu:�€N@' Ð ètµÉ™¤§7W,÷‚^’«P2'9Þ¤�WŒ¾Êô^Lü¦ïú>&�J¥Mk‘5妷É÷Z¯µéÆ^_ËÐ:MŽW¼»p¼‚råñ–ÜfG Šöƒ,]ælø^”Ìø{ ÇÓ/èWO”:�€N@' Ð èt:�‡zxzÉUÅôëGù»@¯M«Jvóšäª+�µµwÐT”D¼�ÞÇÝ¿~‹NàN 3å¤3§ž^¸\Ôβ&Å Ä‹§U3 –v"Y'ήŠ�—5Ü/|/H8sQÖtðJSè7´iU6ò*z¨Opúâu:�€N@' Ð ètâãÍ7ÎgxzÙ"`&­ Ä‹�÷r[»ø~/·µ_@ô¢oY'p°ˆ×åfÜï.žÞtÆxzññЧ—¬fºy%·9éã¥ÔWR¬@¶žaNP.oÚ¦N…Q>ã™ä*–I±â¤ßå‹çœ%«Ó}C•®¾ûxïú-ïà Tºúú†ªÓç|xôŸt:�€N@' Ð <° øQžnÞ [0Yª¶Ñ£•éů+íD¨�¹Ô–D¼Éõ;øfNßšNà-œ€“v;S>Þ$â…×»ÂëæL—¯ë…ðÀ�ÀÉnÞ¤�—cb¯ÍNªšƒ0g:{ñ÷6­H±Š=½¡éãõÂÜ9'£ÞþÁ·púTï° ôöžóáÑÒ èt:�€N@'ðÀ&âEÌâ ²…VÐÛÑñ(­E-}¼¨šÅë ß«žÞwØ�«¾�¯Ý:SNgÊɸ&xÙæ6›0gA¼Á:Fßå:è°ä6 úmI®/ºè˜ãuߨš /HÛµÉs6å½QëïÅÓë…¹Œžs2ÊæŠ_»áè3?ìÈæÎ“ œó¹ÒÒ èt:�€N@'ðÖN _ªâÍ—*~”?ô¶ Þµ3ÙΗ.…3|ïÃ~¯¦¯_'ð`&â͸¾á{Si× lž³i-‚³5=½w¥X9ŽG•QÜZd#¯èà=m*²Ï„9�³U8[^7ã{a–䪸µ(ÌeÜ cê‰L¯ÕAÄI!ã‡ç3½fJúSÞ ¼µ—+}6�€N@' Ð èt÷7nn ßk=½$Zµ2½øuÉj~#Uó#—L¶UGÇ£—.«§·òðÞ¤ê+�hzzÇÉd\ßI»¦Á¨™ÛÜ™Êļ®å{i'2ˆWºy-ú¥©'p¼¶ME¨—y¶ý¦ý Ì‘éà%¹Ê siÛŠEÉs–Üf7Ìžïéý*gU+Ý:V®ø�|º¸¿Ë’~—N@' Ð èt:�·vøxá{Ã\1_îÊË­ 7©jnkïà+™\%ÁÎ(œ¿Ê[aýv�À™ž^Çɤ3ˆ7�ñ,úõ±ð’\÷ â…¿…æq8^Ö¨šù^Ï�ü KJ‘W/ �×"^³£¼I´rÏ�¢¬ññÂñ†¹¢fÏ9ã|•¿¦ýzñõO�}ûûK•Ê;ø}•Sz¨¿ýœ�þ“N@' Ð èt:�6ññ‚~³…ÒòféãE½œT2'óœy¼½ãÊC}—¦/^'ðÀ&Йjr¼NƬӮE¼±�W²šÉp†ã%ÅŠt«8«¹É÷‚r3nàY<À¦†·‰xI´2Çd|×*œÓýšnÞ0� ßkü½¶§÷+zzÏÔž-~ë7”¾ù™Òa£08X.–ï´År¥:Vzê¤ð=(ÿÂ�ôþÝë3ò™êÿö=]#C¥3ŸM|¨'ðÀ®dúƒt:�€N@' Ð œ3ºy%·ÙÜßd²Å»+iU(™ÅÇ+ˆWAïC}“ª/þAN eÌFÕü¸�¼vídR©Œ \I±r×r¼¡AÂVá úåA¿‚x!„ÅÓëÙ éÝOoÚ Œ’9Ìñ㢨€IU3<°åÏ9}œ9«ßaôK¿Vý“ÏT_ÿÔØ ?Þÿî«ÅÁÁ2GŽ •Þ÷dñÅŸø·/Žýß¿QûϯLþýÎ~ùõ™?ý­Ú}g¥ŸùäúàÃ5�s><úO:�€N@' Ð èØ¤©(_ªxa.ÌÏ�7¿‘�UsGÇ£ áöŽ+ä9?\·eúju_¯ ÀÍÄ›vm„UÚ,3~Æ RŽ  5¨ØÉ8NÆõÏ úµÑV®žƒx%·Ùq</ܯ1úo#Þ(Ÿ¶H ^03ME¢p>çdtæÜþÒBÙ¿ÿÃÙ¿ÿÃÙ¿ýÂô~iôÖq±««2Q-}èå?ø—cû…é¿ÿÃÙ¿{}†Åß~aú×~zðp«pæ³½©Ëå¹�ìÿø¾Ò·=[>^êê6Üriy+wû¸(_×–ºšOU_Ⱦÿ½ÅïzåözWO“ˆ.V õÝüþ´V)”‹ë;ùý™î7x6ó#®¯t•J§Tvu1{cµRê.lïæo“_7�Š+#åå­ÜÑ\âG”*cKÙg¶»ºOŸÄ¼ÞW(å¿çùÞÿøbõÕO ›¯OŽüóo,•*žì÷´ço^™úÜ?üä?í{ý¥êÿóϫǣ݅R¥X‰þ駆>~}àôƒQÎþÈ/ þüÍÁ7x¶üw¼÷˯L¿oª·ù-åƒoÉ~á{GzzÃûx¿ý¹Ã_zeâßý‹ÑW?1ü;Ÿýæ¹Ê‡žïý•oj_)” øÑÊ_fòdмû•ÿÐó½/ÞqÌ× ëV'¦ú‡›/쎗Q�˜êêé?óŸ’>°+™þ �€N@' Ð ètçL”d Q¾Hœ•å[Ao{Ç•¤wWÎTIŠ•D[%ozt­Ð ¼ÑïLƒ]A¼M…³p¼�ééµèŒë§Rij�b…sÚÇ»Ë3H>3è·%ÑŠ˜« Ì9i?íú~”÷£¼ú�ò�U8cúõƒlÚ�=½n˜=¿§÷�ÞW±\éë+¯-¾ãý¥…ñ1cñýýF¿üúÌý«±ïû`yi®ØÕ]Yœ-þão«¬.|UÎý«é?þìäsµžøÅT*CÞèx'¼4ôïÓ.üÙ'k[1Â,VòüHåK?5^­t�zÏz¶ü‡~¦ï³?7øÅŸ4ßnz z…¶- ú/üÆø~ h“¯ª2áþÖ‹c¿øüÀÏß°ýv½µÉé—^zé…^¸÷.,®|îsŸ{á…Ê•æØO™ê;°ñ9×ý'�€N@' Ð ètl¹b9ÈÈmÎJ°;­ W’«àxééO/ªf©5ROoó÷Ž›?}P'p÷Û-”JÙ++`vž^Q8»^`ªŒì®g�0/È–Z£tÆ<~Šxm­hÖ¡©È"[#`�ÂÄëGy7ÈòlT™µuöÃ߇§7ù6ËÝ=囇…ß|~è¿ÿÞôµú},ׯã̪žÞòdí«Í¯êYHÿÁË“ï›hA_:¾7É©VJÃþ‹¿]ýÉ#�—æ/´{&ó»¯N~ûBßW½/ÞùlW¼ïcï)ê7Æ>ùÔ@Ñ ¾³Aï÷­½è-7¾)øý=|�ÿÅŸ®VË ç· èíêéÿÙŸý¹×^{í¥—^‘_ëÒÊÚ+¯¼òꫯþÐýp1~Íox®{`W2ýA:�€N@' Ð èΙ@RÕìGù(–§÷Lïn2¹*‰x¹Ô&·GºÐ èΙ€Q&…³ÓT5ô‹§×p¼ŽÛ\Çž^‹xMÌ•(œqáâ&�U³4 âåqëé5ªæS…³kž-Š <§dÃlÑ "j�Â\ñœÓÇ9oMþic¹ø‹?Ö÷ׯMý§ÏMüèwwÍM}U¼®Þ¬Y[Äó½AtÎIê+þ禊?ùáî?û퉿ýÂô'´ok­ØÛ[ˆÃœ»{NY߯øTçP¬ž�^þõ±ÿþ;Ó?ÿú{ éj<½ò‹cŸþèÀ§?:ð«?=ø=;}ƒ›™/}vêÖˆ¸g TëþÒÓƒçƒÞ»Ÿ Ðû³O Ê…þXå�~xt¸TÁÓÛ"o~#¦wt;óï_œhôw•ÊÅð¿–^þöáŠ}åoO/¸÷cûØk¯½öÙÏ~öæ­'_~ùå×^{í[¿íÛÏùu$ÿéœ�þ“N@' Ð èt:�6�|¹+[(ÁñR_t¶§WΘ{ýžú{Û;ÔÓ›¼ÛÓµNà+Nà´›·ÙÓ›ÎØh+Çk"^Ã÷fl Uʶ¹^¯  Äk¼¸ñÂ÷¦3>�˜ÇÅÓk÷B/̹a6•ñÝ Báì¸qy¯D¤XÙÇ#÷~Ao__¹¾\üÈwuýéoÖþîõ™ß|~艃Bu¬ôìõâÿô\ OïÂLñ}keyþ­â~˳ûÞï¾2ñsO œéé5BèW'¿ù4wÊ€ÞR_ðÉ—ÆþÙñWfz“^\û›Íèù¾ço±tWÍûõß®þÌ�¾«ß–ýü÷޼9Ðk€îÿ÷{3óù©¿ùüÔý7ÓÿíÓ“»ýݼò·I�àb¹ë#ùÈkÍÿ½ïýßô?ØrÀ»’éÒ èt:�€N@'pÎrŲåñôFùâÙžÞËmí´‰�·­½Cr›“oGÇ£mírÇ£ �€Nàœ `Ó%¡ÊI»Í´ª 6]Pnr�D¼Â÷‚r�¿·éé {~$ž^ÔÎôñúñžzzìA¼Ad ‚xÍÚ¦XÙÂ9§�3ßšIo¾mÒ›ñÇúþâåÉ/¿>óù1ò 7M[ï“'…W?1üþzõã?ØóÁgMŠÕ_¼<ùÑÿ¥g{­xßéÍw¾†Ò{ÿIé ß5R±AV-бØ>ÿé‘_~v0ù-#[™/~nê9#NÎýÀÏ÷}ê¹Sp±7ü¹ÏŒþø~ÿÑSÐ[(•Wžñþü×&¿û; Ÿÿ¾7zË£Þ¯¾TýŽÕîÑáÒèpihÔ¼¶�^�ázË+O¾à¯×úÃßÿ¯½öÚ³Ï>wO/àœ�þ“N@' Ð èt:�6�ØÓkù^/Ìe ¥3zzÅÓÛâã…ïmkï�h+òœïé®HÖ \Ø $ºy=Ö©T:ã’V/¾_Šˆ@³Âñv¦2ôñr¼çGžq ÁÎð½$Tše¼»M”æŠnsd ?„ãýfü0Ìïô&{zÿúµ©W?9òþ§ŠÃƒå®®ÊÿðtQzz¿üúÌû7¦°÷¿~~úÓ3µF÷÷1žÍ­Wã²ÜÞªÿ‰O�üò3¦dèCÏ÷þë÷uuUººÍWÅT"•×ÞãÿÅ禾{»Ç&<—‡¦ýO¼8üÚw ÷تúûƒ?q≉n“JU.~ úóOO˜2¡3Ÿ- z+…rþ~´çOþÕøï¾9лöœÿÅ��7ëÌk;ü–è‹?>>R*ðÊ»»MXwOÙ¾ò74ÍÞßÐîï»V×ë÷ú�ìJ¦?H' Ð èt:�À9ÀÇKns¶P¢µ¨ÕÓ —‹’™ú"|¼Ret¹­]ÖÊôÞë}¡a'7Ùž^øÞ»=½ý¦}× A¶§>^›üó½ö€ñ&ÖÀcÎ7ˆó™¼nÆÝ0ë…9¯fEÕ|ßžÞßaôK¿Vý÷Ÿÿ½_ý…î½¶[èë‹M¼#C¥o|²ø+?5ðÇÿzüO«ö_^�üû?œýòë3ÿñ·&~è;+ES5tÏ_³7Ý?ûüÔ_½:õŸ^žü«ß™ú쇇ÇM�Pþ»~¦ç˯ÏÄ_0óê·Ž”,²Ý}oøo?[û«W§þâÕÉ¿}múÓÿóàX\8T)Vòßð½…¿ü½éÿ÷•É¿úüÔ_¾XûÆER¯Î|¶;Ao©Ò3í¾üJí�><úåÍÅJîŸ|ràÿ8­)2ïº{6óùßžøÆ©²yåp÷+¿çÉÜÇ0ßòo9çÚ£ÿ¤Ð èt:�€Nà�M _ªDù¢ä6ÙB�-´‚Þ»ûxïîæ•"_­,zËoõ ß© ·™„ªN“bå…³÷ô ß›D¼¬kúMúxéàEá ú%Ø™D+I±2|¯QÞð½ÆÓ›õÃ|Æ�Ònà…9?ŒS¬ü0Dæñûðô~àÙâ·|Cé}·‹ÛkÅþþîÊo°X®LTKO_+~ßËŸøHßß½>ó~½úßÛ=2tÿÝE¥îÒXµ8]+ œ¦7WJÝåþþÓ¯ž. v®Êå¡ÑbãIÿK¯NýОô Ũ²Ô]ªÖŠÕ¡ŠÉòàéSõ÷—y¶Rw¹Ûȧ_­�”Ëݽå®Ä1ñårOïÝn¹«Ç<áy¯<ñ³’?÷m»~`W2ýA:�€N@' Ð èΙ€ ^R¬Èpn½¢j6=½—MVs²›7Éñ²~ÛÞ�é Ó ¼­&à8Png*wöZÄ‹�ר4jçøMFùüæ¿ë­;²ÜxðŸ_›þp£÷­{ίËyûþÐs®=úO:�€N@' Ð èØ⦢Rßy=½wó½—ÛÚI®’0gü½z©Ð ¼™ 4=½&¹*�ñ;S™;²š­PY²šA¤—‹§dë8ždyU³¬ƒ0gb®ì³ Êñ’Œ„¹([dFù$âýš‚ÞÚX驓›Ô×ê˜rif©ÐX)Ü—²úkõª6:÷œ9<°+™þ �€N@' Ð ètçL W,ÓÍëGyR¬ÂÜ]=½�‚x“ÞÝ$âåq©/:çHÿI' � ¤Ri«p6庂x[TÍ�À VoëÚñœ´Or•“Ž{zAÈ錟D¼¬qa” Ç+èTìzaåÃÈsÎéÃóCy/ºÐ ´LÀóÏûðœó¹ÒÒ èt:�€N@'ðÖNÄd ¹b9W,^Ó*onkï�äªöŽ+’hÅún$Ürë£ÿ©Ð œ9zzA¹)Ç%l¹ýÚÀ*Ç1…½tqr©M=½÷ {ô/ò:SN‹§7�‰ý½h’“ªfx][k%³…ÇÍ&=½Ž‡e—Çi*ñºÜšuÆ ^?ʧ½ ã‡ð½iÎi/pƒÈ7µF¦¿÷��Œôét:�€N@' Ð è¾@Õ,ˆ×Tuž zEáLo‹�s/jgíé½È(Nßû=M@zzÅÇ‹’9F¼VÉ,|¯xzï@¼6¹*öñZÄK¢è8ݪiú�Ño�fá{M7¯�c¾×-â5¨øüžÞ¯Å)IŸS' Ð èt:�€N@'ðÖNO/ªf¨�l¡ÔÊô>r©í<ÎD· IDATÒeÓÍ‹w—ÜæËmí‚r“žÞG.µÝÓ}¿¬¸°Hg¼tÆU³ ^Ã÷:æñ–äªXÉl9^³Np¼@bA¹ä6ãéõüÈx}mk‘Y[þ6•ñý(où^ƒx­�×(œ]?ŒrEÏ(œ â sçyzßÚ“‘>›N@' Ð èt:�€Nàk1� [È—*(œYçŠåVЛäuñôÂ÷²–¦" v¾°F߸Nàž&{zm,3 UŽekÇ£©n6å¸�±¨�1ßJ;‘xz a–ä*ó½Í+z€ý X¿®´a¾7ã%¯M®âq7Ìm÷èc�ú¥Ð èt:�€N@' xx'Çd Þ³=½xw/]n—|f|¼-�‹úžîûõ`�À…�@gÊI¥ � ¯ëØv¢”ãvÚh+¸ÜӬ毤X5ù^P.Í|ï©�·™beZ‘\ß ²~˜³ëÀs†ûµþÞÀøx³FöDA¶àQÚ {¼S¿t:�€N@' Ð ètï²…ˆ7W,g %nZ™ÞdOo‹§÷r›AÂRØÛÖÞÑÖÞqa1Œ¾q�À=MOoÌë69Þ”ã ßkÖÍž^ŒyÝ;ή­‚ו<çd†³ë…~�…ïEí,Ü/jç´xaU³I·²)VÂ�w¦ôK' Ð èt:�€N@'ððNÀ�òA¶ ž^?ÊŸáé…ãÅÓ+뤧÷Òeãïíèx”Z£{ºï׃uvNÚµ 縩H|¼p¶wó½<.¹ÍÀcTÍ’\Å1‚r¥©´„9A¿¬Ón�ö?Ê»aV|¼.|¯U81­ÿ¯Ð èt:�€N@' xH'抹b9ÊqðåK•3@/ªæï#�˜@+P.ÑV¬/]n¿°F߸Nàž&à¤ÝΔ#¼.ÉUIÄ‹ò9å¸1kÎø{!�A°À`?Èr<ªf³¶ªæ0ÊÃëÆ(7ã“ÕÌñ/æuQ5‡¹"ªfÎn¥RiýÒ èt:�€N@' Ð ¼Ý'àdRoð•/UrÅ2|o¾T mnk«¼YªDÉœä{%ØùÒåv"¯îé¾_Ö \Ø XÄë¦3>>^'í'×7H9.±ÌÂñº^²вFÉ Ê…ã•˜+�-F_æœö9~جÃ\ÌëÚn^7ˆ×§»,ã‡?„ŽÖÿ× èt:�€N@' Ð <¤Ä ßë…¹ [h½ÒT”T8KŠU{Ç•öŽ+�4¯öô^X§oü^'�J¥3®ï8®m-2è×±(W|¼IÄÛ’h%|o:ãKnó©ªùÎnÞ8·9c@µ¬]/ £¼o•Ì¢p¦¼—+ÐoÚ5ÙWú¥Ð èt:�€N@' x(&�qý–¯ [𣼤X¡vn½I^—ä*¤Î-�ƒ~UÞ|¯ÈG�¿°Hg<ÇÉ<öx§Íp6kmuÊ÷¦­ÙôñÚ䪘ïµl-œ0 N¾W<½žÁƒrO“«l¢Õi7¯í㕬æXÕf3~Șëú¥Ð èt:�€N@' xx' ž^/Ì…¹b¾T‰òÅVЛl*o2¹J<½tö^X £o\'pOpœÌãFâœý}3n¬v¦ÒÍ+=½Ž¥pA¹NÚжIô+ ç Ì…³­5…sÒÓFy”Ò®oÛ‰šÉUÆßo›Š,â-š$ç Ò/�€N@' Ð èt:�ÀC3�0òïüåÂè|eO¯p¹‚rññvt<š¬5º§û~=X'pa'`¯ p&ÏI» ^Bª@³¨šc”k/�ãÎuÒ!£påº^ˆw—à{!„ý ˃ _Y'=½?¤¾È�òxzƒ0«_:�€N@' Ð èt:�‡g¹ ¼ã+Êatò¥ŠQ8†Ù0wÓ‹’¹ãÊc—Ûâ´*ÉmN"aL¿Ãè× ÜÓ'cPn* ßký½™T*ƒª9™bE;ÜoË:ã¢dñ¢j¾;ÑŠ ,á{ñôz6¹Ê%Å*̦2&ÅŠs�ãú~”�ôK' Ð èt:�€N@'ðM ›�îü"·9[(�~£|ñŒÊ¢¤w—µxz[¯öôÞæÑƒ/ø Ík}¼NÚMg¼T*m¹_S)„ªôÛ™Êt¦2¨‘A¼²†ã…ûñò½žÅ|¯ãùA6©p!ÛZ£¼Y»�DA”?m*²/ÑVA¶�Íé—N@' Ð èt:�€Nà!ž€øxñôæŠå³Ó›[³š/µáéôÛÑñ¨p¿ÉèÛ× ¼É t¦œÇïLg<ogeË)Çd‹57�ñ;S™U³ë…Ä\�¢\ÛÍ+ g?È‚réæ5�güŒ ^v2¾DRäëÙ(*dÜ€ƒ£¨àza6_Ô/�€N@' Ð èt:�ÀÃ;ññFù"õEn˜m ²4‹zù‘Kmôñ âm©2z“wüz˜Nà‚OÀöôš+<½&Î*ív¾×(œ“ž^¼» Þ»Ñ/ gÔËg¢_‚�AÂi7ðœD)‹xÍÚvÿ&CžÃ(„9ž6W(é—N@' Ð èt:�€Nàá�€Éjµ>^8^øÞVÐK&s{Ç•ŽŽG/]n¿t¹=©jnkï È—�ç¶öŽ ŽdôíëÞä vS©t*•FáÜ™rðô:iß–÷zøxÏæxm>sÆ ßk×IO¯çG$W‘b%ªf/Ìeü0•ñ)%2ÉU¶¼7Œ¬Ú9ããû‡ï £üÃ{vÓW®Ð èt:�€N@' ÈJ^˜ƒã¥°7[(�íé=ñ‚~á{á~‰¹z“wüz˜Nà‚O@|¼¢pîL9¶J;èLeÈm>3«”Û™ÊHŠUÊq“¯d9&mA,/ݼ‚x}|¼®ïùFá ßšˆ‚XáFù0Êç‹eýÒ èt:�€N@' Ð <¼O¯f³…έL/�D´‰’™Ö"H`)ò_p$£o_'ð&'@rUSÕì¤Riàœöñ:ŽY;Ö¦K´UÌë:�8öôÚåâãuÄË11âuƒTÚ3ÉUÙBÚ ×xzƒ0GbžÞtÆ'دïÃ{vÓW®Ð èt:�€N@' 0°ME~”ÏËxz½0× zÛ;®´øx“žÞäôû&ïøõ0�ÀŸ€ôô6s›M†s§Q;›*#'mòœ�´Q8'=½ÒÍ+ˆWºy sæqDËÉ5ÁΨš]šŠÂ¬o=½NÚ¨šA¹&æ*Ìûa.ã?¼à¿#}û:�€N@' Ð ètûDÕœ+–½0gZ9ówõôÂñâݽÜÖÞÖÞ!|¯¬6·µw\nk؇¢¯_'ð`&à8›\e8^S_”vñ÷ ÷ë¤]‹~[s›1Ü’Ûìz¡A¶iŸ˜+Émµsýxf3~h8Þ0ë…¹´’Õ„9Ï�2怾ߌúQþÁŒBŠN@' Ð èt:�€Nàk4P®¤X�çéMzwI®BáÌãmõÈ¥¶¯ÑkÕ§Õ ¼Ã&â}¼3%(·ÙZä>Þ™’õÙ)VVù,)VxzýÆž^ǰÄ\ns�ö âÐôÛL±’ä*?ʧ-ÇË–Ø;læúvt:�€N@' Ð è.Ú²…R®Xs&Ùµå[åÍxzEáÜâã…ûMù^´!êûÕ Üß{¼ó Äëd¨22¯“!Ì•2ÉU¬)òE±L‘/�cæq8^ÔÑ´B8#o�ö/ÌúAV|¼A˜HŒúþÞš~—N@' Ð èt:�€Nàm2|¼A¶�+–©/:ÃÓ+}¼w+œEíœDÂo“÷¦/C'ð6ŸÀã�)TͶ©È¦X9ó c<½M£¯akSŽ›r\ )ªæäZÒ­@¼®r°dA¿®Æë´áxÝ0§X5=½¢pN»�ñôFy7Ìsõ6Ÿ¡¾<�€N@' Ð èt:�ÀùOoÖÖ½¡§÷ÒecåM"[�0ž^y¼½ãŠzzÏŸ¸þ«N@&à8›\åĉVMŽ×¨�Y§M´•d8ƒ`Ém ;V´œäx“k8^b®èûõüÈ ¢´8ßp¼&­êÔÓëÚ5žÞ´ò,¯V:�€N@' Ð èt:�‡q Ül¡äGy/Ìe ¥3‚¬$Ÿù‘Km&ŸùÊcxzÏD¼—.k�Uåaü(èk~ðpÒÆ»kèތǺÙZdOg<«pv;S*…@¿âã=U;§ýS…sÚ4¡XaNÐ/�s�ËšÚˆ7̽0÷àÇ¢?Q' Ð èt:�€N@'ðN _ª�båGù\± ß{†§W¸\¼»ø{ÅÇKSÑ¥Ëí â·ðõéSéÞÁèLŽ^÷1]•f�ÂÙõË÷¦[zzEí 1{G†³ã9éñŠÂ9�1�ØõBúx�ÇÆ»›öÓ™À²Éž^ß*Ÿ‰¹Báüž¿¾5�€N@' Ð èt:�‹08^A¼”˜´‚ÞÄKƒéVÈžÛ;®\ºÜ.ë‹08}�:�¯~‚x%«9•J'=½À`A¹�±ø{ [N9.ME(ŸééeMr• ^<½@­øAÖIû7£|oÒÇëù‘áx-…?neÏp¹øxá{Ó?s¬‘@ ÇkªÌ‚(ù‚u­Ð èt:�€N@' xè& >^ÎQÞ$×´‚^¸Ü$²mA¼íWDáÜÞqå¡›‚¾`�À×e¢jvšME錗JeïLCᦷÓ}ýtÆïLeH®rÒfMO¯A¼© 6]މ À6Ú Ž7©pvœ8æ O/ME±ªÙ MŠ•¥2¾D~”Ïø¡ãú_—ÉèÕ èt:�€N@' Ð ¼U€ãõÂ\¾T1=½At襬H²šA¼�&}¼"uîèxô­zqú<:�wö°ìŠ�×"ÞtgÊ$W�` £Ä{ާ¾—`gA¹ð·Àà¤�^÷î5)V?4è7̾³úît:�€N@' Ð èÞñð£|�-d %ÚIX·2½p¼’Û,è÷Òåváx/›çGµ§÷ÿ‰Ñ7øNOïc�w:N&ãú©TÚzz ›r\Ã÷Z}²å{ãÖ"£d¶Ý¼¢jFíÜ™Ê�hâ=õôÚÜf× Q;{~ÊEÕŒ§—+Ï�2n`L¿QÞtùz.ÿ·ðýêSét:�ÀÿÏÞ{FÇUží¿ïçó?_ÎYëKš‘4³{™ªQs‘�ܱe[.€Ʀ'”0½·Ó[€Æ„B36Ý5bÒè-Ôò’ÿ›w½g­³žçÚsk{4’…mÉ*këñž=»üf[èâºïë&  �¡'àgòÙBªše])zëI˜½RÕŒ¾çgÂ0o;CZÞÜÜÒÞÕÕ½båê3g—šÛý ë™R©mÆÌÙ+V®îêênni‚ï…§    M¢IEÊãU‰VÕ{záßVôôJ¯êã­oL$ëÇÕÔ±§w4=¼—Á&ÐИÆÔ"ø½èéMV*mIŠ ˜ã)V˜Ó+óx{÷ôªêårrU”beºÈm–ž^5�×tDñâh~�…Ÿìùô÷¥èmniŸß½¸kÞÂ|¡É´ÜŠW¾Pêš·p~÷bêÞÁ~,y|   e¤�7W,¹A¶zOoïy¼ÈsÖ³y“qõËžÞQö|ðv•zz{U8GszSi Š×´Tµ3ôª(^Ûñ±=>›k(^Ç Ð» ;û£€ÙviôE´šTäg°?/*œ‡²¼¹««»kÞÂ0ÌUÈ]ùcæºæ-ìêêÞÑ—Ò6~ÊôiÓgN�6}b{k¡XÚÑþýì0í¤Û¶Þ|üü]8B?ïõÖÔcïùí}ÇÌj¢Óí™^Ï£‘ � � �Àp%€Üféé s…0W¨,oF/ª—ã=½Rá¬Õ¯šÓ‹}ø �À@ §S‹bý½Ûõôš–›6,ÓtlÇ3-×0ÔÀ^4îÆ«š{'ZAÁš¦+j¶'«YOú…—[Qáìù ïÅ _?¢žÞ‰“&¯X¹:_(Aâî=gîyç�¿qãÆÍ›7¯[wáÞsæb{¾Ð´båêþû{s-Ën}ë_ßþýË/¾úÇÿþïÿúø·Vu¶ ä먶ϴ³žxÿ‘ÓæU{kT_çÚ­=wEïpýïå=¼}   �ÝM Ȫä*¤XY¥x½0W)z%­J*œÑÇ+*·¦¶Gñ²§—¿‘À ¤ ³1•6MŠW­-G«\;mØðf•ßkXŽëcÓ´Q½œÖêÊ6®~1›½¾Xcôôbm;>/ü^Q¿Ñœ^ÇÇΪ¿w¨zz»ººgÌœ-ŠwÆ ÛbÿlذAt³û7{s-Ënë½›šš/– mÝ=ýñ«×\Ò?: ¥öö ššD¯6ššóÅR±­c„öbìÇk¡y„‰ŠMÛ‹ÞR[û¤ŽÖfõýŠ}¼-ÒÕêPãÛªÛË¥¶¶‰-=/å+X!z+Þ-ö>]sS{Ç„ñÛ]yùÚä¹    �±NÉUn�…úUνçô¢§Wò™EñÆ·ËX£d}#ë"�Håš¶Ìé5ÕÚ„ 5-O+^»GñZŽãú†éô(^Ó…þÔíýñ«¿õ�ýã÷w\¸îÞ×ÿþõW_ûí[ž1­$Ú¸”/6Ïøþú×¾øöŸÿøæÿûow5«�ŠÓÛÇéþðà…?ùõçß~ûá£çìÕ±ú¦—>úòóO?ûê›o>zâXúñÿgÑÏãÁ·H€H€H€Æ •\å‡Èm†â ²ÕÊ›+*™ã}¼u‰¤Œ/‚÷;9ò–I`'(�W+^5µ¨gmA…–{z=ñx-Û5Me›–'=½�©qõñš.<^µO9Ñ kT8c�>^$fÅûxý Uì¸Á�õô._¾Ê2�µ›7oî-z7n܈wý »|ùª~hCôn8tFS©}üŒCnããͧ©6àÉ{/èhmÉÛö¹ðù?{²R­k·~ýí W®n-–ò­‹¯{åoOî*Ì<å¹/þ|íšé…bsû¢½ø�>rڼ´µ[?ùãOÔÆRÓô£6¾ûîM‡NËw·õëþúÂå-ÅRó‚mûç¿~wÝ!mÅRqúqO~òæEK&ÈEª�ÿí¯7:«X,•&Nëhkî】èíëÝ-ûâ•_ž>³µ¥ÐTšsÆSºÿÄ JéµN˜2¹™’�H€H€H€H N��Çë…97Èö×Ó›HÖ‹�‹u_JX~Õã‚H ¦å¤Ò†(ÞÆTZÏìu‘V…¢e]ílÊX£´aVôôFÊV·éªµåůe{Ìkê\/Ä>eÅëz¡T8c`¯Ìéõƒl?׿ßÒ¢7 Y»qãÆÞ¢wóæÍeћ١è½å¯ÿþÿþûßÿõïÿùŸ¿ÿñöÓW´ãÇ_sÇìý9òØ“O»ú±wž¿xzS³½Ÿ½vþ‚ñúF:Žùå_Ÿ]·_çïÿÛë×wEEÈ{_ôü'�œ6¯ó÷}òê5s"ó¶ýÀþðÚM‡7w·õÓòÇÇtßûo_½¢#_,åšßøÆ{ëÜKøè�_;7VØÜÇ#ÑÛ统¿qaYK·/¿âõ/?zjýéK:9Æi¬—lÉ“Æ � � �@U¢x� ÅëÙê=½H«B>3òœ“É‘Á²N$뫞‰I€*¤ÒF¹�7R¿ÚËuPÕ 5›J[º�×ׯiÙ®í*ÿVúxQÕ 5_#íòUªšá!CñÊÚ×Îèãõƒ,lä Ìyz‚QÅ5ÒUyss;díyç�ß[ô®[w!Þ-•ÚRÞ¼áÐÅ–ù—¾ðñó—¬l*–šæœüÔûŸ½ñÔ/¯»ü¢ó¯ßòÞ ‘èÝòÑs'F…Á?¼[‰ÞY§<ú1ÞUR9êé�qâæ�ž¿hšnÎ[–^ñÊŸï:¦µó¸ž��?è¾÷^_·HéçÞ¢wûc*…ÖÇ#ÑÛ×»[>”«Ui™±úG?þ£oþþÊíÇwnWMMH$@$@$@$ÐC“ŠàñfòE7ÈV½¢r£y¼µ 1~1›WÔ/Eï ©vôо®c¨Á¼ÊïEõr*mèá½¶›¦mÙnÚ01Ñ×vÔø"´éJïnO¯éŠÊ…Ç+=½ˆ¼‚ßõôZÊFO/¯êky–ë£ÕÁt<Û¢žÞÝd…žÞö×üåóçOš;~ŸK^þ`óéÚò�wÎÓŸö-zÇxˇïÞµ|¼ ¦Ê5/þék_ñÉ'Oý`f[~À¢7ߺøêÿö—G®>ú°#Öží¹Oï】èíëݸè�wü�.<éàÖzê-¯òÂÉs8Ý·çÿ掅Ÿ¼G   ���ªf'ȸA6“/V™Ó+¹Í¨pÑ[[—ÀºbxïÀOÏ=I`,PÊ6•Vsz-¥x•Éka]ö{‘\¥b®,Û5 +ÞÓ ÛV)Ûíûx{Ô¯¥&úJ¯íøèïÅl^ø½ØÛµâͺeÅ ¿wȾ ®®î®y Ã0ÝÛûßa˜ëš·°ÿyEêjÛ–œ¹þösVwâÊ›fuÍí·ž³fþÊ3oÚøø“÷o8gùòµ×^}Ü´¦æâŒÃ¯ºíºïíݪ÷ìXsþ­×¿$_,5MYvö†Ÿ|òáõçuÔyë/úþ\}ؽ¿÷ã[~âÉnY·j†*cÞîãW­»õ¦ãéðªÒÂSo¼õ¬Ujf’¼ wÅ]�<ùÔCw\yX×Ī,L=ìÊ[rÈ }=mýž®X?vÿ£O>ùà/®:b>¢ª{N'çå‚H€H€H€H}¼:ÅJ%ZUŸÓ›L6`:æñJ%3úxÅï­©UÞ/Ë›ùT‘À 4jÅ 5 ¿•ÌP¿X+I\V¼©´¡zzõ"´éʪU&Y¶ª‚† µl¥Š1›WäqTɬ%±¬‘Ûœ¶\x¼Ž¶7À{ÙõÝš[Úçw/îš·0_(õV¼ùBSЮý IDAT×¼…ó»7·0·‰â–H€H€H€Hà;Èš´Ç¥X9~X¥§ÕË’Õ,*WÔo¼¿·.‘Üõ_y âo¼¿~oÚ0ÕÆrO/š~Õœ^CU8£�W�/*ç6Cñ:n`Ùš~E ‹Ç Xü^ÏÏT¬÷TO/¾îæ–ö®®î+WϘ9»TjóƒŒdKÍí3fÎ^±ruWW7ïXø{Á{$   �ÝKÉUðxQá\¥¼y\MúuëI(^ô÷Êv¨_Þ»{/‘G#�ÑJ@5è–ôô¦ aÎ=¯åÀ†^'È`]=ÈJúxEýÆ'IÓ/"¯xnîFcœÒª`ç"«y»+Ó6-•í 8R¼†…9½ÈpÆ Ý • ;iU¨p†Ê…ß«¼\]ÕŒ^_¬ãÎŽ"·YõôúáÿŽxû$@$@$@$@#�/üÞL¾d UÊ›¥z¹.‘L&$«9Y߈u"YŸL6ÈX£‘…×OCC ÞÇÛШR¬z|]ÓVÓ‰ô4#©pƨ^F…³e{j¨¯éÀ¿UÕÎ:·¹RñêQFjÓÅ¢r=?_»žêãuüP»mOïÐ0çYH€H€H€H€Æ�L¾ˆ>Þl¡)ÌPÏøÿHïn²¾±êZb® ~ÇDÞ/ ìSÅ=Þ´a"¹ª/Åk;ª_×0L*J¥-ôôš–R¿ˆe6-•b%¾nÚ°7ˆªšõ¤"ÌìÅl^(áø? xéôîÜ7ËO‘ � � � P¼ðxñ»n•ž^™HT—Hʘ"Q¿ð�£ g½Ãð¹=^ gÒÓkêJfQ¼¨j†ú5-'m˜Ñ(#]ílš®2r-¥~Ë\±–h+ø½Ž@å¢ì9®x±V“Šü F)yd-×7å÷Þáü•ñÚH€H€H€H€F/Ì…¹B�-HOïÿñ¿þŸ £÷?¤ª¹jrúx¥ì¹¶.1â(ð‚I`�ˆ§X‰ß[¡x˳y]¤[aN¯V¹–i©ñEðu!h±ŽúxM7mØâ÷šÚã�ü^]-¹Í~�…ß«Çål×7mOM- ²¶ÇžÞï�†¿Gž"ž”H€H€H€H ’bågò™|ÑÏ䫈^´H±Bïn|-¹ÍäÛÿ)ù. �Hns*m`6/|ݸNjIEèõ5 Ëv<ìcš¶ãú¦i§ Uá ÏV­LÓ•�gôñFÎñž^=ëÎ8‚dq× =?ƒ,h~Y$@$@$@$@$0¢ ˆÇ›-4ù™¼ã‡UDoMmo2Ù Ó‰’Ɇq5u5µ Q¼µÊnH$ëG4^< ZL*BDsTá¬'¥Ò†ä6§Ò¯e»Òô©_˃REµ³¬Ñß‹�g©p–ÜfÔHCÙbí9Ç �‰„jmš®¿'F žˆH€H€H€H`,@J+zz?ô3ùÿõþ¿•åÍèé…âEï.B›¡x±–í,o Ï ïq·Ð>­J®R-»Ê³�R¬ f¡x±ŽFYvVã‹t¯¯i9ÚûUÉU˜E¤|]mᢡ.ª ¡x¡Š‘\/=½Øîz¡d1 ~ïn¹S„H€H€H€H€öÌæ…Ç‹ ç*Noïž^T8'’õqõ‹ gŠÞ=õ]ò¼#Žzz+¯iK¯¨_¨\Q¼Ûïu x¡lÓ†-/2œ¡f1©HÔo<¹*¾Ž+Þ ÌÙŽ?â¨ò‚I€H€H€H€H N}¼H± sjHoÑŸÓÛ[å¢�Š�¾ñpM$Ð�¨€Ù´ÑÓ»]†³å˜Ú×ÅX#¬¥§Wª�ã=½¨dŽ­tO¯íø¶ã+I\žÓ‹FߨÚY®*%¬wõëY(^Ëöúºxn'    �A¯æ²…&/ÌUïé�O'ЧX¡§}¼ãjêÐÓ[—HŽˆ;çE’À'€AD�©t”b¥ÕoEo…Ç õU5ëŠhËvU…³ö‡-ÛÓk•b%ÊV*œ%æ ýº:«Y'WůyöüŒe{(�Þã”x$@$@$@$@$°+¤§×Ïäm/ÐéÍÕzz¥’9šÇ›¬W›ˆ÷ô¢òxW.ˆŸ%�±C`»9½1Å e[¥§W«\SÇ\¡XÔ/š~•B6Uµ³ãðoEñ"Ã9òu-/>›WÖhú…ß‹�žŸ;_ï”H€H€H€H`T@O¯òxƒŒŸÉ‡¹B•òf™N4®¦YÍQ†s"))V2Öˆ=½£òAáM $W¡§7•6T,sEUsY cdr›µ²U©W¦iÇ<^ñ{UO¯T5£ÂŠ7ª^ÖUÍ~�UIW:ùÛÑ Œí˜î‹A¾ƒqãýsâ¤É]]Ý‹–ì»|ùªåËW-Z²oWW÷ÄI“ûÿß%    �ª2ù"ªš¡x� SEô¢_Îu‰d¼ª¹¦6!UÍò\õLÜH$PA@ªšQáŒžÞ õ‹±Fˆ¼‚Ê�R¬zæôšâ÷bQ¼¨pFU³ë…Ž`¬fó"æ*šZTV¿¦¥”°çg¤Â¹âšõ�Í-í]]Ý+V®ž1sv©¹Ý²~�)•ÚfÌœ½båê®®îæ–öA½œH€H€H€H`ôˆç6»AÖö‚*¢ýºñ 纲Ç+ÁÎP¼:òŠ=½¥Ñ÷ ðŽƒ€ôôÂÂ5M»1•Žªšõ;˜Úï5M[<^ôñJÈ3|`Ä\9®J®‚ �*œ-/žVÿÖ,÷îbÈ`ôñúAVoæãÆ«³¹¥}~÷â®y ó…&Ór+^ùB©kÞÂùÝ‹©{«ÒãF    �¾8A&ÌÂ\Á 2Xÿÿ«WO¯Ìàõ+Ó‰¤ª%еuÊøíëdÜN$'5+sz{<ÞXU³(^ÓrÊ“Š\ËVƒyÓ†eZRÕlÙŽ‡ž^™Ó+/”-Út1¿í»ñ gñx¡Š‘b5”=½]]Ý]ó†a®BîÊÃ0×5oaWWwœa?ë¦öΙ] »æÌœÐÚÒçn]þó+œÚÚçEþ?,    �‘MUÍn�uü0È‚lµž^(Û¨�7Yß—â­K$këLoæoÏ$0@˜T´]O¯aŽFi•ŸÍ[îé…âµMK,†�ªføÀzíCCýŠßë¸/Zv¡r7€ÊÅFÏϘ嘫¡ìé�8iòŠ•«ó…’Hܪ‹|¡iÅÊÕ;îïm™uÄe¿zú¹gßôðæ'¶>ÿÌ}'vO¬þ¥L>dÃc·ÚIÑ;²ÿKVýËåÿ°    M³y?POo¼Â9Y߈þ^ôôÊX£d²�¿� „@c*­úxµ¯+ë†Æ4­Ò†‰jgI±BsÚ°SiË4{ü^ËvUU³aéh•b¥zwõ "ô÷Н‹²gT;KO/”°çgü %Œ gœb 7²ëûtuuϘ9»ªÐ­Ø8cæì™½“¸è¡-wÿhQ¤lsóÄI-MeQ×ÔÚ:~bs©9ºæ Ñ[ñn±¹Ð¤ö,´LlkéÛ.æNH€H€H€H€†1UÕ,Š×«ÏéEU3úxQÀ ïw\M�T5KŠË›w]ðc„ocJ«Ü²úE,3/¢­$ÅʲݴaAñš–—6ì´¡œmǃâUaΖ+Š·¢’£Œàߦƒh+ì¬û{Õð^�båY× á÷YOï¢%û–Jmú¶êKÍí‹–ìÛÏR˜zÄÏýÀIó'ôÚ§yÊÊóîyêÙ§·l}æ™Ço·Ç+!�áL šTTV¶Èm6”—k ·9m˜0~¥ÂÙ4x¹iCÍãEO¯aX±µm;º§×PM¿Z {(T޼\=§½»(�†¯+ÉUÒÓ‹ý‡ ½Ù }[õ�~�é_ôN<àò'7®ëj©½k®züî3§G…Ímû�{ï=ç¯(•�Þ>ßÝrÿñ]œ“DߘH€H€H€F0� [ˆ§X9ºÂ¹BóþGEr•d8×%’2§·¦6!S‹†æ·dž…F:éã�*œµú•>Þ´aÆÕo9ÅÊ…–©E†V¿èãÕmº*ÃúÙq}ÓrSi%‰Åûµ_­0ÈWy¿¦‹Ù¼�Ç2§wÈœ^UÞÜÜ^UåVl,•Úú/onî>óá-ëè¨lÁÝë°Ÿ>vÛ S"Ÿ¶yÁ©w?xé�-eÑÛ×»7=zëaÌv¦¹M$@$@$@#™€x¼ªÂÙ� d •¢W”-’«*úxá÷Ž«©Kè`göôŽt%Æë2†aÅ+œÑÇ �WúxMUí¬­LË�šmL¥-ÛÅ:m˜(EŽÍæõ`;®�`ÓRÕΨp–JæŠ>ÞõkyÒÓë¸�d‡†Æî ²j[rÑÆ_ÿì„…MÛÿhnYxÖÆM—-l‡<ùðk6ÿü¤……²èíë]ŠÞ¡yx   <n�• g7Ȇ9Uá\)z‘Ï _qVâñBñÖÔ& x!�ïrydM ÃjhLC£V(Þ¨ÑW+^ñxËsz(a]Õìš–«æñê¬f¤[™–ãz¾iÚZkÅkª}àñ¢§7®r%Ñ ÎjÄ‘¥œaÏÏØŽ?4ÀË#‹š*|ÝŠ?æ ¥�Œ,êXùãMÏ?s÷Õg~ïÀƒ<ü˜3.¯d,wˆzzã¨'NšÜÕÕ½hɾ˗¯Z¾|Õ¢%ûvuuOœ49¾×$@$@$@$@$0@P¹N��Ç‹ñE•No"Y/½»Édæñ¢’YÖ2Ö(‘¬๹ Œq˜N?6ªpÖê7e¤½ÜÆ”�è)íñªÙ¼ðxR¥Õ¯‰ž^Ótu…³«góªÌç²úíI±õ‹Þ]ËVêªXÖiË…Ç õ;Æ¿#Þ> � � � �ÀH' zzõ¤¢L¾è…9Û ªôôJõ²(Þª=½µu*ù.‘éPxý$04ÐÓ �WuïF*W%ZY¶ªR†úµlU½Œq»º’Ùˆr›µB6Mþ­ªp¶<¥xuÕ4ùj»Øµ^nTÀìP¿ð{U¯V¿8Ž­;û-ׇú< � � � � íè¨Ù¼~&w§ÊÈ"d2Ç/Œ_™TT[—� çq5uƒt­<, Œ2¨R–ÜæX¯ªv–©EP¼ð{Si5Ú=½ÐÌZåº�©¨é×4ðtUs¤~7Å+•̨pÆvä6kY¿n�1ϰ=dÜ�2æ¼    �±F³y½0g¹¾T8W)o–~ÝøÔ¢d²Ûkë²�AVcíâýî4�ŠžÞh:‘i7¦ÒÊãµTï®Îj¶Tˆ±é¤Ò¦V¼Ò­LÓÕÑVVÚP;¨‘E†mvYñªá½èéEVsä÷nßÇ÷xÕlÞ £Õ¯k»�ë«õNß?H$@$@$@$@Ã�@ÔÓë‡^˜C©³íUD¯T8KrU¼§W)ÞD²¦Vù½ìéß+¯aDhhLK…s\ñF¯®^¿“Š´Çë*¿W×$Z ›¦ºPȦk%WÙŽ_Þ«pV%ЪÚYªš±ÆX#T8c¬¼ßA’I$@$@$@$@}ð3yÇá÷ºAÖvÏï5§·¶.�éDÉdƒÌã•䪸ǛL6°§·/ÖÜNвۘJGê·ÜÓkš6zz!‰%¹Jy¿jŸHñš¦R¿¦åX¶k¨±F†þ §2œµ$†šM+ï7R¹z�¯ªv–D«¸ú5-Ï0å÷j�×0× +®™$    �‘E)VA¶€+?È…a¾Ò镞^(Þd²!®~ëÉq5uÒÓ[S›Yxµ$°§˜åJf5|H¯ã¯Ò°ºÂ9•6bY͆a¨ gíñªä*íͪ`¨_I®Â>±¢r]/Œ¼_ËsÜkôô¢ÚõBÏÏ`íùŠÞ=õlð¼$@$@$@$@»‹€æÂ\Yñfr™lÁ²•¢^n|:’«�Õ_cxïîº8‡F7�´a"Å >-Œ_¤[AÄb;Ô/Öz ¯R¼j:‘îé5 m%~¯N±Ú®ª9®ráåÂï…²µl¥~±–ªflt½Ð´ØÓ[Ý!ïŽH€H€H€F=�0WÀl^/Ìù™‚«­�JÑ‹JæxV3Ä­¤XÅù²§wÔ?4¼ÁÝE}¼†aEÉU¦Ý£xãkí÷bgUɬúxU…³*c6l•be:¶ã¥ KËc�he:Þ+/|]HeYCÜöîã…úUJ˜¢·HÑK$@$@$@$0² ¨>^/@O¯dl7¨âôJ¯šZTN«’žÞ¸âeOïî’C<ÎX €bf(^¸µñIE�©4ü^T>‹ßÛ£~µZŽr›µFµsZ)aUm;~Ú°¥ÂY)Þí«š¥ÂY<^ÓtÕÔ"]�õXø"x�$@$@$@$@£˜@|R‘íÚïí£§·ÂïEV3TnÜøåœÞQü¸ðÖv/x¼ �iÓ´ ÃjhT*w»þÞí=^Œ8’JfÈ`=µH©\d5CåÆ×âëb6¯iy�ÄÒ»‹ä*Ót¡r£jgËcOïîýºy4    �=BÀÏäÕ¤¢ c¹¾L-ª,oÆ<^™HTWžNÅ+Cz%äy�Ü OJ#Žr›Ñ”ùºZýF~¯å@CÜö õµŒ/B˜sÚ(‡9k5‹Üf(aT8o×Ç[vF¿®ä뫵V¼ñªfø½¦éŽ8ª¼`    ˆsJñÂãE€³ã‡•¢7>›}¼ñþ^ÌæEÌ2œã'àšH /˜Te‹RçÞk¥xõÀÞh�¯(^=›7m˜zj‘ÊpN¥-X¸’Û ¿;À¿Å’\e;>|`Ót«(^öô²¡—H€H€H€H`ä@Š•d•ßë‡P¿•¢Wzz¥�¯ ïÅÔ¢ºDR5ýÖqdÑÈîóîK¡qûn'A+=½ŠW†÷JȳS¼¦ö�uÓ¯R¼èãµ�Hý¢�•Ì´ØG²šÓ†Ý»�ž0ªšMKµ{~f·ß5H$@$@$@$@CIÀö‚¨ÂY+^?“÷3½zzáåÆ/ÖP¹¨vÆX#xÂCy< Œ\èã�g8Ãï…Ê•ªf4ýBñFÑV¢~uÓ¯å6;PÂ(ZŽªšµ…+}¼Êã5Ý ¿×qlïÝÓë¸ÁÈÅË+'    �|±TÑÓë…¹*å͉d½(ÞŠ¬féã…ÇË9½|ªH`àÓ2§W¦õîãõÅ\YŽ4ý¢ò9m˜–íBñ:·Y<^ÛñMKU>G³yãŠ×taçŠâõkÙžë…ê³ìéùõ< ¹' � � � ŒJ¨jvüÐÏä½0g¹~Ñ /}¼’b%ê7ÞÓ ¿wT’âM‘Àn'  ˜­xU3ÒªPö¬ûuu˜³öu£ž^Ýß ljõ+ë´a†e;j¸®R¹¦ Å‹IEP°jº¯®[V3xõÒß+Š!ÏP–ííö»æI€H€H€H€H`( HŠ•ŸÉ÷ÙÓ;®¦®¦6ÏpŽ÷ô"Új\M]"YŸ¬odOïP~<׈&€ÜfL*RQ̦šZ$Š&0ªšã)VRá ¿o*mˆß+S‹¶óxu¶³íøP¿èé…²5LÇõBÇ ‰ý ‹},Ûóƒìˆ&Ì‹'    ǃlAüÞ [¨ÞÓ+Š7Þ»[u]SË +Y‘À€¤ ³¾!…¢å �W|Ýh6¯iK†³©×=S‹ÊÞ¯òxÕÚŒ&éJæÈ×Õ“Š�Õl–×P¶ˆ¹Åëùx¿–­æôÚŽÏŸ’$@$@$@$@$0¢ @å:~(ζT¦7Ã×E¿.zw%·“Š$·%Ð#š/ž†Œ@Ccâ¶'¹Ê´1¼~/ÖJåöêã¿·1¥Ìá²â5¢žÞ²âµl¥„Ó†eÙ®ãú†ac�/T.ä±íøÊã5ݸßëz¡þ,çôèÿ_ Ù3Ñ � � � |W~&o{2œÑÓ[Eô"“¾®ÌãíÝÓ[[—¨K$ëÉïzÜŸÆ&0CñÂïM¥�ÆTº·÷‹Jfð´‚5ò\ÑÓ‹O©jçí¯‹¦_½Ý6”úUc� r¥Úý½‘úµzR¬ØÓ;6ŸLÞ5 � � � Œ&ñž^¨_7ÈV:½ðu¡re�ÜfÝšÚĸš:)�M€x/$0x0jÎfÙã…²M¥�¨§WW/7¦Ò¨j†*Ö ÀÊŽúxõgµ uõqÌ(ÅJ©_Ë´Ûñ ÃJ©F^O­M'mØP¼âñŠß‹ªf�szïÛç‘I€H€H€H€††€T5[®/~o¥è�iUñä*e$Š—=½CóÍñ,£€zzQáœJõ ÊÁ…:��2Š*™µ²�<^½†âEø3¯n6 W¡l-ÛÓUÍJ -ÛE…³ã¶ã«`g=ÈŠÉUð‹©EtzGÁcÆ[    �1N Ȥª9ÈÜ [¥¼*=½²Æð^T;W”:�q¦¼} ä6Cµ"·kX¸²�êªEË¢xÅËÕ À‘—©_CME²lW+^Ë4ËöÄ×µ?ªv¶<Ç °Ž"¯,5ýh€÷ÂÝH€H€H€H€H`x€Êu‚Œ p2jNo�©âôÖÔ&jU\UæôÂû­©Mˆ–Éúáy«¼*n`Û¢’Yü^(^T;ccÕ>^ôèÆ+œ#ØR^n*eš– ›J›Zåª gôôÆs›¥¿7®x‘b…˜«á�×C$@$@$@$@߉€íñ gµs•¢W”mm�’¾âëb;b®°ÙÎßé ¸3 ŒYðlejQc* sÆv(^x¹RÕŒy¼èéEr•i9Ø!Ïø¬iÚðuSi¾.Ò­$¹Ê0T8›¦k–“«ììùä6;nàzá˜ývxã$@$@$@$@£ƒ¯dáñ†™¼ß;ÈJ&ÅS¬0�¨¢Ú~ïè@û �Á&�JÉz¥m1ƒWzz¡~MS…-GkËÁ>¨j†Œž^ ò5 Έ¼’>^=©(0L¶mÜ×�ü^­x¡rmÇÅk;>üÞÁ†Àã“ � � � �À �ž^ÇÕ:ÈZ¶WéôV([™Í+)VâýÂïÔ+æÁI`Ô@/T+ú{1¾µGñjõy¼e% õ+Š×²Õh"¥Ÿ-¯J�¶å—oE¯J±Šõñêè C± IDATÈ«À´I¼ë� €úäÆTºw¢•iÚ �Qµ3<^ÂP¹Jñ–Õ/FUT5C—•p4›YÍ=ÉU¦+kQ¼({v½>°íø;q_ü � � � � ÒÓ‹+/Èý÷ôÆû{¥ÂUÍâ÷ŸÛã•�Àp&oV²š•úÅÔ"©p–D+Q¹âñÊ _(áxO¯Š¹²}|•b…ªf´ìb"&¡ªY¯iªì+©pvÜÀqƒá �×F$@$@$@$@;$€ªf7ÈšŽ§2œÃœë…•N¯L'Bõ2ªšÇÕÔI˜s<ع¶.±Ã³r �|±Ô˜J×7¤ C Ñ…â�¯Eå¢hÕ΢x£`gËI¥ ”C—UnTáŒízR‘—6lX¸¦¥Ö¢x ÓA…s|6¯Š¶Ò&°ªp6]~S$@$@$@$@$0¢ Ä'ù™¼åú–ëW½R½ŒRçx†3ÖÒè›L6Œh"¼x2RÕ,¯ôôb¼�ø½=UÍ:«o¹zYå`Y¶+M¿¦Vˆ¹Rý½º§~o*mAÐ"Ì9 vÖJXü^D^IÌÕ�Ñà‰H€H€H€H€H`0ÈlÞ¨§·êœ^Q¼ðx¥Â¹¢ªY|àÁ¸P“Féé• gô÷BñBÃïEÙ3¼\ñx¥�·Çã5mL0‚!Œµä6KO¯iyJýZžR¶–'~/ª e¬ áч�wD$@$@$@$0¦`R‘(^7Ⱥ½G‰š­ª~%æŠ=½cêÑáÍî:ð$­ªêZ*œãUÍñ5<^øÃ±>^Uá %¬Gù2©þ­ä6Ç/*ŸmÇ—ÜfÎéÝõ¯˜G    ØãÜ Åk:žd½0g{A•òf([$WÅ+œkëãjêâ=½u‰ä¿+^ Œ=½°p¥ÂÙ4íxU3R¯0ˆ(ÞÇ›Jhú•�g¥~õg Cå6Ã×EO¯a:=Š×t =µ(ªdÖ}¼®ŠñËžÞññ"I€H€H€H€ú'÷x½0W½§WTn<¹J†÷J/ìéíŸ8ß%!€¢åTÚ�«ŠÙ¼�©4&AåÆ/&õîãÕÎn*m¦ áÌ:k;•6MKM*‚¯;vÚ°ldzÏÔÑV‘ß«­äj¹     �‘HÀñBÛõ]?ã9Ç /ðª–7×Ö%êI],zW5Ëö‘‚×LCO’UR¬âÎÊïMEã‹Ò†Yߠůi÷¨ßòZ©\í몲gÕÓë¦ -»ZÙZºÂÙCµ³i9ð~Ñß U¬ aW)^Ë1M»§§×ò8²hèŸ ž‘H€H€H€H`÷°ß²~�ÅHN¬+Ë›ÅË�'Wõ®j†$WS·{/‘G#�ÑJ•̈b6 «¾!%Îñu”b¥U®ÌæíQ¿:«9¥¼ZÌæµRi]Õlº©´¥S¬›–㸾¡|]5µU͆2„]½Ý2MÛqUO/Ÿ]/´´Âç}‘ � � � Œž¯fó:n`Ùžd±®½ÉúƺD²¶.õŸN„�âñ¢éwŒ°ãm’À.HÖ7ÂÂ�÷ñ¢ÚYªš%ÃÛáëöôôš6J ÑÇ ë±UP¼ÚËUþ0ü^Ý\Îm6Õ4#=µÈC^´íxJýšr›mÇOö.Þ#?>¦ä MÓ: œ\Üòó y¢óÛWg}ùÒŒWž²ùæñÇ–/45�)¼Y   �aB*×vü ÌùA…�•¢®ø½Rê % Å‹`g¬‡É½ñ2H`˜€â…š…Ç+Šãˆ*F¡€ÉUÒÓÛ¨útÕ¤"ì¬K”ÝÆ” Ak˜ô³ØkXzí–{}U£¯íô(^¬aÛŽV¿–7Ìòò† �\¡©Plºæ¼Òç¿�þ½“Î9¾°|InüøBç”üêe¹kÏ/½½¥ó�G¦œøýB®@é[&ß/ƒH€H€ÆÕÇëâ÷b])zQÕ\—HŠÊ•D+ñxÇÕÔ‰ú#ìx›$°‹¤§zµBñ¢ª¡Íð{E Cñ6¦Ò‘âÕ•Ïe¤+™Í´¡ì\Se5«¢eÉsÖ£Œ\½ÝÖszÕ>yFŠ•aD=½ð{]/ÜÅ{äÇÇ�\¡iÞÞù‡7´¿ùè^G˜Ë拽_mm…‹O+þûõÙלWÊš(}ǃÁ{$  �aBÀvUr•òxÝëêAV2ƒ·¶. Å+*Wª�%Ïy˜Ü/ƒ†9�´a&ëѦ‹´*ñ{ãÉUP¿P¼ �Ú×í•b¥,\CU®p_×ÖjVM?Ò!U‘¯kÙ:¹Ê´¡rÑÇkš®ë…ð�MËcOï0~†ÃåA¾–JÅÇnÿðMí]³r™\¡Ÿ×kr}²óг”è¥îß ¯�H€H€Æ/ÌyaÎñCËõÝ ëÙ*szEå*Å[ߨ[åÖ%”®©U3{9§w,<7¼ÇÝB@&¥ÒF²¾1®xaáb�/ô*|ÝíªšË*7®xÅ\®dVeÏðŠEñ¶O�2²´úU½»ÛU5›.ýÙÓ»[¾èÑz×l¾øÓ J¯nœmá¤9$@$@$0v ªÙ s¦ãÁïu‚Le�U­*_n¨K$¡xg%ê··ß;vðñNI`W4¦ÒñªæxZ•x¼PÂ0f¡„¡le”|]ÕÒ[Îg†…[EýZN¼ª•φaõx¼ÞkyªÚY÷ôšÃ5½¹ØuÖ‹_}¼ùŠ“>ð°œyÍm—~¯­m¶³_PY* ø°…¦–b©%2¦åމ—Š@³Ó†õæ#SŽ98†9y­X±ÿ=÷Þ»-öÏÕWÿdê´²Cæn»¼ùWë;—.[±|ùª+X¹ÿšQÿZºlE×¼…ÅÒwðZs-ËnÿÓï7nzãåkjŽÅi§n|cëæÞÑÛ2}õ×Üq÷�WŸ±frsÙnŸwô…îºógüà°‹žz÷‘Óæ¦xÎe¬™ÕVšsø�/={y'Ôï”N¿üìƒç:WŸyáÚ%Ýß¿hÃ�w¬¿ðà®)çþãq×-W½hÊÎþ%Ú½ÿŠG#  ��' zzËUÍ~˜s‚Œéx•¢WR¬ÉzT5‹Ç‹ªfÙ•Ïü$ �À@@ñÂ׿·¡1_£Ú0,4‹âmL¥¡reN/޳�âµQÂðxa)Ãã-G^)�=½=êWW8›ZýäF†~Ÿ)GÝûñ~Ú%¿âk=ýâ¾àðuëñ‹›¯8R~Y¯ª ªnì%~kÅRËܹón»íö˜Ö�Ëßýîw/¾øâóÏ?¿eË–Í?øï7öî˜� Ã|æƒ0„¹ 6ô¾óc�;ïâß'™{à†Vݣ3þ7A¾Ð4Áâ®y þPiÑû‡«ÏÚð×wî^9QÉÔÂìÓ_øËCg^øä{½M³Ïzä�¿çå�?²Ú{êé�¼óèÝùεO¾ûök/l¼ä´S/¸cÛï½öÊêÌSϺñןöäQÓ¾ƒPøÝqO  2A˜ÃlÞ0ÌûAV1ñ+Eom]BfóÂ×M$ëÉúx¯ÈàD²~È®ž'"�M…ÊèãEGnoÅ‹¸©†F5�Hü^=nWU2KUsÚ0!�áßF%кw7•6T³N´RÃr°ŽFY®(^¨\ôôš–êõµxnšwî¶/ß¹ãøÅ-ñ ÏεO¾ý××^~ôŠ3O?ç†-Ÿþó�‹—NÎWUñ�[û• vzƒ s×Ýw÷{£oËË/¿üÛßþö™gžyüñÇø†Ï;:Öד&OžúÒK/õ¾ë nÆø÷Ò…á¶:Òª·Ü#¢×´ÜbSóÒe+þw*ײì¶?½¾n¿¥×¿úÞ/Žœ™/¶,¾àéWnÿÁ>g>ÑÛ²ìÚ·Þ»g­‡›æžóÒ§ÏŸ0«müªõ|üÐÁ“µ—Ûºô–¿|¥zzw$z·~ñöOVjS·ãû›?ýø¶ïMW×Ùºüço½ûÓhöî¼·0ð¯›{’ � Ûñ7ðƒ¬çgd])zQÉ,ÎÈjî­~¡„këƒw¹<2 Œ&âñB£¦R‘Çï镵ôîŠúE 4R©d�ýѬgöêƒå gQ¿©´a;že»Juhq •W¼–í ãžÞ–é‡]÷âGÿøúÃm·Ÿ{PTÕÙ¹ö×_¾síþø½ãˆ[ß|ãÖ#'VSßA*|Ñ;lÞmÛ¶½üòË/¼ðÂÖ­[7oÞ¼éþk¾xqt¬d¼ 3©c¯_|±·è½í¶Û°þ½Ï|%zSi³,zÇŠÙ»¢÷ÂÅ_ðü;›OïhÝgý«o^³jê¼³"Ñ;ý„M_û÷¿áŸO?ÿç·¾hÉ„'nþä¥Ëf4¡Ôyú¹[>ˆèÝòñoNÙ[‡<�?è¾÷^_·h|¾XÊ5/¾ñ�÷Ö¸×húÁË{! ƒ7œdñûmæ\/¬½P³èée;®¦Nª�kjqïw rä-“ÀN€¯ +¹Í¢„CUQÕŒÜf>CÙ"Ÿ.>+kI±J¥�Èï5ÕÀ^d8kŋ὾i*¿?*Ö;q_C÷‘ÒÄ9�÷à럿¿éÌΦæ|çÚ­¿pÊìh:Ëܳ¶~´õü%ÕTÁw� ½(o fïK/½ôüóÏ?õÔS7nüÅ·ý×ë³;&®Êëúnè-zO<éÙÁõõ‡e¸¾õöøÿ2£¾Â¹ØÔ¼åÍ·ýéõKöíhšsÆ >{ö 7ÿå÷×u57ï}úpz§óÀÇÛ®žÓÚÞÒ6A¿Æ—J¥©Ç>øé«×̉Ÿg_øÜÇ}‹ÞÙëžýøÑ3ä;×nùè¹gQôÒÑ% �ÂLÁó3–í¹^†yôôUŠ^éã�+ÛºD28®xy5t¿òø÷Q^ CÒÓ[ß�JÖ7J%3l[T,Ç{zÕð^íÙF)Vå5D,Bžã¾®ôñFƯåTôôbx¯iº©´…Þ¬¡~ Ósz‹sÎ~ù“-ÇLkU¢÷“ß�ÕÕ®¿ëæE?þÍ��µàØjª`àRaÀ?dÆP�•é )ko>2åèƒBÇ äµtÙò{îÙ.ÈêÊ«®Þ«sšìàxÁ­—•cA÷â%û,]ºlåò¬X¹ztgYí\�ÕmzýBÝ<í´GÞ{÷¯~êü} Å’ˆÞÂŒ“žýô�×4£¨Ô–¶)�í¥R±ëÜm_¾rÁ’Ž|±Ô4ûäg¾úg\ôª:翽vѾêÝÒœSŸûû?;“¢wtþ†7 ÿ«ÇK" �=EŠ×qƒ0Ì»^ˆÄÖJÑÛ;ŸÓ‰â}¼èûM&ØÓ»§¾KžwĈ÷ñÊZo}C kôî*Å«}Ú*}¼¦k¿WÔ/ü^¨å õk;žÞn™–«Ö*�·Gýb”Ñð¤:qæü©í×i™~ä�ïpßêI-ùε¿þúëÇÏÛ§©XÊ·/¹öwŸ?»n¿b5Uð¤Â€Eïð5W +Ê‚ ëzÁåg侩Ívýøk¿¥Ë/¿âʧžzê—¿¼çÌ3Ïž<¥3þîä‰Þ—/ÍXµ�ï™L6ÏÁE}}MQOïb5¯h¯£îýüëg�Ÿ©ÌX½ùbˬÜþ篾ùêÓ�?ùü«Ïÿ°aŸÖæ|qü²u[>ûæËÞ}÷£wž¹÷ñ×7Å‚¬òÅŽÃ׿öÏ~þÎÛïòî³÷=ñÚ¦ÓU�UÜéýË›ùŸH€H`t°_Íé rŽZŽò{ý~æôÆ“«âJŠÎìéíë×n'� ðr‘Õ,ë´aŠÇ c¶1U%Ū§w·¬„!nQí¬¯žÙ+*7Ú^N±‚9Œ}"¿W§^Y¶ë¸�iº¦éZ¶7lƒ¬æŸóô7ÿû›/þöÉß>ûû?>{í§ß›](–ò�kŸzëÅÍ[ßúÛ‡ïôå7>sÕâñÍ}¨‚K…Ñõ¿â ܹ?n/zýÙÓ�ÿ~söš¥¾íz|]|Zþ™;'8®½a&ŸÉ8­·�Ô>©¥¤}ÈR{k[«z΋¥|ó„öÖØÄÝÒ¤)3÷ž6¥£)–ëÖ4~ÚôÓÚšKŶŽÖææ|©­uüÄUlnž4c挩­¥R±m’z·©­µ}BùÝ–æö‰Íå=›ÚÊÀ¿ $@$@$0b (Å[žTäøJñ:nPéôÂ×­©MŒ«©ÃºBåÆùÖÔ2ÈŠ…R$0  ©t2Ù€ÑA¹Íõ )øºèé•þ^ä6Ç{w{<ÞrZod—U.š�ÍX…³ òÕ¯êõ5MÛqU/<^Ûñ ÓéãwñÝà ~¶©}¯i³»fMïŒ$�½[?|î¤ÙãÛöÚ{Fç$]ðY¾Îjª _mc¥T±?Üþö¢7°l÷ê³ó¯<Ô±W‡k9Þ_ß_üÏ÷þþ*Ïñèô–ŸO>f$@$@$@ƒIÀÏä1›ê×vÓª6§Š7ÞÓ_K°3{zïMyô¨êñ¢ªYT.zzÓ†Yß�BO/T.,\4Ub CUÍ(–FV3Ö˜T$=½(™Ž¦éêhÓrlÇÓ>³J´‚â΢·ÊóЩ&‘Fa<ƒùs³Ê©ÇÒézDo˜sýÀr<ϳ7ÝÔöà ­3ör,[M~îëuÈ ÿ/OìuÑ)YËv]/‚l&[`yó¢xû$@$@$0Ø?4lÏö?“·\ß´Tmc¥Ó¯j®©�fö"Å Æ/Öµu*ù.‘ì‹æñI`tH¥ÒñJæx…³aXP¹¢~¡W±"¯Äã…gÍæÕ †0FÁÂÅZªš±ƒRź:‘WXC® ÂyØ–7W:×nù€¢wÐÍÃHôæ a&ç¡íªÎð©“ÌûÚòÆæ)/÷L«Ê+›qtbö߯Ͼìô*ê=? ÂEoõ‡y,ýo   �Á&`¹¾ã‡n�µ½Àt<Ç µHüÞŠsð�$@U 44¦1©(îñŠ�.¶CÐÆ¯ø½P¶�ÇèÝE9´ø½ðu¡xmÇ+÷ôjÅ«§!¼*mX¨—v\ß0¬ªWÎ�cœ€T8‡a�Ù«ZÍÓFs1uúÑþ£·´¿ùè”o_�õÅ‹Ó÷@Çý×·¶ÂIêlÇsý {j›)zÇøÅÛ'  �A%à…¹Èãõ¥~]ß²ûèéÕýºõ˜Ù+•̵ºÚ9‘¬G˜3{zõÛâÁGéé­oH!¹*î÷b Û˜Šä±iÚ�©4>ˆµT5#¹ ~oO¯ÞUÍèã• gYy¼¦ƒ9½â÷ÚŽWöî(z½Zx$>Õq³W .òƒòø+ÿF°¥êÕ ¥ �éHñê¹ð=¹Íl良™H€H€FÛ ÛsüÐ s¦úE׫^Þ 5›HÖ×Ô&z÷ñVŒ/Yxµ$°§ ·YæñBåb6o*m$ëÅã…Ê…jmhLK…³(ÞTÚˆ ˜¥§WW5ÇÕ/\b¨Ù²âUU©iC%WAý굋}Ðx¹§àð¼Ãœ@¬³W9»^¤{Q¡ ¤oÚ@¸žs=Ú±T oO7/mÞaþ]óòH€H€H`¤P}¼åž^Ëõ]?t½°²¼¹¦V%TAñöx¼uÛ%ZÉvöôŽôg‚×?dP¥ ‹|fQ¼q%Œ�¢x{§XÉl^T,ÇûxQ¨\®d¶¡fq„ž+=’×@…³Š r`Ãï2<ÑÈ"³7›/f²*ÑJé^?°]U# !=&Z7úZ†i#)Ív=× ÔlÞX~ïÈúÞyµ$@$@$0 ˆâU~¯ú¥%S½§UÍ5µ L'BrUŤ¢Úºh�ïHÁk&�¡'Pß�JÖ+³Vzz¡Nej*™¥Â9^ÕŒQF¦iKÌ•aXÑ:æñН Ÿ .&!1K«/­R¬lÓRÉUseÙn*m =–QsFÈÂQüïl¾¨D¯N´ ÂH÷:®¯FõÚ®e¹–娗­æ÷BñzA&³a&ŸÉ©IE¨mň(éGÍ_gÞ � �Àˆ&à…95©ÈÑŠ7ȢȱÒé�<^­x±†÷+ÉU"‰Qù<¢‰ðâI`ÈÀãíÝÇ A+ŠWå¥ÒRÕ_‹K ÌP¿ñ5odk"Š×´¬aÐA�ÃãņŒÆ¨9Ñè–pw'º~ofý ãù¡ëŽçãåz�«b3~�Õo�â ¢Wˆ�š'œ7B$@$@#Ž€í¦å¹^èCñ:¾ôY„¬fL$ÒoR’«É(Új\M�Œ2qxÁ$°G z )VhÊÅl^¨\‰¹’ä*Q¿�©P¿¨ •+¨_däBåŠÇ‹²gx¿X‹â•"=µˆ=½;^%Ú¦bY8Šÿ�ÉÔK9çÃ0§u¯–¾AÆ BýRrW¼aNy¼Y½¿þÔ(ÆÒ�žß#?mxR  Ë�\åùÓRA6n�­.z+zz!zã‰V¢xkjc(ï�NiU·’\¥Ô¯ÎgF•øº½/v€²E¢U�ß«ýÛ(æJ÷èF1Wz IŒÞ]4ýZ¶šž;ëφ%<ðÛË{æ MŦ–®®î¥ËV¬Ü _$ЛÀÒe+ººº‹M-¬yË?+xï$@$@{„€ë©ä*ÛñMKå6;~h¹½æô&“ RÕ,=½u‰d¼ª9™l¨©eOïÎD{ä‹çI‡�d}c}ƒò\EýŠÇ‹ ç†Æh:*–ëRðuõ<˜´©³‚*Ö¨IF“0l[ô CÄÂOîÕÓÛ£x-Û…T–¡¾ÃÔ0¿X»]]Ý íÓ>aR…ÓË?’´O˜´pÑ>]]Ýøã0ªyy$@$@$0ša¯d=?cX®éôšÓ+½»Rá,Š·¶.š`„höôަ‡ƒ÷2Ø�b…¼ˆhF%3:u¡xaçŠú•ä*T8£JXb®Dñš¦ mêø\Ép–ªfdêöôôƆúš–ý<ØFúñEÑ-]¶¢}¤Ñ]¯Ë»ÛEí&-]¶Bž™‘þðóúI€H€H`¤@r•çg¢ g�hUd…¬æºDꊷ.‘Œ÷ñ"ØÞïH¹y^' ìYj–©®dŋټPª²†â•>^È`Ä_Á•…Ê­ðx+¯ò“SiÓr fSéh´Œa¡éW”°x¼œÓ»ÃÇCÔK®Ð´rÿ5™\‘/èŸÀÊý×Ä›>cÜ�H€H€H`× ØŽÅkÙÖŽTŠ^ع¢xÅï•Ù¼XHºÕ®_�@c�€x¼ØO±Âð!¨b yŽ÷÷¢ª¥ÑØAT®¤XACÍJO¯T8côôV(^êw,|;w�qé’ÍWî¿&Ìø"�þ ¬ÜMEÆÕÎ=~ü � � �ÀÀ  ªÙv|$Z9:̹RôÖ%’µu ø½¢l•ß[ß%Œ çšZµO"Y?ðÓsOË’ÉÔ$CýÆ+™aáÆU.Bž¥ª¹¡QõôŠß‹5ãíÖºJ“~áñÂ6-�Ϩ|Ƥ"åëcÂãÅz,Aýß»ˆ^”¼Rôö/öø.@ôÆuoÿ�ß%  ØuѤ"[¥X¹^hš®e÷êé�+^I«JÖ7b»(ÞZ¥ƒ’Ɇ]¿,�ƤX54¦¥’¹¾!…µ$WAŽÖ7¤ h±Ãgá= IDAT1WiÔž^¨_8´ð�aáÂ+e«Ô¯V¶‘â-W;§ YÍ�ÇRálÙîXø"vâ+o&WP¢7SØý¯BûÄ)�-ÅA8ò`\-�¹#º ¾€ÿQ"OÑN<�ü � � �ÀÀ ÄS¬LËsÜÀó{Íé­©íI«ÂZ¼_™T¯pøé¹' Œe0r“õ�’\Å+ÕÎP¼(u–Jf¨_éãE<ô3Öp‰ ÃÂG”âÕþ-<^ìU5뤫ø¤";㳈¹Ë_P?÷.r%›/bJ­½y5«¶ïWP˜sìe×^síu×\ó“KÎ?ù€¹™L>lßÿ'¿ºþ€ŽbõŽ?pý£·Ôû]ÌÅíû\Õ�Æý÷4%zõ¤bš½ýüýâ[$@$@$°{  �Wy¼–êéõƒ¬ãVëé�O*’ gÞ‹+ yÞ½—È£‘Àh% <^]á Û—â• ¿ŠJ šCz¡xQÉŒhééÝNýj¿7žÛ,}¼8&Ô¯iÚC¿e¿u÷lÞ´yó¦M›î»ó¦ýpù¤ææèÔ{ýð›O3£u篤©¹PÔãÄvýP8N±Ñ ¿NDoæûùù® ÚtéYsÈÇž}ÝægŸ¼ä€Î iæ�Ç>£¹Pý³í‘è�¿ëgÆ|Ù GN/Å7r=Ø ÅæÉS¦V=KsËø¾ÞªØ?.zE÷îü³]~ y   �~ÄS¬\/¬ÞÓ[¡x¥wW†÷ŠúE…s?çã[$@B@y¼zNoÕ gT,ÃÂ…*–ªæ¸â• gøÆÐ®ñuÔ¯«§ÅûxÑBŒJfHeY‹ß›JrµƒºÈµ,»ý­÷îùщǮ=é´ßðÈ>ýâ�»ìÔB·½û„Ÿ¶pRËÎ^À^'ÿê‰óŒWßÕCEƒ¸{Û¼™l~åþk‚0×ÿËÏ)Ñ{fw›Þ­¸ðÌ_m¼tMÓøÅGžpÌ¢IÅ ÌöZúó.ºð‚sN>é”O:ùÐmÍúGo9lÞ>GŸ±nÝù§Ø5)Ì4O]~ò­›ï»ìÔSN<ሮ¶|ÿ'å»»…@&[ؼyóo~ó›Ù{Ï­8`©¹}Ó¦MO?ý´Ö½;x´èÍÓìÝÙ¿ÎÑßA~œH€H€¾× ‘Û �·zOoOo²!ÞÇ;®¦ÉU‰d}|ý�®€;“À˜%¯j†� õ ™š¬oDÌU…ú•‹íˆeŽ÷ôBñªAD夫Ê>^=�W*œEñÂ+Ž+Þ!sz!z¯_=%zJ3O}èí?Ýyìøb©0íÀs.»`ͬ¶Bçê3/:~ÁŒeg\{Çϯ9nZSs¾eúê3®¹ãî;¯>cÍdq†[¦¯:åÊÛî¾ëæ«Ï=`ÎÔùG^ñÂüÕ5W]qÙÙ+º¡ÔYZ¦¯:ùÊÛî¾û¦KŽŸ¯µ:þ…kuü£ëq×íן¼ÿìb6ZoÑf”èõƒlÿ//7÷‚‡6�Ñݪv Kûžwï/Ï]šm_½þÑ[œT:¹ù±ûÎ;t¿®%ß»ú�‡.=rùÌ %¿mõ =p÷?=åˆÃ=þÒŸ~ð¤3°öƇï=ÿÈÃ9då´–\ÿ'å»»…@殹öº—_~ù¥—^š3§KŽÙÜ:þégžÙ¶mÛ�wÝ•/–d{_ ”ÁSôŽÙû¼q  �=B=½’b… çÊôfôñb¯Œ)‚ß+Ã{ãc�öÈ�ð¤$0â@�BÄ¢�2XT.Æ IŠ¶Ëœ^©j–䪊žÞÆTÁTP³½{z¥¿×²ÝŠªf8Ʀå ÕJÑ[,�_}óGŸw¬¶|çÚÇÿôâÓ/¿òÀu—œªöÒì³yç/�Ýxʉgݼõí7yBG±”/Í=÷±÷ß{þœyî%ëo:qŸùwÉ–÷Þ¸õÜÓO9ùÝóʇ*Í9÷±wÿòÔ†Ó�?yÝ/ñÞýïÕ’ï\ûä»o¿ñÊל{úé—þê¯_¿uÕÊÉUo¿Wms>Ìä$z³Jô^{Æ)'ž|溟ÞóÄÃ×0¥è·iÑ;1ߺüÒÍ·�01ÌúA¾ëÄ;îjj±/eÅíƒDà’K.ûÝï~÷òË/Ï�;ß²­m^~ùåmÛ¶Ýu÷Ýa¦0�“jÑ›Ëdó™ÜvqVUŸ4n$  Ø-�\…ªf¬mǯ½*•9ÙP—HŽ«©• �e][—¨­Kì–+ãAH`Ô@O/JŽÓâëb]‘\Õ˜R;À•Å/”-­ø½½û{EñƇ÷J0öG¢U”beÚPÂCó-ô½Å¹çÿþ ­uc¢wëןÝ{ì\R˲kßzïžý'ª²ç¦¹ç¼ôéó'Ìjk]ñÓw?|`MG¬zâa½ÿêù(o.JíöÁ¯ˆJ¦§�þÈ{Ϯۯйvë—ï^wÀ^úø{�²é½§Ïß§êí‹èE7o˜QÆ+÷_ã™þ_nvÎmºîœ3N9í¢»¿ç¸½›ÕþZô®™˜§ûËG76{RSÛœ“nyøºÃ§«w[Wßøøm‡täõ‘›÷¿øÁŸýpoˆÞ#§ú?ß gžuζmÛ^|ñŃ>ô…~³mÛ¶Ûo¿=s<ÊàÃLe…sÕ'�I€H€H€v �¨ª¹œbe;¾iº•¢W’«*o¼§WR¬8²h·|1<ÈX ¹Í2©ª5Y¯Ôh*m$ëe Å›6Ì Å ¿×4í†Æ4š~M]½ Z½†â5-GvÆè#T8‹Çkš¶¬-Û…êš/¢·è--ºì�Ÿ=qÔÔÖ¸Ó»åãßœ²w.iú ›¾þöïÃ?Ÿ~þÏoÿ|Ñ’ 3NÜüñ Oo*‡`KùHô¶«O•E¯Þí"U ­ ˜[–]ùÊŸ~ñƒÖε[>ùí©Ññ;~x÷_Ÿ]·_ÕÛ¯&z³Jôú™þ_nfÎ�ÜtÆ‚VÏÏÏ9þç�þlí¤PÉÚõ�ülÍļç¦zå½üòΟ¯?ï{ Š�>Zëê£w3ž_Zy‘½EåôÙYèÿt|w�wÜñÛÊÿ\{ÝuJñîè«—´èÍRôVý›Å�$@$@$0H0›UÍ–í¦SÅé­­KÀãM&jj•—‹IEãjê�\¿•Ïtzé«âaGôñŠâMf¼�’Ê3^á,ƒ|¡~Ó†)C}%Ū¾!…ž^øÀ†aaŸHý–{záå¢!Ï2§W¦ ö^¢·mé¥/}þÒå³JÍ¢Tó�k·|øÜ‰³"Ñ;õ˜>ÞvõœÖö–¶ ú5¾T*M;öÁOÿpíÜÒDï^GÝûñ¶«fG»µ­¹þÕ?ü숖ε[>’ãïŒèuýp¯ÌÞ?zpÓé ZÔnMÝ>øÄUuº­hÑ›s‹‹/½ç†ƒ¦¶75µä³YGk=@‹Þœ>riåEÜüÃÙnnþEï?inóN·Ãëá;Kàˆ#�Ú¶mÛ…]ü]¿ŠÞ¡ù‘³� � �@œ€iºP¼¶ã¦ã¸�ë…•N¯¤U‰â_7‘¬ÇZöÖÔ²¼™ñ’$0 èÅ•IE¢~«öôƒE ´T>#òJ²šáÃã•5ü[ÉmÆv%‰-Ç”µôñb”‘Š¿ÚžÞ›žVhjij›¾òœûßÿÇ;7:]ý´*Û³¢·0ã¤g?ýã5ÍÐqS-mS:ÛK¥âÞgüöË7¯XÙ©>XßÒÚœo?àîwþ|Õ Ý�[>Taú‰¿þøÕ‹—êܬIkîüË¿8j–:þN‹Þ@9½®ôÿrÂÙJôÎoÆnmË/{Ⱬ÷éÔ¢wBÖ-ÌøÞÅ÷<ý쯟zjËÖgžyøúc§dB·e•½²ú#MJôþ`–ëŸuÏ3[7?tÿ5û·ã­œºÿ ã»;A`îÜy;ñ)%z:½ú ÿe…k  ØÒÇkZ¯e{•¢W&Uôîb;úxe¬�Þ]ù>øÙ1E@T.<[%hSiQ¼RÉŒ¢åŠªæxµ3côåêµ…GP¿ñ+3m˜R½Œ¬f¨h5È×râŠ7m˜Có�äZ–Ýò—ý׿þó?¿ý׿þóë~ÿðÙ«fDÃuËJµBôæ‹-³~pûŸ¿úæ«O?þäó¯>ÿÆ}Z›óŶîÓxÿ›|öÑÇ_~óá-ß›–/N:lýþñÕoÿù‘c—eb[fyë›_~ùÑ;ï|òÕ翽é莦Ò.‰ÞP‰^Ç vô ýl1 Ê»yÙ0׆ÙL®à{ã»öþ«Ÿáá Á̳ïyðÔ®’£ö)ø^ô7,dB5\Îq3™ÒÄö梻㓖OÇ=‡:½Có#…g!  �8ÏÏ ÅÊv|UêlyÕ{z«Îæ�W/"¯â'àšH /Éd X¨_ÉjÆl^¨_Zô÷¢öêW”°´é¢§Wª�Eñb¨/ü^ oÔôk9è†ß>[Že»¸ž¾.~woo)µOš0©cü„‰ÍñâdeضµŽŸX*•òMm­ã'¨E|’PiÒ”™{O›ÒÑÔÔ³½Ð:eÚ¬ÙS&¶E²¹ØÒ:eöô½&åPú…掽fΞ2!ª—VÇoï9~±ubkK¬L:vÒj=½*ÈÊqý]x�?ú¦�W:=Pvq®¥ëØ;ûùa“s»pÀ]¹~v°hÑ›cOïv‹c¹¸�H€H€ƒ€J®Ò¯d-[)Þ*=½¨j–JæøÔ"T5‹úÅ>ƒq¡<& Œ>� ÉdŠ–SéíÖõ�ØAm¯oDê²ôñÂËÅñ5zwEñJU3ü^$Wañuã=½ªéWW5Ãïµlwôaßõ;Ñ›Íu€s4²Èv¼]ye:×\tëÆ'·nÝúë-ßuÍÑ &8»vÀ]¹~v�pdÑ®ÿäH€H€Hà»0-ÏõBÏÏ(Å«×UzzEå"¹Jª�e”ùJÈów½îOc“€YT߈Be(^ˆ[¨\QÂXÄùJå3¤)zz=«V¶c¬‘T5£ze-ê’Ø4íx…óØüjú¿ë^¢·fò+÷_³›d’O­»›HîÒÿƒ¤kТ·g^Q6_ÄãÔÿ#ÇwI€H€H€v…zzáñöÙÓ‹êåÚºDE¢U¼ª/‚�w傸Y;PÕŒòc©pÅ+Ê6îñ"¹J†úÆ{w±?v–íP°R�}PÉŒ>^µ6m¶RýêþÞ±óu üN¡Rr…¦²Ó‰^Ëöø"�þ Tˆ^y–þøqO   �ïJÀó3RáõôZÕ‚¬¤§Wr›“Ée$o"YŸ¬oü®ÁýI`l/WÍãM6Èl^ééÅÔ"™H„�Cð‡!n¡~ã}¼ñ5¼ß¨�Wû·UÖZÙª g]ÕŒk°l×´(á±ùÕô×"T²ù¢èÞý–®(65›–Ë ôE ØÔ¼ßÒ™l!“+àá‘g©ÿGŽï’ � � ì T5ÛŽïù¤X9nP™ÞŒªæºD².‘„—[¡x¥§Ûw傸Y;P–\QáÜ£„u̼Yéé�{¼õ )ÌãM&j¤Eå"æ ~o*­ùâ\ÊËÕê7êã•Jæòvä‹höôöõ4B«ÄEïܹ æ/X¬t¯éòE½ ›šç/Xm}C*¾iÌqÅ+“Ф§Wü^¸µPËÒ»+“Šzzzu%s¤~ãszu¯ïØù:¾Ó�ö½:ÆY5÷†™\fý ë/=?týÀUƒˆ|‡¯ÑNÀõ|õ]û�ç‡^úAƲA˜ 3=cŠ(z¿Óß5îL$@$@»N@<^Ç 0°·Ï9½µJÚ6Ô%’’áïïEÓ/¼ß]¿,�Æ�d½R ð{±FŠ:oãê•ÌèãE£¯$ZA÷®p†ˆÅvñx¥§7•6¤Â9Zë�½Ñz Í<¾ˆ�»Ç¾to&›WÒ7TÒ7ÐÒW«_-€%„”âkôÀ—«þ�ÑZ7@î†�»Qb3ïÎýuã§H€H€H`W¨>^=§W©_݉V¥§szEñÆ«še=®¦£Œjë»rAü, Œ0ie6¯„9C…&“ ´ìœJP¿0iac¼P¼§ëÞ¹ÍhôEåóÿßÞ›¿IVÕé¾Fefì˜vDäX9DFN•YE9 "P¨h£"Ø" ¨´"(ƒ‚à4âÀ ÅTŠÈ C1…v«í9ݧOÏ}íÁ¾}ïés¸}Î÷YëÝñÆ7×Þ9…TT¾>ùø,v­ý]k½{GÄþìï°¸‘o@¿¥r\­õ 8Ž«Êé]ãn$ô¢ŒsRÑjhÄelÂå ¯¯§ß€0 Hÿx)à..@×½ïp¬ëpw`«Ç]_¼*M¼C#£kÜcú') ¤€�Rà (À½yñú}z3 —>^ìÇ‹ŠV aF8só^AïA¹02²°>^´‘ÜKo±Tå"—Ä‹ãðÊ–Êlz„�‡Àɬ\/"ŸQØÒ•J ôëÂM/Ú8ù½å¸².Äk^cš{ôM¼¾ž|<yÐßá§€CÜèzÖÍÀ]nÌ‹›ç5ß{:Q H) ¤€ظITs“x±}QXÈ*Ø�×F2³ns.Ês[£�¯žR`3+À*VΗ»Ò¯k#œ�©Öß 1+ZÁm˽ym+’-èP�ÎÀc´IÂé�|7óÚÈÚ3¹·…¾MÇ/Ü¿[‡õw¸+�¸úQ¢Ùez7w' ö(’�w#Ÿ/õ‘R@ H)pPèééÇNE=½Ý=ýq¥»’Þ§—¹»ôë¢r•¥_oÊÌdD ö >^ìTD/öæåNEô÷"G�ƒ<^D­fdäÚœ^y®TjMúínµ«Ý��,}Ø_…׿@˽ uᬠ_Ï?  ýÿfP€÷@wE¼¯ÿs' R@ H) 6®€�jŽ+ÝÕZoOï@èéET3‰×îNÄ<ÞŽÎÛ^=¥ÀfV /JXE~o^äî‚xÉå‹ÈÝE+›ÇËü^0*ìø2WnoÞ(_Œã*h•«ùŒ¨æR©äñV|gÔÁRNïïÏ€{ñŸóè?7§™÷Æï+u“R@ H) Š \øxÑ®u÷…ЋjU]¹[ÙHf�0’~IÅef2"{X¹Šd‹ì\D;ÃKo:¿·™Óëª[‘xƒœ^ø{a[!(š$ ¸µ>^”¶B+åô¾ª›0oìÁÍI}›jÕörg¶_Õ¥ÎR@ H) ¤ÀAQ §wÀåñúœ^lÒ›½esw£¨ÀýxI¹¶ŠU.Ê”™Éˆ8ìrzŸL.•clä›sÎÑ~`”bæGÈÝE¬m�‘ô‹Õo¥†>¨b;‡ýUx#˜I;:¸™x#n3Ù”R@ H) 6¨@Oï€Ëã­ôôôTk½å¸–‘ÓÛÙ•ëìÊ!�—ÄEæñÂ÷KïÇV7)°É€Ö‘mT€·6M¼(1yâE$3#œAÅpíÂŒÍ{ÑF­flk/·8B°�vvy¼@blq�1"œ�Ç›üÄåofäÛTk?ˆ÷ŒLI) ¤€�E�J¥§Zë…�U¬2›‘¯K/ýºÌãåF¾¹(¿¥£ë ÌLF¤Àa¯@Õlë6ûv’ß›/²n3ܶèOÊ%ýš<Þ «X¡s¾Pñ¢à3¢š¹Åú`§¢R9¦¸µyoµû°¿ Z �R@ H) ¤Àá­€%^äôVk½aN/+TÙŠVôëÒLïá-™V'–ˆ^nåñæ‹@Søu“2WÞÇËüÞLâ…—ÔD2£äNG4Û-âõQÍÅRQÍÌé…¿÷`-Vv¤€�R@ H) ¤À›¢@oßÖZwê6w÷ôW*=q¥;z¹;ÊY¡¢}¿®ÒU.‚¿W9½oÊ…Ô í¨@P·áÇQT`ÝætN/ý·`Tø~Ñææ½ÌÝE´³­b´‘Ókóxa?Ž«ˆv.•ãvVs–R@ H) ¤€�T Kïª9½[:º2÷æE®/}¼QTèÊE´®†�k(å] -j5Ã[‹ü^à+Å–I¿Ìã�r#_D8“~ódz¤_æô"e7Øà7Ééõûô2Âö+•Úó×?I) ¤€�R@ H�C_îÍ[­õ¢½VNoP¹Š9½[:ºíÜÑ™;ô—­J�CAGªÞ¯ làãe/¢�YÃÎ…¢Ûƒ¾\�³Çã €%¯Ð&ñŠeøo1\¥ÚÝÊãõmlä[©Ô@Ún#_åôև­¢9H) ¤€�R@ ¼fèã�+ݵî>çø­¦rz±O/ê63¿ÎØÊȶåé}ÍC'n6àãšÂÇkóxK¥2ÈN`´A¼Ø¼—~]„_>^Ð,:à8|¼,sÅü^—Ç[©!Ñ—9½{VNïf»!µ^) ¤€�R@ – po^T´röVzVÍé ˆ7ˆjF™«(*–JiQRà +€œ^ÐìŠü^_ÑŠ5œA°è�ö÷‰I¼Ìã-øÂTŒp†ï�YÏÛÁ&è׿ôÂß{ÐW-ƒR@ H) ¤€�Rà÷©@¥Ú[©ôÐÇ‹çzƒ½yá×%ñ‚„áŒöïsK ´¯IoT Ð"w~WnÞKo@¼v§"¸‹I¼AN/ò{I¼ ‡†¿—ûôâx¥RC„3¢�ÛW^Í\ H) ¤€�R@ ×可]‹Êq ô›½QTÈEyìN²åÞ¼ˆpF™«Î®œöéÕ�%6¨€£YÿÉJ¢š›ô‹ã`T¶“’WÍ<^Ôm†3Ö…Iç‹ôåZ⸒rA³ÈFT3‰¤ âE»Zë‰ãê×¢nR@ H) ¤€�RàÐT »§y¼­œÞÌðætî.*Wa#›ô«œÞCóJkV‡ ®rUT(ËHîE)fP.ŠTYâEŒŠSŠ¥2hË6ë6#§ǃœ^úrƒœÞ8®Âl¥RCûÔMS’R@ H) ¤€�W€Ä[­õbÃÞŒœ^»7/Ú¬Û ß/v*BN¯öéݸúê¹ÉÈEù¤ŠUso^¯­h•$÷z<&Ù²ŠÂèúÅŽDÀãLâµQͶ¢‰ûô‚~7ù5Òò¥€�R@ H) Ú]äô²ŠUì£�ÃðfF23�”ËÍ{»rÑ–Ž®\”�¢Bg—¶,Ò'R`C ´v*Êò÷梼�pfÝfîÍ‹¨f&úÂ9 ÊÅv»¨€…RÌh£r™d›/”è×å>½0«-‹Úý+^ó—R@ H) ¤€ªXÕºû2öéͬ\ÅZÍÌéEÒoGg®RíÑŸ�ë*@¿n¦¿7 ^$ñ‚x­¿—Ç™ßKâ…D2°áË…m„=§Û•«ÝÊéÕ�„�R@ H) ¤@»+Ê­TzP·ŽßÐÓk+Wå¢<(—~]Ömf‘çvEó—¿\N¯ß�ˆô›lT@ 2|¹àU¶Kå8ÊÑ'roÞ|¡d£šKå4‹Î•J t /ÌÚvWÓôûû‘B£H) ¤€�R@ H�7H�îžþ¸Ò â­ÖzËq­×Bèå"�7³¢|¼ˆvVNït©döðS ¨\e‰—þÛñzÆq¸pI¿¬hEâ…eK¼Ìã]m[£4ñ" úð“]+’R@ H) ¤€ØT ÐÇ â�+Ý•jo½[:º::sØ[…ù½Ø�u›‘Ó‹]‹´eѦº�´Ø×£vrAù"*W!�·TrõœQæŠ$ ÅF¾ˆd¦¿—ô[Ž+È×ýâ\ø{a“9½pÇq… +•Ë_!¿Ã)§÷õ\_�+¤€�R@ H)p((Àœ^ø{WÍé%ñ’rY«™QÍÌé=¦9H�C_�B± âå®Epáb£–�ׇ@Ó÷k ;³Š ÖoÁ“sá *Fågø��Ç市Èç8®¢�òWå¸rè˨J) ¤€�R@ H�5èîé¯Öz+•ÐoµÖWºCO/óxáËe„3j5³¢UGg!ÐkŒ§’R€ $Äëé4jF/Gù"}¿Î¯à†�—Ä›Ôj.•áï©"C$Ì틬¿—I¿q\uí‚c[øxQÑŠ[Á÷[(–9[5¤€�R@ H) ¤@;*€½yãJ7|¼å¸–½¤\úrQÏ›ôÚvW.êÊEí(„æ,~ÿ Df§"à(|¼ˆvFå*ø~A¼Ö÷ ÎJ€[úx±5,¤éAËôë‚xág†�á­}zÿ·„F”R@ H) ¤€8è ÀÇ[­õÂÇ‹ŠV¡§—‘Ì _D8ۜގÎÜ–Ž.†@ôYÊ 8,`T3<´ITs¡dóxA³€X´[U¬šEžÝñf»àÛZvµç+¦M IDAT�}¶0ýÀå"§×F8KeúxËq¥R©–ÊkQR@ H) ¤€�›GøxYŪÖÝ—QÈÊF5cû"/Û�®G!åá¼yäÓJ¥ÀëQ _(u¹rUnŸ!D5'öú¨æV;ïB�-ñ²T®‚ìÓKâeµªr\�lT³ÍãEäô–ÊñëY Î•R@ H) ¤€�oºˆjF«îžþJÕíZzzÕLogWζ™ô‹Pç7}Uš€h àž�®hsóÞ|Ñúx‘Ç‹þ­}z}gP+�ÀöŒødÀ3v*BÐ/#™™ÇËm�Xä¹XRNo£-î%MR H) ¤€�R`5*UW¹ U¬@¼ÙžÞ-]ÌÝMW®ÊEù-Í*VÚ§w5­u\  0ª;Ák+Z!é79î•ÝîDÍHfwܶ›ûòWŒj&ñ²ºÜË Ü  ⥿7˜³þS H) ¤€�R@ ´—¨\…¨æR¹Zq­²öéÍÜ©(íïE„ók“`çQs�>úèËæ7Üpãk3¥³¤@[(Ÿ-ˆ—þÞ$ª9*¾_Öp†‡6Óß Rmù{‹n¿_lꋲXŒpÎJÜ�y¼¤ÜJ¥ÆvWÛBIMR H) ¤€�R@ ¬¦€§\—Ç[ŽkÞßÛ[©d…7Ψ\•ÎéE=çÕ[ãøÌŽ�{÷î5ÀëšX㔬š<ù›n»öì�õ "1}|lz×û>}Ý-{~ôÓÇŸxü‘ßwëõW|h÷¨;1ݹ1\ßñ¾/Üò­Ï�61qâÅß¹3ý¿»îüöGÞz„ݹó{_yßì¤�çѧ_õ½o^´k|¬yp�i4†'–ÎøÜ�wïýéãO<öðƒwÞxåÇOžÝÖ< Ìœj°×çŽ;ï¼ãŽ;ïøÁnûîM_ºø¼“æhÇþë÷¿{ÓW>uÖ)ÛÇ8=?Ê䉗Üv÷u:fd…ª«œ8½ûs7ÿëœÔ0�GÎúúnûÜis+'\£ÍøŸQ¾ØÙ•³9½IÛgÈ·Ê\eîZÔôñ‚~QŒ ¥°° /(>^nkšEg´íNE.�·Ú]*•Qä¹R©)¼Y7­�R@ H) ¤@»+Pëî[QŪÒ]Ž+«æôZÊE»£3‡*V]¹Ä»Áðæ[o»-@ÜÌÿ|•úNî¾ô¾'n¹ ½»/³ÇgN¾èÖ§^Ü·ç¦/œý¾w�üöw¿÷¬�_uó÷®þÀ’nregÀØŽ3¿öðÞ/¿rbñÔž{ι>çÜü+{žºçº�øö9眽{~»9qr÷e÷ïù¥ŸÜpÎŽÑÎyÆ7»ÿò&ô®9�Ñùó¾ùÓ§ôí‹>øžSÞqÚû?üÙ¯ÝüÅS�_)ÈFÖë–óø®úÐÎúÀYçž÷ñÏßxïûŸ½ç‚ãg’Å^êþõœ³Î>ëÃ\tÅM>õÂã·|bÎpïÌ©_|àáG~üýOÏ›ƒÃu7tÖ‰ã³øÇO>þ­÷5ÑœêŽ÷|éÁÇn¿ÐÚlþSK™Íy$¨bEâET³£Yïïµ{ó&mO¼I‘g“ÓË�Š@¼Èé…Yøx-ý¢sWíF¾°Ïœ^íÓ»9ïL­Z H) ¤€�‡“ÆÇÛ{â­T»CèͲ†3’{ÉœÙ~óÚ6Ž8íË�¾ðÈ5g,y¿nš»Ö‚Þ‰–sâø‹îzòŽOÍ6èµ'NîþÜ�?¼á÷ì{ìº3è#µÐ»ö4FfÏþÞÓ?½âÔ#×s#ëµ³ò‹�:éꇞ½ë³»áÖ^lÛýù‡Ÿð¢·‰Ãõ�øê·_qÉÍ?¹ï“'ð s&¯zâÄ[>w÷“wþ]ã^«±c?~ÏS{/yûÎ5’¾ ›âàÖíÁ€ hgÐo³¢HÌôë‚Tqü·ýZâe´3ý½�f~o©Û¶.œ�R@ H) ¤€hk�Ó[­õV*=.§·ÚS­õd@/k5£Š6ìM/ŽoD‘L¿núàFL™>!‰5ÿÉ€ßèü·>ù“oœ5ÝÂ×€¯LçVŸÄÓû* ÷’{ö\{Î{/¾sß#7¾kgâ¡mAïºÓØqú·žøÙWÏ\h.!˜$þsë­§–3ö–Ëö<}û'Nð(Z™=ûö§ùÂ;F­Ïžuëc{>qüü™_yðî/ü�YþZ'î8íË�>yûY‹SÃõ#?ðµ½{¿q¶uw¯¹¢Ìe¶á�måî6£šéãmå÷ú"UˆdЂx[ù½>u˜m/Úðåb§"ôa‘ÌØú¨P,3Ú1ÒÊéÕí*¤€�R@ H)Ðî `ŸÞ„x+Žx3rzáãíìÊutæÕ¼¥£+Š  ÜŽN·OoW.ÚÒÑÕ•‹6"Jšo3�lÄ”é’XóŸ øíxßÍO~Ë'w½óȹÙåϸäÖG|ã{f~XŸ=óOvÛcw|z¾16sêÕ�^ÛÃ!¼Q27}p#¦LŸ€ÄHP-è­Ï}øÎ}?½âÔf´íØ1ç}éú믿áúëoøÆÕYti«“»?ÿÀ�û_xñEû·ÿ¥_÷ê wïWΜ¬7¶�tñƒÏþäÊw=\oz70�Æpcç;/¼áÁ'_xqß�oþüÙËÓN³®õs˜Ýr^Úÿâóî/ìéù‡¾õ…³v/4 M9e~vï_~ù—_uí ·Þ÷Ä“{¯>sWø=þ–K~øØÍ>Öù„§N¾ú¡Ç¿þ¾,XóÄzcêäK÷>yÿm?|ô¾/¾w²å0çÌÕp °ns.Ê3ÔÙ½còiº$^V´bT3N,Ç/·5 #w·TŽA¶ô÷Â2òxá1¶5RN¯ù>Ñ]*¤€�R@ H)p8(P©öú�ŠzjÝkæôÂÇE…¿/àU¬ºr‘¥ßCÜÓ;rÔo}êñkÞ3›<ÚŽ-žþÉK/¹ô²ËoÜóԞ˖½ ÉÑñÑÆþê£G|À²zUž^@ïp}ú—ݳoïµ'ÏŒuÆ (dµ�i4o¯±#Ž;ý³ßÞûô³?þÆ»Ž ¸w}Èo%ߎŽ�ŒŽÕǦ�:é‚[{úÖOœ˜äô:èýæ—®¾æKWßxßS�]k2�§N¾ìGOÜ}ÝåW|þ —þ —_õÍ»å‚#G‘à èÍ>Ñk{ä¯ä¥'o9cnEýj…U ]³;é7_(¹v“~¹‘/(×A¬¯± Üàwuâuo³` ‘Ìàg/Û$^ôñÎÚ²¨ùIÔ») ¤€�R@ H�öT>^ãïíÉ(d/#œ™ß»¥£‹5œ;:sö±~µvÚ©›ydµÓW9¾œxÛ•°ŒgÇ–?z[½+®èkÈé½· ½�áéS®~ð™{¯:}×™_{՛ןçæ3ïüêÃÏ|ç#ÞéÚšØÖ›ª8åödºdÏ3{.[vQÓÖÂÔIŸ¹ëç^ÞïùÒßuó׿þ�äï†ï=òôÝ9Û­q"f>¶ë‚ÛŸºïó~”•kiÍ³Ùæ¢üÜCW]üõ‡“-‹Ö�ÆÊ§êÆ1Ÿ½ë©;?}òÊŠÓ–åª{Ÿ~æ¡›>rê±ÓõÆDc|ljÞþzz�oÓ¦zöé§Ÿ¼ï É>½kNcú­g~è´·9=5Ú�ØyÂy×?öÜCïn¦"'ÎÒ�¬}>>·mûÔôöé#–N>ûK÷í{îŸyû˜3²’]ëc³¸áÉgî<ÿ˜™ù³¿õÄ}cÒÎØÂ¹ß~êÇמ¸-EË­Y³JÐKÝVm hÄ ·m’ǘÇËçV‘g_­Š‘Ì­çææ½ _æñr+#G™+¯-ø *fÝføŸÍçkÕ…¨��R@ H) ¤€8dˆãZ9®V*ÝÕZO×b_Ñ*ôôÚÜ]ìÙ úE­f’0}7èé}c™Ü}Éž¼´¿ù¿—E›Y¯ïÓ,dõâþ÷=ñÀ7>ùîí.{ÙCo°Ø±¥�ßúØÃßü쥷ÿ¤™÷Ëá#;ßÿ­GùÒ{g-gžxÓùͤ߱]½íg÷"ˆºe�j¨1\oÀIù�ŠZ5œ½‡¾\„¿7éoj+£$Ú9ïb–ÓôKâåF¾è�Í{AÂå¸ÂŒÞ¬U H) ¤€�R Ý(Ç•JÄë|¼•jo¥ÚBo:ª»Ù<^n以£ëMe¤196>eÿ Gw#�I4ìÜFSÛvÌyôìöíÓ££-0[¥sha¤1Ø´'Ú6õÇý¹v¸ìi �NLl?êÈ£çv¬œ­a]v±cãSéõºAÇš�ôèëò6'­&ÍAǸ.6šÿÔiLŒ�MÔ›Jz}ÂáØY�áz4Û圼¥B±F8{ eå*,óxáf~/"™¹‘/¶)‚—m D8£rU©ÇqÕuðáЬnÇUA¯nT) ¤€�R@ H�vW`%ñvû]‹j!ô9½�]9V®bN/ý½¹(ßî¢hþRà÷£sz“Ü]Õœä÷úºÍ�¿×F2·*Wù¨føfWä÷6�Ë"UÈf!ÐØú¹©/“�?Rh) ¤€�R@ H)ð)ࣚ��·Zë©Ö\9«rœ‚^äî²V3QTñÅœ½oÐ¥’ÙÃOäô‚xáÂåÚZÍIT³ÙÖdÛÊé5U¬±ð÷¶Ú¾&}¿ÅR^»O/Åý¢¢Õá'»V$¤€�R@ H)°©@£ñ÷V+•žÐÓËœ^úuéûñ"Ú™›÷n*µX)ðšˆ|únW.B‘ªÀÇ‹}zá›]¿Š•7 “r�Ç a¶éã…8ÈéEu+íÓûš¯¬N”R@ H) ¤€8t`N/Š×Tª=ÐËœ^T® ˆ—$œ‹òh:ËÓL¤À¡¬@¾P«"�­£_Õ¼¢r•/s…BÊð'mïûm÷•«èãåæ½ØˆˆQÍ YV±Âé ^8£š±Oo©ÊjnR@ H) ¤€�R`]ÕÇÕR9®Öz*ÕîŒ-‹É —)78ÞÑér}ßÔêÍ­êPë®\¤À›®+W¡€3Rv¯�IF;Ù›·YäÙU´Š Àã°r•ÏãMÈÖg#b™‘Ì _lJʵÄ˶+ýWAÎoºJš€�R@ H) ¤€x= Tk=ðñ’x3 7 Üήè¹¾ŒjF®¯rz_Ïõй›Jæñ¶è×ïH”äñæ‹Húudksz­�×Ó/rtm£š-ýâ8ø4‹çR9¶>^°4Êb¡Ã¦º"Z¬�R@ H) ¤Àá§@3ª¹»Rí.•cD;‡9½Á~¼Ìã%增3é÷ð“I+’o„ð»fæî"òÙV´²QÍØ^þÞ$�×Ð/˜™Õªºð cŸÞ|¡„ÊU bÒ/z’xá~#.›R@ H) ¤€�Rà÷¦(Ä[rEœý†Ð šµ~]K¹ôç¢|Gg®£3÷{›½’m­Òãƒ*VŽ„£7ï òxí>½‡†àŠsÑÆqR®�p¶”Kúeø�á\(–ÛZaM^ H) ¤€�R@ 0ª9Ž«®]©•Êq½Aî®%^P.2ÑÎEyWKR@ ¬§@«Š•§\øu±å5ÛŒpF„Š-#Út G1ÚàgÕœäôú ár\A$3HØæôZ/vFNo”/ê[R H) ¤€�R@ ´µ¨\…}zñ–ÊÙ9½Èãe}fäô‚rñྥ£‹ÑγóKú“R`]¯¯P…Xå4ñM‘ôk÷ì%ýâ }¼¤_îN®+•/²�gnqT(ºO>ÎEžÛmý§ÉK) ¤€�R@ H� åô‚frÉü^D5ÃûDoW.êìÊ­û¬¯R@ ÌÎ/µrz}Õå$ÚÙï¸‹è  iÐFT3“~Q¡*íïMè7_$ÙZâ�üG aD8£�<^œ«œ^ýBH) ¤€�R@  $9½>ª9Ž«•jwWÃðf[¹ m¯�j¶mñŒ�Q€~]$îbŸ^æô—˨fneÄãˆC9#>™[¡&3:°>s©Óߋ݉à%¦�—y¼°ÇUåôßòZ‚�R@ H) 6¹Èã…GÛKå èMûuY«™¾ßŽÎ\§{l/läq_}¤€@š@¾P"ý¢�<^¶[”›/¶Úf#_¸mm„3#™úõþÞR9†eÒo¡XæGø°EžÑÞä_‘Z¾�R@ H) ¤@»+€ÊUÈéEåš Ooº>3óxm®/ˆ7—‹3R@ lD�y¼>Â~]8`ÑFN/z‚xƒv’èÛÜÔ7ñåFäôZúe/h–Ä ¿.é—N`„C·ûwœæ/¤€�R@ H)°É`NoWKåΡ§—ªlå*KÂ�]ÎÇ o•rz7B;ê#�ÓK²Ed2RsíŒ2Wðßb§"´QØ~`ð*}¼…B ”›l껲rszY·™ô[Ž+ jú{I›ü+RË—R@ H) ¤€hwœÞJ-£zs:’9 \øx±‘oG§ Y©xµØ�Q¾ØÑ™c}f÷9ò˜ŠZÍôë"&™9½ôå‚KAÈpÛ¢Oâã�  Ü0§×»”“­Œ|¼´�vŽãªCèf8t¾Pj÷ï8Í_ H) ¤€�R`“+Àœ^øxázzsQ¾£3·¥Ã=’£ÝÑéüºh“x·tt¡-'ž�Q”‹:ÌîÓU(1�—mÔjŽòE$Ã7 vô‹íŽ|)fÒo¡X6Ke×ßSnRÃÙ“pÉìC ƒ¶%^ø&ÿŠÔò¥€�R@ H) Ú]F5³ŠU†§×F5£ZUW.‚_—QÍ8Žç�<îÛ>—]¸ýÿüfÙþ½ò«¥ï~yÆöQ[ ~ €]á âEÊnâ×ÅöE>_7ÙÔ·™» š…D5'í¢ß�×-úÀm Z†sÇáf¢/ý½ÌéÍJ¥rÜîßqš¿�R@ H) ¤À&W{”TªÝ¥r9½…¬�ÓËèe<£Ûg»Oï–Ž®W'o?yöÿ>°`‰íW~µ¡ÑW5–:K�ƒ®ÀqÇ¿íò+®zà�^xáÅ^xá�øÂåWû–·md  �×Öpvèë=´É~¼¾Íg,€ÑFç¤íƒ–A¶$^Â-úhq0]Ñ þÞR9.Ç•Mþ©åK) ¤€�R@ ´»ˆjÆ>�å¸ÇÕ O/rz;»ZÎ ^»7o.ʣë*d5·°ôüž� ÜãŽ[ø÷—øÿÿç7ËÁõ‘o¢ç~øü}ûö½œúß¾}ûÎ>çÃëN Ÿæñ²ŠÞ+qw¢®\R "œQÑŠxœ¯õñúm�H¿ŒdÎJ¨\ ¥rl£šÙFÞo»ÇiþR@ H) ¤€�›\�JµΨh…Çìœ^D2ã1¹»¹(¿ÅïÍKâuåùâºÏúìpÝ%3ôñw�¾¯ zÏûBýÅo-ì^°À<÷™¯Ž=}Ýâ1ó-×ñÜ®™[î�yèS»æÌÁÙywúÏ÷ù‹½GþâÁ#ŸýÁ‘7jîÄ%˜2ÿ´÷ÈïÞyï5G�sÊRrúÂQ_¼yò©k[CÌ-í¸éÓÏ|uñ¸–ý£?ãøÓ_[|KóÈëœÃ/öù'{�Üû¹åôR ,ai+�/žpêÔÍßžú/OýÛæÿ᩹o?êÊ.,¸é­%ã±Ë3ß¹kæOüè+þÿGG_wú²Ñßù“f?óö]¼Ü³óKïøÈÈKwΟ¾Ì ´Æ4Z×ËZ8tÚç~øü¤€79pàÀ�óÎÿèÚ³ÅçùºN†/—ÇA¿ŽB‘»ë�–y¼ÈéEÒo±T&KIN/±™~]tNˆ×[K*Zy<&ý2ÔY…¬6ù/„–/¤€�R@ H�Ã@<ýZâÍoNçîær‘ÍãÝÒÑ…gîWåéý�?Y<¸Ðû‘kGþyÏ®z/ýÎø_}{—…Þ?4øßžžý뇖Þ�0-øjÑ�þÐÂ?¹ýÊÏNßôõÉ¿|iîŸö,¿ËõIþéÊOl¿ì™k.Ÿzä¡ÿñË¥'¯Xòf?tÕðÿóè2Ynש#¿yiîwO.�÷–ùæ��zäÙ£ÿô±¤ ×<‡/fû?�ü]ú‡ ôf)à8våñùó®ùݯÿëf¿øÑ#Ïûß¹pòž;gö\ˆÙ�!Îdá?ÍÎ/¾ç�†ÿ¯_.Ýsž³pü™C÷òÒß k‹§_<ô�?ž}ᙣ¿÷¡ÄþqïúëŸ/]ó.wPæÀ5²‘ž'þiÅñÝçýãŸ.Þÿñeï×å¹l¬èÜÔ'-ãâYW ÿÛ�v�ÚbZ{ââù×ÔuûÎ_½<ÿÐÇ[u ½ëMƒó9_üÒ5–o_~ùeüÂåW6ÌX}¼ˆp¶Ä‹òË PÛ†¸íìáÖÖmÛ~ó!okSßæNE°S,•±­Qä«@ƒ~A¼ÅRy“EjùR@ H) ¤€�í®@¥R«¬$ÞŒœ^Ô×�_7òN'îNÄ<^F8ç¢üOùÁ?e².�7ðŸºÈ!­-ž4öüós7¼oáÒo�ýúzëO_8©ñâKswœ}lô.ÍÎ}åíÿr¯s,Ï7õÓg�zøB8r�ºî‡SòÕù¯|oò×_ݵä†?pÙÐï[>}WâóÞ|‘•«‚àhe/±Ó$[nê /£šI¿‡FÿvÿŽÓü¥€�R@ H) 6¹¾ns\,•ýV»±—gèé òxmT3IØ:�×xÊþ‰|›Ù:oà?­ýÓ}Kï?yö�§$ï8yçÕ·M˜ðæÅ÷nè·{—ß½´|â‡ÿþÙ¥��À¤ÓößuÁà?¿´tÉ)™ž^‡.ð©Á~ù£Çïš�?úªïMüÅ7BÏŸ0þôó³·üá®÷~jèŸèuõ“~#ûµÏ!XÝÛŽmE{}‚%�¯ZÇç�Ÿxò…£z}ÎìÃÆFdt!Ók{z?òåú_~g×[ŽÙ~Û�¶ÿå·—ßêù™Ð»�ip>‡bcÿþýåâþ >ó̾5î[¸m‘£›äô®ŒdFT3*Q%>^“¯›ìÇë·5BÖjFM,îÓ›”¼ò¨Œ¨fø–[íÈÕ¶å’xØ›ü+RË—R@ H) ¤€hw@¹$^D8‡ÐìNdó{YØÙ†@¯ñ”üS&ëò`ÐyÿéòHÿ÷Ÿ-ý¯_®ø{å×KûÝ8ç–vÜúãíO}ù¥¹cfî}bçO.$þ9Øû—GæïøúÌ�7L?zïö~iaÏ'Ü‚F;�ÝçþËKËŸ=i×ì¼ iþÝãËgìZ>å¼Áß>½|Îq»Å�» IDAT»–N}yÿü7Þ{Ìü[&úÜÑ]�$ô¾ö9\Wÿß¿^ú�?]ÄßÿúÅò�ïk% û‰eÏÓzªOýùÏçï:·9™…#®¹qê‘Ûv¸¿oΞ†æõdÄXëAïÈÿî®ãæ—Þzúð_ü|ánNèÝÀ4EÖåÕþùç¾Å?׆^^†«–ÎHôeå*ø{Q:ŽÑέÜ]¿•QB¼¾0úƒrÑ»¢ÝÊã¥C8_ŒòEp‡Ï9½h+§·Ý¿â5) ¤€�R@ HìÓ‹ÎÉž½•ZôÚgÛF|¦%ÞŽÎÁ`Ýù6³±îé©Mä[\ZhþÍ/Ì^öÝV!«ãÏú«ö^¿ýû_›ùþ×fî¾cÛoïÛuJ’• è�»÷�·ß{Ó¶ÿò’MFmZ^QzéÔO þÛóË8OïÒ10üç//^ó®¥OÝÐø‹o9Ø›]ØyÓÓ/^¹ëÄ3‡þzÿÒ¥»º~]s¸o×îÅå¹…Åæ_@†Ùó´Ð»ð¶±ç_š»ÿ£Édæ޼øÊ©Û¾2sçíSÿöè®÷²jמ]»›.,.2zå×õô&Ð;;?ÿ±ëêÿþäòyÇïzG³�Õ¦,íÐúÏtx3îÆz×oF²¼²QTÀë$Ð)|¼HÐEÛÏÑ}àfµšÁÌl·òx›x ;¤_t°>^DDÃß«œ^ýHH) ¤€�R@ ´»q\�ã*Rù*•è7„^8�¶ttutæðhÊ�¢BG§Û¼ål§XtU\Éd]ܸ�fÏLä³É¨sŸ¾¡ñw?ž}øÖøûÉí3÷òâWNÚÓ>üÅpš7nÿ‰Ë™ûôM�{h×;=3Ï3}ßÏv>zé‘÷?¾sï%Ϻ|øö,]vÍè¿îeÁ§ƒ;N�Ìy®¨Þ<·¼ý®ÇŽøåµ»‚*Vï»xèw�.¯€Þ„oeLÆÚ §wv~iþØé{;â7¼üþ� ý£¯Þ¼�iK;´þóKWo¨�ÕåW\Õ¼93æÏœÞ(_$ñâ¥öBf÷ãÍEyîB´Z›‘Ì@bÖdÄ·œÎéE†p9®”ãJäã¥ËqE9½íþý®ùK) ¤€�R@ וJ-‰p®vW*5¸Bèí2»•«˜ß‹hD;¯ñ”üù6³tÞÀf"_‹ÖæO˜xò¹Ùœ�89gç—æv~óÁé_^—”›²ûúÌ·í¡ŸíüÓ¯ìZö•¨ì?a&'œ>ò›ŸÏ?ö)í�Ì]|óØŸß¹ó7Ï.\|r2Ä1§ ÿù¾ùŸì™ùåµÇ2îRšd*°zgç>|õÈ<·|ÑÉLfvóC¡wv~éÄþÍ/ïùòäß>¶ä÷vZw”˜Zï›Öç-o]Ë¢}ûÖÙ²Èæñ²�¢ß|¾Pb4#™Yþ x\(¶öéEF5�ݦ¾>’9 �öm|øq<Ù©È;„KåØ ä‹<ë‹R H) ¤€�R@ ´µ(^/Ü?ûô— ê6³V³Íé…éUíӛɺ<øê 'ùZÐû þócËg³¢øÓiŸüÝÓËç¸ uÃÓßuÁà¿þ|éÚÓ’ú§û–ßý–…·ž0{ê»·_þ屿ùùü_ݾ´»µaÏÒ»>1øÏÎýÍžåf¼ôÒÜòÌ9➟¿ãœƒ_ÿÞsÂüÉ'Îáï„cêsKø§û–ßû¶¹SNšÅ߉ÇÐëü®?üÉŽÿÙÂWÎ�ë1Kó‹K‹Ësç^>òÆyzñRàS74þÇ�…},Ù§w½iK;äþó¼ó?zàÀÆ3ãvå8pàüó?¶ö=Œèeäë"tÄk�ƒ`QÅ* oö\š/”aAß/èÑÎ�¿‹Ž~ý¿ ^D;“~áZKÚ§·ÑÖßïš¼�R@ H) ¤Àp½�ÊUŒpý†žÞήâ0Ѱ9½hãI$üªrzÿó×KDÜ ñʯ^ä,žÍÈo÷,ïâr¿=þßnÞuìâÎö¸ Û ¬×¹^Ÿ=z�Ëq OŸ[Øù�{¶ýí�Ko_\üÈ—G^ùuRëþbño2÷­ Ž]X1ÉÅSêúóùç/§ïwiv~áã_ýŸ/._èkDÏ-¼®9œÍÈ+¶ôʯ’¿ÿü³åýWڱܢÏÿ÷ë%ü5û¸ù[eŽÛqíM¿ýùü+¿^zå—‹¯üjé¼¼øçw.¾gy9­�õR/£Ùîxñ¬Ë‡ÿå¡åûô¶Fq3ù‹ï,»ÜææßüñS{¶óÿýi½³óKkN£u"-j�óÎÿèsÏ=GÐecß¾}çœ{Þº³måôF…VÛ×XЂ~“¤_ŸÐ›8„Sm-“~™ÓËÐh:„a³µõ‘wçÂLâÅ¿–JåBQûôŠ{¥€�R@ H) Ú[�8®V*56Æq5\Cè%ÍâAÑÎp=¡íÊ}~oGgîUíÓ{ëu3¯ü*ƒ{_ùÕÒw¿<³.3¤;Ì-...†°”\X\\Z\\‰©°À³Ø å¹Å¥¥å¥ù…¥¹ÅÅ¥eü-Íeñ§,.¤†˜[\Z\ZJB _÷–—í_æbm‡ååD�ôÒ\t÷âÂñ'̾ýäÙ�_¡Ì*�CmÝÒVªmO´m£çâÕhÂðjÓàY‡rã¸ãßvÕ¯~𡇞þùýû÷?ôÐCW^õ¥ãŽÛFæŒwI UM´üºÞ�›ä÷ú$[&|´36õ¥¿Ô <¶ÄK¿. V1§Ç�Äh³rrzᬷƒR@ H) ¤€�R ­`N/ˆÎ!ôr^”ÛIªXùÒ; \o¥6ò¸¯>R@ àÍÈ.Ü®\Äœ^´Q�™xLÊ rzá(fT3,“„âEô2²�7^p“xU½¹­¿ß5y) ¤€�R@ H�áz#©bU©•ãʪ9½Ü‘Oá uæqnä Ÿ°`F H��(¿+(�g›´}ô²m'Î>•–á†W–Ä›$ô6w'b$3w´Lú-úèåÀ¯‹ZvÈFUw}QJ) ¤€�R@ H�¶V{óZâ-•ãÐÓ‹‡ï®\ÄŠVðý¢¢lGg[!ÔùUåôn ÔG ® Ø<^¼0‚_—Q͈|f/C â� ðÓ‰-ñ"b!Ð ØVN¯Ïf gø{m„3}¿ð÷¶õœ&/¤€�R@ H) ‚ºÍxÊ ¡×îÍ›‹ò \K¼xçñÃQ´.)pp`$3ˆìšD2G…(_´QÍ aøl]Oïε•«à7N*TÁ'ì‹T¤Ê�ò�&Ù&þ^o�mø{�£8_Ô·¤�R@ H) ¤€hk⸊ç[”³Z5§>^Ò/ž¹·tt!§$ÌÎ dM ® À…‹�Ï â5•«@žôñ‚„ßoTpQ [�äîzZ&ývå"Òì o¾È㮊U© 2¾Ønë/8M^ H) ¤€�R@ àù¶âszó…R9®T*µÐÓËÜ]ørá}²mne¤œÞÃÏ´®7B„73w7ðñƒ[}¼ßµE¿ ^ï¡eš.üÀLú…ï×snµ}h4NDÝf$ãì ­oI) ¤€�R@ H)ÐÖ `Ÿ^lYä‘×U´ ¡ÏÙ�]9ø{™»‹xKF5ƒx;»roȦ8ü€�—y¼È�·Q͈­€;×&£Í*V°‚…¸P,#¡Õì‚¥‹Þ—�0œÃ8×F5ÓßÛÖ_pš¼�R@ H) ¤€`Ts9®ÄqôB/iÖæñm�0"œÃóõßR@ d)€Ï (×¶I¹¨‹"e‡„x‘Óëý½Œv†s˜Õ­ą́æVÍHfPq.Ê“x£¨ oI) ¤€�R@ H)ÐÖ ØºÍxâ-–Êáã9}¼Ü�Ä»¥£ {óڜޠÈó–ÎÅ6xK‡«,œØÑ™ƒA 4N„A·3A›F`��êÉ–Â 0[O¤Ë;3q&\&jV§O´³Â¨|w\&p%H�Ftkº 6‚]yœ¯¬:Ûa$ß9ÎÖ .³3çH)*P¾Á.;VÛfT< b†1å‘Ç#�KÀýƒ%7—ãJ©÷Cîqu`Üjbä•âmÀû'Їxu‚ÒåéÛúpç!w¢Kè°D"À Ê� Üñk…_×ïƒÍgÌŸô›T±jæôÂ8:³��|‘lý½ˆp'“réïµÄ›‹òÚ§·­¿ß5y) ¤€�R@ H�ázy¼(gÅv½VñðM#t‰:ÜÔ—ü`;£m‰®s%ñ¦";�!1f‚ÚYä–dç"Kw-²%3“ !„U¢Ñjʶƒ.¿“—iÉŸ0ÏÓ“j¨À$€��Ö$<Ñ" Û4ư£žCK,ôÝqÎ taœÃ×ng‚vZ{<à¥Õô±K–ÃefêC'_q9<‘3áS,“'Úãð¦r&¤¸LⵚÐH0[ëž ô�&pÃnP^©`†„:Š©ðf°©Ïúë‚Çz9Š8dãc €1ÒÅ!BÕ²Ž3&–ñ±$:r8É6 Þ-[�€4l|l°´ j—À(ÊsæXκF¬>X&uÈ„UÌ£pVVr8úÀˆmÄk£v}N4n™í@XÞÔÆíl[3ñѹ4Ü3vV@DxŒÎëêƒ{ƒàÊYñžáèö6°3±÷’=ž¾GñjúàngT3—Æ�ôIJÍhgú{݉)ß/µâ6Fî.Ž£r•k7éy¼ùB ±`fP.¦áŒ˜ü^:‡aP9½ú‘�R@ H) ¤€hw˜Ç[©ÔÐ.•ãŒðf‚DÀTxø¶PA'ž¥;ò9Š™j‰×B ÒwGÿ¤¥8´Ñ9€ žH&çèD�­ùX…%.Ç)8¡ÝêÃ\^)x)©:[a­A{`&i}xœ3¤q-ï+«õ±W‡£Ógöæ=Ó"Û•¹»ËLüºÞË!:  ‡pâãm’- Ô ˆeN/swA¿Iä36õ� ÈÝÅgŽ_ú{¯�pVNo»ÅkþR@ H) ¤€�…bÎ$ÞŒ-‹øˆ‹gƒÄù‰w²é…°�(_<ë³�þð q³8‘`FƒDÄLcÝ, €‘^˜‡i¡”ôBâÈK`*ç’AþÌÀK0N#ì`geמ9+êÙ®fÜÎ ƒ9"…µ3äÒÈ“ ÒNëÃÛÃêƒ6¦GÁ9+Á¬h<ÐÄä(�>œaó^*Ø«ÉÎX&�p&¶³síû‡úØ«É6§Mƒ\&)�[y¼žx¡|­IïƒÅ­¾b+#7| {ÿ0Ú¨z•lkäû§£š]�Áð÷¢sÒö À…bYß’R@ H) ¤€�R ­ ñÚçÐÓËGö€^,GÙ6�ÆbžàÁ ä\–¬=n]jl‡Ð9­A ŒVíqúåpÆ�7˜ fNƒ„k„`–œè‹£½®>v9�>ð¶ -S3ŒÁKÖ —CaÉ–Ðá¾Á•ârxÕ( —c 9¹|>Ò›£§õ�ž˜Ù¾³8˱úðʼn—3Árp5[bF®às Op/Ùh»Û¶÷�5Îe‚[­lk'‡ƒZ¯§Ö  w.$EnÒÁ'ßâÃ|TÛœ^F/'Äë}¼Iîn3�—x ç0¨;Ù³W[Õmý¯ÉK) ¤€�R@ ÄqÁŒ¥r\Ž+x¡7�Cî©=_´¾MÀžÎéeâ+¨Žb´I2ÖÃ\fÌÉ„ñ i“Ì@¢Ksg‚%¤Sp�4öD¶A2DD,ÙlnÂÔ é—šàª‘x‰ÍVX^^AÞ?8‘w;/}°LèMˆÍ­¢n¹ˆÁíðÊ¢¿ÍãE”2æ�Èd(ÏœÞôë£�I¿è³"§QÍ^sÐo’ëk¢�Y¹ 'ºhgÕú–”R@ H) ¤€�m­£š¹kQFN/a5@ òRÆc}jgWb!+TÛÙå|¿ ;ÀÜV–�,ˆ’è@ „.:ý0+!ñòDb3‰hĤ·ä†Ù’'‰CìœÖ‡>LÎ*0&ÌiÕÔ$ \,DzSk9žm¸ ÎÐ.‡î\zM© ”  Ä\[Ÿàœ!g•©_+š¤ïŸJ�&�9\nêC<æè|Å`G§>ÀfÌ�Fì@ÁÇ�àŠÎ I¶qÕÜ=³ÒÇ‹ãèÌv‹x}Â-n9úuƒœÞÀ÷‹7/ùB‰¾_¶±•‘;Þ,òœ´óEåô¶õ÷»&/¤€�R@ H)0\o §—u›ã¸ºVN¯åI‹õzñq�éd<âÓ½ `ç(Ê\�Fˆ,jy)€ ºÔì‰$"4q( :t[Z¯ ÅžÀ¦ÄÊ£§a ”Ë%gê,3èlÅUú`í$: Èã€U,3hC“W¥�]µ¢>¼ôéû‡3 ‡Ažh‰—WÓÝ`Í·¸—ìÕÌÖ^A¾§àèÜ?öN¦�×Î�÷�½j§óDŒŽ»ÝÝ'­<Þ¤�thR1Ћr¨ì��“jUا×G2³˜3‘§'[5#œI¹­gO¼ùBI_”R@ H) ¤€�R ­(ÇìÍKúÍØ§7ðŒ­c\- óx€@‰5 $ˆ%êðDâ1aƒLÐ !$˜¡%Û&€Ñу–£ÖÖ‡¨C,’è0PziA¾>Œ'K >ñÒGÇlAeV|dü0ŧ‘Àx�9C.'M¼�}pðx`Ђk°Þ?¹f˜tšxírì;‹àþ!Û«‰™$l�¤o6/–F¯%^¶ñº4KúµÄ ÙA¿h#G�ц�-w*ÂÁÄß›òñ’~Ûú N“—R@ H) ¤€�ñŠåU÷éµQ©h3ã‘A¶DDK&ä„4¥àÙÝr`B*¶Ì`;{ƒ.=2 K¼A›`†%�£ˆ…d'„ѱ";,‡þº´>XŽ[vê9ˆÐœ 5¡˜\'g²ç´© —Ƶ ö Œ5woÂäE r hBNæL°´Õô ÞúØ7Ö ÚT^z·ZËÄòíMˆ%ÐÅ N\CŸN7£ìGƒ³²¯Zp�Ò¯»ñš>^piB¶ÍjUɉ>vÝÝ<Íç �¨f7�f¾.,“„I¹¤_Õ k$^yzõ#!¤€�R@ H)Ðî €ráïe;,dEºGá ž¨C"Sìdñ†àAÀx¨,`�—X…Ș?Ñq‚eËf~¦#a*Ú`à"iÄ.-­¦AÐ/¡”B#6±ÓI£ F´šð-é—K †Ð�‚“r) Qòvz&Ô�0Oždåª5ôél=ÆTaÄ2'Œà© µâÕä WƒÒW¥–IaqCØl btjÈ·¸šÁ�üªô±3±â[#¸{£|‘�©tÃüâE (f4ÅË�-Úl†Ô< ÅJQò Ÿ&¯ƒâB $Œ={ ~û¢¨Õ ¥rÜîßqš¿�R@ H) ¤À&W _(!�Ãq\�ãj½$<Ê#l5 ;ÂXÀ“–x ±™°A"â“ìc}@tLò´Çƒ6ÈFH#„ v¶d‹Î œôq»EM¦q{¢Å$P1 ÒŸ‰ƒô²Ò 5¸�‚¯VX¶Ëkžg’pz&tÙÒ(r&¬›­¦ RÞ3–~)&5±³âÒp�ÙùÚ…Ë´œigřЛ 2.ïRÎwrpWSC�'G‡‘`†„'‡§O$Ù¶–æ7|Æ;�¾_÷ït\çfT³%^Û†söQÅŠíB±Œ…ãâE$3βQÍ.Øu»ÇiþR@ H) ¤€�›\ìÍË*Vx¡7€ <‘“~-Éà1ÚI\�C[¶ø§}„L6 ö`D�€©È –Öh$Íá0ˆÍÖÛÖˆÅ!¶1CKt¶MZ³€š©¸È²Ú8Ñ-sK§0´�ŒÎ+ôñh}h„¬&ÄB¡Ë‘´Á“+ÕÑ}ÒFÈäÁ‰Ùú0yyoJa-‡³ ã¡>]�Kær8+»|Η˜W­Ù9Zåx²Åè—F¬>®í·AZ[Ž11[Þx˜*‰—Ÿ#tàqF2Ûã$^L�¾_tƹˆpÆuÁ‡) iúÅVf8k“EjùR@ H) ¤€�í®@¡X.–ÊÈéE^êƒ>ÑÎÊÞÕ¸9IûÁöÔ¼g¬V¼70ÉÖI繺Ár«ÝŒpfî.0Qʶ�„@û�•ûtùÐo±äJØ�“éãÅ·C»ÇiþR@ H) ¤€�›\o¾PB»TŽ3<½Ä$’ $lÐD5“dctúq!°3Øi o3è…£*`жá—#¥À #TÉÞÁLØ�ÐåŠ0st¶Dv ˆŽË¤>D `Vpˆ¥>Ö¯ ã¸OpQлv“x×ÈéÍJ˜hõòx£‚�p.–’¨æÄ!œ/nò¯H-_ H) ¤€�R Ý(•ãR9¦¿UlBèµ�fñIwd†à�þtµ­Á ÄErá–£Ó8é.m%�HzQ”GÛ±ôà X Âgý$4ÂÑ×Ö‡ËÁ‰˜¡5B(µoVÓƒf΄úÀ8ù“šðJq9ßžˆv �5ˆÙPi£¬¦/½}gÁòêp™örSüôLø¢ÄÎ 3ሙ��eÒ—‹+EçqÞ�‰¿×' s@¼ª’Þ—‹6ë33�xŒü^8‡ÓÕ­ð ç¶ûwœæ/¤€�R@ H)°ÉåŠå8®²B/žûñ mac56àc= „¨°°a)m<âDÀ@hD¨Èô½å˜U¬PÑ&„^RŠ�2%$Oó¹ˆtgëm|,é%ÍK„1k–GùÊ F$¤FHÂÅRJš·A ˜­%^΄D’!a&à«4¤̈FpŠâøjúðxúB�3ÓRÛÙjE¦â2ÓËéìrWÓb3:S+·Ζâ°ü5¦Mã�Á€x1(=«¼ôÁýÃËŠYá?Ù™WÍ.m^5«OpÕ0U\VL�þ^k0У[ï} Oæ;~¦xÿ`\XÆ)ðÙÂZ3ÂÙ-Ê_%xìäq³%ĶNô¾_øu‘Ók‰×–¹j÷ï8Í_ H) ¤€�R`“+€]KàãEÝÖ O/‘¡­xt�  ÎÄ6!$€B) òߺj‰=ä"b!#rV…'°j�wvE��Êàí-]¤”Æ”z� [btÒ�XŽ"{Ƙ{ €±úp90;Û&6s&0hB(åqL•LN¨�½‚Ÿú`Pî ,„Á`i\2‰�Óúpíéû‡œiû¬¦Op¹××Ço½¶>+4in€Œ÷¸‚‰VÍŒb &î.F¬>\¹'r œÂâsâMÚÍ<^±Q‘;!ý˜ÅŸ®øÔÀÇ‹¹Á ¡ZpÛŒpvwz¡ä¢�}u¾PÚä_‘Z¾�R@ H) ¤@»+å‹$ÞUszñøNâÅÓ0w»%”’è~\®ÞsˆçþÕxÇ-/¡?É�mN&gBãL,é³²à�TdÎ*àIËQ˜ ÐÑÎ  r`�ºÙi�¤G"/ez9+œHˆ…A«O0+žˆeòDhE˜·5¢Ò3!˜‘rq¥ð"ƒt‡¡ï¾¼ >–·í›^nÌÊ÷™'6¡4Ïѹ´´àëêÃ%[#¼g !¯–Æ›�÷Œ7¯&î™æ´ÁÒÿß½I¹/Dp"ì ª“tŽßfÝfF2;†õ9½tã>$*;kþ[´l‰å¯Úý;Nó—R@ H) ¤€Øä K®n3ªØ�~ÃðfË �{–€ÁGyÛ™m2�–�õ<¾,v Ðù*íMÅ=ÉB)f#<Žû“^0«€©0ÃÆ¬v†vVÿü냴>t°¯¡OgW²¥0Ť>V“@OÛ™¯x"¯ Õaµ6:“î¨ ÙºúìíqÎÊjÈY¥õA²7fˆƒ\/oTç=Ù¯±4{Õ8“@¸²Í>öþ�bhÓ÷›lT å‚~aô›ôñ$Œ9ÃÇ GH3ˆ·UÝ þ^ïC¦x“EjùR@ H) ¤€�í®@9® �·X*#¹7_(…Ðk¡+3ú©‚G|:»H)€Ð :€AðÀº5hC[É�œU!4ŽâL‚’Â[|Ø*�€@t8‘ Ì„À¶Ú¬Ø!�@dÎÀ˺Ú€@Á,N'WÇj… ƒ8èc—ë–©GáL¶tæ¬óÇ3�Py¹¹'�çÌ„É}2 â E†|‘\µà�…Ýr&õáÒÈÛ4HÝ8"ïj;íàþYMŸôèöþ!åB7ðj«íýÀ˜F:§�qp‹™¯pGF>³n3œÀ¤âvÿŽÓü¥€�R@ H) 6¹ÖÇ‹vFN/ÙÉ�«Ç›uÙ `²“…´L#ž \„*)…°AÖ"'0Ù|…gzÎ'6ئ‘Ì™>^tü`÷P� %0²š>X>:3œ˜m�Ø6õ±³¢ëŠ$éd{õá; ÎÊ‚hšèÒú`æœ6a•¹´ò- ²5±ˆãQ”D8ÛΜ-5á}Â[ÞT§{ÿÀ …ù@ð•Ÿ#[#œIúªáþÁ(-²õ~W²7t££–1PB¹Q�Îá 7ä“ξk8ãö¦˜>^lê»É¿"µ|) ¤€�R@ H�vWû•”ʱ«bàï =½ Ë MÀpOØTpaÕz™Biá�æ–—ðÔž† O�Nú%c�«`$¹�+WÀ8C FÇqÎ�ì”ÆRœE�àD;CŒ^ F§Èv œ §½†>Xr ƒi݉+«1q »å2¢&ÁÒÈ�ú0–8¸R�Aî¸7q¹q¥pÿJíèåþIîpS�œ:¬ÐÇhµš>X®¯&õ!6§ p¢ý¬ai–~y³!ª@¶®Ýtüâ²B.R.:»7[Mâ…t(˸F,…¯†BQûôjŸ^) ¤€�R@ H�öV TŽá\*Ç¥rå‹!ôZØ /áÚf<’ð˜Nú `•�õ|‚·l@ƒ DŠ£ç�Tò$Àƒ£Xƒ3t#væÀ]œ‰5BO£%K¶A;0Â0×Õô!¨ØC& Zv²Ëá‰DDèƒãÔŠ�Ëè ã„U«õ±"mˆ#$ºô%æL(ì÷–fït¦‘ôMhgÅ�`;«Ìûe±}8Ãæý“ìÞd‡åL}ң㖶⯡–f�mw¥|µ*h²Â—ëƒ0m§ÿÖV®Z±gosS_K¿ ^D8·û‹=Í_ H) ¤€�R`“+âEõÖUszñÔNŽ"F‚ÁH/Ác}“ž$˜-#Yc-lЈ=×"�m“^,ÕÒÈŸ v8“£<,�p&<¸†>èFârП#RLècGˆri–½9Cö!Ýáªdk$Ý&ÅúXγåˆèc_vË´ÔGñ©�½(öD’-éËçô0h‰—˱W�F¨g²šøkèC#ö¶‡A^¾³à¥‡k¾`çÚ6÷3¶/´‘²›´›U¬@¼˜$Ê\áMVä‰7h3§f7ùW¤–/¤€�R@ H)Ðî °ŠU9® °±X*‡ž^K/𤥶¡J²%Þ¤‰�à$[@H¥äB ‡ÈHðnq†œóD[­Š�‰C*cK2-Ü�>Íía­>¶2Û„1 _%À•M$æè\&t°Ç-ÅôKöNäLZÂú-[©Uó¸+:Ežd$sZ^)n •qÿ¬Ô'0,ÍÞK¼ñf�Y1þ<­‡>\¾½Ühí•â23ï“ÕB!2õ±NõÕ>&�>”4‹ËÊ%ð &¾_¿õîXØIüº+£š±/|¹™m¯Â›Ûý+^ó—R@ H) ¤€ˆònÓ"øx١ل1>©ãÁ:€ º-Œ¡mÙ€°ay’�ï0‚Çz;z@tiƒtvYJ ÚÖ`fÜ,8ÊKf›LëCMàÓÑúÀH“'“HV»v’°åI‹‚8nõÁ6¨^=Ð f…iÛË�öaKã ÔÄjeï®”]rÚ9«4þQp$“C“@ d ²Í%piÐ�ŠüšõÁ‰0MVkÓ•M>šâ8rz í�…áаD;ãºÀ÷‹v�Ó›/”ô-)¤€�R@ H) ÚZo¾P*•c8~CèµÄBXµ+G,¹€z ¼… rBâãmî7kÃ;é5¥XF"l�ô2 ‘”ŒÎ%À Œ0H›¼„ãX;•ô‹%Øã�#ÔêcÁ³ÊÔ‡3 ô±Â¢ #ÔŠÂrÉÐm }°'¹Qd·F@¼Öøú¸˜FhP™xŠècG$ r¿âÕîÞ'ÁLx<Ü2öúðãÀÙR´¦>­Í�3õá«–uîS7‹”‹û*¹ÙšÉ½î3õ™™ôk}¼+¡}T3î/ÛðýÚç¶þ‚Ó䥀�R@ H) ¤*WÁNj΅¬ÈT|ò¶‚6bA ]–ˆ6Õœf*‹ˆ Žh�e!6s&–jlgK¼h¯Æ™dNËKÔÇj´1k|5}ì‰ÌÖÕ'Ðm]}0—É78Ñ^5N;`ËàêVýñˆyÿØ¥ÙvpÿÀ ½š>V“àržy.ÍÝc¦nóK³W.g…gžeŠŒõòžán â#@=ù¹ñ&~ݨ€ÊÒ…•«úÅë „Fã-C:¿s€CÐ÷å‹ú–”R@ H) ¤€�m­€{ÐͱSt3öé%`p›úè2ëÉô×Ù›Þ°žé-ÞXbÙÒÑ…ÐMæd‚è¶…q²QFà(¦Aø-­?“db‰—DÐÂ21CÆÇ¦)e#ú$[ø4}w0’ÖšÀ`Z hbóW3õ±ËÙˆ>0Bü£È|#` fêc›W W�"§/} rp"qq5}x¹Áá¼ÜÔͧq»L½–LÐ&ɨCN Å0è-ÄÓ¹=цFJ­ ƒZnX§1Ú¸uÀœ6O´³J/3s9äp.-}"â2-¤›éŠ´Î=Ûær‚™`9™}x"F·WŠ|ÎÎièÊôÆs†öÄtÛ^nêcÅç[è�Ö‡šÀ¸5À<:РߊœÎ ·'÷ge—F‘Éœ6¸ìÛ®Åäè¼Û¹{C²9BÊ� \ýºî3åýºm|ÐØ ‹w%ð÷b±ˆ|Æbá@Ɖ Þ®\ôf}7i\) ¤€�R@ H)pP(–Êx¸E+< ‡…¬à_Ê|R‡g•~9ºy�õèÃYÙ«ã-#Í7«‰œÖ‡HœÖ‡�}¸L^n:‡iW�÷nHžèC¡Þæm€%s™ð{oét™ç¼@ÔÇ7b²C`„ôK­0:ßÝÀàjú—žþ^d\“„yàŠÉ° …éï¥/7)ììk>£3¤HŽ{*Ž¢BA[Õ•Ó+¤€�R@ H)ÐÞ Dùb¡èòxñ0 o½�ð íc‹{òOSœ­�Db±~<>â0ðøŽÎ4héŶ ­™tt¹6kDÙYÙéRãr‰j½£D žhgµ6/Æ@¶ œIÔ�q«Œ€‘hp]},þí–ñ¦>0NŸ-ŒXíñ–‘¨€6ŒXl¶—˜oì¸44l5a}¬>ÐÐzæA¹¸(¬ìeOäxYa£ðþáËŽ`9™—¾³3# §çˆÖ`æýƒ/=+Þ�‘³…,™÷Œ½Y­ 3IS.#–a|ŽaÜÏqÜU±òY P%¯p} År.Ê¿Y/ä4®�R@ H) ¤€8( ”Ê1ˆ·•ÓB赎¬5Úd`ž¡ÉKSÙã`$ «ä2¸A›„ ±\ 6>6×äs ®™£Ø! måÚi$ ðìCb¡‹…dN«— #4èÃÒhG;3:—ýíLhœF¢(Ÿ6b—“iÜ^îµõá}B­xéy"g¸š>\Ù9}éaÙ ëa3'os™ÁLxu¨ÉŠ{ÉècOä}bõ¡n\š5ÎKl—ÉôåòV‡ JT†’0ߘXâMÚþ�:€~�Ǥ_GÂðñz$Fû |ÑȈ�R@ H) ¤€x³€�þ^øx2¶,bÙûˆ¸ñÔŽG|FœBøèOxÀ!dyJÁ‰–jh¼:é+ÅYá^â¬ã\ΖÎÛ¼ñ,ý¢�aœ5œq°´¤í}ÅŽ~�¿Ä‹µà»Àµ›[9³¯w‡ Š®†cß#I2°ß öñF Çm` ŠÅ£¨Ú.yò…R9®àµ\¡XFÖÊqã–ÊqW EW…¯W⸊•J­TŽ]yz×£Šþè€ã市>…b¹R©U*5Ì�m7vµ;Ž«ØÒ�í8®®l÷T*Ýew°§Zë�ãZ©\­Öz+ÕžR¹â�wWªÝºÖ펗ãZ¥ÚÛÝÓ_©ôÄ•nßî«Tºã¸VëîíéÀñîž~ô©Tz’vµ·Ruº{úãJwµÖÛÛ·Õ�å¬õöm­u÷Ár_ÿ`ÅwîíÛê V{«µÞž¾­è�Ñ®õô÷öv÷m­v÷v÷ øö@µ»¯§kÒ®õöõö u÷öW»ûzû‡z†ºûºûú¶÷ U{úÐîé¬öôõö ŽôöÖzû{û‡†Fz|»oëpÿ kw÷ ôŽôŽt÷oíîJÚ½®sßÖaXÛ:\wíþ­}[‡·×qâÀÐÈàÈhïÀPOÿààÈèàÈhOÿ`ïÀÐàÈèÖázïÀPÿ ë€AûG†FÇ0èÀ�k{ûC[‡ëhãÄ¡Ñ1,d¨Þª7ú¶÷mf'bÐÁ‘Ñ¡Ñ1Ll¨ÞnŒŽŒömnŒ7Ʊ¶·×G˜ÀàÈh}l Õîx½á¦Wo¸ã¾=Ò˜iL`!#�‰úØäÖáúÀÐH}lr¤1áæ\oŒŽO�4&0¥Ññ) :ÜŸª70âØä4&Ù˜Ø6:>åæ\o í5:Ö˜ØãC£cãSÓt¸1>6éÚC£cõ±ÉÆÄ¶¡Ñ1wâø¶±‰éÁúØP}llrzlb>69íúøù£�5ŽMl››š˜š©7¦GÜèc“ÓÃnÕcãS3ãS3ããããS3�‰mƒ#cõÆÔÄÔöÆø¶Áá†?q»1’´'¦¶OLmiLº'g&¦¶�N �NLlÛ1>93<:1Ò˜D{¨>îŒlÛ161�ΓÓGŒŽM �NŒMLOlÛ�6 ÖS8qbÛŽ‘Æ$FŸœ�‘Éé#`¤1¾mjfgc|[2ú¶�ñmîÄ©í8±Þ˜šœ>‚í‰m;&¶íàˆSÛ‡êã�³ššÙ961=T‡‘dVþđƤÓdÛ,³1¾Í÷K›˜æ¬`³BçìYMm¯7¦FÇÜ ¡ ŽOÎŒ4&Ç'g°´‘Q·jE}°´Éé# g2:6…% �NÀ Õgtl…°Ér¼È‰n~9�ñm˜ùàȘ[Ž¿ ¨Uc|ÛP}—»ÞpW�—F ®àøäLóÆs÷ÌP}ÜŸš©�M ÖÇÆ'gÆq‡×c“ÓãSÓø¨ŽOÍø»z|¸1115ƒ�O}lr|j«Ñ±)wǺϦ»9adpÄI>&£þ£19m?[‡ëÍÏÔäàpc¸1‘|¾üG'ŽŒŽŽO¹ý7�ýÀŽŽOÕÇ&ñ…ƒöÀоðÝ5Ò˜pÓu_;8>82Ú?è¾.p">�øŠÀçt¸1Žo6|çØvÿàÈpc_08Ò˜À·ôpc#ò _ÈèÜ·uxpd£mœØ2RoàûßNø¶‡åžþA~Wó8¾“·×ù…¿Õ|á㻑¿î×Äÿ¬$¿ÍvïÀP­·¿p¿ö§§§�?7Ýý[†Fð[Ö70”ü~ùß2üNU{úð»ÐÝ¿µÚÓß70Ü¿u¸ÖÛ_ëéëp?ˆ®ÝÛïæÜï~…{zú†zzj=ýÝ}[û|ÿ ëÛ=}•îÞžþA÷‹Yë­u÷õõ&?Ǿ�gço:~ß«5÷[ß×·Õý¾Wzð0P©ôà!'â!¡ÖÝ×|ºèwO&þ�Á[sO ~\<¥ÄÕZ�{2ñOAÕš{T(ǵØ÷©T{Kåj9ö�4•žbÉ=5Uk=q\uH•ž…ØÆC¢Š%÷pÕzˆªÔÐýñ¤‡'1Ô—ÂcnÑæ£]9®à´WðW,%Ï„xòÄ3rtÙ™ûñ¦w*ÂN%x\ =½é'rü€Õºûì�~̸6‰¿¬î7Ì#1é·§w€ô‹6~Æ@¿ø‰e»»§¿Íø™L~§»ûzû¶öõv÷¸Kü¨w÷ $?êæ4‹'‰îþ­µÞ~÷$±uö†¶Žôx²Åã(·0![@×Ç&ñ˜ŽQÀj½áˆÊݱ ZÉh[ÊG‘rAq ;`3NL*ŒÀ Œà ŠsÐå± 59}„Åæzc £ÃHº�ªGååN9HK°ÐƒýHcl9:æ ‚-ë�©ñÉ™Éé#H¶­Ñ›°j�`9ÄfiLPG“6ÝϪÞð310úåäëIhÖ¾Vض#1èßM`ô ÿÊ€¨ §‘àÒc/„…øx}€%C¾òþqïq,å¢�OÙøT®-Êõ/}&¶ÍàÐèøîäáÆxcbÛø”{£Ä;œí±Éi~ñ¬�M”‹wdø¬¡=:îß.âåk)¼ç lóS²=&mÿÎ /Èð6/Åð5‚ñ² ŸV´a¹ÙvoÙ@¶Ãþ͸¯í’¶'ˆ>ø&…Pëpc” þÇ‹N¨”Ьÿje¨‰Iö:ìÄwÞT¢� Ì ¯814¿ðñ ç{RXÃKÕ4ñv÷oåÏ è¿eÉÛ¾­øe´¿_°\ó4ë^ûWÒîµo­·Ÿ?‚UÿÚz``¿Ô½}[Ñ™$Œ_öÞæ èZó×¶RMè/©ño½ÑÆÛížÞ�žÞ×ö¿ûèÌWᕊ{óÞÝÓo±øé¯T¯Vk=ÕZOÅ#(‰7Ž«µî^<Òd<ºx/ˆ—Ï<|þ�'€ÇñಠˆÏu•j7‰øTßC&ñ±�-v-ñ¢�çC<+Ò•0K<ä-<�Ñ?¼saãÁxsaSŒÿ{ý ö›†5Ñ*�|Ð#SsÐ’J !FÈv¸!€ûáÑð›+î�û æñÍžð”ÐFxD¸Nh'Üž$š'ý!ÊÑ ò‡©j‘ñ}-pkÈé�ãþ�2ã Ü8âîÐ „ž= –­Š[QæÜËà»§¡²#;“Qò0rÙöÇ™öC,ŠZ_e¬Cõf�üèŸý]õù°�úÑ[„ÀÎ`DZsXV˜Ø1¬»ˆQà¡Õõd`u z‹ˆ'òˆþá�«ò©¨¤Ì¹Æ¹Óù³r,_0-_±ñØ“%Ó¥¢,a>“¿&GÌsÁtuvu@ñ­Q¾¾Þ2¾!ãü7Ý|¸ÇýÅýýýMßtQŸ8h·û7�Íøš€ïé³+xri�R‡+.ø–Є;͘ ` óqžÀ�P bA"Ha•…p�KÁT0ÌÅ ,k@ض‚�`ØêA8Nƒ à2¸îÂÕÓ^‚nðô!BBh1@L+ÄqE¼‘$‰Fâ‘T$ÉBĈ™‰ÌGJ‘•H²©F~E#Ç‘sHryˆt"o�O(†RQ]ÔµFG¢Þ( �BÑ h:-D KÑr´ Ý�Ö¡ÇÑ èu´}‰ö`Sǘæˆycl,KÃ21)6+Áʰ*¬k„Ïù*ÖŽuaq"NÇ™¸#\ÁxÎçà³ñ%x¾¯ÃOâWñ‡x7þ•@#¾a,!‹0•PL(#l'"œ‚{©ƒðžH$2ˆ6D/¸S‰ÙÄÄ%Ä Ä½Äfbñ1±‡D"�Hþ¤X—”O*&­#í&#]!u�zÕÔÕLÕ\ÕÂÔÒÔÄjóÔÊÔv©U»¢öL­�¬E¶"û’cÉ|òtò2ò6r#ù¹ƒÜGѦØPü)‰”lÊ\J9¥–rŠr�òV]]Ý\ÝG}ŒºH½H½\}ŸúYõ‡ê©:T{*›:ž*§.¥î 6SoSßÒh4kZ-�–O[J«¦� = õjÐ5œ48|�9•uW4^i’5­4Yš5 5Ë4h^ÒìÒ"kYk±µ¸Z³µ*µkÝÔêѦk»hÇjçi/ÑÞ¥}Nû¹IÇZ'T‡¯³@g«Î �ÇtŒnAgÓyôùômôSô]¢®�.G7[·Tw�n«n·žŽž»^²Þ4½J½#zí ŒaÍà0rËû7Ÿ†c  [<¬vØ•aô‡ëé ôKô÷ê_×ÿdÀ45È1XaPopß7´7c8Õp£á)îáºÃý†ó†— ß?üŽjdoo4Ãh«ÑE£cãpc‰ñ:ãÆ]& “ “l“Õ&GM:M馦"ÓÕ¦ÇL_0õ˜,f.³œy’Ùmfda&7ÛbÖjÖgncžd>Ï|¯ù} Š…·E¦Åj‹‹nKSËÑ–3-k,ïX‘­¼­„Vk­ÎX}°¶±N±^h]oýÜF߆cShScsÏ–fh;ŶÊöšÑÎÛ.ÇnƒÝe{ÔÞÃ^h_iÉuðt9lphAá3B<¢jÄMGª#˱À±Æñ¡Ã)ÚižS½Ó«‘–#ÓF®yfäWgç\çmÎw]t\"]æ¹4º¼qµwå¹Vº^s£¹…¹Íqkp{íîà.pßè~˃î1Úc¡G‹ÇO/O©g­g§—¥Wº×z¯›ÞºÞqÞK¼Ïú|‚}æø4ù|ôõôÍ÷Ýïû—Ÿ£_Žß.¿ç£lF FmõØßÜŸë¿Å¿=€�°9 =Ð,�Xø(È"ˆ´=èËŽ•ÍÚÍzì, >ü�íËžÅnÁBÂCJBZCuB“B+B„™‡e…Õ„u‡{„ÏoŽ DDE¬ˆ¸É1æð8ÕœîH¯ÈY‘'£¨Q QQ�¢í£¥Ñ�£ÑÑ‘£W�¾c#Ž©�±œØU±÷ãlâ¦Äý6†8&nL嘧ñ.ñ3ãÏ$Ð&%ìJxŸœ¸,ñn’m’<©%Y3y|ruò‡”�”•)ícGŽ�5öBªaª(µ!�”–œ¶=­g\è¸5ã:Æ{Œ/c‚Í„iÎM4œ˜;ñÈ$ÍIÜIÒ é)é»Ò?sc¹UÜž NÆúŒn›·–÷’Ä_Íïø V žeúg®Ì|žåŸµ*«S(,v‰Ø¢ ÑëìˆìMÙrbsväôç¦äîÍSËKÏ;,ÖçˆON6™ƒ7£e¦Ù̹3ÎbÍÚ2™�1»eŽÅœs:ŠÂ‹vÎ¥ÌÍ™ûû<çy+ç½›Ÿ2¿q�ñ‚¢� ÿ©¦X£XZ|s¡ßÂM‹ðE¢E­‹Ý¯[üµ„_r¾Ô¹´¬ôóÞ’ó?»ü\þsÿÒÌ¥­Ë<—m\N\.^~cEàŠ�+µW®|¼jôªºÕÌÕ%«ß­™´æ\™{Ù¦µ”µòµíåÑå ë,×-_÷¹BXq½2¸rïz£õ‹×ØÀßpecÐÆÚMÆ›J7}Ú,Ú|kKø–º*몲­Ä­[ŸnKÞvæï_ª·n/Ýþe‡xGûÎø�'«½ª«wíZVƒÖÈk:w�ß}yOÈž†ZÇÚ-{{K÷�}ò}/~MÿõÆþ¨ý-¼Ô´:¸þýPIR7½®»^XßÞ�ÚÐv8òpK£_ã¡ßœ~ÛÑdÖTyDïȲ£”£ Žö+<ÖÓ,iî:žuüqˤ–»'Æž¸vrÌÉÖSQ§Îž;}â ë̱³þg›Îùž;|Þû|ýÏ u=.úÝã÷C­ž­u—¼.5\ö¹ÜØ6ªíè•À+ǯ†\=}�síÂõ˜ëm7’nܺ9þfû-þ­ç·so¿¾Sp§ïnÑ=½’ûZ÷Ë=¨úÃî�½ížíG†<¼ø(áÑÝǼÇ/ŸÈž|îXð”ö´ì™é³êç®Ï›:Ã:/¿÷¢ã¥äe_WñŸÚ®eûêà_A]ìÛÝñZúºÿÍ’·ow¼s×Ò×óà}Þû¾%½½;?z<ó)åÓ³¾©ŸIŸË¿Ø}iüõõ^^¿„+åü `°¡™™¼Ù-:<·QÆ)Ï‚‚(ϯü'¬F(‡iN�� ¸ ¼¸MR( pHYs%%IR$ð@IDATxì½g“\Yv$è¡uDj­¡5PºªÙ‚löŒ Çflgml¿ìÏ[ã—1[ÚrÈ¡h²Ùì®®* Z‹Df"µŽˆÌÐbÝod $@VáÜê‡xñÄ}þ¢ã>¿~ŽO� l˜œœD­VC?¢Ñ¨ÞÞÕ¶¸¸ˆ™™ôööbddä™Ç.‹XZZrÛݹs<Àüü<Òé4òù<ªÕê3÷Û­7=�»öD"�žž `ÿþýBgg'"‘Èn�ÊŽc†À‡@&“ÁÄÄô[«ß×·ñ›ê÷û¡Åš!`†€!`|xì¹'‘ØÛ·oã›o¾Áoû[ܽ{¹\•JÅ‘ïwq‹¼^/|>Ÿ{ðÄ_þå_âÏþìÏðÑG½•‡±wqMvCÀ0 CÀ0 CÀ0~êì‚+!Yê­TÞsçιEd·¯¯ÝÝÝH&“Ž\jV^äS$T‹T€7mR…¥\kѺµí……”J%\¾|Ù©ꇔÝP(äÎý¦çµý CÀ0 CÀ0 CÀ0v�=CpE.7771;;‹³gÏâÒ¥K.,øÄ‰øê«¯066ö0D8 "¸e7 (—Ëh.Íi…Fýõ׸xñ"nÞ¼éH¯\…Ô‰d‹\[3 CÀ0 CÀ0 CÀØ;ì‚«d©·Ê^YY�Hì™3gðå—_âðáÃèêêB,s¤¶©àêu7šY)·ÍE9añxÜZŸ­®®bmmÍå�ŽŽ:%YÛš!`†€!`†€!`†ÀÞA`ÏÜ©©)¬¯¯;)ÅTê­Ì�D4ßVk†;7I«ˆtkk« ‹–Zû§?ý ÓÓÓÎøJ†W2á²ööPØz½^㉆îqá軑þúßêG�}Т>xßKG^¿ë¶‡!`†€!`†€!ð!!°g®ÈL¡Pxh(‡]¾«”ÔÝRj_çÆŠôêÜÊýñmææ*/XáÔÖÞ& ^Bfi‹œðب'Pˆ ·#Ž¡®¨#˜ožyý*ý×}.cc} KSHÈzÑÝÙ‚ÑÞ8ü>怿ÊalCÀ0 CÀ0 CÀx'ì)‚«üצc²H­”T-¯CpE”E@›¯Ï[×ç:®ÚgåóŠàªT’L¥ô¹Ž#rk÷|/ë,UË!³<…»ç¿Æ"ú�î ãt݇�Î|ÏTOUíŠFa•*J…"*5~¼AwCA|Þ�PQÜz›ës˜¼òlÄ0¯ãøAö£+F‚û°°S†€!`†€!`†À+#°§®H¤”R‘O¹#‹€¾.¹IV­E-ÙlÖ9"7_åŽ,3+-rEÆ¡C‡Ü²5�_$Wç׺ú¤<áfÿ¶okë»�ÜÚ2+3¸{å2æýyl”Ž`°§�!ÂÏi"Åõu¬ÍOáÒ¿ŸÅƒÅ2²í'046‚/Oö¢-ÂkóQwÌ<6×1uë:îe[1ß=‚®ž.TI ­†€!`†€!`†ÀÞB`Ï\Á"‚ÛT\›S$óUšˆ§`¹0ÏÍÍaii ËËËΰJ&QM£(™E)ÇW‹ˆí§Ÿ~êB‘µþdÓ¹µ4 îöþ=¹íNþ®×XÛ·RtýÎç (Q},s!—näzºóûᆠ…� ú]XìNôÈ�ôñ½ìCbY¯“Xf–1{3Áò-9¤óåt‡ûT9q±6…›g‡‹w‹XâT=‰ã:ÐJ‚+Júz¸1 VBas�¡Ò“˜Éä0ïÉbm£ ñÛW:sˆëõ *,7•çÄK±XF±Ì‰í N øƒðC¼·aæ�“„Siö½^'_€‰}d†€!`†€!`|Xì)‚»S襮J‘•Ôßþíߺò>Rj¥æŠô>¹¨¶­Þëííuj¯J½ûFE8¿ŽüÊîݹ‹KWnaza «Y)F–j^„" Dâ-è<‚þуøèøö ¶!HEÙo$è‰[F@¼¬‘ìçD@"‰Tk¥Tñ(Ô·reßd"ȵÂ2Œãú…˸3>�ñ¹5*ÒTÉ|vä—ô“ÿ†+”œ÷¹sNýyûò5”ÃÄ�÷>m„u¿[”Ì<âåIæÿ+Î]¸ƒsS,1”:ŽÏ¾A[¬Žh=ƒéqi]?‹ßyq9€ÿúë#èêØ‡0ÙmˆJ½5CÀ0 CÀ0 CÀxu~W!ÊÍüX9+ôx``]]]Ém*•rW¯ÚVŠ¯Â˜e>õ®[½’G%;ƒ¥é{¸tù.¦ mðŒÂбƒøêãQ´F}H²ìïfz›Ydè"L™mñ� Mn({[ aa¹ôÒ™,ÒÙ< eæñ’[ùÌç „‘lmC²¥IæïÆBM›¥†;p~#ƒ¥™Eä.[�w#‘J +Dпu†JõJósëXXÈ ÚÙ‡X{7Z"uD<%dW—‘•™WŽù¥¥2*UåP³v-õR/sKý�-­Hµµ! nžŸˆ×©œ—‹È®­òi¤©\çŠÌMUeo~ow&°²YDÁ§z¸/»K"ƒ\‹K�å>ºÌ­ýQE½YE>»N|™�MÌ2ybVwy±_�¡á1¤:º‘J°ÏÁG'®³È­N`ú®ç[¦;s­ÆœYæH‚Qw�)bçu†}̯.¬ ³8�—oàæ�Ud§1²ï$>þê8[êˆ×Wq+Rƒoñ®Ó1úÚÂ8º¯§ÎŒ “¡Ê!“ê_vÓísCÀ0 CÀ0 Cà1~·yE =±ýòË/ñ›ßü'NœxXHŠ®>×"R»¸¸ˆññqܾ}»¹û;{­•h(µº@—à5Ìoxáïű_þG|~|_jA„9˜â˜Õr U*Óe„áani*vNÀެ9‡ßÜïãþ¥ïqõê-œ¿9……t�fL5„]ˆµöáØ§_àÄGŸàè@cÝ1w�’Ëze +Ó×ñoÿóŸpÉ�êáÿ„£'ã/Ou =ѨïZ+.¢œ¾…oÿéþá_ÅÈ_üwŒýü?àãþ*ú+¸wþ$oWpuj–3ؤQV±B'løŽQ=míǡӟàô_áð@ {XÃÖõ€ÆKT±‹™Œ_ü×/^Æå{³˜\ä1Ê$ŒTÞ“m4–ZYÄ2‰u TAâÏ|Î}’1Uë‹·qöoÿ·g‹Xíù?‚ÿüY?º[·Â”yí �ÕòäU‡Ûù[“¸|gé\…çfX8Ä;öãÌ/ÿNÅñ1nµ:òiNJ¬üœ àþ¿3‡š*ÄZú¨á$¯óÔGgpˆ×Ù/¡ÂíEpÇgÓX­µ`äÌWøè“S8u¨]ÄØÇZ¿1N"ôz‘ÿc¿¿Dƒ´c_­ Ô@K qfû×0 CÀ0 CÀ0^ �ŸÁUèqkk+FFFhØsŸ|ò‰s@– òö¶²²B2Tw$÷É϶o÷¶Öuîºs×­:5™yI`£ˆÄ’hmoC$@Òûx—Ÿè Ãoóil,ÞÅøõ+øöO?àÖä<¦Ö $\TQIsëó$d«¸NLVéú[ýô(á}h‹xHÅä¶K˜¹swf¨D>CK‘.ÎMBÇMH¾jÅ%ÌOÝÅ•sPÙ÷3DN‘vh;ªº÷oáö勸:_ÃR�!·TU¶Z+"S(`�9Ñ2ËZ¯ÆPûä:ÛÇõÖ$eÏÌ�cîÞ5üpö\¸r³Y¾W¬ÁC£¨s”³«*ÏÃüÕ¼H ÃÉ�gñ0lÿÓɵ4£ãñüä-Œß-`>á®aGºº2I*qÙXǵóçpö›s˜X-`†¸¹«fNl©Hc2ºJt>æ›Â²ÙêU¾WÌ¡Äúºù’Ÿ q•ªu•¥‰&°Æ “š?‚L™Êù§cˆ ‡àÉ¥Q R¼ºQA´öô¡w �mQªô •Üßß�x‘Ší•+ðg§�¡»÷, îÃԑئx7;a¯†€!`†€!`†€!ð\~RWd5»ÜÚ`0èJü<÷Êßã^�x‚*g„d³‚•õeÜ¿qzbÈne¿©à>—áŠqÕH`Y›õ‡ùo/áï¾�G)Æš¾'¾ÀPwCT+×il´tï*nÜû×.ßâÿÐÞ�Ó=ÌKny“‹×ùIôÊ9¬s¢`u…„/|�¬'üÙÑnô´�¬—³X˜$ù¾zÓ÷/ãïçn[þ#è¡ÛÆÜÔ™k?àÒ~‹»°‚[+^Œ?�3£lcˆp•áÃK÷qçfë<œx“þ6÷U¿«XŸ¹ƒÉoÿ¾þv ûíú�œÀÈçG0ÜEO2ˆJ¡Ì‰€$zF©²&ý4¨z4Óà òžEÆ0º_œ@ò¾üâÚ"èˆûIpKNEŽvµ"÷=FpE|c-cÚw„¡Æ� W<^@O¸‚î@¿½’Å͉˜™û„NÉÃ4ŠŠ0ä9ÎÜg¦3ß{yv ó=Hwwó~2×™¹ÅUªÀ¥2úkeÞâIBœ—AVe›tü؅؆€!`†€!`†€!ð<~r÷yº—Þ÷âð´ÀàÁ<þòÏüö2f¿¦ÓîÄY|÷‡NŒ8‚ý‡�áÔé8~üÉW˜ÊAGñ\]Õâ,ÃÇqõæL­FÐvô8óåüæ«t·„Iœ¨Uw zêÃ�ÿòTSçægpáÜmœ£<Ö�ÝÒ½2eJv£­g£#ûpp( ðp{‡º‹Ø,žÇùóQX[Áý¹z«KèÝÃă\ŸÌ!xêN|òküòÏqf+ûN*[K£Zl¡IS÷Ï^ÆBĦæ¾Q«W³L½�Äì̾»0…��¿Ä¾Ÿý7|ù‹üÕçñ¼~J« ™öPe÷ÒìÊG©Fó I"ѵ}£‡pìÐ>wùHJkè‰æ±¿«„©•‹˜z0�õå4¦WêìhEŒ[q`fy×oq¢§GRÎ)›™Ï,#”Gz-CR[@…yÕeÆD“ó²ot¹¶³!`†€!`†€!ðA"`÷}Üvæzz|1$:†1zêç(…ºêÅ M–× d7+X¾û=¾_ŸÆ=æØŽ8„±±QŒõ· 3Î|Ú,N†5/¬—À€Xæu o°—¡± †ºn•Ä µ£Né°¯»£=,6073‹µì>l’DÅw‰@I)÷úhàE×f•e ‡#N´¶ XífN4�”}yÔKEº²ç� n�¹³æß¦×H>×êh9ĺÂGÑÛÓ�ÖDã¼M*ûð+Qá}ø•]Fð:¡0"ö�Ä[ºº·½(Ò]:áG”w¤\,a£@‡eZºös¢â0*¾¸±v w¿YÆÿ»zí ‡Žùë(ÑM;¿vço/"]  ÆèƒP˜F[$ÜÖ CÀ0 CÀ0 Càõ0‚ûzxíÒÖ"/>DR}Å»Ð6ö>þóuÖD½…‰×èˆ| W®žÃJtYbÿÏþ+N}õkü—ŸS5d�ÔZf�9¸tæÍyPŠÄÑÙG•°#Á¼Ý†û±ë¤‡¡Â>?ZÛZ0Ô—Âù{d–�¥�ÒÂÐvæ¶KWµý0Þ óŒY{8 #á¯P ­ —«¡�Ù@ÑËòB›l�ÆÛRèéM‘0Þ4yûéŸZ¯òt®^bI¢– !ªªI �t°4Rƒ�?µÃk¼á‹0™å§¢ %�zK¬€TA¡H*?C·{=øìgs$Ç%Ìüóy\ÿÃïðÍ?×h`%k1pbÀK§o/ò9/ŠÕI1�Á2QÁm¹¿¯ÑÛÔ0 CÀ0 CÀø ø nõ¸îêÞ®®®¢¹¨®>{_Í)‚T½>Ö<¥úÙ7L“¬ëõvaøðqܾz÷n�cqå®ÄXoˆ m/: ,‰ãjÎRìõдˆû˘êqÍOÉЈåhöKâ«tljx6és.[;Õù¾svÞ-0¼$Û$Øê—ÏCŒ‰³‰U£Öý§užÜ)ÀêûN×»Õ�‡Çáùåz¬ÈU†×y>'¼»p^1vתcºkÕå XÕ'ÆÎà„'´1wwnKi’mÝOUÓÓ¨¬ÝÕ‰:®Í‘d-âž’\º][3 CÀ0 CÀ0 �×Càƒ!¸U’»t:�{÷îamm –±Q=Ü÷Ip›·ÊC¢#²ÓÒ“à²c'Ê$bEŒÿûÿÀ�ßÀ_ÿ~?|»ˆ+Ç¡¥¯�.Ô`Iߨ‰ØqiK¿šè.5Qj²[Ÿ$’ÇÝÓ\ÂÃù„æ©D<Ýzó�]êÀS‡Ù~ò§>|³7–ºV^òÖe¸kåUûÃ)¤Ï 5pGÿ¬Œ]’³ë”ê>TYVhãöï�¾ü7øë?æqc݃–T½�ª¸Fpßì¦ØÞ†€!`†€!`"?Z‚[,I�œœÄÔÔ”#«™Lªqëg˜çö¶ÎÚ¢wïÞÅ¥K—pöìY·M¥RAŠa¥Û7Ýëº@³ÖjŠ}ëíGë…5„f6HŽŠ í%‹bØq¤¥…µTëÈ•6°4»Šåá ”‚¨³­È¤êÜÖk›Xãµ?˜#¡ò !ÙÑ�ËÒÄ©øúëA*»Ì# 1Ö[ann›$üe’g‰‹o««?G(ÖÉ|[?’ØDfy 3–±ÙÙ‰Z[#LÙõ—ï„7Ä0âÖvÄâa´‹¨ðzÐ�:“jC}€6Çloã¼/C*/­½!âÏRJåBšËŒÏÜÇÙï'°Rd>ð‘#èíÁ KÅ-Dù!t¶b†€!`†€!`¼*�3ÁWÝkl—§û¬È¬Hë·ß~ë”X©‘"·===�õPÄ÷òåËø—ù·,//»Ïϰ4Í/~ñ �ïX-sev*Ë0ãJ•’ûíBŒùÚ Y §­‘Æ�¢IT\9™u†µæË$´¤žºóÒ�·#áÅÊò&–f±ÈÐ×ÍC1Ä‚$§2€£ŸDoW ÔnI¨ãˆDÛ08Ø…©… ®Î^ÄíKeükO•¥~:Y�–ªfv’ù¡sÌ΢¨æ7&{ä��vã^ìÆÉC¸°|7¾Îá_\¢{ñÕ¯ÿ'þä9ÅsE/'Ú㤕ÞUG{ålAWBáà;oÕJ¥Ëå6±Á%»¾Šôê¦ï߯ý[Wq“÷!vÇŽžÀG¿>ˆÃmŽÜ¾ã)—�_ íi†€!`†€!`ì!~´W*ìµkל2+Wê­ˆªÈm8føí£ [)´Á ˲HeX²¯ZWWúûû‘¤Ûï»lµÒ&Jk˜¹sß|¿Œ²/Šžþ.†íÒq8ÊR1$À•Â*îQu¾{}󹄺FÑÕÝ‚¾®(b,k( ãȱX¦+ð¥ï®cêÚþ©b¾/‰±V'®aþæyh`Á׋£ƒC8}jݬOë§ŠH‡°.KôôOÏ#twKw‹ø¶Å�¥¹.Œ‘Hû Ó¨f`n…áϬw[Wh³ «¨²n9U½lÜ‹·�X#ûö#;7β9s˜¸=�BE†S/ãà@ mÑ2¼¥EŒSÙ]ÎUQ¡R§!”�çßiSY&/'zúGðÑ™˜ý~›7þ€ë±ë ìïM¢Ÿõ†Á�o/'‚Ý^tõt"j|WvvÞ:'* ØXžÁÒ⊱ð|ŒýG�áÏ?ccª·?ÚÿSî $ÛË0 CÀ0 CÀØ5~´ÏÒ"±­ Ó• «&+'âîîn =¦Êj»Ï>ûÌmÛÖÖ…,+”Y!ÊŸ~úéS!Í»†îsT§BXcŽ-¥Z’ÈyÌ-¥1y»ŒJE¿”I¤ëp…+‘}8xô4ŸÂÇF°?凄Fo ¯óã_áã`;Š�ó¸7»†Å«ÿ†…+u|GXgès­Erì~ý«ãøÙgÇñq_¬“Û8N´¡çÄ—8^ c¡p·Ðá÷êï±p͇srF‰áÂÖ¯%¶tvN¶¦˜÷ëEXù¡•ç\ÜKßæqýtúÇad#Ð}íæ²÷pï»;¸ÿ½zWã„Eyª·™j]-íè"án!ù4;k� �¶¡Ã8üëÿ†tü"ü‘‹XØœÇä¹YLóûãÓâ"Þ>€á�;q<ÇH'Ý¥wtBíUC>³‚© ÿŽË,ýtv"‹åÍ*¿«>ÂýþìÇbôÐ1>Ð�^biÄIï茶“!`†€!`†€!ð¡#ð£%¸R]EdGGG�ɔ“Ed÷ïßïÞ�Çãïm"‘À¡C‡ ÷´ŸòwµýØØ<èÖnüÖW˜×é PML!–jeI˜²idÒd6˜“Ê<[‰Ÿ�fD-ƒèìʼnϾÀ‰ÓtáH —DŽäŘƒ»ï4£4Œª!yù:Î^£Ú»–Çz¾†pªñÖ:2‚SŸ}‰SÃTvÛƒÛ"-�"I´ þºŸd2Ï:®7qþö YÆf™¥ˆ¼�ü4gJ´w£÷`?F†zÐO‚“1U•„³«=CG…š‰ÎAØV”i²•Ôð=1»tûÖ2%lÙºWhBÕSf)&WêÇ�P4…v†6÷ñ~{اD�å…¶õÃ"iO �çÜŸC'•öö¸!NÔÊ%äÓ K^^ÄÂR™ZŒíè8ˆáÇqâè(NB?Z‚Û××çB‘ÛÛÛqúôé‡!ȇv¤w;ÁmšOuÒ©Wª­”¥øŠøJÉm–Êy}øv²k¥†ˆvÀè©.Äû©ÌnäHl‹(SÁÕ¢ú¸†XC1ÖÅ�“èv¢µ-IämÖCÎi™ä“¹¸û?�£mÿg8ùÈ—ªtB®;)?Éokg—Ëïm�7È­#ÇÍn{xí$f-=qüç)ôÿ>gÈs�ÇpæWÄÈë%i Ò ‰„»£§m�!$éÔì�â£ßüwŒ~šG1Ú‹hФ­•tëØ_’$~?Ž~™@¢ë#øZ;%¬­‚$“mè=ü¢]û©˜fIðy,ËŠÄO†QKMõ¨¨¶Ðu™ÐíÉð êÖ3O-݇ñùù¿q˜J©ú•â¤G si›ý‚‡ë¾:GOq ½§7ðó CÆËÄžÑÈ^N># ¤:ÐÖÎpéͶFÎàçÿ½g*A³�íI„·‘yO !æ,õWØ÷q†j÷>麘 ®õâà/þ´ÿ%Ng+ÔÄýü®F�'O¶Ðl‹“.AŸ3¹Ú‚Î^ CÀ0 CÀ0 C`‡ì)‚+¢Ù\¶;Ï>‹€*—VK ËåH…QUž­Ú(KáloÚ_9¹"´Z^µmïƒöÑqDŒŸÕŸW=¦¶óú©øÅ»Ð¡¥ÿuöܾ-ã�IÖÂñv·t‡¶ü*ëÊÅõ„!qŒ$»Ðû*û¸møµ!I<Ò�Áçíã��£FÐ;Bê‘ãOoErí ø‘êb^t×0†žÞâ5ßÙº–D#'ºŸ¿/'T)ÑÞï–¾çoùèªÂ †-?¯y|qæ&Ç1z¬�Ë“[¥ÐµÿºøöÑ'?²¿ CÀ0 CÀ0 C`WØSWäQD´I «¬Éªeû{O^½Œ£Dl›äS¡Ç»ÑDnun©½ZWßD¢·›WíÆy솀!`†€!`†€!`»ƒÀž!¸"¨"ª2Љ¹,¨&+I=�Xj-»ÝDj‹Å¢Ë×U_DpÕ7�KëÖ CÀ0 CÀ0 CÀ0ö{†©‰4ÊYЬ”R)§Ùlný]æRB›››ÎqYõsE°ú,²m÷]ß ;Ÿ!`†€!`†€!`/G`Ï(¸"�rAîééq$w}}wîÜqµjåv¬Ï¤ 6M¡D2w‹hŠÌji†%K¹U)¡ññqܸqÑl‘[™TÉÔj·Â _~{l CÀ0 CÀ0 CÀ0 �WE`Ï\×f [‘ÙÙÙYœ;wÎOÎÑÑQG.¥òj[‘ÌÝ"¸ A–J+Õ¸T*aee333øî»ï\D¶»ºº00Àò3½½Žh¿*À¶�!`†€!`†€!`†À»A`Ï\‘U9÷÷÷ãøñã.+å)\ÚüG¬–çQ"Ñ‘é¦ZÌGÒ—Äáȯ°/òùëØöØó,”îñÞÿ²•uNpTØ_Ý{‰m­þÞû_b(|zÏ_‡uÐØ+ì ‚+uÕãõ4”™kÛpRæü%Ü•{+²+•֑ܪÔÝæRf®.óuªœÏ癕â+B¬¿Kå¼ qn§æÂ—¥ìúIr¥æZ3 CÀ0 �×G ]] ›¦âD�Œz#}èYGaÌ”žÓÁ:N‰ô�[Þ(B¾ž8×ãüÄ* »|m‹åûX(M¢P+‘â4nªšBÑ߆¡�œg}ÇÞä½J½ˆr½€tu™ êâk*à !ì� Î{§ºÎd»×ÚûÆùj†÷ýÖ*K(º{¯ÿÛxÐRkAµ¾�|è£í›Ûº!`¼�÷NpÕ¿Ç� Dp9wµ5s©Y,­6ݦ²ÛOé-Ëq™fT›››TosŽäæóç̬Ïäάci]ÄXÆS‘ˆ×åíZ¨òK¾ö±!`†€!ð f‹7p~ã!WÍ¡X/=c‹Æºˆ­|6üBž0ÕH)R}è Œ #0Š’]ŸÜgâgo¾}еM~3ÿ-®ç¾~­¦.ÞìÃHè •õ/ø=ß9Á}­ÛƆ€!ðRöÁõ’t>"´O÷YŸ=o©PÑU®®Ÿ&SZD„¢,Óªz�Ã&�­÷D~µ®%Áíã±øÃ¼Ü§Ïh!`†Àó�Ú¸Z™ÆFué�ÏÛ®ApEr}z‚W¢Hû×°^]¡Zµˆu†ã¶ÑÎEŠ•©¹ÏCòÃ{¿Ê0íB=‹"'QÊõœS´¥’F|)—‹ü&ŠiMÆ:7ËïãCÄ_§Uêy„}~ö‘BÊ–Úþ:ûÛ¶†€!ðöØW—÷"5µùÙ³Hp pVsÅú<“ɸpf• r‰0ïVëÊÕÕgNñ¥š+%ˆš’ûö¾[vdCÀ0 �™%il®rát4òž"2 Çœ+M1¯ôÕÜ6‰þ )7C˜™>djîþ�ytù ^¯Ìq™åwf�¡ð3ÐØ�ˆ7iŠé#¨lÍ0ž@`ÏÜ'úõÌ?›D·ùaSÕ•B+âªÚ¹Ro•—«Ù4gÖÈ{9¸Ö\xrÃ�ªèv—Ú+3+£©þêƒ'ÏÑ<—½î&ŠAghyqËÓSX[Û@.Ô‹P’9F]1$£ÌÉÞÍÓÙ± CÀ0Þ �ßn)¶.û–¤D£ñ£ÿÀñXª˜û(Ê[¢2—(ݤ"׊ÿˆSsßIGí${)£3ünÌ—î`£²æ¾E!_ˆŽÒQô…ŽîJÿƒ$Ìq†w†0:)¹›Õ57S}"·\ßm=#jŸM¿º‚Ãè F‹¯—Ó2–G¾+7Äbì?*‚»ýš›äVy¸"®"¶.WfSÅ‚#­.ôY¦U£Îu¹ÌmªT|E~}ŽÜÊÜ*Ž< _Þ~[‹pf¶œ[ÄÄ¥¯qëÎ,–Z>Cjä(â‘€#¸oñÌvhCÀ0 �·†€‚ŒUÞDZ¬eÒÙQh&m?m‰f:e.3Å[§ 8þ #¸Ûú€×5%’£Òÿ x“…+ÈW‹nÒ$â ¡Õ7ÀïTÕ o QÐãóbýÁƒäø#æYÝ»|÷®ÞF.¹µÖQœÜߎÑ>†›�)­zÐaY§RËsÓ˜º3�åþý(¥Š(”ªdvzÜùfÙµ†€!ð~�fäƒ~Œ9’Cáchó‹ˆÔhB•£*¶ÊœÛ,Óy¹XË;5®¡ë‚ªYsÅIôÖœº+5ìCÌÅu !oaóõé)�÷{ßÕÙ•{›«­»ðälu�ä6ïܺ} `¯Öé¯âˆçî ã¡š·îGK€*,×#¬5›"a�$Ñ�££õöô†]Éžžà(ÕÞè¢IZÒßEó´(ïÙΞ†¶¿yß·¿g놀!°3~tWäVªmžŠm6›uyµ™,óni¥÷}^âñøShˆà*YNÊu*¸yb‘d¹,Ç $E¤R)GŒÜN$÷ƒot¬3ÿåÖwÿ„¿ÿþKÃ…ê�ß ôaˆwç?Æ|¬¡ëf¥¼�•…9LO0L9�F` „R¥1cj$÷ƒÿö†€!ð#C@cBÐt$àxô/p ò¥#²›µU–@¹ƒñÂyþY¢9ç™¶M*uùZ–†Uë$0e2<ËÅ}θÂÀudh@¶ÆÜÛÍJÖÕ oãXÄÔÃhƒ”¯Û-mþAtû÷cƒßÇ' nÈaXò UÛ“ünåJíîíÙùSÕîöÃŽfüøøÑÜ&±Uø±jÜnd7�!Á•r[$Ù�• 6jÜ–˜“[¥Ã²k[©È­[å늻ÐfæëVX7·Äü]}.’e­\™S‰¿Íz¹•ü:ŠéY<˜z€;w'±°’ÁJ†n�™+u¡BÑÚºGÑÝ7„Cû»1Ð�bþ èõ;ø¶›,ïYç-e‘ù¶V*¬ Ta„‚þ]˜«Ü�Î×ke”²³X[˜Â•‹·1»VCxø3ô �àÄP mñÍW|w±£†€!°‡ÐP%…«�9Ž"²+¡iPÒ¥i�ÈìÖÍm”«[à¤êFeQ_ '™cÎÝ6SYÁ$ÃTWIvÔ$¿–RÎdðµ¼ê–:<ƒªÃ%Nž–I’ÛÅ0>E¥mŸÛ·ùOC9Ö~k$Q3T�—I®×PbXj…û6•eŸÊñ¿ˆ/AUºÅ)ÒI_'�Í(1öãUšÈý¯a•çIWæ]ÿT;XÄʯka¸kÊ×…Nª‚ªÉ*g`Ÿ w%ÑgO^Ö„a‘¹ªkå9†óÞD–çÛÞZuìÀÊž§wûGn2A$RËry–¤ný±ÏÛYÎIa¸ _;ëÇØã§'þ…•ú] !Ôq2ÕE*®ö©¡ºªF²®B×ëÛÊ_ Q �ó˜ b©ú±1o«‹°Óµ£•Êsoo0tý•ÜôÃ>)d¸Àûs?�÷ø¯‰_ðágRw÷…?Æ`ø¨ë§Î÷>›Tæ wï—ݽϰ¾­¾› ­VÏœŠÓ¯+™Å§Pâð~=w¹-^~ïßçõÙ¹ �½ŽÀžúWH²šˆ§Ì£r›9Û ÕÛ §à:å¶Vu%â‰8¢ O1ÝñåöÍB‡ñŠØR½­rûJ¥‘—+cª2I¯rx·çõêœÎ�yKÉÝ]ó)v†?rÅ þðM]Áõ³?à·ÿvw¦0µÈpœŠ‡-Ceâ­ˆµvaèèÏqø‰[’ƒzWÒ oc&S×üxkÜH¢í½ ßéjC¥-†h˜ 77|oÃo¦�'&ÊENtÌßÅäµïð/ó/¸ò †ÔŸÅqæ« v0W‡÷½õóq0í/CÀ0>@8YKBØâ‹ ØÀreÀ ÍjÖ…# �æ£|‰W¡Ì  «”Ê,ÒtuówT/:ì"^ËߊƒÑ/\¾n…9¼ å{$ÁI|~ !Rþd�äAá¤�μj;ÁÕè!•XæV:öTñ÷¿‹¥Ò$Ï�u¹—_´]€D3ÄIÞ–@:¤ÜÏÀô8ròÄ9¶(”úÙ#Œ£8ÎK‰\(ßÁû7S¸�M^c‘DZaØaö±ÅßAäƒîX*‰#s®×©§J M♦Ó]Ö%þžëþcß1'Š~ꎙòõð³GýåJ ¦1Q¸€Ûù X,?xlß±ðiD½qªò!w?íÙØL×(Rš' U¹§©ÒEªž·H¶ç9a�v×)2¯É 7Y@òãdA‚aÀ]Á1t÷£7pÑ`ŠÛ4BÙ—Øÿ©Òe—w»Tž!‘åŒÿVÓ6%.Ó¥Ûni¾¯W‘]‘ðþÐ!^«®òÝ<%mïCs]“.úŽ¥‰Ã|ù¶»÷s"ëÕMGr uä¶¡c쩟› ‚ëž®šG²WCÀØ){–àŠlŠÔJUÕ¢�äÍÍ lnl"»‘u?˜ªµ--¬‡FÅ5ÈÜÙP0äWØkó‰¼6IkÝåí6ˆ¬Ž+Âë÷Kí%’Û#©Á•2ÏE…Xë- YV¸³TÜæ²¡ËuþÈÕ‹‹˜¾s_ÿãoqéÎ"î¬ÅîïÅW§[fpÈïaŽj�dœjm{;Í—BˆXúˆ¿Ü[iÅ;½ç¯¾�=œe=ùB‰Acý¨%z1Ö¯?ÁµÊ&ª…4ŒßÁÔ½[¸qõ*®ß¸‰+7¦‘F‚œ¼°f†€!°·�2ö$˜§á˜ËiÒ'~ªI 䫬éËçv\„i“já:‰ã2Ii†êëÝÂ9¬’ mpl•z«q_Çpê¡û­&âQ&iÖ¶S¥K$…ã\Ÿ£Ò¶F’˜å¾RØtnÑ[y<ëY¡H¶âjýfË [-ݧªyŒ¥jF‘ �R�~V“*¬ò6‘µ«ìç•âM§;giÕHݵÊ*ߣlj¹ÊàHÅ~i~ÖyÞß{Lõ"±ÍPqŸ,^vnÇéò¢S�‹¼aY!9uÏ`ì¤pÕ�ØÉ«Iu®òÚ—Œ%9y0LŒg°T™txÍo/áÒØÿý]ãÎÎ,[×sŸ“'8©¡¿uÝå-²¯ogžßÿWÕúu~oYÂ’.š¬y–J¾³^Ø^†À‡�Àž%¸MŶ@¶é�œ¥r+ò©¿ÃTjã1† ¶µ¹E³žš³Ó~ùB#¿ÇY)¶|OK¹ÌOæÝêW„V¤Õ9-óo•R¨³ˆ­Ž¯óÔ¶öSøsˆZæUM2ü&_›z%�êÆÌO\Ç׿?‹»ë¤;OâÔØa|ùéAtÄ}h k Ȧױ†>0I‰p€3ÊÍùWìwµBšy]%’ó†BMµš¹È’÷¢C ÝfL³ßÅ5sÐ õ.•ŠÜ‡ëTBå,Ýx àvÁ‚šn‘h‡Q´ö #’èDÕÇ�<@{|*¸Í™Ü:ªj)ïÔò|‘Óu,w M0Ø*ÀÜgîfß#!–ÿyØÿ�#¨Ðîüê$î_;‡sߟŸyo«é<œ ¨4:°óØž†€!`»Ž€Þ¥´5Â{›£È£Ó4h¥�Æhôè“GkN1¬R}%™š§ò*Óª»¹ .$öÑVu´†Û|¿JÒ¥20óTToæþH‚;áˆëvBÝè•þåóŸ ¨?¢H52Ãe 3T9§D“Ý(¥Ùϲ5�1Íëi\…”ÛÅ+¸_¸ÄåÊÓWÄþé¼e¦Råhæ¨æ R‚xLà½Þt•YÔyª©wógy�—^ û¨÷MWºç”dMF4îáãX¸;£g §Ð61o(¸ ßîæ3Ò£>¼»µÆ½_ç¤ÉIÿýüE~èþdtïù]äÓ›»÷KüNé¾+ÇWG°foŽÀž#¸î�ÿç][_G:�v¡È’VåÏ™ÿ)UU†P--T;#a’9�¸IZƒÜŠœ*L9‹7ÈÜV¾­àÒv:vsÑù?‚�ÀÖq<Ž ‹ä–¹�ò|El“4¢j'yR~®H±ˆîN[�Êlqu™UolpÀïé_þG|qb_e> C È-IBÇ\Š … $ÐÛÑPNÝ™9H€3€™Å˜ºy÷îOáöÔ"V³4Î*TŠw œêfhói>~Cm!ô¤H09]Ü\ÁÔµK˜¸{·§9@­2ä;Wä@ëE�y!Ýc§1rê89Åéàö÷_ãÊ¿EºãT{Nã'»pbŒ93ü!.m®aõþyÜ»ugoÌbz‰“EL iò1‡¸½w?º‡�âä±Aœ>6Àp™�ì9ýðsP�ÇÂõ¯qùÆ<ÎÏú‘ÜŸ8„?°”@ÉÏü­Ÿ`§³ý CÀ0^‚@Ã7íTʺư'Z@�ã�ÏÏoñ\#�¼•ûŽDiƒ$Tùª/oÊç/|ïBF×\Nd#ß¶¹§”Sç߬ p’(…Ç6ÝÆ:·Î7Y¸Æ÷«T£“ôÊ1‰1²ªñ8UÓ>¤.+ ý½“?çúù,ÊÒ<�#Ç+¼¦Çç’Sù'æÍþí•WQsÝËY’Û¹ç$à ¯ùé> Ïfh²°k†+ …*·1<[ŽÛÊE3:É|Üö@7�MŸN(H‚…“4»ûÃ{£°é„ŸyÚŽä6PÑ1¢"Ëe*¡2žÒ6"ºRouL½úHœCTtu¬�¶:Ï_-0‡D|£Ä™Çh :‡`plûFR.<ùÅaÈàKTš33˜½w¿ûWYjçö ñÚ`žr¡BrÉA#ÒŽå<°^OGºÑœÞÞbn37Ïãâ·ßãìø*¬0t†øÔ8XÔ9=’‹¢Øq½íƈÃÜ�KøáŸÿ?, ûQ>Ї}} ß"¸Õ2Uïå)Ì�_¥ÉÓ8îL¯!G%·V'>¾R=³hb®kwôw£+êC{d§È5ö«p²£@e»X ¡ÎÐéѽèJÖZ˜ÇÜLÉ©ÕovÛÛ0 C`w!Õƒ{‘¡ÅkTíVH3o…!ë�_cp€i1oâ1ó 'ûИæ¬;Ô0 jLp¹¯Œ{Dz´„¸óqÌ#i!«H½¥ÙÓLé:¦‹Ì…u¥g$[9¯ÎLŠy‘Q¯|.ø7—F>/ý…ðúÒN‘�-Ýua©ÍkÐU*L[J­®3Ì|båcŠ,n’8«|’Ž¿›æ¾{éµÌ{)S©Eå˯¹‰€¦êܸF>«é^ú’œÐ} 8•Váã ]Víãv–âé ÒhªÍMD™—ÛB¬J°è°Wøx­Â´2IʳDM|ÐO¼Rþ6æ-ïì{"E7É”*ƯiKmþÎ[™ßåC¯P�—ͧȇ}.~wïÃ$âI÷ù—ñTN)u$õÞ{#·!³Cà�ØSWjªç ­ˆíÊ ó^H0¥ &h %ÕVNɪ­"›Ú^MäWÛi©’�é‡Dï5�—›ëÍWýøé"²ÎQ™ä®Èp]™JIŽD© ó‡G3� ÝU9"¹2ëœ"Á­$Öo¢âz™ûˆsp‹ñº4"X_Æýëw°Ÿ¦H™1Îb2¼8ò\›d]s¹õy*–¿Ã¹®áŸ.,¢ìÄЧŸáLÂ�ÖPËS÷1w÷–o\ÀßMçú?A55I·>*µ…,–gg±0ŸÆ†¯íºpt_'Ú’!Ñ4iê=„öýèoãPáa-Üç¶F8s¬kCÇ}øYò$Žåè^éc¹ôì"6–FLÒ}ûÂ?âR+M*úãó‘(Ú9>÷ÐÏü 1h¥�#ëÀ>|‘¯¡½u…µ Ì$BXð4BÇž¹»½i†€!ðÎÐúÈe�„v…a˜3Å›X(NÑ)w�„ç‘‚+%+@B)WÙÉ )àKûèŽÌáP$!È1³Õß팠¤‡y‘ ©‚)¾/‚�a ޕʤ閜£Z¶ýüa††¦h\5ÈÚ½£¡�¹¯ÂŽ=ޤJ‰•b;ÏÜ[�¾�§)¹Y*˜7xo 'V3·9ºC/2Ô6M…YÊ\ó9E¤çŠ$ËŽ@?FÂñuÄ�GnÎs ›ž/Ž»Ò4"º{¹Ééz¹2A,—·ç*ê³|§sõÆ"Ÿ¢•¤Uïé~IõVnrº:G£®6~&gç"íEœjnÀˆõñýA§dæIüh êþÓ±¥vë¾v†q4òN9×ûjz^SNtCƒ?Wiº÷ ½®ò¾@ìH@IDATùTÿ5›0Hò;ÖÅ|ãÑÐGü¾ö¹¾*?÷á½çwL.ÞÖ CàÍØ3Wƒ€È¦r`Wº«Ej¬”R…·²LMkk+ó]HÁ²²Ejµ�ÔUÕ³Õ¾z_†RU\W½V¤îr§Ìr½‘[˼æ¡6œ–ùãèÔ[/k¼’|2oT!ËâÏÊk­p±²YÁÒÒ’CÜÏ>%Ø'åæî$TÙÜT¢­]}Ø?ÜŽñt+wéb˜,àll]­I´'ã Åæ`‹"àÞ »åQçÀš]�Á�Kp“aÁ6»Ð3pÇ>þc=ôÅ+˜¹Â}ï~w}—o§q÷Ì>\;ʰå2ü•"62 K¦|\Kõ¡cô$>ùj #ÝQ8³ˆµ#ÀÉ„öxþ%W"m±ö!ôxoz} cøã�‹ë“HO³¤Ñ.àþåkXz0…ËwÖ0šb‘vÜ�?„[ûÜÒÊ»Áo <hçÆiæþ}Íݾùÿ톀!`ü˜Ðã¼BJEÐVèÈ¡*'r)åv©âÒäÕx±N²¯�kM¸¬°T“ŒÆžÜw]¢uÅøÑ °g®ˆ©B‘WHlgffÜzŒ&RÉdÒ[9%«9We’T©µù|¡Q2ˆdMwƒË%æ·ÊLÊÍ�‰¡òMB,½}©Ò¢X‹H³Ÿ¤¶I–Éuù£ÊÁˆ³Â YÓÁXŽÌ ‹ .?×)» �q Ýw‡Ä�£èi ¡-¦ùd^]k…Y¤WîãÚíYÌeBè?õKœþè˜Ð�bm5í¡Fz+X õÿø�ûÈ.¯àÞL=¾*(̺æóS­n!ÁíÅØèC�•ûTƒ×Ç0/’ð€�Ž~/d¢üyævN¢‚8Ëi¯v'PhEf=�ÙË×±ÎЛ™iæ s›7”¶:庶5ðm]’½†€!`¼'4î*äR7ÿÕå Š–9n© Š‚ Å|òg[u`‡Â¢ÚÅqî…ƒÎÃ+“ª0b…ªžˆþšûv#ʼLåï*ĸA9iÍY•Á•«q‰ç²%xÞÑÐ'Œpsjc³RE°Úüר0ÆÖ¬pe•TÎl‰*í •a¹ý>"Ì%ßtu�×™yò4ްu°ÜÐG$Þ<¶»V‰=6‚‡yü &}ô’ â­üßí àS{�o¨ª\dY£'[ˆdm tƒÁS$°-Ä�†—Í{J,Uó6d”É¾ÌÆþSiE†™‹°X—øÉ&çð¾Ða O2tž¸la"<ú‰—\£ï{/ò¾+ºàQ}è'�c†À«!°g~YšW¡É2–ÊçsTU9[G¶$Ú´ÉÒ@"–úÁWذrj•'+Rª ©©±X�„“Æ•W»,Çu,.:¦~odPU¡3q¡ rËA’çTسîkðªŒ�ȶ™S$ß;"¸4`ò„ÚÑF¦ãŸf˜s’`Ö‹š¯°œ�Çâ$-ô³«È¬-b–dtdýèn‹"*£¶É¢ô«,ê>ÏÉ€•"ƒ¬§»8‰ñ+X k0!ÁÌMÒ©9Cgá5†$¯`=½�…æu=šmõŠØ‡â¬·Ûâ »ÚZt¶µñ~á$ºpcN Cž³æ�¬e‰ssˆQ•3ø¼k˜¥éT‰ÛhB"›až óžõpój�0ÛúòœUçɇ¥çljo†€!`¼e†š'¡,ÒhÇ�ETí4n?ëwZyšÊC•ú:Lõ4éïzåÞIÝ‹3Vja?k½Š(H±}V“ªš«­Sq\qÄ´¹McbÔÕÓÿ•A…¸6ÔFm#Rª…R–ãT]yŽÖjî:9ÎåU‡¤W*±H›òS¦üd˜±ždìsŠçh9³9*$:ΉåsH¥æe˜?\aõ³Qs§¯ÿ¨>±Tgå ooÂS÷Tªm{@רPã›ÛèYMZ~ŠMäTê­^·7Ý{)ÛÊ1n 8\š÷^Xȉ[ªt” vA¦i{xrcûuÙº!°—x5&ø® Ap7�ɬS…m”Êå61Ï_Lç4ÇWýxŠtªvmŒÉZÚÛÛÐßßGÕP„”.À M~"dæyÝw$™dlm�NÀ« C«4Í‹DÚù9:#2añ_‘`�cuuÅ‘Ûjµ÷y‡~Éû:.ó�Ü}4�¯ú�ãȬ‹;9�©ñqÜ¿?‰‰‰søáöyü®Ç�O�£Ÿþ ¿þdGY1¨JŒrk$­¬ ü`z %’Ø{ßEðÇ +'Ôê4Шs¶yq>ƒ4óT;7òœ$ ºM²þ8‹u›ïà=®0ü›õhW§.ãî�køîâÜ¥“órš³ôÞbµ¹ÊºxóëEXډʻB”¬†€!`ü4hYå[6ëŸOÓâ î°®ì …Î0—öÙ5eŸ…Tˆä©�¡É):6J=kKM‚*lšÆŒ$2tzÔHg9‰-#*"I¶›ÊZsýRn0 tÆ#e®¡Zêªt�e>/H!–‰V�j¥*ù]½ÛâcUÏ1ÊÕ±”',c«íMçi83‡¸AÁC"ý¬Y�í;½§u]k�ù±R±›MO ïw¡Ã ~ò›ÛþT_¥ä«ðS¸(Ú€F[/¾÷i¨äoz)ð<1qðSÅË®Ëx›ì‚«Ða©§› 5®1lX&P>Õ—#IR˜°x¦šˆ¬�î¼*×£EÊmÓJŸ»ñà%ƒ‚”`w\ýè�,'Ìáºòn£ÑgNik@2æ�%Ò,µ¸@WdW¦S$—zç�k�J0—p¢=}hoë@Og'ºº:ÑÙÙ†Û·îáþÄæï\åŒp�®Æ!$£mHæh¦¥œâ*Añ3w©µÉTmt(¦€½­Ñ¹¸›ÐùÂ;2‚}]A¤"4ÐÛ¶ÛÁªêß–°>w—Î�Å•«wqc®€t�˜F’H°^šMy TpÙ)ÝB‘[Ýgk†€!`?]¿ò¬7ï.Qš(Ç\ޱ2Úqd’ò†ivRÍê¡éNOàÃ6›É3¯†‹È JÌ(ßVÇ}’˜n?Š®jàJ]Õz³éY@&U iA–ûòÓ­A€C$ß:ÏöæH®Šñ¸"7V Ðä¸r|yÆí›òØÝy¡¹�}¸õ‡a�¦U~*¸,=ð¬Mvý=]ƒòŠ_‡MËöI$÷ñk|t�Õ:Þõîîé }¶˜éáµY*IO~‡š¤Pí ŸÕü•gG!4·³WCÀx5ÿµ~µ}ÞÊV"‹ªu+£(Æ&Ó`‰!CíÎÌÉ•çÙ2YÕ Ôd¼2˜Z§êª’? W.o•þyQ'å‚Ì»å`KR+b«’Cm4²Ò,k#gwkˆÖ -U^åø..’ÐQíÝØÌ°Ÿ�ÒE/:Ï«~æaX•‡}iéÙ‡XÛ ú�Á' û½÷§¿ÃÍo‡ÿ}é>n›ÆÕƒÃ4¦Šãp‰ƒqC[Z{ú1ú«ÿŠ£‡p²'ˆ(kènoõ:‡}N $»†ÑÒ‘DWœµå¶o±³õ:çÊë,È~÷{üþwßâÒø&|#Ÿ`èÄ~œ9܃ÎD�岸uöüðÛE¬…ýx:#igç¶½ CÀ0ö6ÍQZã5ëé�Ëå$¶ ÅìdH²rNÛýƒÎMVäñu[ƒ,G\Xò‹È­Ž«Ñ\¤Ld»ž¬>ŠÔŠ|>>rj¯FÓû""mÚîɦã‰ÜJvŽ0ªTÞ6"Í�š9ÃÏ:Fó˜ Ì2„/!ìÍíßôU¸¨ñ“¸¼ì¸n€Äþ±ÉîÔ˜Äàt†{F{ÙQ~zŸëž+t}»ITã;Ö˜ÜàÀs/ZØiò§QOY{5žAŸ»ƒ}`/D`Ï\ 2�ªÖªNEUY I®–`(¸¥è6fWë VNgŽyº"žšL©éRõªÜXåðnoÚOÇWh²ËÝå�°~‡U†(JC+�3ΰg¯ò~ùA#ÏWÌÌ­¡’¬¿«Tw3Ùu·¿Î³+Í Bƒ¬¹Dâq^Cjû†�µ>|sû6ÊÓsX[Í‚)­ØOwå�B´C¬õ[ç ¤‚Û1„‡Z�Šj&{{Ó5r:cAzSçµ=ž²}ÛW_W-ßrzÙÅyL/i"ÕB’}GÏÇÉ}íèŒVXè!�Êü¦a”C/ ¸„QP~¶¥!`†Àn! ±G*U„ªj ›T¢G“Æ â¦Ú´ßHrõ~+ó4U*F¡¬/zð~ߤ6Èéó·i|¢~é�ó<>BŠ 6þ{öQ4ÊKá| Ôõé¿GG~´ö訢ƒ/:SƒÒ¸­Ü`¨3ïV{αx…T+¤v;!ÙYx6þmn«3虨ñ\ôœó57þ‰¾êYË-Û®Ïá¢û.løßóš>i܃G#ÏÛÖÞ7 �—#°'nãG‘à ¤XŽÂ„ElÊmc6P¡É¡`£ö­#¨,Ý#b«rBkkë®>®jä:u–!Ì¡pÈ‘âíÈ,JŠoYeH¦µ^$QÁ-°$Q€¤Øj:*‹ «„�³ˆ²B¡U¦H*óì\£Înc8Ú~†ÝZoE¥ÚÛÑ3:€Öä8µUhà”ÉÓø©3I÷ãRaæå…¯…a-I†*w¦T¿ïé¦] Ó*º»ÑêIJLå<·ÊßbhÆ‘�NâãÏŽâ`2@‡È<µ8fÚÚ:Ä K½¨}ȃâ‹p±Ï CÀøñ  |Õ •ÙNœ‰ÿ†uP?a×é«ZÉlS?_›¤óõ¯ðq’õ²qMaÒ�ÿõ¦AÈœ²»Mm}º'ʵå3ÃS¡§�-El]x³Â—EpWè®­y¬y!u}‰y�È­Ê*5Ètsï7{mЪg“+½Ë‘\YÃ\{ub¥{(•y;¥×óPc€*9Ÿã>ÄÖ¼÷Û¿c¡©ì¾¥pé^4›?Lü>ÄïŒ]óÛC`Ï\•ëQ(p¡PBŽnÅ�ÿGg^. ¥Œ¥Â$¬±hÌ)©ú‘ØÈÒŽ}}Ý‘[D…œÊKbʵ>’SR¿ÿñ|šÆ9ä¶J‚ëBšÖ�Yï–¯Rr™×«º¹"ÊÙ �2í”\çÚÌz~ì›Ê)$ZýÛI«•X¼<3‡Å• î/0¯—ךdÝÛH˜Ä<àC½B›øró·®bòÚmL.Ѹ Ђh2‚ö΀'{jÂÁ}ÝÈÞÎb|ü,®EsøCìKµ¢3I¢ÏJ&êÒì)H§Ã0º»R Áæû;ëòÓ—IÒï#^�˜Ì9hhµI“¬{¸×B%¼?�¶p…A]Y¤³›È•9±Ü~b>Œ(‹nÒAÞ+¿·‚üÚ<–æ`v™¤¾#ŠV*Ñkÿ>}v{Ç0 C`�!Ð$�"° ;޲î^h"d2° Ó-ÙG fs�Ä¢LSNËa@)LT¤¼Ù´� ª6+ŒHâvÍæ®•„–‰NÎäJû‰Øˆø5òuUï½QùAû¸rI.?·Èó¤˜#õö&r[ AUÃ�xû˜¹}«g­kL}’V5¶SÉ™2K#=n®ÕøL”4_Í:ç_øWm ×–a’ÏÔ²­¦ÞꙨ¢k Æ2[’C°¾ ;k�îÁÎö÷{i¢ãI\šÄ¿¬ûÀ‰åè6ò½Ÿô¹ÍëÞ¿Æ}x÷Whg4~<ì!‚ËR<$™9’G?‰¥‹�ªÊüX©ºRY“©”Ë—U¸°ÔÛu*·n!ÑÕ{ÊÏUY!‘S-zo{1n„s¨‘ÛòÖR¤k³Hmœ¡¿ÑX”dWõ_=X^^æy¶Êmí«F¹Í¼#¸ yÞI«Òy¸°p ÷¯OáΧ�p C#}hk‰¢%b�Û5TX èúÙïpýÂÜšgý½ð’mqôtÇMÑ1’Û=0ÀÚ¼—pîÂï‘^Ÿá5lâØ�~nC�š·œÁJ.É‚ó-øèÌ($¸»Õ<Ä7� Q mÇÅß·[Ûq CÀ0v)ŪÏfx´+©\V¤B¥}¢ —ö³\ÏãT‘Ï"t_Þ¨ªüË#èÈ,‰³Œ*ƒ¾(C³Ãn¿&É E+TJ7©šzHNEjõc,uU3ƒÚF¡Ã"®+$·K«$›EþD³ž—j­rg‹T ëå:bÎÂòï|�û’[…™êfb�;r�*/�ÌãñÀÈW<¨dYÆf-㚥⊠‹Dçry߸>ÒiGx¥4k×�7Îêr–·VeXÐæ,gïanâ"ð4ϬnéøäX»6ƾ�Ž }ì8>;2Œý-¬ý$­}ûôϱÉüÛ|ä:¦×KÈÜû秃¸M%˜—ÎÁ“xµF¤ó0÷õb¯•úðλ½mO�ŸµìZ÷¡s4‡¯¾àƒAb 3éÿnk7ˆ„8³í­bmŽ×—a~q{í)ºFó>¸¡˜eÑvŒÚ�••%ÌÝdÝ囸z“F[‰VtÄè�j„jo;­­†€!`¯…§KYƒ´›µY°\¦Ë"Éêö–­,a¢øGÇ ¼'�¦qj£Ær|åy¬W±éê“>*1$"› "œ ´T\m¯¦’Eªç»V‘žsïé�¼¤8X,�ãA±Ý™l¥|=îób}“ÑKX®La“åwJzpŸ¼ü… ûé¾+µT“üO¶<‰æry Ý�ýNÅ•Â,š+b»^žCšµ�7\ÉŸG×öä1žü[yÓmÄ2]‘ÿÉ㮕RngJ×8¡À`ø$ñQmaaÓÀG×*ò›¯ªNÆ'Åú°�·­�rEzmí§Ï-%´D(¢¬7ÊCI‰~8!à”l¡Ò8ßãÇ}»…<1—_ž.?Nüu/5©1_¾ƒx1‰ÞÐaÄ=í®3Â"S]ÂJyšµšsîú^õÞ¿Ý«±£?nö Á•šêVævæYÃUSMJjy+_¶B¢+r«eu-�eÒ:M+àg½5'?Ië&Ã{Uë5ÊUÕÌÉW8sIbçg~®d‘³˜*;ä'IÔâágÅR4¬ …²T y>žGîÊ*Tbi $Ëé·rsƒƒC£U2hç—4›!;uH<•Ë­ÍÎMb|†NÙ²›T�i4å£)TGÏzâØç?Ç'Ÿ†3#)Œ¤&Rž– ò+†*w"ðàì—ðÇ‹Wp‘D1Íñ�1I ïp#ǰFµÂN«pƒSº•gÌ%@™4@Üž=è]’n…3ÿY9ÊÂÔGü<,áhCçX_}¹Nµ¶„úæ*®ß\À…tŽu¹/gÂC†^ÇŽ$0ÔÁðåˆ,ðù™ÔÛp+†B!¿ŒÛsg±>;‰{÷fé=„ϵ³¯a7È?»oúv4›®I¡é¼†¦8Ù!‚ÿòýšûÛ«!`†ÀO‘Q‘É6º6‡<796< Ö5gI0Dp¥¾u÷“®6êáfÊ‹X )Y#)Þd„Ôvâ!…6åg¥e©Æi³©>oÊÛÍÔ�¾¥QèÑ^RéKôÔ`žrÌÛÎ¥Íí&²·X¾‡¥ò¤#Ò"q¯Ú4ž30–.Õ ~†ZÚ ¸e¤y�ª×K½™½ò’Ô.c¥2�õÊòÖµ=êçËÎaèy›sÞOmZäDÀLé:1ñ¢ÅßG¼©š»0åæ›TÊÓ•Y¬Uf8q0ãúü$ÁÕý¡6ΫÑóÎ#Ò.¡ƒO2(�,æ«*¥|Ž@”ô–Qy ÿ–Rï­SìpÄøõ”c=5²ˆivÊsèyôéÆm¨Äë|.w›ÿªꯚê·x{±è}4±Ñ<†”ûùÒmwïEúÃ�„ûh£ºŠ¾¿TyÀ(‚Ámîc¯†€!°söÁU÷Edý~þL3—VdWM&OU®Ë1Y¤VyµÚÎ…»œØ*‚40 ÅS®ä�Œ¨â>4�´†£ �å> þàèïËÔ¨yC* Oþ ñÌk¾SùÿÙ{Ï'»®,Ëo?ï]z‡Dƒ½)’ÃbwUwרF¡‘fBšŽP„æ?S„¾(ôe"¤hIÑ=£é®î®ª¦)°H’ $ÒÛç½~ëÜ|‰@Â$’À¹ÀÉûÜuëÞwßYgí½6ÄØl§ðÂÍ ØZNê±ÜšuÓ¾D O2¿ŠÇ±e_~bd2é;f‡^.د†OÚ+õ­ Eè[ŒL¢@‡ø± �E*SpjæÄ̬MLålUS[ ¶ŠºINQ~ô°ûÇ=û²�xgÓÊ5 °7¹9c´¢e);Tž±cGÆ¿ÒÏ#Î#Gìõ_ÿµx­fµüQ+�O9sª»Ž†‘èPdÄŽ¿ñ+‹gg­–;j½âœŸa@ÁíXP—wüø›öjþ€ �ú%äšu²}"•[¤Så˜èŒÍYabÖŽNËê(¨À™‰çìЫyû·Å—í­*?N¥£ë”�䳬»öéNÀùáÔ>æF^°wÿ]ÜŽ¿C~Ëô 6<Ép6ÀëÎEüs�€GÀ#àxvÁÍFGl¨;m¥ØŠÙ"êaÝå‹ …äc Åõ«þˆ×ĉR=üÊmº»\ë,ÐK¸5©? 7è©Äs6;Žj{«Ì‘êûŽC’—Û×!vô0vuÒ$¶Éúû�ó�™†å#²¦Û¯±¹!ÒMöëa&,c!WDHák‘àXE�.¬©Ã6뽆]®ÿ‰u7 Â:66mOa¸n{�Ãmò•¯5¾F©mÓ'+�'tl@%tNÁ%­ ’Ú÷ñØÉ»6§Ðíêx:’‡oîy_Ól±yÑþúwâ(×Ê¡Öög§8'Ç!‘TߨsNö¬à®‡:7"­Û¨ô[¼@Ú—Ô¸ .×îúl“}^n]wZËÉ)|7p…¿‹lg£Càr¨Pü™ÎÁW nl Ò÷êçœbž ݹ×Ä&ƒD (K×O�ÀãA`_\•J–ÜÆÝXw™9…PPå\,r›J¡Âê&)rKëAFÃÑDW#„´j¤ÚVü3Ũ¦–�k¹)© Ìú"¬õtÄ™4Â�‚­|]¼!ÙRrE–{”’Š©ÐéD‚p ^{”)Çœ�6S:h3'e ,ãŽ7e™ÒŒkŸÐõ�RÈØéŸÏÚéû- [JëÁçßvíî�£þ¦Š62§ö¢�ºû÷|%MXzä°kÓ»ðîš9±áD¾d¯ýÅñÝWý�€GÀ#àð)›iE1:‰Ãó”mE­‹:+Â% ¢�WµrgÓ®6QQ£üÆ6É™½SMUþ¤Hb.F˜qì5}»°äÒ"¾Ñº”BJ1Ý€T*/U“´¿2„­âÛ«n"¸R&Rª}¥ö7ÝÁZ¿{.‚ërb!t¢ÙR� }— Ë*°ŽQízë+ˆ×7„23è álp¼M¨ÔU h{Ú¿™2üæ&èÔšã(ØGØ4H ,µ­j¿b5Ì4ÛWܶâ"¸üS²ˆ¨¶”„Œ§éŸI‰½sRµÎWÂ…ø &‘E­GjçFužc‰ƒ}ÌEæuÁP}¾çXùÐñûŽŽkU`†2¦E¨¬ZF9½±!.Ü趬)Jˆm§£°ä˺ ?걎7®v‹¼”FØ…!Ë%ÙÕØ…ÜÖêu>Çx.ÛvfWù‚‹äÝì„Q¿Sà—öx<�€Gà‡F …"x8ùº#„_Û‡ä¦Þ„¤P–šDžœsGÄ$î™Ä™R¤?M¡ÐÎ&Ÿ‡,Ï8R³×,Já± qÖ{GR¯ØBSŠàõ=kÑCú+[­SË'œúŠK˜tw…UdñA'9DÏÄŸƒP5íjý<ë/ß¶¨¶%]·Ùncì(eWDr"ž„ˆo  WɉÕçôïÞ“£Õ6{Î:™¦]B^h]dý –uù#úØÜY§°½ßšµ]å�Dç�Þ¶E ˡµ�ý öJ›p5ÇÒ ^Y»÷ßï»�ª‰z^%Lxž0áóµ�À`Å›èAþÝ=éú0ÔwÈ{ÿ:�]/ÔôŸwª± DRÇb³”Èz L®ºklïztüÂ^×—#´Ý@yG8áÜ×ñ~”cÙ»ÿØ#ð¬#°/®ÔS×wx8ÈI‘’Z!çUáÉÚ*õ4ÁmqsæfIŽm³Ö‡„¢¶¶ïmãBŒoµÎ�ˤS„ºò Òh#¨1ro;¬ñ”B€Uþi„[%´×º�0Û Y™}‘z,ƒ©fSs¶MN®¸ ¨JÅ5q‹»yÂÏúEä�ß#àðx<ûüH%“s°â]·PSzª2:ƒZ@>DoD!½"/ ‡-a u0yÚfã§­›p¡Á{�[ëaŠaÙJÙwÄQÄSe†¨m@–XЕB}-D‰DB UhîF{…ýÛþ’µwk·+x2~œciØV‚Ä€¿Ê‰$[9 hSD"¥6O$¹íöèµÚ¸üòOj车—êõëI0H@_‰Ðc•¹‘’+õ8Ø®¶(¶"òBÔåɲý$ÇœfûAY¦Û·¦<á"øÕ!{C1¹{Tž@1U˜¯Î�öNø‰P‡8>á-c™‰µ•ƒ­Ý¾Öo&Œª &¬¶çí$÷^“Û.[—*¯¦)F3ONí4g“D:·/23;Ĺ—U˜\±åŒL±ÄÝs/’¦ß«a‚á͸3 ¾èܯ´nâ½É’÷>÷ÚOÿžGÀ#€ ¹@Ð�Já¾"¸2xê L¥\²WÔVÞ—’êäX>/…VŽÊîFÚ¬X„�å¸n¤ÒFm+…¶ IÕ„KÉ »còfôÍýã&¤Y!ÏD$»h©µ ƒŽn¢¦B¤Ó)r^1œ‡à–È/Ýðí‡Sè÷Á#àðx<û§;BȆbìùô¯ÈÿI½þ¶Iê«rO§q–š�¦ÍÍÎ’UP!µ\…€‹Ô)ß7É€B|È ä¹Vîœtž”Wœ‹ CÀOCZ)+ȹØÄJ*q�¯¬u¹ÒÙ¨¶;dC”г/:Ç:9e^ûO¨öTü؃.æ>—GuWίroµÏƒI×–p±OFDè3–nå9óþ�sŸ‡"ןTw�{)ù:÷º×c˜Q¡ÿê¥RTC1\—Ýú[ðs�€Gà~„¸é9ƨ|Ó«W¯:¥szzÚ…âÞoá‡}yyÙæççmrrÒæææv—j;h"·ÕjÕ©µ OnŠ,·‹Á“\�žÂ=ƒÿz|«ñDÿnâ~¤[’ȵ¬öƒ¹V¡7 ¿4_åÚ*DY%hÒéä–Ñ 7išÞ÷“GÀ#àð<ª/~åÊw¿�™!‡‘�ÍÇ=iPRÍO?ªÝ©:ªNKÛ£6‰Ä(”W„GFA�:é7^ZÊ‘ÜÄ]X�ÿ½“¶‘Š@!¨"RgfÒúžª:¤"’MB`Eð¤“L‹D¡ÎKù9È¢¦sEFŠü S‹Ð]­_û߀œ /õ]è^¸uÄ!‰"/iÈ’ˆ™JÔ¥tVÝñk2…’’œ‡„e!}÷š¤«PCŠ,aÎ�Ãðà˜+RuÛÔ±hÛ"gÛ8ü*X†Xƒ+…0 Wrh�ÞKâö�µ])À:Ö¶3Ö r›]? ¬µ¬ŽYǨpb)­IΟ”ËíÛ&­WaÝ*=TÜ«Åzü¤° C·V·>â,$W.Ö:gz=hýÂÇå˜]Æáúa&gî¥Á ¶©ó²w›Ú¿ÝsÏyp×´upî…CŒ¼kaœAÉÕÕ üh¹[ë\hyMÂJ×Hž™{ùÉ#àx0öÁ�Ým(·Rl‚숭æ„+ÄXM7}ïÝ—ÿa íý0¯åŸ›¸qÊ�Ù)¼nÈ"º;�&§èR*h`|u¿Õú÷=�€G @ÀÜý{%�ꀌ¸�Þý»«~Ï<�€GÀ#ð�ì‹!n� ”P÷˜Ðß(Ši²«’@*Ï3 ·¿ÝCr¿óÐþ Gn¿ Fõ\7ìB˜5gÌ¢ëT]È®öÕO�€GÀ#àøé# z«AdB?Qaw{úæ�À#àðxž1öÁqt¡&N5 L ¤ÔHí`îtÛ=ª­Ssó Û%­ì‹èk°_"·"½áÌó¦ýê<�€GÀ#ðƒ! «mŒzZ´í6a™„DºI¿¹üSèï8κyL•üäðx<�Ÿ"û‚àHå@ÝK\÷>f”yÉýA@ß!·{×=ØG½6x<˜ïýœìðx<�ýˆ@�ÓØ$×�üÙîMûºñ±]ª�u©?úYÅW çÚ ûW¡ÿÑò)Op÷ã9ôûäðx<÷G`_\íæ^²¸÷ñýÁÂ#àðx<! Öó`nTÁAwçÙfJ–�‘Ì€ª½ WöúÚ[Z_µP ¡6i7²çIw¬}3Ço÷ýñ {<�€G`ß#°oî¾GÊï GÀ#àðxö1.‹–Z¹èªìËÕÖ9û¢úžmQ?T‘O.õG¡Èª#ŠcpûfÂz× ©ä-\ÏBo1S·Ð%~Æöñ�ú]óx<�À=ð÷àø·<�€GÀ#°hô);Cù•¹Q Õ;­Q¢¥yU~m•ÜÚÕöu[iÎ[­‚‚»‘´P#nÖNHæumئmhhÆÒ#%[H.æR9ÊàsCûñ�ý>y<�€Gà�ð÷�`òòx<�À~A ïê‚nto‚|ÃV;×ìZý[¡.m Ôb…’« %Cn3ºP´ÐfÞ"5êžöƒš±ÓÏ�¶S'NArG¬X ~¨«T Ø/Gê÷Ã#àðx<‹€'¸‹˜ÿ¼GÀ#àðx~`Úý¦5Qië]ZË)µRlëÝ:�¨µ›´-«v6­ÚÚ²��M«oãößD¥UNm‡œÚ%øPk‹‘q›œ8l¹éK‡ó.×V»?>>nãcã–N§-™Lº#ò?ð‰õ«÷x<��}KpïvO¾ ÿC|7&þ�€GÀ#àø©! ìÙÛ'•òÙî.;…v­{Í6Ú7wÚ:ó�¥v'Ú¸‰"»„+ÔbÖ"ÛA>m¤IHr7ø‰;tÈ^~í5›˜˜°b1Pjoßšæðx<�§�'NpEd+•ŠÕj5ëv §¢u;æVuxÜ Ï+ìJS8BøaTÑhÔ¢±¨Åb1×âñ¸Åc4æzÏO�€GÀ#àدÈí¸‰Ó±rhkÝ@�­÷¶]>m½WgÎïb7x^ënY«IíÚfÓ©´Ý2†P��|Ú^Øb–°‘Ĥ•ÆÇ,3C>m$g‰pÚ"¡à·P¤vllÌ)µ~`x¿^~¿<�€Gàq!ðÄ™ nµZµõõukµZÖTãG¼Õ¢5[ÖnCt!½}ò‰4E ¯"µ‰Dœ–°T*åšB¬2éŒe2䩎-�8,þï<~\ˆùõx<�€Gà��2ë¼�ù ædƺWT®§Ò] TZri7:ó(³ ¶Õ^ÁõxÃ�†µàí駯²(d6VOYw=aѵœE+žnÜ�Y*ž±Ù#Glvb–|Ú!ËçóŽÌúÁÞ:IþC�€GÀ#ð”!ðÄ ®ð …©¾'e6J‰‚^Ô•0Pà•Èi8±Šn’Ûã—Ί²ÛfÔ›R�a)¿‘HåÒOX.—³L6K>ä7™ryE"Ä~Ôú)»rýáx<�}Ž€êѪdO…¶Ú[wy³Urgu–|Z\�õ¸Ñ¥u*Öj×ämX£B-ÛZÒz5~»ê Jø¤,/Z1U´t4o©é¼åâC–�‰hâ÷/šp¡ÇúýS.­"™då'�€GÀ#àð<‹ì ‚�ÄH¨ˆh8Âh5¤U¯‰ÜšB–å )¢ÛeÞ†èözz‰ø²œÖ“-—ÉÍf3n.gHMzO?øžè>‹—¹?f�€GÀ#ðà  Pc÷�º²ü2¹ÚÁ\¦P2‚Úì.ÐnºùVg•vÃÊíMkñ›Öé èvùm"Ô8Üæwª©­d,^!¹’µ(*m¼^´R~ØF£V*”œJ[*•©•J«ß7?y<�€GÀ# ðÄ ®g2‘´~N¤•¦\©µšž»NÀÑ%7w@x5o·Û(¹m^k»œ])ºz­¼½m[é-«×ë®üA«�fg?²í/�€GÀ#àø¾ˆÈvú(®¸W:kVé­¡Ôn0'§–üÙZW mÝš(µM7{(´´V�œ¿qÕ*mÂBµ”EšiKõ -Æå8› eŠ–¢%K–K�W›ä}Rrô;6h"·þ÷ìûžE¿¼GÀ#à𠺃çB:x=�Y�QnÉ´}+•ª«¥«Ï¹2B¨µ*-$5wkkËÕØUή¦�Ûä`ÝîEÿÇ#àðxž\r¿ëòhE`¥Ònw—�J[ÒVix;ôPfE~™·™·{x?timTÚ 5U\‹«2ˆ"Ÿ–°ãh-çTÚÊl![²ü¦P"µ´t2ãrjEf•G;˜{³¨gæ²óêðx<? û†à~×1ÞI>÷>�Ü�:«¹Ì¦Ú„-+7Ž8%W¥…DpáÌ=>§N…^­ï§é°¬pnB´ë” Ø¤f"¹]ͪtÒJ¹8¥#tÔ~º…@—K¢c°Ú^[«¼µ(±1ZðòhÝBÊ?òµ%ê$®&�Ù‘Ù1{åØ0ǯ*Â~ÚE€PC$[¹zÎÎð¾­¦NØzñ%{çÔ¨½šróxí¢åxžº¤¤üþܪý݇7-UX·\iÃ&¦k62^µL©j¡x"[ÁÝeÖ…%·ðx“;=\ûQwµŽ^“Vå7Â)µ#RÊ'R§æz§d™†PyÚmtˆAFŒ¢(ë“J¤Pg2«�T‘ÚÁ€êS°?�€GÀ#àðì3~rw@lå¦,UVŽÉ·ÈmBÛß5åØî¥ÇRlÕZm Cd>ÅÔ!_WyOiÊ/ÄÉã�ïzì¢+E²�"¹hW?ÿ“]©l‘’‰tÎ^8Ò7mûi/È/˜Ál®Ü°‹g?±¥bÜV'ÙÉ™üÞí“ÇŒÈ(ﯶm7/^µÕuJ‹¤§,;4ls“(A:×ûdOýnxök>\§Ì\‹ß)³ü>të¶¹nåì¼µ)×I” ¡RÍ:÷…:å|ê,G­NukmrTʧmJ¥M ÖÆPg¥ÒR¢§‡JÛ…ØÆ1„B©•óq6äÐJ�ÝÛDh÷ÿoÉ~:ƒ~_<�€GÀ#ðýøIÜ@‰ [™J•ËÛŽìŠðF"aËd2A§I.Œ;³¦AH˜–ÕT«ÕÉ�"dÅ7—½Õ) e³n”] ゙è…õ!¸ÕÍe»öÕçv¡î: 5–#e ˜M¹þŒC[Ë#íÒ!Rçò€•ˆN‹&‚¨m ˆ´FÞtZ®Í?èé‚ÜöZ¶té¬}öÁ{öÉùKöéWWlu«jeÌM¢i‹&ó646cÓ‡NÚóoÿÂ^yþ°¥ŽKç§§ j$-EtA¾T°N1c¹LÂbD(xåö)=åþ°î‹CR×mçt¼Õ»i›½TÚEÌ¡ÖQm7!½r7VÝZTY¢\äÁàæ ¹ðc‘[n›=™EáEØß&Â¥6\N“S‹R[Î[&>lC¹QTZ楠 3W*K ¥V¿ ú}̽J{ßÓæ?àðx<��}KpÕᔉ”Z…µ†Z[¥ �®rpÕÁ(p¬DmMJu¥$�\-ë.Ÿ :5 =ë;õ¶Ñ”Z>‚BÅ`*ìÖ£mU+•`[¨ºª�›ß©K8Pr5œ�™¾œ9Ûe[¸ü•]øôc;ûåûä‹+VnÓy*ÎÙôhØæ¢¡ ¶¶TDÄ�Ðj Oº�úG½düÆ~x0 §-™›²ãoü¹el[-Ô tºs žüß¿…'ˆ@‡Z´Rc›¨±�^™g@a×D¥m’G/•¶Öã;�B[ïR‡–ÇuÜŸäÛÊJ> jºÇ®ÇÌ›Ù&!ÇÔ¤ µˆôiñ[Ñ�°†Ôr $Al ¨³áù´Üèó¤– ©•J«¦�S5?y<�€GÀ#°¿Ø×wWeEi­@>·©c+r+·dWã–ÎÇðȰ�ŽŒ¸\Ûù¶"ª"§=ÂO¥ÎŠØˆ²3¥â=‘^‘Õ(5t‰�ùáʨê£;pcÖršÔ©QšH¦–{\Sc“^cÁ®}þ¡ýýúOö‡Keûd%l‡ž{ÁN¼ø²›¶Cy‹Pƒ±[Û´¥�_:jaT¼v—к‚ë½ÇuFöËz茇�ÌgìÔ;3öuÅVêúsm¿ì¦ß�À€€È­JölönЮÛf?Pi·(ÙS�̶vœ�÷^�!²"µƒ\Z‘\TÚ^�·#¨µ”O#Ÿ6ZÉY¢�1ThÄý~Œ �Øn#ÃÃ<Áp�ˆ™s¨``Q�?þ.ûœj¿J�€GÀ#àðü ìK‚+b©œX… +ÏVäV!ÄMWþ'äFÓsùêmÑ2�\Õ»ÕäÈ-ŸÁU%“θ×D”]x2Ÿéà õxïk2”ŠDu6ê;gf…7;*¶/eXùVEr±ôxšæ6úHÄXzVY%ßö‹±ÏÏž·�çymòû³?Õ^<~Ð^:>kÃù4e'09¡dE¯�¡Ôñç¬�³g¨xØ ¥¬åÓUÛVBS}sÞVZ¿±÷jŸZó|0äHp"ƒJ~Ä=n³‡ælª˜°¡ŒN;ŠvuöæÏÛõkWíóË+¶ºI>[Ö&4;–¤ÜŬ•&ÛñÃcvìШÅèäÅÀG½Æ&„ûæ7çíÆÕkvc­lkÛuk�3Üa`¡‡Ço,IþÛž:xØ;aSCi›Ä¹8IJÝvÕ-;ù’]_-Ûò¥�À[ùÃ=cà!Žz™²±™ƒ,{%»À~SjcPÛ—0ăKW.ÚÂÕËvmiÃÙ‡šrTñ�Nd‡\žòœ–�²‰¯^c‚ê!&aKHäÖŠmܼNóöÍÕ%6^it,%OœÆ=o“‡Nٱ鬥.&ÇØ¨‚Ï…ó6íºÝXÝ•¯àí‘é‚¥)%2upÎ>b“¥´Mpn‚n4"¯°¶½j_ÿñ»qƒ<ÂâsVœÔüZ<�€GÀ#àxPöÁÕHü€ànlnÚêêªm¡Ü¶)í£I!ɹ\Ö†‡p²dÔ}0²®0æN·ãÈm½Q‡àF–¡”Œ¥4iÝü% Y$·áH®–K&–ޤXÜ%‡e‘à:fDÛÛ[®ãSb{R�¥æ:í{�èC`èÞ•WoÚ¥3ïÛç®Ùg« {ñåWì/ÿÃÿboÌíõé´vù»'Âñúêº R¾½`kók¶üeËÎÒl�cVå°sC!FGìí_ý·öáw±HÁŠi‘ù€à®]øÐξ÷žýŸÿ|Þ¾º¾nåZ›œß”EÓ›9ù¦Í½ðçöë¿xÑÆ¦‡-O¸t,ªÞ$¡‚å%»üÉoí¿Ï>¸°d7P¾y×�À%sc–ž³WÞù¥½eCö³cc6Ñ C®ºíM»þùö‡üûà›%ûâÊ ˜7 fø›Z,�[éðA{îõwìí�µ7OEm$sçF<µ‡¢Ý®­Úõógì“ßÿÎ>üòª�»´hLÄ9ÌŽÌÙ‘ß°·ÿ*i? %,ŸÂ€,) ô!'Iäì¯j _?û;{ÿÃ�í¿~ð¥]]amZƒžþŰ—þ|œPùˆÍŽbV#|*‹vùã¶3ï`|½`—7m»B]qö)Sš²ÒÄ!{éíwí�nÎ^?2j#ä‘G¸®Âœ›>ü¡ç@IDATÚÖ5;û�cž¹j‹sÿÞæ^�ÛôXÚF ¸nbà£ßݶÕk_Úÿò÷ö/Ÿ|e¿ûä‚­×:¶UïAô iž:j?ÿwi{'=ƒI!ýIò[[�â‹vþÿ·�>=g~~Íæ×È÷®t,Qœ¶ì蜽ýÿ�½¥Fð¹ß°¼‡Æï!áöÚà:Þù§û®þ‰�bófíp5v•Ÿ›Ö@™Ýr*íŠmw× ¶„'ëÚ>î¢p‚ǬÁ½Æ\_M﬒¯\h×ùض ?®æ-Né4©´¹ßîßÃRhwšž+ìØO�€GÀ#àð<}ì+‚+*eU!¶¶FgåV£ëê�ˆØ:‡c©æAXš:=¿Kté’PîmgÅ6׿í‹oPq+)+>eGŽž´Wdm"ø°S4‘·TtÊÆÆ‡íäÁ¢ÅÂà@Gq}QÛ¹a×>=c[Û‹ý›7,[¶ßüö3»¸Ì`Èáwíõ—Ò6V@!‚ŽÃ¶m˜ó6:S°¡¬XõºÛÖnr ¯ Š¯¢Ü&:|^ŸÌY6Eï¢]qŒe®ñͯ?´ÿ¼€IÎ/Þµvüç6WˆÚTþ~;ªmôl{銭|õ¡½æœýÃ{—­N “™7~m§Ó1ÎCŒï é¢=:vQKÅ{(ý˶ôÅ{ö§?�³ßœ™·õְͼvÒŽ')¯~Û (­³?k_}bÿïß�_¿aù¡çÁ=D‰”ûí×Ã^µþóO+ÜYq;V¨ñÆNÛ"gVù²˜v6l9½LÎlÕ"|:ºw÷•g+…–�Ggµ‡Ìî!µJ=é×ù–ÕùÕll0hVOqO!ꃰþt$GÉ¢{0ˆ*$!·8g“Å�ß�¤‹ÀÑo‡w=~Z¯<\�€GÀ#à€ãìDRE4ål¬Ðäu:ÿšëõ<áÈ#äFiô]¡ÇzM“ªšH±Â˜•CŒèK¥å=:ORk;* CȳTY™SIÕÕEzµ==®Cz `³X\y¹]°È°Þ¯—!)�g)¸®ÑŽ»ò£šNõ!žýäoc��WE{Î†Ž¿lss‡í¹ MâŸçën ²zú¸½ûö1+&[–²ª}õÁ?Û—¼ag.n_\­Ù‘ÓvøôB€Ã–'836g³¸†FD¬ Ù$ öÊÛ¸ú±ýö÷çìü™�ìÂìQ zׯ gÁ×A…[¨’[ *ä)[tè´ýü-BŠGét¶·lþ«OíË—ìÓkí�ŸoÙÄtÉ^|÷U §Û6ÊñW!ž›ëekåNZnæ%ûË>7›±0Ë®\9ϲ¿µ³—®ÙGª„òfìÅõ¢¥G‹‘¶-_þÂÎýóÿg_JÙÙ­!ûÅK/Ûëo›·ùU¸±¯œ°|!éÓUóàS¿]³Îæe[¼ò¥}øÑ7¶ ‘?ð‹7íÅçfííãC®­[/wÄB z”²ªO«Ž¹®±:$Ÿð-:ì¹6|䔽ûÖ¬Í ctÃr‹�ô‹úÐ>ùúûã‡ç,š%\òð‹–œËÚdž½ç±†o~܆&ælîÐa;6•F9nÙD>fò ýþ y¡ ÖØX·K -Jõlt‡h†¨ï›Ì�Xrì Í’«{üXÑåOem*Û ôk»¾¼`mr`¯.6l4^±¶bׯ_‡4¯Yxêöò+ïØ›?;ložž ¯u¾Q°R¼ gíúÊE oß´k7«ä'lv*yÐóÕ× 9Ýrg›Ý¨E²E!/xúàA;0�³xˆsמ±>¹|!=r)] ?¿5EÈÓM&ldò�:|%™Pxê˜áx§­ðOg¬·õ¾õ×ìÌ_ÙÁÄ!{þÀ$�Úß=õ»UHleñ²ýñì5[k�£Ü¾n?{û”ý›?;Åy�Z�°ì.×,ŒÃâÙ’%Rd'wmuíŠ}ñõM›ßŒÛÔ ïÚñ_´Ÿ¿râ ÙEá-Eë`yþ»oìêµËVE¥¿8ßä¸6)õÙOˆ,†~¨²JôÔhUÍy.‡ãºÜŽi�.ʬrki®^-é-î¾[�Óq@bõXת¾¡Îù˜ò^ R‹Rjà{POZ¥6Öf�\Úl—c…²ÃEê7¦ŒZ&•%M5wçwcà|ìO˜GÀ#àðx<Ïû†àŠxŠà®¯¯Û ¡�Ê£•b+ó' ã;5U!‘U9$+,Y˨)”¹^—‘�Êè rSï}2#䔆#rGFÀ¨Jû íȈª ŒF ~l³ iÞÞ®¸rEê@Iá•:À‡î½‘oy·/u¹Qµû\%)³‡‰O®T´4d^9˜GpƒOG¥'mx|ÚÎ�G ÁŽ­ÚxnÃ>:»jŸ1oŽai�\åJbVžüʈ¬�šÔ&<Ü pÌé’%³΄l©Õ Ôv“ÒK£®ºwÿÂ�Ô8a°¹Ò¸��OØ4¡ºÚn;Û±Ùâº]¹¶i…î9k•·ì&ĺœE²Ù%¸a“©Q¶8n£,;3=⎽[ŒØLžæ• þ§¯È­Û´ÅÕ–mf·¬¿j €|~iÃò“ ·Í\2JÉås©`4ËÑù-¤ØÌ†UÊ«¶°Tµ•™œuÇÕ}~˜‰# Å8Å1:ÎÄt«­Â'dwLRZ$]HZœëH-˜n'¸Â7ŽÙV~hÂ&&¦l†ýÐ'ûkÿÄŒ5×6låã÷ì<†RŸŸ½h??U‚LZâ»ÚçXûµ›¶¶LˆûL¥ÆOØ�nÏ¿|ÈÞ|aÒ­ï9Ò~õ;ÛÖ)¯`.uÝ.^[&ç6m¹“„q–8ˆz¿Õ·m‚º8‹çÆF ç-Þ¸iÛëäK/6íÔ�nÞlJX>KôS'rȬWØqOÑ úÇkmj*=R PhƒZ´ªG»JòŠÕHC¨+C¤uЈˆ ï™KÁU>-sëòÍPk-ªä%}ê9‹5ò–h2ÐÙ/�€Z›,9Ó?ÿ©iTaÇ2Ô¤H5?y<�€GÀ#ðì!°ozÁU) M§’6!¯‹ ¨T+K®¶­\�Ý?:0aÊ%ʧJ¹¼Ü±±Q÷ž8A£©òA&ÞÌg¥ooË­Y%ˆPƒ«êqõœ±¬uª¬|Þ6Ä&Âö7Ö×\ØôxwüA6ó-Ÿ°—Á\täNJò-‹=ÂK\ŸãÅ9hòÓ 2¨Ö�&TŽ»U/Ûæü—våâEjð^µEmÖچᾭ¡à--lY8ÓÀ‰T5…o'o÷Ú�0aÞ±|�PèÊjÛÂ,_« ÃÁ1÷Òa¢Ô NfS„kw©l`šÔØfP ºleŒ¿V9OËŸþÆ.ß¼`×þ1¾ã Í:q0îcbµ¾¼êˆ\ex¼"gmGè¬ßë·ö+LŽr’屃ËöÂ!¦·þþw[øì°]8qÌŽ;bG�µéa�K(³,ú g1–ÄNHeiØ(¢6c …Z­ë° F2û®©Ç€C{ƒPÏ­Š­ARéœMSRª4Dˆ÷wìCü;ÛÔ e¹MÂùoܘ·Þ?ý6ÿYÑ>Á¡:±“_+",ü.a¶PoÚ0ÆaÕŠrÛ“w n|×þùןDd+ýйÞzkN¥­’W[í‘"e÷Žß-)³nÞà1Q"»„–¯%Ìv—Ü�Ê·±j Ϙ×(áScÀ­F^;*m¼•µx;Kº†‚jEˆ ´ù4> I\¾qŒsƒŒZ‘Z5‘Yy+øÉ#àðx<�À¾"¸Ê¡U�Û G6 «\y•v5˜¤ªF¥:¢¸Šàª£“‡ ©ƒ£×aɃÏ×<¨™½­ô–#ÌA¸±ÔZJÙ@ÜÏP¿)=ÂVb¸Q¨@Š•Ãû(“¶F)‹Ðb¨‚’/Z;YÛsÀ�²�=Ë(t6Šº‘ ö8RÎyÎ(µ�&ÇК· gÿhg?ûÒ>újÉ×Q¨eº¥åÙ¯úÆš©N båXƒ}Û³ò{< ¡¼G¤ª$Q?#]Ü“•ï¬�‚{,´óVˆs‘L’ðgÔå˶)_Ô†puë–r_�¨÷+†ønóå°­Ýf€Äžö¢–CÍŸAÕÎÅ iD­¾ÿ¦oûD7éPqÆF·W^&T;rÉ6/_³å eÈöZm°¶mÇ�°ú¡¶“°Š÷M(Ã!•.!¬rbšXW9"( :ÿ¤HçÔçujìC ZÌ£’V–›r€¿}ê£Ìw‘î̪Uˆ�èo-Z§…Ñ×z˜È�½Ë¡ÚÅ(ÍttÄFÇJw‡ï}ß?~š�2+"ÛQ /²g;<Öó®¾³?mõQh|é1¸ÔUã¾@r…Py}7Å\wÉ+÷KG^5>£Çz�‡>Pˆ†BÛ#¢Kr¨…ÊÚÆ9¼™´hƒðã&ĶEDAŸ�ãÐ�pr/R ®@*È )ìXDÖ“Y°ô“GÀ#àðx<ߊÀ¾é¶JlÐé®ÑW‡(›ÍzÔ)Œcü4=sä5™Uî¬zV››„®B¿±-µÉ—&íÄÁò7{×ìâ'Ùçÿ²eUö1(´t¿­íyß� °]þi»®|.s�ÛûOêÀjŸï\VKÓT§7š·éçn^}ËN`l5ƒKð�S¿GÍä¡)ž=@y�$Ÿüê;?t¯çŽ„’w;‹Cô¿¥fí‹—í…‹ßØå+×i—ìê™Köñ?ýW;öÆ_Ñ~‰ÙÕ„½v‚<â{­óÎ÷8Æ[�õ‡BØÒ!²óøÎUûsö.D�ãñ#6óÖ_ÚáCÓvüÒ¸$ï�‚ïMìNÙè�¼M•¾›<ï]Î?þé!ÐD�­@ZË„—!±•¾òiå~,•–AÂ�Et¥Ì¶17k“CÛ!vy´Šv fv•Z`]Ä\•uÆõ˜{-!ÇÝ­¨5Öø>vä*>n”ÙBF÷_©´j¡ðO,ë–w ¨çÌS ¤‚\»Š}~ä€�~Õ^<ž³f²ÛÏxÈ"1 áMÆ«½ãzp£÷Ú'w$ɳ�°tâ?:nS“£61ò%�ò¨}þù[ÃmøÒ—S¶Ô�´£q;q”|À{­s)_¥Q�y›àv�<ÞJ.Çg?ïuö�:N蹿¥Ž÷ ÙÞ$¹A:gîv ‚ º�¡8ß#¢’±(æmr˜OØÜ©çp„f0‰ã¹{9ö ì|'Ò�ëzÜ=~ÿàÇB@Ç]ÔÙŽêÏR£¹ƒ‹¹ˆjÇ)·8Ðc¥š´�B«pd)´ArR»× ÊXqZ}%u/ѵ®93•ð±ùûRjÛ >vÔ0g£E›¤,æ®Ðã>�•®�‰PÖ*5gÃÅQwŸ×½^M*­ó7ø±òÛñx<�€Gà©B`_Ü £¤ðUuúÍ‘L)¸ :ä" µ!�Ç‚ú°"��éÓ¶«—»‰ó²H°Fû•Ÿ»›—EG~ïäÌ�vÞÀ‰E‚çuÂãöªüÚŒ3+‘±PÔš�XG–wÖY,•¬AþãòÊ¢#¾ng÷nàA‡¨—C¹(LÙ±ƒ£¶@¸éŸ.üÑ.±s‹/Ú© •ð¹ÅyÐ }ûçz(ÝmÂakäà’ï)ÍÙ©×^²W_=aLJÉkŽ5)Vèì� ¥ã¶)kå}0Eøˆ�Y÷çbŒpJÝæV¢—µ‘ÑaGÐn'ilÎi˜sIÀ5Í{‚ë,ŸP×ü~k QG67jÑ9AFçìð+oÛ‰÷þÞNæêöû¥-;ûé§výõ [m²ÑȬS¹Â„y*ŸøúMµ»-;¢c£sO¼p¼‚Ž|ûFÉŠ† Áa<�Ã3×ÏüµUÛ˜††käÑnõ–‚0cm¥Gšui¥Ìºú³"Á"¾; m×Õ£U €ÈÞšï�[zW¥UN­Ò*Ü*ß¹-Õ”E(ãoç©I[rJm•6Ê=¥–jXWòÃ�0˜‰{<V{Û~ÆÓï›GÀ#àðx<û�ÛàÚWuœD$U£¶%W¬M%EB–¥D”êÁTJN™"»ú¬Â„· iÔËUÁUs9º¨` åž~ ÁÕúUFHáÌRfÕ´^ÍS(UT\у¹ŸRmåÎÜ‘AŸWIÖgõ˜]{´‰ÐW çP ')ÓrÊ®U¿²"¥oV.|j¿ý§QÛ>¿‰¢6“·ÃÇQ~ c.ÎϽ8r(JýÏ줕FÆíè�œ]êlصs°óù²}:Ü‚Àℌ‹6‰Žb"Ô RŽzvز¥);8U²5¾?Kó_Û•¯SöÕ”Yc‚<Ç4džÚ‚µ(‹Ô?a—Ï›º»)ÿøI#0ÈŸ B‰¹ORÌÐ×#ßmÌ j"³„—!¶U)´]…!“nA²òh»{R2‘u*í€Ørt\Gº¬•Cï"WPj­M#�V*m˜�’p‹ë»‹JÛÁ¡›·d4Ç P‰|ZÂŽ)U•§¬O¿Mñ §ÔŽŽŽ¹¹{Ñÿñx<�€GÀ#ðØ77Fi¨7,¶�“+,A¥€¤ÊŠ�‰|æ_‹í¸e–q›ÝÜØtmƒ¹ˆ­k(¾*-¥)×vï49v¡Ì�7Í¥+ÜY„U¡qRpÛ˜ð(¼ym�Ð=B Õ± Ja0µEN*D°ÅgÔ|´‰#‚äƦìÄÛoÙÂvÓ>ÿì»þÍìïp·½öÂi»úòi›#÷‡Þ¨Ô¾VÕ6QŽËup)øøª�¹Ñ·§GìÅ×OØäÄõu¹<öîÈ`‡væ¡=)ˆ>µ‡_9=mçVí£3ÿ·}ؙ皮ØÑ©¼Í�1PÓäÚ…‘„ò‡-S³ƒ(Äù‘CöõwW׿´¯¿þ�}ZYàX6í¹£Sv|ªÈ¶QïÛ\k�Œ•[9°›±c¹õ™)½rÇ~ø§ûâP ®|_1ƒÚê-¸\Z•ì‘J[sµh²H1P·“C+#©½!ÈŽÈr[ÙUk¹û9îë^ãuÂ�yÍj\Uˆ-*m¸ÂµOýéxƒÒ=ÚR�–§”mˆHƒ¯Å‰Æ‰1ð(•V)%ºßêñ­üóýƒ¥ß�€GÀ#àðx~Úì‹>ë@ÁíªıZ­A4BŽÜ ^G)”X„T�"å×®CjW7¶¬\ƒ€õ0#!Œ¸G«ãÎÙÇ%8�$¿¶Ñ ”Ö8a¶"Í-¹ïBLµ„`:w0’¦œzkäân£Ç™YVès�»)ò>¥_(ßwk‹�¾¦ö…W¾ÁÕñÉLeê$¹¯û‹µª}vqÙ¾¸�^üÊ>;³f×TbURªšÛT7·Ãetnš�ce¶SÇ-ùæ%;ÿÉ [«´�³s²† ¬ßœ·ÕrÎ2íõ‰çQFG,¯ðbPj¸£ã‘šÜÚ°­Å‹öõ§[¿BN0~æòÊMÛèAÊ_:b§ž?moR—vf8éòoï9t¡˜‹“‡ìä›?·µÈy[n\²^™�Š?B_fÙ ÈKŒúÈÃG6Cnðµ�‡ŠÓväÕ7m»·•Þ%[®/Ûõ/ÿ`•›Y»œÇÉ–8ná×K´PEyjÈêû¢3?æ¡Ïœ_àû"@­#¥�B[¥V2æO”çQ>m­/5vUV¥|h�]©¶Rh›äÜJ¥‘½‹Àî%³;÷³Aرs>f È©´äÔ†Pi#¸GÛÜ ziKö2– £ÔººÓD„h¤–H¥Uí iàP÷[5M{É­'¸ÿÇ#àðx<�LjÀ¾!¸"‹j"± ?Vg¨DΫæ.d™uŒ¥µõM[YߢÓ·Žº!Œ�"Ñ0„”¼ZJ %#( „¥ÖÚuW�1O)qÙùe ÍM¾m…¨60]ª5–HnÊrWRŽË(ÉMÂN3tÖÄ$+„,‹ä¶qU~tr{ëì… á QëõÈ‹IÙ);ôÑÇ6þÁûúê¢}óÉgV!4¶Jž)1±˜%>]±‘é£vlDÇTu½'ºµ©Û…(/³‰¡¤½ûÎ&¡«Ûo?ýܾùjÓ>ª‘ÛJþgHy«”cŠ„c6KÛ\)Í Á“¾\¤ÈÇmìè‹–µNê·”yß>þæº�?C¹£jËÛÀdez”úµG1l" ¼Ú‚ ?öCäÏÌÚËï¼b7¢öï9›¿|ÜÞ+a‡^ÿ%$¸u'kŸýÒ>þúŒ}B‰¨2ç÷3‡ßÈ‘·múxÉNmË9·ïTeÏpoûý¨Oz p5ûÔ §LÏf÷¦SiU¾G*ívg�÷¸öi=—7+2+BÌ\÷ Îß-•V÷Yv�?š»‡?Ó#þRX”2\|®ÆÐF•ð㊔ڬ%šEJXázœ¶¡ -­Tä1­TÚ€ܧ5‰õDöG½\üÆ<�€GÀ#ðL#ð¤ËmàËØ)J›Â�Õ1S¾¬&…‡wŒ¦ô\$Xï)„9šÄy6Mè2„Uªk2Ô¶ËÆÓÊÇ YªŸf]tÐÉKÔÔ�v\g+ VÇ/ŒjÜolCZɃ„¸j[i\•¥‹P·xÞÄ€J�{åîjùÕ~~ïNŠs(D­×Ü!|;Þ!‡-;j‡—ÖíÂbk(Åuhjâð?aIŽ3?4n�ÙÁYÔBÂnÓ'ìÕ_ý{›i欎×ô‰¾½Û†Œ¢ÄÖ¤†qí ¢¦²CÎ]ùÈÉSv˜š±“%®¹ÛVB.7XÙâqL°&ì噘eâDÔ ŽeØ÷¢MͳÙcÇíÈù‰ T.·íŒ³Svò­_±`\zÑJÆ\M_mBçA¹Àáè¤My‘å¨Á;·hŸ§Ì µ‹kD%Dâ„]çP…O³¹ß DEaÔ\c£³'íùNزGmúÔŠml×XŽëâ.ü cG¬4yÌŽM“ï­ïÞ]èÜ–ú=`påÜåÌ¢Æ6É�mßìjmŶîri·œa”Sg»˜“ñ¹:*m{‡ÐêžæˆëÎÜì}�½t9´â³§%ý�ǵù9hr¯i%SÇÓ G.-Jm*”ãžHäy´ÙHÉrxdR�JëÒ:”ÚAx$|O üâ�€GÀ#àðx¾!:Dts¤NVìêÕ«ŽXNOO»ÎÊ÷Zó·,¼¼¼lóóó699isss»ŸPøñ6jéÇŸ|b.^ÄÈ©ãòµT›V¤UfS"•ù|Î)¸=HéüâŠ]»±hiLsdœ#ó MJ„ˆgBfC̃�dH)ʘT¡ÅA¨ž:x�[rk•U«o¯@úR„q¦mG^åüÞ ¶\®àvŒ²Çºdf%WyÂ'Ož°¿üå/]ýÜÝyäAos�#,B®:¼Á™Ù³RöA.ÑrÄ•ã³óM‚Ì ¯¤´¯üc^”¡Ò-ž¥õ‚Mh¶BÀC¨²ÊÁÕ²BDÇ/<¥k»îbسI±Bå2 [©ÛÔo�sëì2 à–Á|Iû¤÷5L:&훯TÐùqŠ0Ü—¢¸|Œµ`@’5p¯³qû&´O|^�ãúÎÓpûBþÙ÷D€¡÷Oêl½·e ”ZZ)µ ”Ú:WŽÇõ¾rgU: gî…¶Ižm›ðãA±#®ŽÈB`50µóXl–ÿ[räU¯»Ï*äX®ÇM®œ�CÔ¢�4Qj›IzÔ×0-R°Ìm¥–È�lª@“zKzÂNÓÀŸÈíã»÷}OPýâ�€GÀ#àðxî@à»íw¬å{>• S—ä!j¯ªÓ¾¹©§tÉ�U.�I»ÏèsRDp¡œøT¬QéZÛÁPŠR19:l�Ü*¹¸"Ç™´ˆqˆR/XÒ¿KàðÓnSw`—8Ê.žº˜šK¨>N¨VQW×åÜVÊÖe?¤Ø?í£ZiG]þž‡î÷x~ÄìS0 2xöãÌå4ØV°/ʉ%žgãU[ï^s*íFo•v‰ÜZ©´\gQÌR,(²{çzä„k®]¶µ„2«†BÛ] í²«G[Áª�ÛñÎP\É€¼îÎEho‘Z=Ù}΃Ðã€øò\J­2,¤Òv¥Ô2ð†YT´Î}©ŽJK‹ázœh-q5jKÉ’Shu/U“o€Ì¡üäðx<�€GàiG`_\‘H) šb)RI®,D2PnéXŠàºŽ z†úÌë ’¢+�Í ¸·”]ç6K|©öqÐ| ŠÇм_™Gà‘PÎíjç2ªíy»Ü>Ëã”ÜÁTngjRîlY>EêÁn®ÂàÝoŸ«­òg«Ý g Uëm ÖnðZ¥…Ö)³Ê›¥±ýrj‹m¶åÆîTZîQº_iõºU HìƒäÒj™A6†œ�k´:Jm×ãzÊ"�´eÈ)ÎÆU;ò:\´ mR›MR¯¥V0ƒæ]�¨Ÿ<�€GÀ#àxVØ7W€ï’[”RGh!µêöO:ˆ�Ò189zíqO»ª¬Â–÷ì“H¸ kª®í{ÜÈûõy)©í~Ãå·Þ„Ü^Åöeˆè–[Q¿Ë7˜|¥¦¶ÉÏïÅo¿_H• œ�EJÛZó@©m@d˽5”Y9/:…¶ÜÁé˜u«qGâ³·ÖçîEŽÈî!³;¤–›—þï´€ôÞ®Òòšˆo‡ý•B‹I^¨G^l‡ÖŽY´·X•¶‘µx3Pj•O[ŒÓ(W6PiU¯{PÆçá�ôŸöx<�€GÀ#ðô °/®à d<€w@jéú¹ÎáàuÍr«õî\=Ù™ôÚàõ½óÁãÁçüÜ#àøñ�‰ÔJç’‰Ü^jÿÉ–ÛW­‰š:˜úõ�õÖˆºHäqhŸ´x/;x‹; frª9댟D\W­Ò_ƒ«-®Ç¼×�*KN­H´kÖ°NÇØèÀí8 ®i½]© îYîUn÷ÜÏDlY¡s>–9””ÚpM*m2K ÚeÉÒËgȣͭ�²B†\b ÌR‰´ ;–B«´ ¯Ôîž^ÿÀ#àðx<�g�}ApDq0†Ï‡?t�€Gà>8rJ˜°rnEn¯¡Ü.µ¯ ¸®K*¼WnéÅh¹`IH¢Ò VÆ„ Ó:Þl["+“¨M–C¥%‡Ö‘Üî:ómˆ2dV9·b°n’«�µ�Á5æ·“\>Ä›ƒ÷y{O.m@€wsiQjûRi)Y¦A¥�´!©*çÓ†´¶ó–ìãC& ¹äTZ©³Ê£Õ\Š­­O“ÎŒÿëðx<�€G`/û‚àîÝ!ÿØ#àðÜ …¯SèfG9·",ù’s.,ÃÛÖ«Pv¬6d#¡ã䥬‘Ç*rÁ-rj»"¶[(´ T\Y‘^ÖÄʽv†RްÞ"­ZUâ¸ì.�©å•Ûž‹Ò:²«·TÚ‡©¯|Zœ�­F¹¢õikiJl¿`™êl––+YadÈŠYµaW£Ö™ÛAh¤VsE¼øÉ#àðx<�€Gàn<Á½ÿŠGÀ#°iTù�JgÕJ)çv¹} vãö½…Oª$¶ÅÈáϵ¬’Z¶^d s(ÔÙöªÕ:ÛÜ2aÇA®Öë&fzä«ï0Ô[Jmð�]’«Ïî„kA·ÍõdV-D­u¢äÓâxÜA¥E©�w2–èR²'ŒºœÄ *>äšÚu“5<–Q”Ÿ<�€GÀ#àðxOp+ÿI�€Gà " ÐäÍμ-8åöS»A­[¹ß9…¢äò§CÖ ­Ùr¸jáèÔ�í:S©6k ˆm&ºKV!³Å5 ¸<ß!¯îu½¯ íÖ© ­{oG¡uû!‚+¥¶ª†óq•šÙÕŒEªYœ�Qg 9.äQgQjKùaä6�·L:çÚ¥ÖÊÀn0¿óØüs�€GÀ#àðx<�{#ðDncáªm¬\º÷žùwRT-i‹½YŽ)èCAÿž"ñ–eK+–ÌU X} U°ž]D ~ávGà¾å6C–ª<ÍdßêÉ®-änØbê:æR×�Ô·­EX‡(ùÚ vmʪêÈŠ|j÷‡™H«^s‚Hb=Ô‹ƒ×ÝÓ]R»³ éÉŠãéÖÉÓ­±òl¸Îy¦E!\�#oQª‡jE‰VÄ’íˆe -Î'™Wz–Ë6-·]µLnÃâIH0J­ÖNtµkÌžÚ©Ö Qß'âzçë™ ÞcIØ«‹äºgÙå5·àÎß^ 'eާ³LÎîrÓú˸ZÑ"+}K Þ&"1+ˆÐÆâ´Šåq:NEc–¤E¨©ÆôªË¼Ì¼–Kû³“SÛ)MZëä[žàê’ò“GÀ#àðx<��'ÂBºõªµÖé`ÐH u&b:…�pÔÚt&»ê0Z„÷x�ú¹ÕzÃÕÒM§’– ì/LgÕ}‚šºÑ^‡Ö¦ñ˜8Äï…�~òH»ä�2Þì5í*úmCåT@ûYžr�ªå;k�,r�¡^žé "|×Z0ÝqÔÛÖÚƒ¡!å¶‘îÛjÚlm4L>m”<Ü;®-ÖÍÿ€¡jæëiðF@VwÞæ¥AN­˜«>ëÚ.©ÝYX¯ë³mˆ,êl¯¦†RË\-Tá~‚›*÷˜÷-^ [¢�m¢Nó]È0À“b?Óý°¥P€SÝ ®!ÒkíÆ6h»ÏâeÑ�$À•˜q?y<�€GÀ#àøx"÷ûG@nÃÖǬ�cHš²ZÒ3¤û{~üÌÏ;÷ž+¶TR‹IT‘4‡b …•¶Äc¥6 © 5Z¨äýáCøÂþ†€!`†€!`¼vŽ-ÁU%PUÛÊlKUÛdNº”Órc’Î�þY@¥å5wЪÔÔö÷¤\ÙçF¶-ãqYš£Öd"*«ëªÒö¥RÝãÆ6�±Òd·„»mAí¢ô[% êyiÖrÒoW¥ÓÁø tÙ#¬ÙÓ»dkÏŒÀ$ úÓyɺØÐgÞýG»C3šgž&dí±3ÐðÕå‰< `ú±O~â/!~Rj?ð4{É@Z–¼‘�SqiÌÖÌ¢“Smù-†¤U ë™=rüÀI¶Ÿ¹_»¾©ïkçì«!ȸûuÊÕQjÙ(¢+6UjS-ri[¸wPeÙÒ^šk¢’!$å”ZòlY5K¡ÔªJ«!ÈÖ CÀ0 CÀ0ŽÇ—àró¨!ÉÍxZj HÄvX˜’TiB2¥qIeó’B½í´ÛÒl6¥Æ¶½»%…l Sã YY.H&—>¡‡ë›m©Õ!¿$FØ7AÍÉt†r6½.û7¤E˜s“„Én-I)FU],“¸ƒNrc PrŽ×5ûQŒf<��wÓ{ËH@%ÈÉ7”Iz‚à&cra2/%J˼M-àÇs�PÞJp54¹<9”ÝåŽÉq–øJlÁÍ)´¼vOG¯H¯XÞ É¬£³aÖý”üv!Ê(µª¦÷]>-Eyȧ�n‘ÆPEif1­•Ú¹µ¥TB2¨´I­‘Ù‡pÚ3CÀ0 CÀ0Ž3ÇŽàj.g_•[ GN¤›Õpä1I@pcˆmâÊObE7ÎqÇY„±ñbTæ¦Ó2?›‘©‰¬$žœXÔÜÛ¸lnS3Ú•V³ê^'PÔ<Œa2(ÁܾJêA wÏtFz�2¤¹,A‡æ^ËT)áµf¯�6¿áís© ÜöùÍ‘ïÈ­#¯tíTX%²º9y6�#°C{ü—ª¥|ú÷;âm‘±H¦Ëâ‘â©®Ç=Hl*"Í£åßUh“¨³£-îòim‰ëÕ^u;º!`†€!`/�cGp‡(~=”Û6ÊmRÛ/LK¤8) rh•ܦ  ©…8¸ÕMÂHÄç&PŠž,š¼¸P�|.åœL#¸™ÆP`úý*o_ÚÜx< ±ÍIšc%ôXe„Ié°u“T£¤´1‘‰`8%ƒ¾DQ"„+ÛmîË›xv$Cà(ºI‘Ý1‘f µc'U€u |™ñU9¢{ÔŽxoXHÿn[ä.w‚«*- \c”S¥Vsk³¼—5¥öüì-CÀ0 CÀ0~L+‚«y·=ˆ¸$· oõsã-NHå6AHrB�' ¶äç(ÝÁV«UqNÞãæÔ—ÉñŒ”ŠiÉe“‡ÔF`¿YBeK…´Œ�u(Ô“ýjM"Q%¸ñ ¶‰DŒ’32y…ØöˆsÔ¼¿&¦SƒAO¢„5FÉ%ÕZ¹FrLÓÛÆúcC ¿F”ÅÿhI#�>›ç×Fx³ä<‰bç¶ [‰g³€óf’ú° ±%J…í²á†œjE¥X�Ë8ŽÈšO«äVÿ½°f†€!`†€!ðãFàØ\ +DMFUiSö§•.JLÃ’s%“CåVÉ­‡Ù‹Ê9Jn5÷¶R)KyÛ—u6õu¨f2z@}îžNŠȧ­×[ÒÄ Ëy¾ªÀ#58Ž‚A¢Üöýù¹M縜¤´�–ŠCrŸíÖúÇ=9Þìèñ§Ue�Ðq¤t$»¾ ɧpĶöÓE ºçKüNGb(¸þ¿¶’nc”#¢"Ïë lTíÐõŸ»ô1â^3gô5ÿn^ uV·YÜ&¿á2óh�C<àß�m�Ò`Ô¬µiu2{n†€!`†À��ãCpa¦]Èm‹Ú¶=ʨ·1Ê%´!ÃJlUaqf3ÀÝëõÁÝÝÝ“õ¤Aî^«“V«‡crG–ɽMb쳺V%ÿ¶.{å�MÙÙ#§6î£æŠ”ËÉårnËf³„,§�¢Ob@…C³ÁvFT~Wb>¡Ê‚š«aËÖ^1ÊP<ñ2Ì�‰Eû¶DÛÒ£T¯J¨éãI–¯x4vø×‡Àùòï­A/iQ‹¶�³qgs(�hO:^WúäÚ2L�ÿXÐ*ðï%{<ÝTé¥öµ#»G yˆú;€7Rž ¸&c^ë ¤Ð ¦mÒlÍ0 CÀ0 CàG�À± ¸ÊW|ÔÔå€Ú©œ 1–òȹ�£²*Ùô¨A©j«¶°fàÜ~ŸœÚvGê H„¨�2[©v¥Z몜¢åÞjYVT!´¾4š=ñÉ© B ë{Òí —qNÅYy||B&&&É�'RâgPq»%rwqZîã­Lé $ä6Æ�÷c‘—ýy™赎K47)É¥‹\Yjé¶0 CUï±xa ÷eb}¼Ž•CµO‰Ñâ÷ÚdkµÙˆÖp¯¾´c¾t㤰 5(R"¬ˆË&úÙj›üœh@IDATHs’ ÷e§ò¢ì*á�Ä!Äê¯.Q ¨³[£Îm66”ôÁ¿-Ç �!`†€!`†Àó p,î�ÌÆR�DV:iÈ-Ê©†%'QT5?v¤ÜÕTÕ÷bß oŽ0f c­7²ÕªK¥Ö’sg&]Xò}Èí½µ² )]Of¦2(‚¨ƒÜ(·Ú5›!½¨³ɬ*®6%Ô \š(I°\éC„Û½Žd!¹qH·ÑFrŸg¶ýà} (”lñr”…Z~W¼á‘½5ñkõ|ûâ�-Ç£ÎÅ9S8—¨‹ëóã�v0à÷ß%7¾Ãï¯E¨zkŸßð>*/&síÈ@º±@ú”�»@€…-‚ñœWb.ÝáeQw3׬ e�ÜÎPzM§æcñÏà�ó‚Ù¨ CÀ0 CÀ8f¼ñ;;Uo5÷¶ ¡é‘{ëc.¥ujãÔ¦õœ¡7ª´‘r«�Jt}? V'äÒØ„ YnkMÜvÕCu =p\­w[îËüLA&)”I‘שŽ2´-B—Û­ßÓï�›Kس6ÍÉÕBq•}ÆÒGIîµëÒëÖ$Éu®Ê/'†àÆ2EñÆf ðÔ,”Åo¶¤ßà¹Þ}?Þߎe¦¸A'd;E|õ€ñîWÅïtï{ rVS|'Ç�|#nê ÷Äþ™#±Aâ} ³†�: ­®ø`¤ ‹¼ Š9޲Q”.î§c¡VË�-èµeÈæ·š2k—ë¬õEŸ¥y(ò8d{Eò«±¾6·9^…1ùŒo”âe\ñâ4—þZ˜‹Å!,᨞¥ÇG¿ë‘gÍb…"Ç.¹þ‡­=p¤ÿÞë?×3`~�uD¯*#±tŠ9Ž,ÒøÝu˜›â7˜—D'¸ò7Ïñ£'üثєàŠ1§½ÒsºØâÐW¿£5yûþk~©ÓJJBó§';­µ­UÑm¡è¶¸fmþ-Ð×ÌL˜é¦ùá>Û�Pä€M YB˜‡Ùð·�“œD·‰·¸£i÷dwöŽ!`†€!`†À� �7Np•`õU½%+ùÿ¥™1Wÿ$­»kRûf‹PÜ'YF$ž•Øü‡’Z:%¹™ªÍU©üñKòw�Â¥ŸGsó„ôž–쩳’„¼$ŠLw8—èS“Aƒóݼ.ÝõÛÒ^Ý–a¹É¹b²S˜“ÔÙßHfé„d¦q›M+ÉUÏhîü Ëö \¯~ù�ôPRÛ÷nKgc]Bä?#ÁõR�ªÂ’ä/ ™Å9éÞù'é­~.ÍÍ–øõp�Á]œWô'’ îqf^²—ޗ»—¥wû·Ò½÷{ioÑ?Šà«o¬ø¹Vï�Á¢dæ ïÌ)òL{;ßHoû¶´¾á=X¼ÍXÌyr><ï8#Jð3s’X:'…Ë?“È`Kz\ƒÎú¦ ÀปxÅÈ¡õpZw*o@¡Æj$§õUáekQÒ«ÙbÃPª½ùR‚.%À ¿(¼JâÕ=9LK!PÇuþ�8à½Ï‹«íg†€!`†€!p<xãWk\:çdT½!SÑuiqÎU7cm#r;Rn;�6jkÓL)¡ ›ºõº}o×9 ?¼W ®ÖÁÍç’26–‘ñ’– îÎ^EwÖ.öQƒP~4 —e”ܨæäBt»Œ-ÞkIZY}>Óqaˆ“BEœZ‘8ç‰A<·q >²áòÊ"@4‹Ê:¾$©ÙŒ 1\ò’¾�"‡rãý•÷$=?'™ùIÆ­—ÕU »n�ªH‚ž=?ç ã@Mæ$>¹"‰é%INBò0Õò[íp?Å—Yv¢ïe†)Ý„²KS«xMIr ü9ŒnG5È'‡Z[„€ãˆ=uJ3�ô³—$™ŽÔ>—…H¨¾ü¦ù•ôï±@%ô=>±,‰ÉS’?wQ²'ÏK¤qÕõ¯êðëh‘å©r ’Z<g%^`ΓªÊe Òs£ŒÃoÞƒ˜m×ÍÖóçmXk:«j þ^aÖ]ƒÌ ýŸ¾(Ãz GáŒô÷˜�|õuPüç=ÝOC˜uÝJUÞÇ›Ý>L·C$@[óuQu;úˆÂ«ÏÛm5«Ò3$½�ãL`H•È.î~�Í^†€!`†€!`üxãWo6»„×¶GÅ2Y<-ÕãBˆCÂ9uT÷¶Ñ Ƕ²/µjÙmJnU�éõQoºZÚ§%œVÝ]°ÞëÍ«#_úâЦOG7É|>"Ò#‚«¯uGUr•ÐùŒ­‡{„�F^„ph¿/±¡K 3¦ÙóRúùo¨<Àqxew]ZkD¢és”]ŠRóWºUTA¨$¤wÔ"„‡G!¹*íW¿‘îÆªÔo±¯Êb�£hªÄ6.ée”áÙ3’#Ô{µ½÷¾_—�~ïi�cGb�ã©Ó’\|Gr§ÎHvRŸG6È›tâi{¿øû.$7C(ø Ôïw µgÃiˆ%áϘ½òþ9ÔÇì4êé¯%szIŠçÆQlïIûú5ÊQ1ÇüŒdNAüç?’¬7”xŽÒHý[Ò¯³Øð?ÒÅã/”2G¢™II,¼#éÜù§§§¹)~3,p(³ý 4ý­êÚUŒ9›aÁb¨‹WnL}æ¼nÚô”sñ˜dˆæßØ)†€!`†€!`` ü†›Þ·÷£ œQQG KŽã¢Ê·»¡… ë5$¹A^b­¶/õE,ƒáÆáÍlŒ}j8$WkC„I="y¥zc@`5WTÉo·ëâÌçšë)Ó×JŒZ_Uo„¹ùåöjŸ!Ʌ꘡î³õP—wlýÆ›orMMI¬É�À«³*Ý_‚ü‚‹Âz@p½uY<ˆ È%öQ¼CÎNœOD]”éag—Pä5é®Ý¥Dj—ª rz1ÿ ¢(‹Þ¸d&É“žZ”Xþ& ‰.¤á)ÒŸ—Fñ-­HrŽðçEžG1íÚ]ç°3(Њñ÷aÈØ’„Më1–'¤�ê2V½&8袦 �ö+»Ò«—É &Ï¥îpóPL#Űÿô x’üÌ=ú�Òzò©Âsx �Cš/‹ú›Ÿ€pR›¹@ˆ3É¡:bë¶½A>ôXyàyï(%^ç5J5ÎÐéå“,ßZ•ÞÖMiÞ¹Á�1ÿ2Ä 2Œ–$]˜@å=+­{ûß&G¸§sSG5ÏäÁx4ßz4Íå>4öÃpèÄžöRJ‚vEúU¢’3!þO»ü•�GóS„»“¯‹DVDøýšÏÝ­V¾+ƒzUú»=Ž}ˆáëûë~ñúÛäÿ£Þ4ÿ¨QUØ Ã.ÜY÷²f†€!`†€!ðSAà�\½ÜÕJÈcZ‹ *Ìg´)Ø�NGö÷÷(ï³O¨aY&pF�›Îã|œ�4a†6j²†[L­¦äXïØ•äòœûW%°Í6us1›* „Wßë83*ÈfLJpG ®ö©ÄØGkð2F%¸}IìiôããÑÀ-’�B¡ËCÞz¨¯kÒ¸ö‰t¶ÊÒÝÃ@hD^ÀÂ…w*Eõ‚‰c‡Î"P#©>ù¶uõke¸ÒA.sd^‡`a¸ÕÉ`6.‰q 1øŠâLÑEƒGyexTÈF4?+ñÅ_Jj!!Ùªýܹ%Ík5É}ðW¸0>4€§<�¦!ðÉËâM£p aÝ„GÇ´¦i}Sú•5i^ÿTÚw¾–Î.ê:wtÊîü Øñ¹$¹0.ÙYDçòœ¯lJæÒG߉P¥~J¿nU€ O,’3¼‚ú{â„$ DpÞ䃪úç¿“Æ• 9Ú¸yw&™8.„àÑ£rÀ`Q`B²'fÅ‹¢²¯} äÚÞ{àÆÁò ¹¤é· 9ÿpF²Sç%9~Sz¹˜tkä;«R®ãÁ]:±ôÇ9#¹UÃSáx:Œ§£ãùWÆS–N• ?I-aT÷ÅK’žÓ¡*ù½7¤“™� ùWÕðwöè`^)Á;M_Jñü²ä–Y@õŒæ;ìB’÷ïAÀÿ"í»·Ü‚É�pàï_°8²§×ò¦ç- 9£fÜv„„=†€!`†€!ð“Aà�\% >yš>aÊy¦HcŽ ŒÔÛP‰Eåu5oÛäÙª³l�ÜÙ”LMæ$ÁM‘‹ÚA�mà œH@Pk9Q)NPÇ™øÆ­ž£Úpƒîê¶Èm¼ugÏ㡪¹|ÞãG n¨ì:E%ÓW’Ç�“‚Kü1 åNå=r85_8Føm´LIJ)㑎'9èãwø€¥!ßKéñ'†ê®æE{êà\@ VÓ*Tà¡æ<«óñ·,úÉß…ÀÁÎUr Q\w©aºÓ�˜R¦©a·Úß“û<úýCLÔpÌo*ñF1DET§kl®™.Ó”zObZÒ‰P_ ÖCGdçÈÌÁ;8MïAè”tVpÖ®P×x‡rO‹j°åày´»o_Ñ/9Ò±±S�óS’=�êšObîõ@º˜`øZ›Å”òEŠC “Y‰¬Î»ÇQ ’ –\ä8„5àü{»¸Wqýƽ۹%C(}ί¿Ã9t§¹œres�bB‰q­ö"\×ñÓn<9Æ'¯|Ø@mo1"Üu¡î³_C)^�·N ç€EÎ?1�bÌâŽ3Ù~|¬£×4ìsnÍM”æž´†ÛnÑ(‚£w„ˆ‹ˆW`,ïqºä¨7:àº'ý¦æ}ïEõðZÝU9âÒ¼ÖAXg†€!`†€!`¯�7Npõì†�—�*£Ž<> O‘[ý΀u Sî÷{è§CI£âMŒ“ ŠaRRÛ D¹‚�>W‚; Q†¦ êväËk›8&q\ÎSÿ¶'×®oÈꃊ¬£üÎ̤ ¸Jvpc ã@µK÷Zó÷”°èØ”ÜêX�Óí»ª®¦;„$ ‡äZb¤”œŸ•^µ%Ñõ àÂUŸ{ÀÊØ 3’Æ•yr«TvXk‡�°Tj‰º4hìñ¦xB®üú†ôaRu'|¦œšc¿b)² ‰UÃ¥Áþ]iÞB-Ä!×ïã‚»ð*ðÉ.MJfy™eȘ:E«I–#¸œ»Žsu_úk"Mw:„Ë8%x¾Ï±R�ú›Xú¥dΞ‘â5öZ•jqw—ãU;àÂχ°oâÄÎÍ!÷#p0¿#ê M¨¸§µZ+mB¥!· êÔŒ®ûQÏòŸ;ï±�Bh4‹ Qnd¼n<Ù3§¥x–VÕûã)3òÂÉg…Ó,ÆÓf5c7Ä_ ¶îáÄSÜ)i¯×$R†øœÂ3?hI¥Ø¤mc,Ü†Ó é\ûÜå®¶kPÿ÷è¦%“tÞ¼kJ†#qu¼†¨ $"�/¬&`�4­s .г e!&'4ü`<±d•ñü…ñÜ$‡l\Hþ#GyI/˜÷yù}6Fþ¯¿«u›(ùIéžþ@9Â×ó(Í,EÈñ YðK‚Æ0 CÀ0 CÀxŽÁ…ÌB¶"(§šóé“ÛñŸ$‘1Êyäó„ïòqÔ´\ݨP?•RéêmOvwµFî%‹|ÈT*)‹óc|ž”S+S„4ç0›êK™ðÒvrJ8E–[òC¡É‡ñS‚«còyDÇætæÃß8Ï!IMr7·>—†¿EHêÔÇ,ŠšÖ×¥fíÔR;#Áù²´ÜÀˆêT¨��GÃtý„q‡ðÖêe†0,:0¢Š@dÔE:†³oLópgÞ‘%“"_}!ÑÕ{ä]¢Hjèêkmœ³Ö#¶ óm�Û‘4ùÇ^–rHª«<ì1îøƒ‡§dçæhšpâ8„sÐtª­ß oøùã½p÷O|‘l•¿OäÛñh>ú£ AOìû"oðÛˆåfY< 2` c«1rˆ“8q«J ¶±"!ës„;¶PxÕ|êÉßí‹toû†€!`†€!`ÏŠÀ1 ¸pî–£Jpˆ¤@:õdB%–ˆQ”¬\.çÈm½ÞĹ™mÈX!'Ó“!ÊH.B˜Mi~®:'“ î„LR>geyJ�&Û»uÄ'ryá-¤Y‰³öñ¸r; £Õ÷•Ü•ܲE�B÷¼ÌéˆËsøPJʾ³é¾ôˆK/ºÂ6ØýFZ7 £“KäIRš‡º§r%SSYÜ�„ '¤™Àª÷€¼QTÄCýÔÈíw¾B¼‰|—ðTÂdé/B�b—X$7Þü Ž77‹šKs} …’õÚ ®ª�~KI.F[SILœP:![êí‚�ßwB{èC§¶&)¿Cni4Îu§¶ò€9ç7éãy ¥×ò¨kÎØÝ¼×Ïôû„áG´N±Ž'Æx4÷Yǃ©Úw|:¥gêB™q5/-�ë|‰úÁÌ¥…9‰Sd:ª¹ÇCúÆl*š,’ Œñ—Ö®&ÍÀš!`†€!`†€!ð&87 qôÈI p°ñ1“‘ÚÑ£4"œú¨›+áãºé&pQÎãp[¢Æçƒ!m‚œÂiy ¢†:¼B|5Œyk§EÉ!O Ô�M$³ääBÜÔ˜ç×õ¡ñq#WÅPÇJ µëã…þ(³ÔÜP'À1ZB­•X)GÐ4Ç'ßÑrE} ˜v¡°zŒÇ wùÖp¾%?W  ÝµkÓw ¥”¸É-Kö|´Ò I[ç!) � 4ÿ³ƒbÙİÉAñ¹G½Y�Ú¹=5GªRûö„îRº§DíÝÙIéÒG¤y4W{|x¯äµžÂ(Œúe\Ç:âò2Ƭ‘ล1BqŠG¨_«õ|i˜QáÚD83$�_§þ&†]~¯<ü‘Q@¨'$B]¡ì™÷$á<õ•ˆØøDÚ¸?ÕÀŠڱ✤O~F_1=¢½2 CÀ0 CÀ0^=oœàª±«§w æ:\Ȥ=ÍÇ=LpGP„D×1§>ê÷¢(¾ù\J¦§rHu1�ЏÐeÍÏÍç2¨¾ù¹MÙ§DL¹Šaޝ„¸ ÉTÚK©:|ÁÕ>U½õ•”@4<ÆðGçkìïˆ(ê0µC%€è$q@&´VÏYÏîÑT#”ÏÕlÈcÆbñØH”1³ù-]¶Áî*¤8%½F J2q#¦qjÙÞº. jævÀæÛ¦ûºÜPBq)KÖÁ}ʨX àΜZ¹€‘Õ ò.)y3^€ðî�¾ôšpÑ<ÕÏÀµzqUL˜“N­u¥XXP¥_UJG¤aöCÏX�žÈgö» “kHÈ·—æz«yTD•ôƒc*¹MàžWòË>¸†ûÔ€ÖÇÑxUtýùÇó}ãNàøœ?E>öIÉŸž“Öuêõ®!­�]é•%‹s—¨%|šåÑBÍ÷Ô>7 CÀ0 CÀ0^-oœà*•‹Aª’”3RÏÕçF^�‘q="§O[5•’Õ’×#<¶ŽB[*få™jâbDEü±º%k¾íW76e{§iN–Œ!ªYRáA0ô8Z_UÛã!Êúž’Ž!„[ûÁÙŠqv!¸(Ì#2¢_z®¦²-ÊdgÀ؃,jXiš|Ç GÔÔåø¡yÄ’±Gâ9Iól¸ó‚•�ªª²Žñ»é–ª½œC£BY‰»% ´N.8ES¥ÆÑzñ‘§¥¡ãJ´Q’Uy*¡„:EùÈ^å›!.âå¨Í 6¨÷j¶å7ªàŠC±âòÝÀ.Æñ,j%ù¸,¢DP¾Ÿ«±@t 馔Ñ@Us/ÍâuvË8/ J»6Ès”\[¯8‹ˆ ÆåŸZMV5<š|ó<ãa{ÌOŒñÈóŽ'ìñ©£D7xùIT˜äØö6ïKëÖ=éÕuáƒù )÷óÔÆ Ú‹ôó‚ýÔØ†€!`†€!`†À³#ðÆ .·ú‡4& �íö©Ù9 ¾'¹}0(GœB=óቩ™Äèvçˆ[‹º›»» êØ¦evfÌ‘½>î´9”Ûn·wïïʃ�ºŒ�O‘› 1 äMÅOU[%ËÚI<âýÛü[Sò�€X&Pš_•H9t¨gDùž‰%IN ˜f!ã;5B…)ÑÓƒ$“+©&PQ½h‚óQÂ©Š³ž�†µ²X á°ªF´Ì‹kz\UÈÝCø–þÕ7”ÀbL¥õT½áÁt€÷£i K&“r0QµµÜo}Þ=:úþ¤gô‰sÍq!Žºkϸ\^ê$ÎÉà‚ŠϲAMãÞ$’�Þïaýß=0Uo{�·9É ûBFⓜw½.1ÇGY”p\ª *æjvÅõD‰—€qúá¢É#�P*I�9ä˜=Ü¿ãœObjÁ=�mq<„gö;AY¢ÙETq:åŽ�ºôk(¿äWë¾nA×ãUæ…“¹¸KÔ`¶2 ;Ç|áº=Ñ š\›Ac—šÄ7$–XF˜Ÿâ˜'%sŠ�tB¡‡ÌéÔ<ægŸy±‰©ÓMG^„«I ^:÷u<”·ÒñŒ­Hf…zÀŒÇnÔw”WïûÖ¬5vŸ“à=LÅêkg†ùÆy5”ˆWÐsלá8êù‚Äs,ŠD˜Ç:ߘ/Ö CÀ0 CÀ0 �7‰À'¸Jôâ„w¦B€½y”„o°ŠÀ#ôQCQ©¸.’×Jh3õ5—}7·kR©Ô].®†*k®YÍÅÔ?º©‘”ª²‡�wøŽôBú†ŒKPn£�Ûø�z«d<ªá¿/¡}œŠw¤}Oͦ¨ãº´ˆ;ñ<Ê䢤W0 RRƒ§ò°GîesMZ7¯KçÁmH×TZÈŸŠ(Ô°PXج«UËdPUY‹†9²ä8k8´ß¼-Í×P9¿‘öæ6á¦zŽ�} ¯e¡ �)‰)+T:#©eÎ]ÏŸˆ!DSó}}7Ž[ÒܺE-Ý;Œeýá8^¾ôíw©o»¿‰“Ö`½(ÙRâÍ·”�C‡Ý:ç´ ._£hߢÆ/ª6ªôð…kÕêõ›†Jw?¦üÒŠøEIN><ÿ‘¤Uµ$Y§jÒ6ot¥Ý£ïÞ¡ÉOJÎõ&ŸuõciF0ó.v>)ÙK+¨ÄZØ %WÃ’w?圮Hûîm„X®‹›o‡ÆÓe<]Ôëi”ÕÆCNù#㹎[so�2Pª=Òÿtv™]iÞα¨�$t~’9 ¡>†¶»ú»¨ûj’5`‘ÃÇ”lèˆøËùmüð‘Ú7 CÀ0 CÀ0 �‡¼q‚«‘�1K¥4¹íÄ›Òé¡Îj ÞØ“¨*îã¤TÍ¡â({1™£¨hµZMv i{û5i¢zr¢˜•´¡Ì-nÀÓäzJŒQ€õx�Sa É„æ.ª"’Ûä0Õo1FŒ¦xjóÁy¦¥‘%ö÷W¥ÝG¥C5 À QÈK´g›ìóê‘…“×`•ëI¡ªžÿh¼£Ù£!`†€!`†€!ðúxãWOUC~cÜxg¨ÛÚ#q€iRÒŠÖŠÊ¥DTIî“„Tsi•ä&“i)r»K®­†rvP’êÍ®L¢ð$ö ‘L™”+Á Ò„·�ÜÃP‡äíNÉ- bõ6Fnp ¥0 qHð^èï|x¯}Q�ØF(aÔÑðáµÏá=[‚4h>-Dµ«DSM�’8W·¶¹QÛ—ÁÎ B’ÙW7ðŠ²¡ûq6X§ÄvQÚ8¯PåÔã£l×í½þOÒ½“”º3£bßoO ÕQ÷?8†¯„šqhÙšÃãøöëß÷d'gºùåo¥õ J}GC­!}ƒ=l:.ˆ…°cÈw÷NBzNZ$ÕÐa¢ãa,îœ:œ“⢦Zß׆ZÜ—ö͇\_a,U4!ÝGc=oÆÑD1½ ܼ&M]8Ð1èX.àÇþA‡sð¨júUŠOIxÌAe�pqÈåjR“KEcüê�Í‚B@i ŸN£9ŒÏu< ò³ï1ž�«Ò ,Äåññhˆ2}=Ñ ß„˜÷·¯Iùw«ü ï\5,{Ô�Jûb‘ÂÐß`]ç†Öj¦7Xý\Ï…¦ãÕœÝÞhÑä‰Ní CÀ0 CÀ0 Cൠp,®ÞÛ{Ü(;³©h Ó(Ü…!¸Ë0±U5×½·vL2CÞ"!Çj0¥ê¬’X-­£Ä5… U 'fÍÝ,QN%‡ëo¤$W ®î—!Œw”·;:¦’ ·)¹%,׃x%K†›÷47ñZ¯7ìý%_úSB=€D ÿ?SƒÐä?úJŒÚ�µgnœ³*¼u%e¯£…¡Ï}ThQGâ#ä ²çTUE_j þ�úÜÀ4é{›æã­ÛA5ŸïÜ%Àø‹Eƒ§·ÇÎí™®÷Á¾z­uû!ãyb z ~+ÝžzöÒk ‹lÏ4Î':µ7 CÀ0 CÀ0 �ׂÀ± ¸z¦ެaÊCŒœ:Qr/É)õÝF©¦6ògDDõû}Bz{(F5Â1+•²tQð”ÜNMeqaF²Ød")3Ó²¹U¦TÐ.ŽËä=ÂPµ¬�K‰°«©«¤9µL⇪· %¶ä�f4ÿV�”U±²f†€!`†€!`†€!p,86WÑQ©&N•ê*«FSQMC Pd§â†ªÜ6ÊmC .eqRä�NP'öÔÉ9wfY Ô–M§S²²² mr UÝ-—„¼²Îé5U9¶†9‡�N4ÙE4¡Õ¼Û ù•𬹷ï¿´ÜÛƒíÁ0 CÀ0 CÀ0 Càå!pl®ÒV´Z‰C$U1*±Õ’'La¿C¦ *¬�QW6ˆÒ(·Þ¨K­Z‘üü´ÌL�ËÙ3'äâÅS.49N>é™SË.÷¶CHf0| Û÷´šYe){C¸rBsé\ÕÛ(!ÈQv å6Õ#ï–ÜÛᙯ&÷öå]D;’!`†€!`†€!`†ÆÇ  UVB©eƒú„kÆ ¾×fdàQÒ«J®3‚ÒïR'�ãð‰óòî¥3²L™�R¡ˆñîÊTåóy™ŸŸ‘V«‘õÈÙ% z¨ûcŽã̤T™ÅΊ×1¿# r3�Ûä6ƒK®*Êš|Üf‰�Ç0 CÀ0 CÀ0 �'8fC)ƨeƒR˜< EK®hÍSB‡•�&pôõ�^†­ïApS”މyE§Ô¾ù‚ŒšœÏi‰¥ÆB=\u½ÕÒ@�c”77w¥ÖÀõ•}]) È´†%G)%” 9MXr‚›'D9M‰%ÛT*¢éÈÂcê+k†€!`†€!`†€!`Ç �cFp‚£ù®qV%™‘n„ÐeVÔÔ^,Å–”Þ€’=SUWñFíízÜÅ\ GaÈkÔÕÎU^<”euÚmjzò�€×Z–È£JŒÜÚx?ârl¨·‘�c²*¹ôå8Ö CÀ0 CÀ0 CÀ0~_‚ ¹Œ)Á¥ìŠ>ƨÿCÕm%2„g¤‹óT’Úƒ¬*í´»R«5 IÎAh!Ç1WÍã…ÐvÚ}i4Zà6b­’bÂ<�8ä9Ù¸Pä4y·jn•!DY‰µöé9‚kÊíóLeÍ›V'l4ðçÙýG»�sÿV�å˜Åç×6x»àp�dX3 CÀ0 CÀ0^ ÇŠà*•Ô¦9·Q^DìþSBªNÆJd•|¦¼.�ªêªóò@*(´›k뮾íÂêᾜÍeÄ‹zÒh¶d}}[®]½!k÷V%hC‚Ñ|Ç8r2[hQžhØs[‚ò@1Ux�Ê8×d‹µgGàžLË~-híϾó�xf¦Ü•™'Π1.rûçQI2ßÞ¶¶¿8úe¿mgnçk†€!`†€!ðº8Vwtòz;ìH®£·„&óUUr›ŒôÈÏõ$�aTR\�\ÊRÛÜ”Z¥&9JiýÛB)ïJÕªuY½»*·¯#µ�IE|)Æ#21.@Œ³„:'T±Õ<\%ÖŠp8†Ñˆìñ{»Øî”óõ`BÖeâ{wû©~!ìSo™œq¶«5í|D\Ô³}{É^@|¶fôS�õv^†€!`†€!`¼yŽÁUÕ4lj7¥eƒôn8Ês¬¦ø�÷xíEÈ¡¥pP’PP�øÌǨqÛƒä‚|ÿ‹ÏåÁ�;˜QQ7WëÜpMî4%Z-Ëì°+%Èm‘cß7Û —�«ÇÃIÙ‘4%¹á848ÜÞfZòÃ&iÄ…�×XŒ(È0–¥ÌÓ1›Z?ì4^Ú·”Øvj¾t*ÌÓ¼'^â-�Ó…ÜúM_úe2滊Åè—þÒ ·†€!`†€!`ǯLÐèš(¹…gºÛ`¥¶JrCº©®Ê± _§Ù¡ˆÍqe61ðeçAUö»Ci’£«zb–\\Ul§RQ™Ly2AØ2Y¼äß*�kïj_îh®¿�Üò)¼ü¡Ù­¸ƒá;ÿÄX<Èt7%èý8$7ÿÎïÿÔ?L4ÊÒ[­I3Ú‘Èx\âé·�à’ƒ\e±i—ßoCçÆÛ½òSŸÿv~†€!`†€!`¼)Žå]¦J¥–#õ4P‡÷ŽR݇M©¨)'y7ABî8Êì‰d”š¹QÌ¥ÂïÆPqUÜÜ’ê'u rqæ§Îº··éo)ÁâGlè±p¤dÿXþÓóö^ ;sCÀ0 CÀ0~"¼‘»ÌxqB2'/�ü‰L"=�©N_.”š2ÕÂé%}¨2û[Üä4{ó®dU®KæÁÛ­à*ÁMÇ<)&ã2>–¥>uò-žo÷©÷ŠSâ§2o7vö†€!`†€!ðÊx#7wî}™ûÙ/^ÙIÙ�_?“vÍõ}êS—rû¨ÖþúÇó¦{T~ÿmÑüÿ–7¢-À �J6“dìí&üoódhòïD¿ùv¹«¿Í×ÛÎÝ0 CÀxݼ‚›Ÿ‘üÊÊs�ksRÆÇ÷ÒÇyÐïKŸm€j¨ïù|6àýn‡Q ¤RɤÄãq‰’{ë¡ Å<¶9‘¼‹Ç¨—'dÂ�·µC€J8?ª¦óÆn[¶Ê7n�aã1üßEÆ?�=ÚG�Hº·¤žŒªœMÇxe¾é'Ö �·� VïîÝ·ïÄíŒ CÀ0 CൠðF™’[%´ÍfS�ºTkU©UkÒj5¥ÕnI§Û‘f£)ÛÛ;ÒïõdzfJ Å"D7%étF²™ŒäóÞ+H>——[H€�à¾Èuù1î«‹%¾¾/ÿó/[n‘#Ì %7[‰nø¿;­Yýöyã‰÷>TåÖµÑ#ÇQ2;?™’OåÔ\Væ&(ee÷({0 CÀ0 CÀ0^Çžà* Pbû}Û~OÚí6d¶% n³ÑpĶÙl<6e¿¼/•ÊžÔ) äû}év›R,�ËØØ¸ò(½Nñ8"Üb¿d8éÍdÒ’H$ » §æ>Tó^Øv¤ã‡@³;�mÜZ{ ­¥¢ ·Jtµv­¶§ÍÇ_G$öÐi=þ¾ãÊ«ÚèS£oœÎ&‹ IÆmAålöÔ0 CÀ0 CÀx)ü(®†7› ©V«�ײ”ˈk×)¹Z¬ ™Ódb =ÞoóÝ|.JÎ_BZ(ºíV[¦&0ú‰'yQ’¬ p9Vvêm©T”RiŒ­(…B‘æ˜xÞ±‡æ¥L€·ý ¥l E5)õÕ¾ìU:n.EtNAru^9²«\W‰ï!°Žà¶‡>}ô©î· ¡½³Ñ’éRRÎ/æý‚½2 CÀ0 CÀ0 �—‚À±eq£PäN§�ÊÚ�y[ÕjÅ©·�N‡üZ�„†¥W†¼P5·ªªí %9 :禳Ú¨llw¤?ìpŒŠËÁ-KÖsN¿J”•8룷Ýî¶œCÑÍ:ò;ê㥠m9V(e]˜ÌÈûgJ²_éÊ�õ:ª¿c³(¸Þ!²«D—÷�º{˜æ>ýtôëY·îJ¹¤'%rpó©Ç}ú~ö‰!`†€!`†€!`³3iHjc©ªìŶ%;{}‰mé´ë’LÎÌ# ÙK…rÚpÈq…V’› ÜYûRœÏ®OSr_Ê|;vI3G&ŠI9½�—wWŠrw³)»å.ä6�¨;"<òÙe ¾šŸ«óCÿÓÿµ)YΠҪKòÜXÒ…"�’çµFLóüä|V¦QŽÁ A³¿†€!`†€!`†ÀKFàX\ KÖ�äݽ]§¬j­�D"‰úšr ¬æÉjþí îQê'±ˆÈ°èÉÒBN– R,¦P_C³ u7‡~Eš”j5«Ö¤ AÖcÅbš—²”Qy¡ ¡ÐJéûJl³Yòy¡_2þv¸7Œ@²™KÇåÜRAöë]ÌËz²µ×‚ÌBj‡: µÌ£PÑU² ÁU²«qÆÊoæŽ.“(¹]`�åJòþÉ‚œ˜ÉÊ8ÄVg—~Msz£<9Øå Ÿ¹uo†€!`†€!`üô8F7@1rÜqNÈû{8!×ë.„XÉ¥n‡]Ž•ŒªÂڨפ^Û—XÔ'49%㥪«Ö¾%‡&‘Ë&dŒ÷&õ÷RƒàF=n6Ï1©ƒ‹Z«uqáºN%V§f=¶*¹Ú§*ÊJrbÔÐÕZº#BóÓ› oïÅ!°'frÒíùr£!û˜�µ}éõ¹ö*n€Š«Ä6˜J~•äªÛrª¹>äµE´À¹¼ŸÝ¬J¹ÖGîÈIB (¤5p5×ÈíÛ;ÏìÌ CÀ0 CÀ0^=džàjýPÕ´�z»¿¿/»»»”òé:õ+I Ûd2é\%�ªžiȲº!×j©R¨”ëËx1� rŠZ· � ÉD:…±O.%%Ý*¡Î­í9– Œ¤JîxétÚY=¦’W% J²[ôí�hÍÅÍð½x\?�­^ý¥±`‘N¹‹ûðú¼ld>îr|G$W•Ü&æSjv¥ùºé4¥‡ ÁJd¬½J`’AWê{äÎç˃þ„leE>$D)Ö:¹„5C¦Ûí–«�«ýêwž¿iÈ+&Fä·ÔHkèQê(ƒ oRò˜b ï‘ÃÃ�ôÛ éâÝè1~�4EÍ%|[O‡Ï‡ƒ.e‘¨ ÜîPòHËùޏ£-:£¬¨šj%R�û w‚GÂi1QòQË{­ 8ûb´äk Xeü¬ÿ«™[£pñáÜZf)NǪ@>K |ÍmîNÞváäÑT��qÎ�Z± ͰiÎ+Ž×õ}Ù¸s[ÖÀg3B�âV¸ñ,ý=þÝÀï³€¢nÚI1†H*/±TΕøIƒG)—�EòqÏŸ,Ê^ ¹Ñ„àêñBlÀh¨9ÁŠäŒÂü\^³Ø2r[f*Ó"ReNÖšÙDÕ½¹Þ�ó‹9tQNÏ$¹¦„ã:®>óŠ�|æZ&Ã\M±À£ù½#XôP/ØT…=úäüÁÀ—¸è5H%ãî<Ù—^ �«ä$3Îv¯�ù–ÏÂ�Î)æ QI¢t¼ ŒØH5Ö)cÍ0 CÀ0 CÀx# ‚«ÆRµZÕ…÷û= ¶ŠŠæÜŽšª½®œН†)«ù”SU€µvn½^᫪¸émvx«�E½]Y“åÅ’rë�Þ¾·™C¥ÔZ�ö£›>WR­DVÉÝ`Ї8vùÎd2Žì¾Á…ÌAC6ï\‘Ïÿ×?É*Dg«ð�üâòŠüÃ/—%‰’ø(I€h·k²ùå¿Ê­ë7åw÷Ò2[–¿ÿ/?—s'ge ®´ö¥½wWnðù_Þ ¼¶"›ûuéùŒ1‘ÉK&?.ÓKeéäYùè½E91_�dâµsGnÿù_ä«wäËûÔnBx{ˆš¨;œHe¥41'3‹rþ�KrúÌŠÌâR¤4γ´^}]êÛ·åãß&WolKúÜßËÌùåWgòrbŠ’MÏr°çøn¿µ-Ýò]ùóÇŸËÇ_‘ôù¿—âù߸þ/.f\ÿYŒÉÞ])Arw½.;•Ž›Žóî“7t€ŇèFõ5nË,¸ï»RCNÍÕ�Kp©6r}­!»ÕžüÑkJ6R‘ne]:µ )ŽÏ‚ñ‚|ðÑ;rñüŠŒ§)c„¹ÙËjÃ^“óçz_ÿÚ]ƒª7/)0xçÌ‚üêl^”ä?Òïwª²öÕgrûÚ5¹zwSîoÕ¤E»——ÒÌI9sá¼|ðá;²0U�qêJ[™ßG´†€!`†€!`¯�gc'¯``J&Û(¤Un‡œ×�̪2ÞÔëçºiÓÏFîÉmȬÚ!Ÿi.£‘SÒéÔÙ‡|Øí§up§&rÔÈ-QFHÝ�CõµÓÅñv½&�®'=rrµŸ°·›ƒŽcˆ¢ÙC¹RuY•s¹¼#¹á·žç/&JCÎyë®|ý‡’+Õ¹3Y”üXIþÓÏ— Û#jþðØ~¿-Õµ¯äögËo?/ˆ?×’Ó¿¸ Ë}É=iîÞ—µ«’Ï>¹*ÿò§¯ÉýlÈ~£ãÈíçç*iº0)ÓÕ¸Ô¥$++“²ä!h¨ÝeHË˧º*ÿëf…8@ÑSrˆ’CI�ÇQéòSRœX�½–/Õ~L><7Í ,9ùáp>SÅu¹£ 1¹Õ;÷¾�õ[‘ùŸ¿—?¹%�r!}^ÎÏ¥Á}¸ãKz†º‚Þc¥Eÿûë_Éî½Ïäßþù÷ò�ÿã2ù·3²ÿ™œœJÉÅŰOUù5×·L8ñ!íJpU� ‰¥SSçE6“\&Fy ×mt] ñCéPÑ%\YÕpUt™[궬ó¬O~“’ÇìuS@IDATB{] :»L…-iïÞá:Ü“‰‰]™](K'ž• ™—‹ yI�ãô­}>$ôþ~užó¯‘×¼{ïsùËÿ(ÿßÿ7©åÞ“ ÿ=É'äÃS9¡ZÖÃ~¸vÝ:µ¨·ïÈןýQ>ùçreu_V©Üç<£Iò‰ÇÈf¹%CTàþù%I/²�~/ßð\§i;†€!`†€!` p,®†WÈ…@"=”.­_«MC?á ®�”Ûf³Ž‰T§e6ÔZý\Øds a¿©¤îâXŸñòãð=3:Š£<  |>"·#‚’jUrIïeLú~½QwwrR]~�G |H~ç�Üÿúùÿ¯”+:òM£(³KçäÒʬ䒄qs•»­š«ë:ÈO@Ì’¼ç žJ ¡_”gâôò“'Nâ$¨Ò@~¥é"ŠæëžY*È{§ÇäÆjUn®êN‰ .‹&@Æ´cî(¹ÖHæ§ cV5W‰®~Æ1tžGb˜fQ#7/I|ü¬Äý]i×êòç?Ý�í=Æ÷ŸßÁ�kÁ|~.!WCäš7÷7Àÿ ùú*QŸ_•k7îr ö$sr …#/A¸0°çK¹óÙ¿Ê¿þþùÓͦ”VÞ•wß��éT[ÔŸ¾{ã¾ì|Õ—ÿ§“pænScïÈL WrÎïà×õºöÒ0 CÀ0 CÀxu¼q‚«ìS ®†(}Œ{”QòH8• „wߪ܆ߣîmuOz]ÍÕm < ÂAP25k‡ämjPÄ'¡Þb#¢άù´C—_EASå·�"7Ðç9§N�;`ÔÚ?ÿ»c)’‡¨fSMTc%ÛÇ¥ û8ýÖÖdkõ–|úÙMÙŠÌ‹·òެ¼{Fþú£“RLEqãÚ.9§pAçbä,—²„j+ÔœäPþY\ð#i‰VdáÜ{ò7ÿé)fXl /´Uß‘feK®Åp&Äø/k·äAÅ“÷yQξãKžPæ£ .7ö©= ¹üúŠ|ü§ÏåÎú¶< 4·Žê飾]|x:¢>׺SY“�Û"Ÿ²‹"¸ëæÅ8§ó¥q ÀŠRÌb:†CqxÕõxôOhw{ç–¬Þ¼*þäs¹q�Å€2!ñ�Qí?¼Æ�ö­s'8Ť\>•ga£)÷7)_ÕÒ&M§iåÜÖe,ï0&MÍ!Ç¥»†ÙY³K¨2„Vç^„°åÀ…*+± ·¨.¼¸°e\¹Écõâ‰åø¬™�ns]Ö¶;RìÈÅKuÝ®,i88‹Êž{¢ªeÁq§¿.yÓª G'×�òâä Jû”NGzÒÙ ;w¾’«Ÿ)Ÿ_»)w6ʲCnq¯Hæiøš<ôk²u÷¦|õÉ_äÖzLö¼¹töùàòIY̶¤³qSòÝmùê>ÛŸCÄsòá/N»´�TZsçÅÕ^†€!`†€!`¯�7Np•`¸r<�Gu'ŽÇ4vDp/(hl¹¼�r a"ß´��Ê5QÓ(m)B�7·²±Mè'µp•Ø8’ ÕÑgJHÕtJ·ž#¹ârL[˜u-íâ|O íÃå�à*¹Ö#À… ߈¸*ÄJv�Kv©µº¿)U̵6›ž¤Îž•÷þî¿Ê¯.ÍÊ8�*È€Yc¡¦S‚P£„ó�*Nâ0‰b\‹�‘JØîÒ’LêwPýÁ pKf=9™mKù·eùlg‹²KÔ®ù²‘§šFEqãzìB¾¿ø¹zuGþõ¦/ËgÏÉøùÏäîïþ(Ûwö$¯2ò÷´Nm�¼àßÉ¿s}×?¦ ¹±U¤“…i)L.Ê…-—._–N�ËòTÌiôᕤSÝ–�k�ë_Ü•ß_oKfú„üò£ŸÉƒ?&wÿýSWÒø”–‡à¿s"…ƒvœpê�ì•)M$¸þ:†róöªlÞÞ“Óï]–Ëï]’~õ�40‘ºr{ w¶!ÃHèúLD ™tEÉ-x:—åC„W_«¢«Œp˜š‘² ƒÇx,._­õ%7FäÀ¹Ä•+†»tc÷®Üýâ�òåÕ›òé×÷d«Bø:¥¯¼T‘\ë1yÿoÿ‹|𛿓÷fã²”ázݽ&÷>ÿ“|òuEî5 râç'ež½æ^G^ˆû°».÷ï¯É—_íÈ ðײréWòW¿~Wþêò< ¨Õ‹“2Ÿ$lÿ×åÎ?ߤfñ,ã%§8�Cá%¼ýðäz Æö¶!`†€!`†€!ð28WË{8êB>pDŽ3¢�\>$›zªàjl'áù¨iœog§s®ÖmXݧÓíÉö6ù´¸¼:ê†A”6%²÷)”Â0ŸŠË«.¿ßŒ�“óœ�”)rIÏ¢^|·$ËK¨–wnI÷AYH×üŽ’ä$¾ÝÛ–ê &;¼¥×·ÏÖƒ<7Q2ÕH«BØt,xò¾,SYO2ñ¼êŽƒô�Írª³,ÓËäµ^*É»›Rû„�§„V«¼4$Z½-‘ò}@^mÌ£¼ Â�cnÕÉ£­³ðr‰ùw–²BÉæžtŠÔW^ß"üƒ¯Ôœ «Jˆ] ]°T²« ´+-42¦â}%¹úìG)Ä&Q$¸n«Û]IݬÈXl(í*˃Mr˜¯Ê§¿ÿ”0ñM¹·×–‘™Pd�` †4ExuQÎì¡r“;6'‹§æ$ A×kÐÞ¸#Ý+W¥F¨53æ‰k0ìáîÝX—í�=¹·Õ•èҜ̟WV–—dyvÜ-" ’=ÉÎÈÚÆŽåé•·å>¦\+Ó%ÎÄ9æ“Ç}¢#{Ã0 CÀ0 CÀx‰¼q‚«çâ\‘¹9O$’Ž8(±冡ÆßÁ)y€s²’� ‰¥cYrbÔ·Å8©Ù誃™RÌ Qˆ²’/}ÿÊWîýb!îËÍ[ÛÔÇ%¯”:¹$‘*Á=ܯŽË½f,úŸº-÷!Ù=úwy¿ú…cÐ"j•§ÌK6…ŠÙTyGn_½!(?S¿4.9®°šp=Wƒ8»�Øv…ãnÊ�;÷q}€ÉÊpaNÆ‹9™)B�LÕ> �ž9#ÉÜ”üÃû�ü¢+”ãÙ%^|MV)ÙtÓ}ãûÇ6 <̲RRš#?øòiÏE ½ÊÎík²y÷–|ýõïåþí»!\ÙÏMÊ/–2˜&…+=¾(³?û¯ò› }y’žˆS9¹#å�3òú?Z¿Ub ¡¬lËê_þYîþéú`¾5+±ñ áÏ&¦Ši6-“,$¬LÄ1ˆ¢Ï¬/wþíkY-¯Imæ7Òˆ!ãÌg§.?Dx K �ÜGÝPÉuîݨ·CÝ]áA_ú­¶\OïËLû3Y»õ•üÓ¾‘!  ?’Ëóct1�!ý¢f/-Él)Nþ5fOɬŒŸûµdß“ÎtÜùßøóž|Åo¥Á™Õü½¼!•*nÏ�¨œ(�ÉüÒ,¿7ÂØÙA¯š§å�fçel†œÜ ª:¡ä[U)Ÿ˜â÷‚I‹ßu�êÝÞ3 CÀ0 CÀ0ž�cApC)­JXç¹ÛÑ£’M÷œ›~å]>ò”†§µ)¹ŒšK«®Èú~x[Í_ý.¸ècTkt²EQµ¶mÒÛëG ¶yò7qWw¹ƒ#b­ýi órCÂ=@ÝÕ±|ä>Ó¢‰¬Ä 'dvù´|D™¡oÈ/ÝøæßäËä¦$Zweò5Å6Á66Vt¤'udL*‹­25„¿$ç²!ÿwò®ä =ŽÂÌÔ`ªU߃8êz�š­ã röä{²<7!“”±�G=µi�YÝÔ�wšë $¬Eذ:Sz)¥†qn윜¸pI~ù«K2‘óÈ/ ¤<—“ujÖvþåªÜX»'÷oÝ—Òì)9[š—Y®1÷h/AMÙ’È„öïÓo¿Ž�Öá\ÝÇFBwà“s‹r{ý çL(uU®¶0�ª 4C”»1§¶ëSÕÖ=j¤€s[>x֙͜쓫\bÆu(Ç:²Ö‰ª?){„V/F~ùÃåüÒ¸#¸‹/jg§æ øäEóým$rãnËëùk\hæÑ 1U¯5Øáˆ6ìA¬ëU¢Òò©™L�ÛäÉC¸iÎo,«‹+9—ïÛ’[MØz»¥e•Ž8¨½e†€!`†€!`¼bŽÁ É£GÍmÕ›}ÝFDstþzo�ÇQQã„ÌzÜx¥LùÏ‹¡PÆ1©ê‘#‰á7ä*iýÚ‘>—RGÜÙ¢ÌÏ�AfQpùŽ–qÉSî'_ÈÊÜܼÌÏc΄ãíáeíûáxÔmXǨá Ççî=Jl< ù;ß�ÿü÷[’ ¶ëêïÿQ>¾W�ßÿvZN_x‡:¥—äòûïÉ»—ÎÊâ8ÎÅ”ý¢'Z—\×ÊíÛò»o<ùò·I0Ò•”kòwU¹F²¥ùÙåsò‹¿ý.ÂÓ2EÝÔïˆõÂÑFý=réÒ !ο�‹ï]”¿ùŠ0=Fx¯¿2-•ó'¨![©]•kkrýê]Ù¿€jJ $L Ã~�á‡ô`V6ì’×Léž+_Ý—{Û�»K—erü„+�³EXp³MéHi§§Ÿ1̼҉)Ý ùÍÿ~F~þw˜žy)i¢²WëÊ êÇþñ/¹¾Ú“.ïQZÙ9-„,[JHg–¾>ø hÞ®`5ƒÚ¯úÑœèÓ"éÉžäÜ{Sò¹"ËÓ)¤ãœ+gǾÎlŠÅ Á^ý Ù;$Za€¡ÞcÒ%Á:Fv&Ã1]l FÆ•X"å̽bÌ5‚ë‘* ¿ÅzÔg8ûk†€!`†€!`¼ZŽÁU2ªj«*VªÌúîõã§­D6—Ë¡ÞöQ`»¸ec«æŒ©Ò„JVë=Â9©u yÕ®J„.OORʱO®LÉìµ:Q}ääv]yš9¹)¾‡¹ÒAØéãÄZ_ë˜4,9g¨?>¾7öš|ÐH,+Åé“rêƒÿ(Ý䜤&ORcµ!ÛåŽDûÛ²}£!Ú_•[×–äÔÙórêä 9EMà)ÂXë¨jpª4)¥"9¥(ÚJfXtè÷Ú�Ì�ZQ#·¿s[nþG¹žÿÈ•š/%>|¤—‹†:ÇSYÔö‹�lúÊlIMòÛ“EBdç ^¥œÑÞö¶ÔPÛ�C‚7âx£)áÒyö]- lÒźQÞ¥Æ+aßÁ¸Ì-ÌÊü‰™Ï‰¬mª¬ÑJjcr%Y_Ç5Ÿ•¼ä|)#ùƒÔ©»˜#Œ~X‘x…¹”Y9ó×ÿM>üëÿMþÛßĤX“¤î~ÐäÊæO¼#ïpAþϸ@)!‰!öÝVE:�=¹såÏÔR½"Ÿ~óùý�[ä¼fÄÏÏÈß@¶ ÜC‡ò>Òe�<‚ÇÇ©û;I¥Ø»-HéžÔPYÿ +ªÿsŒ  4R¿FXö~Yö[(¨„XOÍ�Ë;ç§åg3žÜ{�any’#Ìwª”’ ËEçä}Ô´PÒ«75•™Sé®nÈ¿UÖ¥•8%¹¥E <©õ‰Ö¸{þ¡×ÒMZZȹ-C€�û²†/»ùGØ2×[s¯¯Õeu·…Ós^>Ä1ûƒ“Å—GpÝ2@¨Âšû“Èv1 CÀ0 CÀx#‚«&H1Ì’N%R2©jѨ�ž+Á5Uµ”èúÔÕw5t9“I ð&Ph;_‹¢Î&e‰R&�!§ì£!Í[‚v'"ÙüÊ-&U¹‚SpµßÃmÔŸ>Ž>‹k#úÒº¸/ÚTUÖ̓´hh©mé9éù<<ÓQ/¼Ã8”„k©%ﺯîêÉü……îÆ¸ù¢J/œÔüâ’(‹sâ»róʹ}k—éërõ� 95�Êñ_Î?ì-¢e‚¼5TçdéÄ ™pe‚®Õƒn2—–Å…qTÇOäËeÊÂ<�›77äýé˜ 'if¸/ŽÌèœÈ£’\Ui”Z0Òëå¶²ûÓ¾£�h¸ÿæñ!J²oY¯[cofd\¼8Ä -ÄVžó–Æ1EW^ó°ÀæA…só[%|ãÏâÚLW'¹?z<¯MpÍ<έ<7ì,0v Š‹q˔ŅPw'i}ÔiIÊ3-ás‹*¾[H±Ã¸YÕýž~Ôh4�€F@# ÐüT<å/?Õ¿³“R±¼Lb­ÑZ* ¥L]‚û<™”×B4Á~ž-ªž5ðŠULOô‘Ôò}EigRbË”…Å][öÎe¯Ô*ªlv“n%˜ÊÁåPu$Q”©K¬Õ‹£?òžArÙ]–Åéb/IŠ$1¿Ñ$á<›+[¸=p¤Ùãw©Ôv©’%¸®à“0ÐV�Ê!ÉyÛetlìSK{q€7ܾ±/×%½`ƒ±(z‡úô¥áÈ™Š\C¾ÀúÚãŠÜ3‹0ˆâÓ·øšª&›­*µ¹.j3÷…à'ûäùo?ýÝ»zF¢Õ.¢U;äþMc‹7.Úv/Õç(‚.¶¯!į»—L\æ À°¶¸ÃÔã"vÒ8ZA]ü®´òi’ŒKÑSÜä)i˜(Â䥟†1yɈmì…Z¯6TPW‹÷ YãÏe{%ÍZ‚äF�ا ±£¶ªlS,0ÈK’€¹xAQÏEÙ|²ŒWF-ó¿«¶�ÛgŒ‰P´››H³Úµ J¹m츘z¨ZÇâL&Áå˜^�à~wäÒçÖæ Ád}¯×„Þ Ù'¹Û'É-MÒÖÎÔ`«`+lRf*ñâ¬d\ *íb7g‘·²ŽK®™7T¬¾oL„Ѳ£Ü(cwc͉ ’ñ>Lô{¸ƒø£iV†[•Ê~ì·½ÄXì×âleߨ†mùi�®(¼R¯ËÒte[Nåêx¸QÀ­Ë^ª¹ât0‘¬Òé`—ï¾xµIG)‚$Áe¯ã¸tAðæÊú&²§˜BÞàyÆã®Îc!»¹…ÃÝ4j s˜HàM§r¼x-ú]�€F@# Ðh4�À»CàD\·ÇCdðSMµé\Ùì.íB ×A ¤�[I»ÍÒÒÙ^?D<Æ kö(�ÇC$£´ û½(•jHgKH¥ ´M˜Ÿ_)ÍÒ²èÍ&¡‚ º¢š—œ9…áõ `{ç>ÿkTÅF�?‚×R…½•ÇÆ£{X[\Æ£=¶” ŽáÒĦ§bYßA5½„�ÇkøâVŠuž>ôôÇà÷8ásÛЮfQ/¥°x�¤ëñ:ö«T²ãÃHÄÙ8b¥m•Š#1üT=ei‡ÛË`X2|Œ!61Q¸ZLÓÒÌ凰Êô䥌5ßz‡“˜K0xÉù–É­��ì'÷i‡û¯’^ÁöJ wCEØHúQË1Õù6VæãÑ>k¯½Ã™™~„i÷}£[f‰±§­?:„™™1†7pïæ¬ðf‚ÙTÅöP‚Ö_ÇAr[/Áž8 Wœ„7|}³Ÿÿ >ûb¥± †/»0ÜOe“2¨ÙB0šÄ©sXÏ?æf±>ןül5䯢ßY`Jõ=쯯Àëçol˜f2²×￱Íc±F ¿ØÊ%E¹ÃÇÓ–Mª6Wžó¦Ì‘š+Çu:ßA¦ÐÄòv&bïf \co´Öè[në wž™ã¥•?94ŒÒ™!<øÓæ—qÿ­þ• yЍí¯áÞ­%l—üpôL#9:†ñ^Ú¡}<ÇÞÕÝŽ7;ñô¯5�€F@# ÐhþÂxS¦öÆðaëoÀdݬ—ä•-ijTÅæÙ+ê³WÊrá.¿QÉËL mRÅmðû»ì‰[,”ÁMă$F¼p—ƒ iîί6hƒüŠY,ÑFåõ’8‹Eùˆ ¿Úr^þ-‹3 gâf.ÿ©iǽ…mÌ.í#³t€?¬Þâ–‹åUz‹Ò¦jÀصS˜:‹O.�ãt?1“>8n£™Š#û[+´ën1Pê¡a‘U–eŹŒ‘ôŒcæÌ �º€f0°Âck¢Ìšf—„™¶ÐIÍâñÍyä–�ð-±¶Š"¨öB›ê ’¤o }c§ðÁÕiœ b¬ìÔ/ßÎÿ‰X~ÙZÇíG¤‡–ãâ!,{w9®9ì=$!“In@0pÉd".g00y] .q‡jYd|éuÿÊÖZiQîÅðµ¿EÍEÃuK[iì-^Ç­nó«»™iCݹ˜DÂÑ€OÊÃ�þ=»vY&C˜"ýè¿ô\n…P¬�õô–>ÿ'¬šÚ´ýòfC›ÇWïUœ¿ú&Ï_Æh�Ÿ½†í¸0Äêv ¬í34í N+>-äbצª«zær½FÚ²Heœ+ò™I¥/lQ(™±ºÃ:êv[=hx"ÜïG˜>3`Ùï6„GÏbœŽ…_4¾æ±ÿ{»wq{ã.îs¬‚Q£�D|zŸ\û—ÎŽ!æf­¯3Ï,K¿Ðh4�€F@# Ðü4¼w‚+›)­R¤WfíÊMÖ~J-®¤$ ‘‘úÆç'QQ%$Êb‘@Vö·-aŸI²¾T%†Nõ÷ÅùÉÿµH‚k¬Ë­‘K@•�ããªðóËb +b m|\¬éôùd|U/ü¶®™¡H2N™þä€/t�…j-k7ÒTؘîL»¬?’D¸gH"Î�;�sÃ!Zd¥-“•œevòæ@ È^°ÖnæY“œE¾TW¡CfÖ[�´€G�PËøçΟƩ$•^&1™¸;…"Éaô3ezTB›XÓ|¸W`ˆ?'�sÐöìpQ�ö²ì0f.^!Q>…™�ú9ŽCf„4™-^„Xwš¥u¼'Ä´f[îßǨ�ð„˜2<9ƒT{ÙÎÒ…"÷«k°Í.Ù)Ö?†³Äåüų˜éóÒË}ûü}æ5yÖ?ûà $Ç'`ïeï_=yØ×öéd�Q‡7ŒøÄâK[:�…àìCÜš[ÅNŠã ]Xö�ÕÅÞ³,H–cFÔP‹Ý�P¢Éaª­ý öЏá¢jŒ‰õæ šrx/aºIKq½‚¯ï/¢p•½{ÍÈ´lˆ ì,®\;�+—&�ð°Ç1‡6ÙïÃz¿¸,ð-sŸYÊ�Z[I/®3ÙXÎéŸ+Š®‘¶,ÏIx�Ýj­Ã€²6Õh`uŸ7ˆŠn4­ƒ¼±‡‡®) ¨5Úpq?XY÷+·4LÜÿ¾Ä(ìl¥u¹Ô qmàÆÜo¤‘oX`õ&8ÞÓ˜¸pŸ~tã´nœTÝ¿<…Y?Óh4�€F@# Ð¼eÞ;Á¢©Ši)¬›¥õ‘D´Zek^´KÍ¡‰u†/"¤ò;ûu:H� …<2™Òé<à:.§¢]Y.Ôlq"ögé+V\±/¿Œä*¢"Öd^¤[$ÙÇb½¬¨·B�_4–×Û/Â:$Q’çqÞ=ˆ¾éOP¬ÔU�+-IæHŽ%�T¡HŒã"ä±Õ¼;ֻ⓷Ó**VHÀÄžËcB�Û;‰»¨¼á·),ÛÔ%’ß3Ö–šh7?ýÉïê»sx6võ†�­¿ûs!ø´êú¢#˜¸êEdüÎÿmÑ •M#<>Ìì �8@\ãÞ ¼¬³ýøwQL}XFË“  Åo<È©í£Z*Ë õÏ`æ—$Ðg ø Ë”lºš´;Ø»ØÍ͉ž"$·N¦i ß»ù0mÑ~>N�H®ì”¨ææI6sØ9ä ‰,oôÉår±=êŸÛ=ž•�Y‚¡8ŠRYêuƒh‡ÎÃÆsÄÂí¨38L–!ë’þ¹<-�ó‹• vòÔÇ$»“û¤„<ûJ7E=·:áôŒ„‘H°>�äVÒ“õ¤Ðh4�€F@# x_¼w‚+®j-I¥Æ5®°íÛØTHxÁÞb°(SBŽK¹pïZŽ…ŒÕêMTH … W«Mªº\.-¤b–úY!Î.eásù­�\!ÈÏ/SÆ#ª¯Xsåwn’Ú ÕÑg©ý}[꭬ǘ¨¦9¨rî%©ÞußµG³ÍÉÞ¼NÄ|ì[KWö�ŸX‡ë£Ò(ó�ÿñ�ÿ…‰ÁXv7†fâœ_ösƒx»$ˆœû^öµ×yŸÊ°¨Ã}£aÎg~` Æ8œ¼!slè¾~ôñèé~Œ¾ô«Æ2=ÁÈüª˜;ílSÅ9p¢'€¯CÂBT¢}v,oh;.0„ª�“ÃÅšÞâ�ó‘šÛUt�~º’ÈLˆ�ÉՇϻ ÕÝÝÃ2fW,È]\¶‹„šöu' Ú4I‚ås™õ¤8iØ™|,³ŸáP€‹!V&*®´ëSÑí�¹±sPaÜ 2y†—Õhϧ¢«úóØÂk¤-‹¢kf¸o±ýP±ÜPd·Éò€"ëzÓ´<�fë\&C׸7Õ\±/ëI# Ðh4�€F@#p’8QW€²ét:„ã7ZŸtI%…ÔÒ™Ì´Ùæ å»a“Ÿ¶äœ?;�8•\ŸŸíwÄ‚ÉÉía½bœ©±LÄe$1R©,ÊŠìòžøÂ�e�¢ÜJ‹¢ ks£LÄ�ƘlÌç.Z“…tëI#ðsA u#pàôH�ÉÈU|=ŸÂíÇiÜ[LS�-¡-çÔ¹UÁS«Ö­Íå9"½tkœ…Ü>Þ(`3U¡\Äp¯çGª6·/âÔ÷çr@èqj4�€F@# ø+BàÄ\Á^úÞŠjê¡’+�PBDÅ"lgÝlIìŬ½m�éª÷¨Þ¢cç÷9³vVZÚ˜¤Í /âå:^Ú¦˜ÙÅÊ~®V.S–kµµÙö† ¿/Yêm%mYlÉ!™C$ɬ–š`3Õ0™ºõ¿ZÅUpè?'Ó–e–*i/$mòØrª@ªý,Û åjÈhˆ BÈ-oòÈ1nbûŸŽ´¢²ÛfÝ&o*‰¢«\TrËÕvÙNh¬ÇCu؉xСҖEÍ=:UN02zh�€F@# Ðh4éœH‚+ K ““ýmá‡"¥N¶õšc ”„JÕY“[.ÛX‹k£Ý˜ê Ú�K5¶2Ú¤XÅ>)ª//ÚìŸ*ªm­ÖPûÓ Ël!Dr+$:HK²"·¬ýÕVjp%Tʪ•Û¿ôãÿ/zû,dœ†C�`¤×‹ËöÏ-àÆ£CÌRÍ­Öò¨Ñz,“¹kUVýs Âk–´e*ºMžCÙB‡6ÿ¶R5Ì­0Éš\©Ï½<Tm…d]fi¢«'�€F@# Ðh4�À{DàÄÜn­«¤‹5X”Ù®zj¥:+ªªX‰…ìÊ|xx€t:…t&�Çó«$´$ÄV;?s*’\©²þð ƒÅåuììR¹µ#äqцWu¶‘ÕZößõ²ÖV–+äÖngý.×-Öe²ä÷¸{ôª5o†€œGÃÓ˜¼l“YÚþpî »ØÈo$.§+$°u£µÓ–¥†WÎ9QqU­.•Ü6Ÿ·(×F©€,W«$”j(Á¾Æq7ĶœÓº¬‰î›í4ýk�€F@# Ðh4�×FàÄ\ÙErI.Í$™V^hË$„ST\¯×‹ZH”ZŸêM+ïKË CÖÖ¦2ê;~VFG) s6WÂöö!æ-#—+ÂEÅ6‹ap`�$7Šp8¬~ãà²EÙµÑÊÜ%·b•înƒ¶' zú9" «[Zý8-èc�îÙ‘�j%tw%ƒ0¿‘#Á­«:wéòæ ®¹ÍzÜ£”e!¼œÅ²_®v°±_ÆÎaß.d0ÜãÆå©®L²­[ ÙxNêI# Ðh4�€F@#ð>8Q·K åÑPO Häµ…ê“„LY„„²WÔ\I[vÐÆ"I=88 }9ƒ½ƒ,r_ÝæIŒ7f‹ ÖñºÝì¯N Frk´ÿ‰ÂëñRµuu¹\®ÔïvÉ­¬¿;Ëú»c{;I¯S#ð6/‚:·È?¥‡no”½�©¶F™¶<3À2[ mì—y•Z[I\6êr¥µ‰®ÔçJ­nWÑÜ2a�*îÝÅò쥻ºWÁ —Ûu"B²+„WO�€F@# Ðh4�Ÿ �Epe£Õ¸²)¹OÈ­EÕÓÚh•l3G¬Ä^Q`ûËIl¬o`}}kkkØÚÚB&“Q­€¤§n"‘Àðð0�H>IG–ää.‰5�×]BûüãOµSôz4ï ¡ŠÉtâ Ó–7JXØÈã&ës›8ÄÞaÖ¬Kï\U"@õÖDB+½s͕۬¤ey.Ÿ§Ø~(ÃÀªÕ½2¾]Êá܈רæJ�®´.¢è«ÎkžÊzÒh4�€F@# Ð¼SNÁín­N¥©«byn$ó²Úg�7”š+�PvÖêŠ:;11�B¡À@©šR|»5»%¶f™å=±#dÚPgå9/Ã�.Ä�+qã=ãâ¼;.ý¨øKD à±c¬ŸuèN+¦l ”Ç"çÕ=ZüÊLQ–\öÏ¢û„Üò¼¤ªkRvfÖäV‰ OÏGëäIx—vJc{¡AÖç&™¸,Ëv±®ž4�€F@# Ðh4ï �Ip ±t!#)ÈzÒh^i#$ó`«p%‹{K¸EÑ%±-ë(–›lD…´â£Ôèv˜vnV=tͨ’øÖ˜fž/7°²]Â*‰ñòN—&T}H„ˆ˜¤¼€õñ:ˆêõv”þ•F@# Ðh4�À÷"p" î÷ŽX¨Ð¼sz#tE0m9sãêL�×sXXϳÍPÙªá®8²/‹UÙ ¼B% /mÍt`di]–äå‰ñüz´,Oô{1ÚëQdW‚¯´mù�ïJ½�€F@# Ðh4Uü쮪ä.’À©v»¥l“ò(mLä=ù\›Í¦z.Vd ¨R‰È¼ 63Y^KŸÝný­(Æ]Õø¯jïë�Õ¼�ƒ§dOúPª6U UÀ+ê+ߨ=«Âª*ÕÚÕÝíËfÕ?÷(i™WlÌùb’[I[v¬›±Ÿ©#Ë *!½ržŠeÙé0+"-dWO�€F@# Ðh4�7EàgGp»äµR© \.¡X,ªYúÝVYX¯×ø~™t�FáHHµr°·­´r±^WúÝz}^•Âìa³�`™õ¤Ð<‹©*œì£;źܰ×�餟u¹E*ºy,o°±Ës°BÒJÂj6ñÙ¯Ôåm†Œz]i-T' ^gk¡R­‰M>°.w²ßƒª¹1íÑúü{yýJ# Ðh4�€Fàuø\Uj�܈*+áQBd‹Åëf“Ï£À¹Tâ…v©È×9dÙ.(�: Ám �! #à�è2D‡}tUØT™}tÙ/·î«±® .—óI› ­è¾Î¡¤󗈀Xˆm´*÷†]ˆ3qy¸×‹±”>xmpÙÌØMW•Ê[mtFEW“¦äßÓ@*#‰Y¬ÍéB›‡¬0qYžçIŽëT‚a‡Rt\žX£µuù/ñhÒÛ¤Ðh4�€FàÝ#pâ ®X�[­¦Re%Ym.—S$WÈn7iÙÆe‡Í�z­ŽJ¹Ÿ‡ɰ£Y¯òuáPvª¸bQ®Rý’œËæT¢²ßïW­ƒ„øzI€»ýpß=üz �Ÿf²N[ õFÜLC¶b´Ç‹s£!,lðp5‹u&.ï’¼6BÕað”‰u¸fi%¤úç’ðJÚ2߯T;8Ètp›ÄVìËóLZ£š;M;´ôÏ•¾¼6«¶,ÿ|Ž =R�€F@# Ðh4'�Kp…¸ ±­ a­”±e¶P0,É-©·ålÔÑÒIk²|¯Ù¨Àfi"v²…ëþRu¦¾V¹œ ¿ã‚ÍfSè‹Õ¹Qo(â\¯×Ix+Jn4ªÇ®¨º‹Q§{rv—‰Fàý!ÐUsEÑ•ÄåhÀ‰†QÅ©î|vD9¬x ª/nžµ·ÒZH\Bt%ˆJ‘]Exåý6J•ûçÖ±Ÿ¯!•«£ÀúÜLÞÃ$g7Â~ü\‡Qó«ÉîûÛëzÍ�€F@# Ðh~^œX‚Û¢ $u¶¢Ö¦‘ç£ÔÛŠ¢+¤Ö)½lIV$§¢äf2iìïmS¡­ ²bd(@ë±…VÇÒÙ-Ë{ Ãi)×ãñ’üÚŒ0*Ú˜…—ho›sŽçh$ŠP(Ì]&ÉRõÕ“F@#ð]ì´ ÉuSÍŒ{°1Ä"ÕÜ9ª¹³l3”ÊÐ’œk³*SÅUí…xó–RskRÍ-Óª¼qPÁ£¸ “^œòáô�_ÕæŠj¬'�€F@# Ðh4�À« pâ®(·¢úˆ¢*ä6MâšÉdP&ù¬SqµÙ¬$�vT;ì´%ó*™$—mKÚ2— [‘ˆºÐKû¤“Þ5†Ú˜Í^h‹‚[ =¹¤lÉNUsK…––åZ­ÊzÝkxKT�šL‰b,uƒmbhRTBªõ¤Ð†à„ÝüŽX#;ü�•4•ä¶!õ¹YE�].C�µ»ì$À†RÚ Imn6—åÅxK&D×ͤe!ÕzÒh^Ž€XŠ%q¹'äÂ¥©­åp5ƒ{ œ PÍe(œÛûò•ëO4�€F@# Ðh4DàD\!·RK«”ÛtZ=ŠM™’�RQ…dÊ,äVˆ«¤$W«e*e·´IjˆQ½rërÙq \ªÞ¯X¬Ó2I¥¨”'1v�´úT˜”Rƒ©sq\^]-³V5«DÉ•õˆzkµŠª+鮺PŸ9�!`e‹ ™Ýìo�ƒç àqY•º;�ð`“!T›LO¦R+ m›çV‡ÁS’¶,n Qt«|^cø”¨¸6~¯C\!áÍRÍ=`©A4@uØo‡—ËÕÖåíýžF@# Ðh4�¿nN Á")¡R¢ ¦InH\ËŠ`ª„dÖÜ •„c!™Bn¥öVÚås)x�M&!» „ÖË~�†(k‚ÇÍ$eZ Ãáí�%¤²ytLvx|!عLQr%xªV%˖Щ’ª÷msL-õ'{è ±Ö÷¯û„Ñ[ÿê$¨ä†}œbmn±ÜÀ�‡‡¸õèwÒ$¸ “ þ‘sOB¨„ÌJÒ²‘¶ÜáGm&3—±Ÿ©ci»„Û'.ŽpvÄ�!öÑÕ÷Õ÷…þ¦F@# Ðh4�¿N Á•‹Y±"çh– ' |’”d«Õªˆ¥[óQm¬ì!¸:•J¥°¿¿ÃÚ?öÉm°&�¶ä& 0/®­ ÁIg* ©*áð°ÄZ^Ütö’ˆÂv®£¬zâ:Hte¶ˆE+5ÀB¶%|J­?çSäZúè ÉÖÓ»F@˜[Cå2Èíï¡Ôv l‰0<ÌÍzL÷ÑÍ‹w=½ü7E@Ò–evsA¢¸ž 2�JÚ ¹°ÂúÜ�Ã2ö$ˆŠJ­¨´[ ‘èš;tNðÜs…¤·ÆÏ¤d TåyÉ›U‡L\íó(’ÛC׆ÔüJÿ\I\Ö“F@# Ðh4�À_7'ŠàJ’±JØëVêp%ÁXˆ­�\iÙ#“(½2+••$øà0…��-”‚6ª®v’c±8W13§ Ù†µ� 6·Ù;7_Å!É­�]‹…-…jãñ¤9{ ÕÔkYŸ�Ü:âv«�l6Kìd*³Ôíj‚ûîOÖ?wj(¤7±z÷&vaì»fpv¢qÞ¸�›šÊ¼û½ð6× ÖåÑ>?â^UŸ»¹_¦¢{€o§PYÊÐ]Ñ`ž÷ëQM®‰ßWåê|§e¹Ì¤ež³i’Û‡ì›ÛëÁër¯L†0•4“ä-…Þæ˜õ²4�€F@# Ðh~~œ‚+6`!¬ù|AÕÝÊk«Å¦R’EQí&wÉmf!½:åtz©ð˜�+v�å2ò…*ú{ý´:š°¾™ÃúV–$YÔYQ�Š4;uªAM¤s$³5eEòêõz¡[´¨Ê’ø*J±Ó™…ßïWWÖ«­Êݽð;Bp+(¤v°òàÖšýØ‹ö" I9¶ž~¦=mYÇn¶«óGÎç(ÏÇ1†Â­ï±•ª¨:Û,{ã¶ØC·cæù§]þ,ÿ´Zœy^n°”€N�,š6 íñ�<»ÐG³‡5ÀäÊzÒh4�€F@# ø+Dà½\¹ÈB+µ·RO+Sô**r+$SÔT!“Ï“[yO>s¹<ð²žVr¡Ä~¸é mÈ-\<×GÕÕªÈíÚz†mƒüð³ÐÇš\#5¹…L®ˆ,mËbGn“ ‹’+ËÕX„Z±Iv­Ð²®h4¦•åB[Üwy¶Ð®Ú&ÁMï*‚»Äç»Ãç03AE]3Üw ü;_¶œ7’´ì Z'¹•úܽéŠê�{ýþ,gÙ¨†ÿO»²Ôåv, z3Î éŸ[c Õnª�½t ³«yªú\š â*Õ\[ ¹¥ÿµÖøßù¾Ô+Ðh4�€F@#pxïW@‘Z×|!�2“›�&kg©ÚR%5óbX&QR»„RȰÌ0%äSjg£Ñ¨z-Ë‘”d.‘³üÖø½›¤vx ¤T]¯GH³ÑÓvm#K5é@)J]­T[^DËú‘¥ ,c.J®ËåVv鮪̕üø©C;f§ŒÝÕ%Ìßú{U/2îIœšìÃµÓ ØhÏ|V€bbt¥€ÔÒml¬­ãî¶_W?>…¡þ|ÜœN%ƒZ~ë«ëXX\ÇA†ßÏ—Ñ qo‘(Øœn8Ý„ÃèíÄÔX½1/l¦&J›Øš»�•õm,ìTP£IUjž9[©’Û8û1"q �Ž ™ìCÔk…—5•?fª¶Q¦õxöÞ<–yãÁ1x‘áiœIºÑz÷öïFù�üæî/âþì"C×ༀ3nŒ&œ?fS^ï»�&wV é�uì-ÏcesK[´é²~¼Ö¶ÀîG(žÄÔô(†‡ûp˜à¢óàõ&†¤5yÜl µ³�¥Õ-lí¦Ø—¶ŠªRH²æ�rŸ&1<:ˆÉ©!y®xmÇè!ÇÚ¨9ÖÇØZ]Á2Ǻ“.¢ÖâùéðÃéGrhH�7òÀï0ãÇ”ÂJ�nˆ¡pÓ,pÚ0‘ôcy3OE·„5&.K/ÜB©y”¶|LÑå9*¤WHp‘=vç× ü¤… ZŸ‡nª¹¬×&ñ�º6÷õý+Ü­ö@IDAT�€F@# Ðh4?KÞ;Áb)­€D½­ Á¥šj¥r«äÁí’Oyì¦'ËojµªRq¿"¸e£ôÚn Á}:IË ÁdcQZ”%5Ù eò˜ÍVPªYQã¿�[™e‚kRJ­X" B-×ãñª:ݧK�g¼`op°v7þëÿŠû¹V¢ÿ€OÒpa:Î ò.5ï.»ƒf�ßô%î~ñþ·»~´zÏÂ5Ü‹@ON^è· H¯ÝÅýßàÿûìk,n2�6‹*-� †ö¸¨rû½8õ)Î\ìÀô %Y•ïÃ5Ì_ÿ¿ñÇwð?à€õÊM!¸´‰›­ ðqyIŽ}ˆöŽ¢wpWÑ ­Üý>¸íb×~~¼ÝqË#%Wî7¹)Ñæ¾-®â`ùþôûÿ�Ïo®#ð©÷"泑�кzü§oå¹±~éq,c(¥6‘ß¾�›ÿú¯ø?ÿËg~ú¿ ññ0ü. FHpßþúŸÝˆN›vøz†û~³þ|ywŸÏ®!_5¡Ü²!:p}ðošXaXˆ‰S\ Ï.æ_q›ë WÛxŒEÖ2ÿñÆ,î<\¡½7Ïõñx·ºˆ�">rú!,á(ÆâfxTZ¸¬‚ßi”Ô�“Õû_áÛë_p¬«x¸žF‰ý§­ÞDÏââ¢áâ �7g3 ù«ŽWn�!Q2�õûiQ®bu§À¸X™º¼Fër•áRmª¶rjªÖBBn�juEÑ-”Ú  jaë Ê¾»yLô{qyŠãò+5×Å›0Þ¨’fGÿ¥¼"~úk�€F@# Ðh4?7NÁ•Ää,Ã¥„¼ö_F!´]ÂÙUnËå" T{e.räN¢ê0tJTÖJ�3S’mò{^bËÕ,íÎjR�òüùYñ/µŒãW–)“,ÂÌþ·òY¡XPä6ñ‡úü}ÿé´Jh×ö±öè|ñÏÿ‚{Ë,ä‚ð â—‚´ƒšaç^n²¿p›D׉0Ñ–ÊY4…:n›¨|LŒ.UPo{Hrz1=Å™‰Û°ˆ’,äºÌÀ-&Pï3ázýÜüC‹µÍüãß]†åü‚\�‹âES‡7Úõ¶×–°¹¼€‡f17Gr÷p [Û-¬£|—S§Åí®q°½†Í•Ì?|€¹÷qÿá*V²u ×ÚH¼Ëg�,Ûníï®c΄î8�ûà <o”¥Ž÷G ÷hð’¶<˜à –Œõú°Èƒdq#�Ý5öÑ­rɹ. ˆ…™�|.ç+÷4—Òæwå{¢æVðˆõ¹#ìÁ;ÒC2Ï *?-ÌzÒh4�€F@# øËEà½_íÉ…©ÑˆaO¼p2iØ‘Ÿ’[�¿ÙlPÉ‘¾·yª®‡LLÎÑŽœãwi_&q¨ÕÛT‚›$É5\!frym\b WmQñiËL¢+3r¤=%¸2–.¡–ç2w­Ê’¦,½q‹^©Ù¥ºyB¦N“ã)­ckù>þü‡›X«†�‹�ÃÈø>¹:‰�›mŽì ÊÊì1�ºV#ÃòÒZlabKª«$¸5Z°›lèb OaäÜiüÛ¿?EU“ª¸Š¹]*¯[¸wãKÌîÎcþN �6jšJbpjˆä– ±áúþ*ÍjõìÖçïàÖW_âöÜ*fo0 ·Š •(ç?4µ[ ¥`Ùïø`ÏÙ»jߘÙ:J꥙p-=�¥UŒØ»�O­:Éyn;+÷qû:×ÿ`�cX£…›7Uhiíi|ßúå3ÁGÖ_å1ÆÞËœ›-9ŽäØ-T¸ÝpÐî°´¨ˆ7P.VH°H¬lUÅ$p6«Øië(¦¶°vû:îßYÃÍ…2ÏÏàƒ…‘@®<¾ýì�¸ûõ=¬Þb=cÇè`C#1„¹m¢ì¿Êxœ¬K·;í°µhQ¯fqx�Å~ªëà†G0E»~ÀZD#½ˆ‡wî!CE}û± Û�Q$Â^|r±�ç!�üýáÊæoü‰¸±N6íÆµ³çpîÜ(F¼TVwÔxçwãfÊ ÷ÃÙ³I²ÙYÃþz×ÅãRæDØE" &/{i7ö 0ŸR§s*Ë”t†PÉq#çaGúæªs• /íÊMž§e’à]Öç®V°¼Sârh³¦#!c7˜„.lj¨Ì¯IÂ�_ú¹F@# Ðh4�ÀÉBàD\±K‹ és+éÉB>»dSeªTªF ¡í‘Å /‚Ûˆ‡}¼˜f’2¯üØþGæJåˆà(n+Ô—ä–½3ËTwËå|^Ãê(¼e¶&"ÒhZŸ¬ï8y•uw×/ÄWlÑ¢wI°Ø{þÓ®QyeS>�Ån‰d«—~õ�øðtŸŽ’tt³Žr !h&Ìv/z"Åg'“…õÉ’ŸpýˆPñ2S!oÖ’¨W'µ·0èeû¤›U<.î1¤‹˜çH…)‹üÌd�Ãòá&çþÄš×-üy¾�@ï>ššÁÆ­YÖ¡á—ßþÀTcÍlfùs|U¸‰ü“ê‡Z¨¶áð„á õ`tæÆ&'Ù.&À>¹B€… ë¯æ�š»�Ç÷q}¾ÂÚå!\ûwÓØ¾÷w"̚їOTYƒZ¤­yûñ},,Ñž»¼�CÖ°h‰µG›Ó�©ËŸbúâUŒúÓµwpã�·ððñjñ ˆ�NãÓ ýJÐ&ÛO¿¿]ĉîÖiÖEOàt”áIŽTÆs¸�­ùûXäxæ–w�zf<L_áx.\ÅX$€Xt×~ëÆð…Ìþ>?íÀ*´u*ÿ#¬·õ Å>Ò÷S&Ìí殺Xy’D 0Õö°¾¶‰{�ÐôžÃðÈ9|üáy|p.ÉýÖ@ý Š˜¹„ÉúÁílôbnóœv¶ÞвŸí÷AûrПù$ i5£—ûõêTsk9<漸MW ¬XÏyFó<åúº¶e’ÞotÙïz‹çm•}t×vÊ´@{”}y\zè²NWìѺwî3pë�€F@# Ðh~öœ ‚ËäR¹ U0!¸¹…ìi¸”„JI�®(·5ª‚á€É^*‘ �r2œFTé]{˜²õ£¤8†Lëe½É~¹%ù�‡u–Tnò¶$á{Y’˜¨fJj2 íqò*Ï…_+’Ì éFƒÊ‘ôÆåû'e’ºV±ŠŠ[¬~oñ¡I$G{16P�?/qsxtl2Q µX[DY-pºìðÑZ-¤^¦¶ì3ZÙkuÚØíqô�Dqáj/æ©ì¶ÏÓªý2ÆíªóæAq»Ëp÷Ƹûpw—÷‘aÊo™ÛmáúmΚAÅ’YK®ÆÝúübå1 †©¨O�F�$A5Õ‘Kíb~åYËbç®`âô)\š&Ô¥Ù)ÐÚFÄz€Û‹·ñ˜!d;;)¬îW1ìu¡e«©ñì,q<_}Îñ,ãÞÊ>ÒOåØxÚ!Žgôzl�C;ýÄ…^LÊnhš�Œ¸’hgö‘ê a§Ì¶;©w­ÒªN[z;ÏãŠÊ÷ÎÖ èP™:óNÏŒàÜdTÝDh°>8nÙa�éþôÕ†Ymby»ˆ¾pS9r¾oߣø¡¿~mÅœi3åºe¾'nòl#!E÷eÇÁ�P®Ðh4�€F@#p’xïWÀûq�5¢v›C.O û'/N»Õøm´$—Íf�ï·H†­‡=ð¸ª^O’Ts$«œ6©Ø*ûèÑvž¡I³wIrZlóãàc«k$i¬3I9”@Á}^Áí’\¹ ®³FXH®L3iÚë”dá²ÛkÈìïaçáu|¾½M÷ïѰùq¶×‰¸Ï8´]á$z.þ>¥Muä—  Zḩôßò`î¥UÙ¿$G¹=lßý ß|}‡õ²+È´YÇ9ù ÆéH0�×Ä„ê6‰åÀ©AIÇE’Ä› Jùç1¢‘ŽðlÓêÝ †Ålû…&š´Ýööò²¶Ö@Aþ:BaøE=Ì!d¢ŸiØûûLî33„JÆóÜúú®O¾Cëîä§�—ãá�rÖ6­»ƒ3ƒH†ŽÆCŒU`7éøùÕkXΧ b�·:¼¼YäùÄsŠÒ«™ŽŠzf™| ‡tEôÃèKöð†RW!gý´“=g{z™ÌAÜÍ4î*Ó–¥†8á¶3éû•öî@¯ð îóá/[Ù0É@ª�ƒÛ 嘠ÌÝ-ÚïÙWjò�š\nƒ80¸dûÅʼÇ>»BxwSUÜ[ÊajÐGÕ_ês=*mù† ¿¢Ðh4�€F@#pÂ8—Ê‹LIZ±RLùGˆåñ reEä{Š\ŠER`e+!»ÍÊVA$y´)«ï+² äJ肨2&.»E•©J\S!5>nòBü0MµªÁ¶&ÖIz<*‘ùyuV‘ާÅu79ƦÔýÉ OÈd¶±ÎÓO¢ïÁÄPë’¶üøûK¸é-#â÷"ìc¯`¯Ü `�¨Ô¾„𶙸[«ÓŽ»êc(Q‡-c¨è²­M¥H¢•ÝÇÜíÇx´L5ÔÞ�Þ>×xq�™JšAf¿ ›?¦æ?œ”}ÓXE9Wa}¯�{æ‡&c?šm^ÖØöS}=ÅÄÞ3ŠT‡iéÝ_¸�Í…Yª‡kX~œÁñ³ð° R’댒àÊ`ó„`c¯o€õœ\?¨�‚cQù7–þ‚1�üuÚ%nó–î}ËPª%,¦ �`ò˜Šb„mhxW�rÞÞ~ø‚6ZŒÝ07"èžÀdÎ�Z’äšAI^: Ll×Ó*e‰%{/3äÛÆý‰…à÷ó7ˆŒEþØ<>¸"lÇÄñù,TŸé³Í¤òTè™\ÜÄ¢Ï –RN„FXO{ñLF1Êñtx“¨Q®ÂÛgŒÇ{d¿6΋ãÛ)êt™éÈ›Hìc3MÛ¹Õ‹þÁ$â“›²0X¬šO£X¦s¢aÃ�×ËñT}­+g¦íÁNâë °ý” ¬‹eAŠm¦ŠUÜãë{;Ïe;Â~B>»ªËéó©C~bå¡d¿yXF‘ê~…5¸UÖä·xž¥ÊŸ/ÓÍÁ¤æ•½2rÒ‚ˆ °ÔìÓ WÒCWÎI]Ö“F@# Ðh4�ÀÏ�@pEeáÅ(‰£�Ëî,³ÏI’öÇmÔ­h°õM…5˜^¨JŸV Ê“´¦Ò¼hgK! ÆE½a; s"`\Ö—úÜLnñs3ëq©pzbè¡ Õß߯zê>Op»ã‘G!¹2¦å“±³MvÚdmSžÌãï~³�/ï­áóÿ‚ßböf/û›N`dlÓ3“l“4DÛªAZ>_tù^ËS±ÛØÃç[_bík”kS¬Ù´êJ�t¹Ìí7y0úñ$Î|ô!&ˆÑÞéø>2 ¤’“ü•ùux�;G,~ÓçOá×&à&qsP‘îc|b� óƒõÖ2r››xô`»Ñ�K®P­�cP�¯¸þà:µdWpÿÑÊè˜þ5Î]>�øå8ú£¼a ÅÍr¼²^Õ*Öz±É3�Ùäôá“ßõáô§¬uEàô�à÷-õ,ÇYa-4ë¾ÛrC†¤ÌC2%qÅOFÇçf¶Ù±Ihm¸Üq6TŠü-Éq¶°‚Ydm¤mÏü®œÃ?þr½÷ ÆÃeÙ´¹‚c“ì@ªÉû¿Âüƒøf½ çx®|t“c½pñˆÜÌi1Ýœž¢´“vpo�°fõØÍ “‰+PAZN eá��jI·kÏ�»ÇVÿžÊ¹-–âÉîÅɈ²/Ÿ ªºÜ+Yö.b“‰Ë5&tw̼QÆúÜv[j‚©äR®ÕøHþ�½sŶ¼´]Âp¯§|éõ°]•SÝ·0T½�€F@# Ðh4�Ÿ�@pŸn±Ú.¡ì¾«ˆ*_X¨Öº©@¶Øö¥É¤d©»Û=(¡&èæXgw˜¦‘Wêq%tÆÊÏ„Ðöö1B•«'PÄ·Î ß&­œV+•[†ù|>¥àÊ:»·K®»c’ b¡]¢$ß= “Éì !Š ’œÄÙ h8l—ò»¹ë w°·ÊöI…ò¬µÜÞÜÂÈð †úH0dÊOÂbÜ8¶%J½lÞ(�Ip%™V¥“XÅ'ʶ;uªºÙ\é|�•iÁßYÒ±…¾ÙS«ƒuÁ “ŠÄzXwg}­Vî��>ªwƒ7±¿´‚o˜²¼³ÁšÐÒjüXøÝóÜ[öŸìÇï�Zl�S¦�8½ƒuödMשObdj ãC ªÃ/¾A0ŠKýc1ô?·‚oÈTxÖjsd¨&J¡Ú–c_æûÜ¡êx— Uq7T™†Lå·Àú]O¶Î¾Á#Ó�šæxâ3 ìÕŽKÖÖR¥¯2{s~³7îâñ:ùð†Æ¦qùël{ýÊ2-nжrUð7$²fÙ÷/9ⱉkeýºÜ`Âi¢][cé¡Ìé]ž/¢°Z¨Ú:9‹¢#)•9À~ºQÞĉðqŸIÝù]ª¹5º8dDª­7Bœ B€s¥:kªùG®Æ~ºMv50J’›à±$®ÒfKŽù£û4j»ô�€F@# Ðh4�“‹À ¸4ó‚ÓL+“RJ�lÀ]r+ï‹ÙÇX±*W*L’-Ñ^LUÌå¤u”6Ü, îkëÊ´(Š:&õ‡É~†"ÝIÀÅ"©7”`©*-‰&i1rtÅ~¼öVÖ'“�Û'WÙ�±ž,š+Ô†ÖÊðz�ü¢ÿ<Î|¼��Õ¬//cee «ë7qóá-üAL\û Î^ù{e3ÃTÕ–lT³ýC£˜œÅ?|< -›ÖS¯ä¨Ìe±µÄäá•eÖâÞÄõí-"üÜÄÕa{æ–ßc‹{ÇO¹Ýf,¶ ëz©’RÅ4³%L1›BŽ b™ÆAòø:x›D´‘ϰþ5‹t‰**í»ÑÞ0¢1â%Dî ·Lˆß’ìcë�6I2žz&‡´„A9YûÜ&á§ÊþÊã‘5¶Ô�‰ýGŸãÞWßâ¿þaç†?þ;\¾Bû7kRUr¶ÚÀî(åÅ›nñ±�yO% Y,ÝÎ~‹R³O vU`}n–}¡³Ø9(c?-%Fm~Ç"7Òh_&q­ñFX6ßQ}s÷25Ìo1žôòÜðáÏ�8‰®Ô|[4Ã}{N/R# Ðh4�ÀÛGàu®ÿßú(D�û±èr]¢)Äò8Á•‹lQd-T‹D›«S-ûfƒ*Œ�T¹XUjØ“kq3ë$¸Q’Þ­È —¢5YênK´ÚÚ© Z©¶y<´—r¹Ýõ>¿q]Â-”D¾gåúŸ×ó¿xÅ×b›å,µÄ2)ÅŒà]ZñìRøî‘ºÝ¢š*X¨ßÏÔ_«�ÛÁÙé ‘ü0*Eo,Fk/çXó�–°º¹Ív7÷PkÛù™‹í€ÜH¸d�Ædáï¶~ô MãÂ¥s¬Ýµ³·C[-{¦VóØí`ƒÉÕÍ?>Äã�E¬-­3øi ‘>ôCÍé üÆ"ßñ_Ö]ÓÒë ¹–T]¥6ÓS+Š3úE"Ÿ(I}›ËiÕ¤ß*Ëà2§Ë33?/ ?ó׿�cÔd§2kã±næÍ¦_×Yû)N‚§{€¿os…T�EAÑÑÌcÎÆ:sQ›<ÞkM[±ÿ¯¤E;Ù/¶{ü¼|Íò‰Qs[ɰ½Ðâ¾ùò.fQt"6~W¯œÆ™‰>sË# ²IÎ5:#¤÷®µCrHU¶.u­L2~:ñy[>cHÏÃ6%›üFÆËé§:;Çm'Ù—*è$yYHoXÂÌHvר|K‚rš mƒÛ`Ôû{Z˜+Gj®‘ÈÜD™atR›+7͆XÛÜÏs%ಈÏëîÿ§˜ég�€F@# Ðh4ï�÷Opyle°ÃÎTZ^¨ ¡œäw.¦¼Äh_.³¿'{¶²-ÐÕœJÍ JLë«ÇûÂÚÛîúž¬‹Ë´qœBÄßü"W*mŸ¬¶ˆý‘¤Ù }U”ëgéŽÚù#ã�ï4ÉzD�VµÇÜÆg£üž‰öV“Ù�pï8|‘$g.á û/_ÿ=ænü¿¿·„ù›eÜŸA(ÙÇ\!ÌÆ$¿5[h×ö…KЊëgí¥ŒHˆ7‰WÕðQ¡Ò!C�çØÇv‹ó[ÈOIn|ÊÜ]ÖO÷(Ç…1„êmѪîr߀(ÁÄ›8ÖêÚXËê43 œiàeZbk$�ÆdÜ\g›)Ý ©%g­.oâØy^¸hÍ¥¶!Ë;:äé«OmÞ `¨Ú Ìݼ‰ÿþÙ"ЃáO‹kWÎâ—ç†tÑúýT�–) •ÉÉá²X;\.·ž%¸’ÄÜâgl!Uæ�€k£e¬v’Üîyûêc|{ßt“à&cn’R'Î�… 5w-‹; iÜYÌЊÜ`xVSýßñ¤.·ÝL5·Xî`}—flƒ5»œÇ{æžàüh€„ùmœûoo;õ’4�€F@# Ðh¾‹À{'¸¤jŠÜº] "�3S¹Ž^Á5/΢¤vÔÓnIK ën´)»1ÊzD©—“:;'É­¨JûTnREª¸m&¬R!î8”"faý­Ãá$� !ä2_¤àʺWb'-ϲ\Õvå»X¾ú;$¶BlTLý^¶Ü¡}²ÌúÊ\.‡U=-”>Ú.�‰¨]¡zG{j&�ƒ Ë,N¦"“ˆ’lKgšgH®Z6oØ™®ÌÙÅïùý~`|Ít¾x4Ï þ¤‰ÉažýC#BäŽ&â ÄÛ¢ˆ<ryãàéBË/­Pg0•Cí®M’žgÙg?ý$d�X4Ø–&›Ç! I›�G€�KÜOÏãò#(7¹c²¶ÇÞfŠpY¦ç˜þÜj‰ýý)|ÕÅšh›·R]÷p_D˜<]ä2÷h§ÎxLÒjÍ™¸IõB¥ý]Õk7ÇÖHƒ´ßGã좓–0©Æ£ñ0޹•”ÖZ/WK;TƒÅm®?b»£û¸ýð5ÿú†NãÚÅSìiKÅžäÖC¼{ÄÉ6™]$· ÷ò³ÿnÈ!uÜ<öviÛ°ðf†aGoSQ®§PHg‘â¹ÕôºÑçñæã9Âcé}Mª>—ûÐAµ\”\Š(ü¢è°Ÿî:­ìû%ì3`*Ë$eU—KUWÕÙóX@…AT93�m¹±ÄÏ $Ä)*ÀR›c‹(!»>¦ŒëI# Ðh4�€Fàd!ðޯЄ\ iôPI-2H§Z­ñ‚”ŠáÁ}^ ’×¢¢vh³mÒ:)Veiû xX£KõˆvÒJµ/ÌK¬Ç}¸°‹�Ýûwi%™´ A¥Õ˜$NìÎF¿\Q†¿KÒä=‡(kf?I¸ÓÅ> ôFa7IR®‡=Yù¸ÁÚÑýuñìòBÚI‹ç‚+$»Íð¨ê!v÷SØÞ/£E%ÐKÂã#9wIØÎ÷ŽÅ°ñØè·g¸��Lc‹¸´^#QøiM÷ðÁ÷ãòòÕ‰=׿ ’T¤…û0[ÄÁv ‡¼YRoú¾—P¾l©&öx¶úbðC´[¨Î–T Vz"B‚á2¹�Ü×µL…ÍME¦²ìs;ò¡§�털]� Çãl³.¸ˆýí4y\´d<Ï’Óãch3”­²ÿ;�¾Â¿|„Gû6 ÿ›_àòWñËs íbíòqå¶û[‹Ë{¨A¿Q®³’Ë2¤låS\¯Â¶U¥Ýo‡½ˆÙÛ·ÌóƒµÁñÞk¢Iع9/ÞkÝ5üt�ÒZHÈíDÒÏÿ/Zøæq ·æSøöQŠŠm]Ë,íWDzRtÕ9ÇóŽ5úû,iÈÑּʶBß.ä¨ûqy<ˆQ*»šàþtûP¯I# Ðh4�À«"p"®¤#ƒ*¸u\*q´!+Ò$ĉóñI•b2-¿&íÇ5¬o¥!ðû]èM„ÕoüìýZ¯7IX;º—g‚2[»�[IŽ…ØvUØ®J{|Ýç]‚+CÕØëó’(óâþ(«û½ÿ(ÛdeÿІfØO65�Àâ væná÷ÿäÅéá8¦ÙÇAÉB•2»»€Í¥9|ýp«eö?�ÀØäÉ*·§žgpÐ.I^+»5ÖM:‰ƒWÕgŠ‚ÕaoÒf-�½G÷±t)’SCyˆU( õ�´=m€"¯Í ™ì0Dª–'VTÛì™Z¯–hI~„핇øf~[uþžõ½ƒÃ bâTdæÙ=õãQyÙ/šµ*Ù]*ž~¬­ÛÙþ§A‹oémŽg™¸<ÚÅJًЙ$¦O ±îң³žQ¶_¶ð½/­zœ=$•ƒ˜M ¸PÀòü—¸k/ a;ͤá íÛL¯fý)½»09xÌ1à+h/ÂÖÊàñ,÷×V�À(‰$N�E§êg¶ÇHÀû03E›÷f·‰Gá2>O´s·´T°zë.æos»Š´ ÷Ž"ÙÃëžýž>€ã™K ¼TÆÒ£/pך3ÆÓPã1�Ùd¯ß6lÍ,6ðhv{:Á>ô3M¼�b|‡uÕ9¶Ö2ö›üe«“ëå�›‰–sG’ïDw «X½ûg|“(ñ˜H"l'1Ü[ÄÊ·wqo!…Šg½½C˜ìg›�à«Ö¿ü·ÿž¡èrÛ˜ˆ,î!ºrnô†]8=Ä[ mV™-2�]êråÿ‡N‡çÉ®ô¾nó<¨Ò†mâk!¼k¼¡"-…úÂNµo]Tˆ¥®ž4�€F@# ÐhÞ/'ƒàÒ  …”EW.(Å(2™Ô¨¾ˆàJ[ 6Ém“á6¹< `./âÛ9� Á PyÚÙKÓÖ[bÜkn›pyx‘Kõ¶«À~¹•Ý"A421¤JгŸí„¼Þ·Ep™  cäì †ÖwnßÂæl•Îyl^œDöÒü–2$(+³70ŸýJ—™Í` OGG0yŠ5´´e[ªTÕvf±ø`ÿÏ·98hƒî'y%e]r³’B­°ÇÚKÖ_Þ¹�…]/ª!!Z$"Q†9hÝ>:Û¬ mÖ2´ãî`c-€¼‹[ΚÐ2{¦³{˜¿ó ÉÛ}Ìn¶�µ°†³¯‡D»OÙXßå¥}£ZD1µ�½M;–؉‡Ê-ªiÌ{�îÞÁ­ªš–~üvxgÎ��àÒž}´M¯ó ­—L®^b#8=™¤Íý¾¾ýÉà&•Š85NÒ7"™•qä` NÁ²aÔ¿Om_þþŸð§ë+(�þ#†/ý‚j»“ªf˜5Ü1„£Iœ=3€õì"RþŒ$•¤˜mm&CU ¹r¸ùå-ܾñ{Þá>‹¡d ãBpIºM±´1žÃ{¸ñí¿òFÄ&ÉW§e<AXŸŒgÖ° Z÷Û¬©‰U½W•‚û¬6(êŠXŒíT+«´!×™x»»Ï nZ“ƒ´©Æ£ŒŽör| ­¢ò"Ë’!¢ÈÊü|ÒVHH¯üB|ÀžÛMÚô…¯l•0Fåz¤‡Ä9J‡…¤�óØPÿu�h$ôà4�€F@# Ðüå!ð¶™Ék!äb]k å'�ôÐ~LÕ‘-T¤MŠA xþɕ׊àÚEU‘‹Ð ö¨|îíQ± ¸™’Zakœ(6CéyyDr…èrþ!‚k¬—¤„Wÿ&ªZ’ +ÄÖGWÆÚµ7¿ÖÆû‘Åb²n“hs ypýú×h}v‹›Kx°Ã¾§¶/2;Œ«Ö=—ÙÃöʵK¸ÆºÍA¶.áÖ¡Q§�ÒÂçL(r´RÈnmò‚{Ÿá9U•kvÐÆÌÚÈhÏ(ƒ…¦qîÃ_áêµË¸8@ÒO¥�uÌ9&æºÙcØmoÁV^ÂÆV�oÓ~ËZc“…ʉ¦ËíC¬‡ã ±=ûѧ8é".’ q]’tlÓ~à)Ó£Õ mQ—>¦B¤ŸNdH$t.Oñ~Ö §òpP-\ß.böƒ¥LvŠr«¤èÄð >ºö7¸öÁ\òc òCýxeE$8RgËý*-xdý¦g ß!ù&0xùW¬E�‚-�qƒöáÏoßÅ"�µ­ñf‡VwçÌ£èô\Àt¸…^ÏQHoŠÈ²¥o®‘ºm¬×îƒ+èÇUfª¿ŸßšÃ¾½…l•ÁSM;zÆ.cpšÛòÑ5üâãóèg½®[É¡$¹Á Éx‚Ó��ñÜÁ¢©q<G€ã â¼eœã9�B/k”Ý´œWª$¹E*Ð{¬ñ®cýþS¤»ÏLì'lvÆð˺ÖÉ�y“ÀŠá  !†Q¹Ã1T긚|v{÷W�¯sÛüýˆ�1¥{æ~ûÛkìCÔÍ6H?f'û]Ú �b¼ß�‹“5,mð%ÕÜ{L\.3¼./W¨HnåÿS‡7”ø˜ÊÕ�‘ÚÜ�2˜lC8ýÉï`ã8,}gáì c,N[òw~&]LºŽ�Rµ¦}wà¦>a›’Ä íª’Œl¶:œB‚í¨C~øl!|ü;/°7ÈÜx?I7{.sÙÆò%Õ—ábÉœú� “Ÿâìo²ªßn½M…—¤Ú¦ý{”­{H–]G}i�¡Éxݲ¶XYÝB�ï‚ü§f£�î°,ù¨rÛÒBõ6¤üÍ~ÝSu”u²Š€"ð“p³·V–ö—±Qr…ôúÜ|žD5NÅV2ró%*¸ô0 ¨Hx+•ºáf¾±W@ŒÎË=”ÎÑD�Ï·‘,·hÞFE×EEW‡" (Š€" (ŠÀOGàD\ÙQI¥wVʃ+$¹RÁ'Ï ù¥–á�,ä¶9„�¶0veh°Î�£‹%Ê^–'[é€,Úˆôâ¶G[ WÊ ÓéC·SaÉÍ’gQrÅ1Ùë¡c.·ÛÚʸ“ÖÖC˜Š²¸/ëPE ‰@wcÃèº<Êx¡�‰î/'1½œÂÜzŠåËô`¬P�NËæÇNË&fç$YÒLbcžò½ÅÎôùp–Ë(UÝ>º.ëPE@PE@øéœH‚+½®Ò?ë§±“”(%,–f)Kª" Ÿ,,)v؃ÃLÑ`€n¥-!Z‰ù`äËãÊ?‰¹q¹9 ¯q¹œT|™aú˜ÔÚø~)‹¢¤Zâ·÷]$Ç6FäHFj“ k™òOÿÐé�ÓŽ€ßÃJ.a7K�½ð’ìúøØç²`u'‡Tž‘L†•do‹+{¹M¨hL%ºËVº¿ä5USÑ°Š‹ßÃè'.9ºÌOÖ¡(Š€" (Š€"ðÃ8q·¹ fª­NÉÆõ b+„WL¨Ä1Yb&¤G·�·óÖÆÈŠÑç–g­Ï[E�µÈ¢º ­¥Ìuºž–� UêÁ†C²[I­¡Ú²ßV”[!¸²xéž,¤Xúq�zhñ¶zL˜›óÓ[E@P$úG¢�ÎöÑI²{~ ˆå�,ÚÕ\Æálæ�%y5[¾îÍ­RÕ­³|y™±C™2³vs覂{–‘BãTs»[]°û”àê§KPE@P�ƒÀ‰$¸Í’d+ûqÒ8Ë“H!¬ÒŸ+åË¢¸Šé“(ºñ¸)–§2y¬®ïð¹CõWY!ÉÅbñd›1ì¤x¢É(!]Ɖ�T+?³nýT€½^*1\v§±-³Qš¬ÌöÇ|°ô=ŠÀ›€€TŠØ¨¶J?®Ÿ*n˜½¹­A'•ØÃûm>v—þ\Ý §ÄŒªÎæT–ý¹Tq3T{céÝ*’$¼Ã4£êޏòÚ¹ ì\¿D—éPE@PE@ø~NÁrÛ$¸RF,DV ¦$NÃn·q=¢²ú¨¸Šê*¤Wzr÷’ÌÄͯw3ÒÇ RKœJå°¹½‡éG‹$Ã)öÚÚ�Ûî®n„Ùg+1@n–";©Ëúí6»±Ù¶,Íù|?”ú E@x“êa‰q·Íƒ0ã…Æ{XÎŽËwæãX¡²[ˆÑ�í̆€´_˜iBŨ!ß4ÉíüFCtXíñáâ`}íl¿ðØáP‚û&´tßE@PEà p¢®�IM‚+ mó±Ü2kwØYZì¢ÊÊòb·ç1éõ’¼ ËÈ �Ý8K‘«$©‡%ÊUfRf²9T™Sl!¡¥rÛÖÖ†h$jdQl…ØÚ¸!ØèÏåý§Ins~Ƥô?Š€" A@~¾,ü�8"‹ã°§ÖK§å ÞåÍ –I`w»)‹áT‰9ß *ºUÆ J5äŠUšëÕ‘ÍW©ð–1°ÇìÜ�òZœh£:,ù¼�&�lYï*Š€" (Š€" 48QW&ÕTL…\6„³a1 §¬uöË”ÅX*ÀŸ::»°±±�Í�Mìîîàáô<2™ j\ a‚ù¹AÆ>x?iVúfE@PE@P^/N$Á}6Ä¢´~Ë_ÿA_Š€" œDäšüDY¨êÊè�z …7ÂÞÚÉÁ ゲX‹å±½_@’®ËFÙ2‰ðaø!ù�ã[KÌҕ׬lçÑEE·3,®ÍVÆéïßI<î:'E@PE@xµœ"‚ûj�Ñ­)Š€"ð2è³Ü˜ËÅ‘–#Wðùƒ=\{¸‡"Mò’™3¼Ù›Ë8¡FCÝ:3¿Y¶ÌX¡UææÎndÑC‚|e4„·ÇCÉU‚û2�–®[PE@PN JpOË‘Òy*ŠÀk‰€$9lFùá¦óò K˜W©æ®î2âŒJí.st%?×l:ô²›¦Ãò:Ѩ‘ô®óuÃÝ^ 1?·×p\v½¾�z-?/ºSŠ€" (Š€"ðÝœ8‚+½³R’wX–÷ØLŠûÐì©ýîÝyqmöãíámöñ¾¸­èšEàMG@~c„à ±í�xqn0„�½¾œÙÇ�¹83r«¨ÑUYLö„ÜÖk@:Wb”P;$ÀwS˜Øõc{À�«Œ²ÛLFɲDI9´Q½éŸ0ÝE@PEàÍBàD\!±årûûû†r*•B±X4Ü��ƒàJO¯däG$ÌâÄ,ÌMòûf}TtoEàe# &în‡…¥Ën¼{¦ =¼�by+‹eq\¦š{�ª�ä2?÷ˆ¢»¹Ÿ72u÷ø÷{K) wz0È¥§Í 1·Ò¡(Š€" (ŠÀ›‚À‰ ¸¢ÖÖx–Ífqpp€••#×6‹ÏU«UCÑ}•EH¬Õj…Ä E£Qfèv¢¿¿mmmðz½‰z•sÒm)ŠÀë�€¨­*¯²´Ò|ª¿Ã‹±¾3qS¸Áì\×j¨çس[E¹F5—«Uöâ#;WŒ§‚Þ4.277C3*#V n8¬f–-Kd‘Ä¡½ÞêÞ)Š€" (ŠÀ›�À±\QfK¥’Al?ûì3ܸqkkkØÛÛ3²l+•ŠQžüª\ùXHI²�\Qm[ZZÐÛÛ‹ .àÃ?4òvÇ_rsßì�‘î½" ¼ 63Â~Îö 91ÙÄÂfÆXæ·2HeªŒªþF’Í–ËÒŸÛÀôJ ‰t Ë›y PÉf®8.·‘4;íÍèµ—1c]§" (Š€" (Ç‹À‰ ¸‰D‹‹‹‚ûñÇ#—ËQ•¨åÁB0EMmö¿¾ìò`!Ò²4{€EY–²éÕÕUÌÍÍ!™LŠ®�[Qv¥„Y‡" (/Q\}nYlè‰xÐÝÆ²cÞ¶†p1hƒ±B[{EÙ{+K­ÊÜ\féæ©ÞÆE¬ïsÙËÓ•¹lárg->;\,ƒEW�¨^ÆQÓu*Š€" (ŠÀq"pìWˆìÌÌŒAnççç byåÊ ¡½½ÝèµÙl‘2Ù$º/´&¹BÛ\¤lzggÇ(›~øð!–——�¹Êöý~¿Ü—q t�Š€"ðLü$ºR¶$I�ìan#m”/Ï®e°È>Ý"Ü ®ü–•¨è&RE#^è€j†è¶<ÖíÃX�-~³s­4¡zæ¦ôIE@PE@PN%ÇNpE!uôîÝ»†:*fNSSSxç�wÐÑÑ�`0QK…Ü6K‚_–ŠÛ$¸R2-WnÓé4¶¶¶ŒùIO°ôOOOs"®CP�W…@³?·…eË2Züv£„9àµCÈo,YÄ~²lôè%7—}ºyöëî'KÆr�.#™­ ËçzY²Üv"À÷ùÜÇþOÁ«‚P·£(Š€" (¯9Ç~V#¥ÀÒo»¹¹ �‡ÎŸƒƒ¸xñ"&''át:ÿbæ$ÊíËToå87‰³�i)�–íËœ„tËß *®ÝÝÝ]£Œú5ÿ|èî)ŠÀ F rQ…µa¨Ó‡&K¸»˜À=.34£’òå:Lüí:l»�ìÜåZûTs§—Ó¡š;1ÀD¯}~¾îï¨NMPE@P�çDàØ ®¨¦™Lñx܈á·b)Mnmm}Î]x±/"+ñ@²ÈÕXH®¨É27Q›¥dY"ŒD}~=F�n«5”òYdÙc\n8P±ùáó8ôØôÄ÷õ8Ⱥ¯!n–Ë"T½Q3pÍp»¬Æ÷v‰†Rq’ÚTŽFT…Š¥ ÊÕ—±e*PÅ­°W·†|¡Ê¿ÕŒ8¡#…¼\ŸôèêPE@PEà4"p"®”KÞ­(§>ŸÏPmO˜Bx…è ám–/ 9-É-y¤÷×°tï�düg0Üƹ?,$ý*î¼GZwâ5F@ ©†º|$».œgvî:Ü;‹qL/%1ÏþÛ�§¨å¢Qçbn`gŸ$7_áër¸=ŸÄ¿ë“ý~ô·ÓqY îküIÑ]SE@P^oŽ�à ¼MÂ(êiÓHê¤Á.åÑ27!º2_Y¤¼úØG£BrZD|w[‹kÈÁ‡¢»Ýíôwú!� ßON%/3G‚»�Å{·°ƒdº;x±Á‹ÉׄÃûqÒ (/)1öºl†¢dOnˆ}º ¢!•�ÞMº)ï‹›2ÝËźç@IDAT\±Î¥ŒBYîÓq9U¢Š[EŠý¹1öë’ä†Ùߤ¢ëà:l$Ï:E@PE@8 ;ÁTœ”ÅÐIî �löž$›¥ËrÛ$¸'BÁm·Ú6]Ãþþ¿bÃ4€ƒ®�ðWŒ¡›Wð÷6¨ìÔHpã[X¼›Ö2ò¦) ö•©÷èP�Ó„€™¿QBJ#A§a<5ÜíÇöH3ëiÜš‹SÍÍ °“çï[(2?—C÷It—¶s˜[÷nË—ØŸ;N·åÖ€6—ÜÓôй*Š€" (o2ÇNp|!ŠM²(ò$\™gs^ÍŒ\yî‡ ¡‹TLâ{ˆ-Í`‹%‚y"Ý�ŸèGÀÅ|JžG>KqmÔʨf·ßÛÁôÜ.Òe'Z&˜ÅëD·¯ÆüK–yçÒÈ™rì·ãF…Ð[æÙ+ûƤå…5T+%˜Aœ·¨ìð1 iN Ám0¥F*ŸÂÁÎ6ö÷°—H#�+*U½a†ÉB5ÊíƒË@û¼£íQ¡YÁÜÀ8·ƒ1ž™ßF"Ï^ÄöD;¢ìð½‰G�M%»‹Jz 3‹1,®&àëC¨«ým\§µˆí…GØ�¥q`ŠÂŽ`b8B×[§±­£ëùÆáÐ'�Ÿˆ€�\3snmV3É®Åè©u9¬Æg½—YºK›ìċإr›/ÖP`nU\—ùÛQg s®@§eöênî0ÐîFwÄMÂì Bl5²s¹zŠ€" (Š€" œHNÁ=‘ȼ”I‰™M_vqÿ_þ3þ|ÿ¶Û…K¿xÿG7I”Ý'C)ŸuîØ¨QÚ›ÆÚíkø/ÿù–³-8ó7ÿ'Þ~k � l7¼Á&?*7\\—œ„>k]/e׎y¥ ö׫dV±pósÆ:ÝÇí™e¬l`?U@ÄÃæAK´m]C¸ôö;˜z׃³ìY”xAÞŸÅú½køÇ¿¿†G1'ÚÞý;\}÷ª‘;*™¡_ãIÕ+¹ŠÌʧøã?ÞÄ?ü~}¿üß0öáÿ€ß^¢æÚÇÃûqýöîšßBÏäCf'Óü˜±ÒÍ¿YHyq‹Ï¿Çnôèž,`i+ƒ; ܘ=0.´åØ‹Û0I~®…qBF •±²ÃÞ\_熂¸0ÀÕ‘�Qòl6ñb‘2Ü7ëC¤{«(Š€" œ"”à¾Òƒ%Œ“*¢ƒÄ©ÍŸkÅýEìlô²l�ݳ67ÚZI¾fQ�gW§ºRÄ£”6Ö°¯#c÷"t¡µÅ›Ý‰ÖÞ3˜úuC¦0rþ>Œöž³ÿö•ðâ7&Êm•Êur ÷ncæÁ4î>ZÅú~EK-}D,T³D‹®×Pa)få`s׋ØZ_Ãö•ËØ¿xý­ND©æÚü�D†h°5C·ÙlÎÝħ£ÝN˜íQ´{,,û.PðNc}aþô6éDëA„.ÛgiÔÓâ·ð:FåBù UdsÙø“гýâ�€®ñ„#`\èâì¼xf§¢+ŽËÞE·³Í�å­,–7³ØNPÑ¥ª[fõG±Tg++C˜£;³–F�åË{ñ ¨Üèâ{:Zh£K³¸6ëPE@PEà$! ÷• 9´Ãã¥ÔP7º—·à,O#»·‰…õ:ƒAŒ·°�„ìÉA‚[.bocË»HVH^ÛzÐ×Do‡�y½4’é!Ò{þ°¤ØPX`Ü'×ó>å¶Gzw7þðÿáOº…;6Ô]˜˜º„ñ¡–àb,J#¿�Õ™˜»{³70`Ávª‚¸£ ¿™#ôÁfIò�ïNÍ£–¿�Ù/nâOøï^‡·¥-ÄÚŠ,ê…-¬ÌÏà_ÿù:Ö¼ïÁ>ôÎLŽãç[á3³Ä{ë5ÄZwéµ@@Œ¨$;·'âÁ;m˜]Káþr_MïÑA�ã„Hnf K•F9³dêÞYL±\Ùƒ«gB¸44*”à¾ Ý E@PEàµB@ î1N«›ýœ=ýhë^GOà£:’Xž]Ã(UÄÊ`M¡Dqlé-M1£v›1¬ía �#Ô7„Ž -ö*K^ ì÷$a»yqS²¡³T[qi¤ÅƒM¤½�Z•bšNËóØ`–ïÚn{,E,ÕXmm°/µŽÿ6·ËmµUaVóm½H¢�ÃÎʶ×Ö¸Ž8bqª”åêfÞ0"]=è¥2D;ÍiìM²ÎÒl)ÏŽ­.bwu‰ªÑ>6cIã½î�ÓB°­=C#è錠«Å7£Jž¦úMTo¥o8‡ÝÙû˜¹u w’ØB'Fß¿Œ¾±q\ëe6h�.², 6±³’G_&Î�Å�ë÷ÐöÕ}T·æñåþ„NçUæ/ŸAˆýŠo :'®`¼PÇ…­ëØ,náþç7áªWÑñá©df?Ãôìd"è9?Š‹ïMat ËAíT˨ñêPN,MUW&¥Ã²|ÏÂ,cž „VTÝ zì§èÏ^üòcŸ„�=)0i°Œ¹dRõ±7·»Íe85kfö‰=Ü:1E@PEà�B@ î1n‹Ë Og?ÂÝ‹è Y1_Laen;Ca”k�,#<¢¾J n%I‚»…�í3+K°�v¡³~/‚Ö*Ì$ÀÛ 7ñÉÿóaÉ<�Ý>+þö×ö͵0Ö;È“Óz%ƒ|b ·?Áõ?Ž/¦×0·™@¶l†ÅåE(Ú K…$˜¦H~ ­|Ï“ƒë¨æQÊî`íá—¸õùçø’¥À3«{ˆg«¨Yýð¶öctê¼ÿ®L0¦Äc…•®ØBÖµ"ß/ó¼�{Ÿý ŸÞYÀÍÙ 9±²á„/L2:vW~¼5Å0.ªOò[–+Ö+Ø�»Crû>¾±ÊuPõí¾Œ·ÎðÄÖÂmä3Hìì"¿?‡ÏÿÅ�b*…€ÿ zÂn„l ÄW!6s Ÿ\›Ãg·b€c\„ßÉHTH¾�/­cöÓF~o›'Ôar¸ý!ª»�±xr7©JW(ç7°ÆÒíù�þ#n,˜±\iÅÛ§pá܆i㬠¹þ÷êTCh�ô4en�W³Ø™¿�Ÿü·–\˜+GðÑå˸|q½~F‹,aöó?àæô&>û<Xm¿rè ðþê ¦?þ'ÜxPÅ+¼õÑ(.¼E•´ÍBºÉÒâ‡_`úá>¹s�f6Y8»Ga÷±ÌÙ˾XbñMªJl¸_•ü&6·bXÙ.ÂÌ’ä®áI w…Ñ´Àß8¼&;ƒ�íˆôtÃkšÀ§TgÝ… F íca%ƒsmü{ÔAÙØ _k7ÎЄ*[ÈãÞ�GŒZç¹5Z•�ÛÊcì]¸úË�pv¬=¾æŸV¾¿1}B8±ˆúÚÙJ©°‹Šn€m E\tï|œ¿Et�?`›B ¨0»ü UC<]ÂìzË»»0Eâ+*®¿%¦m¼X'�u(Š€" (Š€"ðªP‚ûª�~b;rÂg�ÇO“¨3ÃèÚ, xk¹}fÜ.eIø¬ð¸øš:•L:›níbe�Ša={d=íAô…™ÑjÿºS÷‰ÕyРS9³„ÕµML¯ä`�¾‡sWñó÷Çp‰e¹AïZX²[êñÀDµxsfÉÇY—ÍÕÔ+ TIìVÖÖqw. {ç%\zï\Ä¥Ñ6øìuÔ£Œàqfar=ÀêÎ�ÜÁ UÕˆ³‚Ó6Hп¸½‰¢÷*FÞ»‚wß;‹Ÿ]àö©à6òèŽúŽDQÊ}ŒµlK p©k—Ë «Oœ&KÙu)Ç}c™u¡€{‰=Á„Û"t‡¥KlsòßrkõМ+ÚA•™}Ì4®®åóH‡¢—ßk¼ËlóÂÞ2Š®�>¼<˽y|¾L‚‹v˜;®¢wä >:6˜enOÌï[¶«O+§]q\–x!éåogO¼Þ–&/ÒqYúsctU®�ôš™›{@",åÍ æê>\Jc´×‡±n¯aJÕfÅŠE@PE@P^Jp_ÐOnæ�¹üìõ¢YÔô¢ö[¨&÷0;·�A¿õ^¿¦Ni–Ïî`ye%Û$�Ã莰Ėýž’™û}£^J ’^ÅÖî–v*�Áèåpñ||‡¤ŒÄ¹Qµ#¹µ�΀u–'ެºQJ¢’YÁ&ç1³šD ›qF‘<$ØV–?³j‘j*à !õøì4c"©N3bg'�ý £y\ì/ÞÞÆ½ù|tbèòÏpá|¦Æ[�í›øæFO˜=|fÄîßAa6ƒKkXeìN¦Øƒpƒ÷È|šû\/—PÍgaRF±Æ“q�~fÛm̼勞ñ–æ[aqº`µPafÿ/¿µR¹LŽ1BÜ™ÇÃduÀê‰"ÐÊ9w‡1O#¯Üþ²ž6¸£]ð·¶a�¥™bLõ]Ûj®Oo�Ó‚€|ž­T_}nYlüÍqc¸ÛGc© Bþ8<+)ã;™ÊVPª4h”WFšîË›,c¶ÙRˆ‘ð¦©æVÙ¿+ý¸N1oãï…�fŠ€" (Š€" ¼L”à¾Lt¿gÝf§öÖa´µ/b¼Ã�Ír ‹g±ÛmC±Þ+Õ×JvëTp—¶Špt ut”ù“~xHn�ʿ煮­ås(%ö‘ÉW‘iÐñ4äG{‡nF…<ïY>ˆ!“å‰kš½º7ÿ…=ñ²#Ø4qª—X Mgf–ú.n 5TD4[@ž'ºEw é,û‡K.„Iê»ûÂðù�[ b(±Ffœ.–$Óõ8Ìrãò£’q¤˜'[ BääÎ>I"eÇ›Ëá=ãLZΦŸ|áw즼öñëyû (!Þ4ÆÊðÂÃâÊ.]Ÿ³¨™­¨Ò�:·5�í­aÌì–0Öbg&ñóãùÒ?)'!»� Ã�~–;¨Î ²»°‘aÿ{†¥ÌeÄ3ü¾ˆ)^Ãlôí¦ù›³Æ‹\Ò—;ÊþÜ�KŸUÍ=‘X'¥(Š€" ¼F(Á=ƃi¶±,Øß…Öö.œ!+àÑÜ v.´!^�3³‡rl‰æ.i¬§l舴ch´—ާ$ƒÏÉã •3—E©$nÅv8Xúì¸`£#ðóò@YG%›F±ÈÞSÎFö€N©ì»M›±÷„´Ê²á:Ý“;{íŒ"Ì<—)�zNÞ[A¦bƒ•ÊiK‹—Ù½‡*ë!üTuLTKmn– ÓašeÓµbE– èÞJ�HŒ Ÿ"®$¤$›f{méÔl5Ñéµ\F¹X4_¿ï°Jos­H×è*]bÙZhµZaw°§™ë: :4sqªÏ«˜]M!^r¢­ž¼ ¥ô&Û«¸õpî±6túyA‚€j»á÷!¯?�XxAÍå`[—HÈiôèv1¨-褀 «,]^gVn¶XC®Hã©T‘=º%ìÄ X¡Q•ôꊢ›g €ÇVækjpr]OšÙ�FdtΊ€" (Š€"pÒP‚{œGÄD’gfï)ûF'Îõcùz¹ù‡ØÙ‘–Í-`y[qz»Øºq¡§ãÃAøYü¼äôp÷޼ZÎ( áSþóçku¶ ûÂGÌ~½ŒqTµ3Vçp®ÏX}ÃDƒ&qº=Gè´j‘zç±¹ï›�Ùé6Œ¨¤ÌØm©#Ou9¾€b)Àîe�OtdÏŸX]UHÿÞ.Òé,¯Žr]�P’\Éù4¡†"ˬ7î}�™;wq{ƒÊTë|ø³)T6é¢|ã²ÛKøÃï>EËß\Æhˆ¸€§ Ç[ÓŠÀë…€‡Nã]­øit7Öãgvn3)^Ê`vƒ… ¥XõÏ2e~7©æ®nç0Ë2çŽ MÔÍetÑ`Ž»:E@PE@x¡(Á}¡pþЕ‘ ±<×jC?£fÚW¦áÍÏSÉ]Çôò6"Ë+°/.#Yò­]èè`Ïg»^çó÷±™læÜzŒþ7'ã€JùI]å ÕUQ¿}îfö´Z™Ýk·3z‡‹¯­×qqÔ‹±ö§K…Rš`s°ÇÕí‡%ë†å€ÛõGâ„JTrR”ÊòÑ£c±1x–ËràZµˆl®Èã:�Ž�°;�pˆ +W)•ÄO >avø`óDX@„D{3¹�Æ)Å­HðÛi”ó�>eZÀ6x⽿�ÝG‹ˆÑ6m `�ëèd鶇jT£Æ¹”âTh—ððö}æÝÆ�´w¡è<Þz÷˜7é.[[ÅõÕ4Ýùs#A<<3€áVÜŒ5zzªOÌ[(¯6öÒÊâgÙrW›A/+7\hJôÙ°MªšPI¬�ôçf©ÞŠ¢gŸnGЂ¨¯Ìê VxxKˆÒ0ÏO·uq[þÆ÷ü5ÀJwAPE@P^-Jp_-ÞÏØš Nºÿ¶ŒL ³sî8бeܺùm˳ðln h}Ñ‘s4z £“¦/®Pku3Ó2Ü?Ë…æ<‰]œŽÆûÈõ8HpÉé÷2!Èöº%{ð[hS¨ •i�€úÑJÃ+yÿ“ë ù4³¯ÖÂ�—ÉÃíDàó²¼×Ab›Na}õ™NI¸ 릒4€¶î(FÙkw<õNÆ&5ê9l¯®âÎgw©*Õ�å:Âí­an€'ç�J†êî #“náÏ·1Ÿð |ö]œ½r †ànãI»—}Íÿrwï_ÇòL?þåÚ,—;ØãÜb(ÇÆŽé�7�°ßa”/÷1;÷ý‰6Ü]JàÞb�XÚ¿ÌÝ ¯+Š ~¿Y1‘b�.[Ö7V¤õu®¿�³}>x]–ø?õ}}CðÓÝTE@P�‡À‰ ¸B†¤RL~êu1)9™uk͹É\-ìÕü†)Ñ�<.Egx�8×çÄR~ �¾úÛ»Ëðf˰°'wèì0ÚÃx)gþ�*X3�›ì~æÃ¶Sýíee w¾ÂýàØ�°ÄÐiaae‰DÙ{RÍr ¾Þ³3×�¶r즷I$ïa¡ƒ®Ìž.Fýp6ÎzÕº å*I©Û… �ž­4Òz‰Fp–®Í;¹,Ýý3¡qD½}ð‘€ÚYÆ\H¬`ñÁL¯¥°Wv!2Ú�îÞvøØ«K!öƒOšè®ì £{hã±M]ÉÔ½·˜ÆX¯çýt\ö0šèùMðNÆ^ë,E@PEठpìW€rëd¿eµZ¥IÞ¸=)5ç!ä¶P ën¥bÌWHî‹RpYkKçF¨£#—ÎàÖîm82K¨¹Qkao.•Ý1š³=?ü¤ÏDwb‹=ˆ–8O22hÛ4Py”˜›ùml³´Ðc¯Q}Í ¶¹�Ý2�…ËK7cÜT` bivЭ˜Ù»#“¸@%rÏÁ¹Í ·9�»ùlù]$âf–æ2C–d¸æÀY‹ #pQݵ™}ˆô�bòÃ_b˺Ȟb–]ï<Â�?ïaÍc6Èg&¶�TÖ oßytŒ]ÄÔ™ng\Ìä}6¹•#ÃRh û‚[º™'\ÁÕw“œ§÷Ù›H­`ù~ñufkb#L*ì?N$�â uÅÛƒÁ·¦pù­Ë¸tyˆÊ4Ut–/b+ØYxˆ‡ó¼È�¤5Lž oG­,_¶åÒÄÔbC´oçÞ} 3)ªÆsËØ]^Ä�;#ž÷¡—‡”æÌtvÎ1;—ûœOâß°LåÜý”ù•8H[Ñ}æ=ôœ a²ËùuôRóç·ŠÀ)CÀå°Ð%Ù¶¶Fxäâ%�¥x?Jfq\Þ:È!É~Ül�T¥*¿ûô¨Šs•ÌT{“%Æ¡Ù+Æ\mY3tu(Š€" (Š€"ð<;Á’Ø$¸eƼd2™Kp³Yö‰2†Fæ+WJ«_Ì g�ŸnÊö© 蹿�ë=äÛºaë¿„þîvŒÒ±8ð£JWI<-DG§à GÐp}Š6ßuܘ^ÂƯ̧-Š•)ûe­T%í?ýaD[½$Ô4L2Ø¥”c»Ð>>/çXw}Œ�ë:U™%ÌÏ]Çí\‰Q;Üßï�Ž!2âD £yž°™‰)FZ-}giNÕ†‚íOt.ãú œ^C††Re°ÏEÇÀYL~ð \¾4�wÏ´£ƒ9»öïë76Y`vF ùÖ»¿fÎï@¢Ÿ^Ã�û³˜]ºŽ¹�©‹eF YQ'�p'‘>L\|WÞÁÔ(Õñ�6£ÄZ”ÖôÚ#l<¼�$É< x›*ðÅËgÐd©3Éíá—ÿšìêc¹òÏ1:ÇÈ�»H,-á ëCŒµŽ"ÒCÅŸ°VKº-¯c•å™k¤´�½ÉG?4â¤Í‹çÿ�Wœb®ðp;/ž}�ÞWN!ò¶ò7Rˆí$cÐ:|˜nÁÌjŸÜYç-c½˜ÑUâR«Õ±²UÃ/>-°g÷!#ˆ.²b‟¤Ø¡÷�²" (Š€"p\;Á’ØÒÒÂòÜvär9,..bff>Ÿ~¿Ÿ û,÷¼6ût_˜rúêR†Ü,E5YT[!´é4Ýr=2æ–J¥‡ÑÚÚjÌë©Uü¤‡VOܦs¸ð¡ géE)0sd †¢ð³ÇÕvÈ6ŸÚUVQHû'qõ·ÿ3MíH·ôc’½ äc‡ƒÓÊ>_£{'¯Âá #4°ƒ³4tÊx’)LÌLu’ÎÇ·ÑžQt�ÐÙ9â2r]�‚ZnÛæ ’àZ0tîm®£m£{8·—d$ûvk$tlv:ŒŽ`”Ä1àà:�9˜ØcÊòj–¢÷‘$ÛìTˆ‡bÙŽ#_nP[µÁÉ9µ°D{`ì,ú{¢$ᣵ¹ Oíô‘‡|P ×ékëA7÷ãrÃ�Öž1ŒÅ°µ¶Œ�ÅXÜÎcfÏ g¨ÃWÞÃù ¸2Ù�î0s�]¢TK :çß6ŒžIàצIöç¶`lj�V>ö “HÙª\‹3ÄþåaL¼ûK4¬¤<#¨‡û1m�ÏŒ\ý̾ND¶3ØÏ•Ÿx÷×ÄIÛŠÞÉ‹ètÓaöØ¿’_OMï)?ùÉã(QaÅuÙÎ¥Î^ødœ†u’;öÓuìòP†QB~OLü.0'WÈo,^$1v£/â6ˆnˆUâ¶,¹¼:E@PE@x<—8´ur•βb¤ÔÕÕ·ûÐáöYoú±ÏÅb1l²ÿ³ƒ¥¸ýýýÆj„@þÃ?üþéŸþ ÓÓÓF ðoû[¼óÎ;Æk„L É•fQMÅÜéÅ)§Oî‰ì»,%FÙȼ¤$9™Lbee…¦D7�9 ?{ö,~ýë_ãoÿöo ¢ûäZ~£†µÖ‰Íšh;Ú0‹rÊ>S–éZŸVþþ²’SyWMÞS%Mã ¤¼Gb<øž¯_ÇC]¯Óôˆj‰(&5nïðè7_E*Ë“Q³`LEWN"Ÿ<‘|¼ÿ×#ë¨sG×a"™6™•J™ƒ¬ïðT´9OÙ¾¼ŸÛçÒ|ïáûÌ<¾Vn›·ò¾zkì�ì›Ì�Ûá÷æ¿ÂòÇ�þj £Š³?ûþÝßýG\lÃ%^ˆþâÜ*ûžYyo•¤¿Î™[­6yÝ7§#xÔ�Šãxw¾Ø8‘q¿Îrvc.u®«¹£M¨Ÿ¸%æÜŽ”=Kû퓘?ñB} œjäk�äEÂeF %³ìOgëÃÂn7Y±²S ‚[äþþÉï‡ô¼Ÿéóc‚½¹SÃŒ÷xà&Y¢ü]C.†Ê¢CPE@PÞ<Žý @ëèè¨Qš,„RÔÛ7nd; Áãñ'*bDõ²\9üBpE½•Eúm…èÆãqì37Uæ×ÓÓc� ƒx¿Ð� É!N+—ç]ó!í2“Ù¹|ûàë ò*%Ë,üö~Ç_¯ƒ'—œ¥áü/~êOÍy �åÉçS}!…\‹ZM‚mµ ¡n ÜÑ Óå÷q¾äÅêÁ4Jûqí‹ØìlÅm.¡Ön„Ûè ÜFW4@‚)$“ËsMHðx|âЛíÒû«CPšÈE+¹€#*¬�åø>ö¤û}öÛ:°º“Çò6}¨Ún”PªÔ™Ÿ[ÇÚn޹Ý5Ú•0»îB”­,angé²ÇÉ3Š€" (Š€" AàØÏ¿…´Ž��б(¥ ¸sç#kG¦ùäÝÇ¢ó“OòÑ·=ÿô ¿«ÄùÛþ&%ÓÝÝÝt#Äûï¿�ññqCU~zÝúø¤ „ÚDªv8/¼� –?&Öæñé�»øÓ'ÿ {0o¤ ýïadòü–y»‘˺ù.­~<)ÇPçñ:#à¤:e„P?+tÎ ";»žÁÍù tO°tYJ•·öóØ!é}¸šAkÐ�«c!L� %×Es»Ã ù¶ëPE@PEàÇ y/9)=ŽD"øë¿þkô÷÷êíîî®Ñû*åÂRæÙ$¯MeõèDu]ZZÂÆÆÆÑ§¿õ¾lKˆªl÷è²-Jqsˆº,¯rÛFƒ¤¾¾>F׌DWžY¥ÒÍíëíOGÀ$ÐŽ0ÚG®à�ÿ‘†570µ¶MWcöü1ÓÅrù`‹^q{æ²’ÛŸŽ¹®Aø1½vŒÐ-ÞÇX±±–¶rƲqPdÔPÙhmHgJxȨ!éÕ]Ûͽ¹½ô h£!] ßoûQF|?f¶úE@PE@8©»‚+Š©¸‹iÓÏþs\½zÕ ¸Ò«+$W\•¥TXH¬ qZ–Rá&á•ç„ôÊóÏKp£Ñ¨Qf,&VG‡ôùÊ"Cæ%dWJ¤Å«³“yªÌ�•÷|›Ê{t]zÿ„ `fD —HÐ0â:›Š!ßÄÊê–W7‘wu¡îÐhŠy»$¸ª��ã¦Óxã·eYúÛ=ƾß[JâÎbŽù$Ë•%¦­fD -nd°Ëcv#‹¡N/.�1^õž^–,[XþlþΞ÷7ZÝaE@PEà�BàØ îÓh ÙBéõz�~W!®Bn›„Ö0í9¢èÊߤOv~~_|ñÅÓ«{æc1¹úðà ÕXTÚæ·ùXH¬(´BrÅpKˆn“ü6_¯·§ ¡®ìÏuÑM:lF�-ÄH£AT­¼Èa£²Ûâ6È­ÜÓtLu®¯3�t8çåÞV7.�1>ˆ„v‰=º1:Û³å ™f¤7‰l6_1zw;=d\XÔ…�Ÿ(iÜÆŸqŠ€" (Š€"ð†!p¢nS5•Ø YžgH ³ÄøH ñóY·8!Kɱ”«"û¼È�ö×ÑÜÆNÓ2.NæîFNûîèü�×�VOÉ2Òå5"„n…ð¸è,Ï}^ß- B§óX¢ˆm–0¯í°±WÄAºLô:zª| à¤Ï×aûnÇå×BÝ5E@PEà�DàDÜs$¶gooù|þ¹ß.ŠïÁÁ�‘g+бÜç†N_¨(ŠÀ+EÀÌÆx·ÓŠ3½~„ývŒóv�ŽË‹TsWYª¼³_b+K+Œãʰ·~a=‹¾æl_£Ý^£ŒYX±Š¹¯ô°éÆE@P�cCàÔ\é¿•ÌÞ¦ñ”ôê®Ð}Yëóɶ���5J�ÅYJ“¥YÊ¢_FþïóÎK_§(Š€"ð$fÖ;è×ÙêB$D×eöènµ ÚiG…–!Õ)z3”ª,a®`~ƒ=Ó¤rUÙ»+ÙC‚,ù¹N;ÛN¾'C÷É­ë#E@PE@8mœ:‚»½½�»wï$Wús———�h¡¹¹¹çÆ^ñï~÷;#swhhÈè­•RåóçÏãÌ™3Ͻ}¡" (ŠÀ«C€\ÖPs»Úè‹à²b êÁz?Õ\:.ÏÓ|j;QÂ~²‚í½œAx·1tw!‰ñ>?K�}Ç壆t(Š€" (ŠÀë‹À©#¸¢Ø~ú駈Çã�þ[qN^__ÿÎÜܧŸ”4ß¼y;;;Av1‡Qn P‚û4XúXP�‚€´“Øiwn§  ã²ôèv´0&ˆ¤Õïµb™DwÍY0ÔÛýdiÆ -ïä�d s*[A6çC®Ã ?£ˆÜt\–õX4ì„]�†" (Š€"ðb8•÷ã�?Æþþ¾Q¦,ý´R¶,jîóy�¼_J�…Ky²”)OMM=ï*ôuŠ€" (ÇŒ€Óf1È­‡dµ�j®Ä-le1Ë>ܺ.gé¶O•pw1A#ª<æÖ3bÖîÝaº.·°§WJ—u(Š€" (ŠÀëƒÀ©#¸¡PcccF”Ћ< ¢ H¯E@P�Ó�€dÞºõ&$UÔ\¿ÛŠ€Ï† ŸÌA' /Ý•÷EÑ­`�Jn®X¥Ó2M©¨ì¤Š)noq"Ä÷ˆã²ôûòÿ:E@PEà#pêîÕ«W!ÆPÕªä@¼Ø!ù¸:E@PN'~–-;HT»Û¼x÷,ðh5…ûË){€{ÌÉ�]£’ËìÜ}^qa¾»˜ÂùᮎµÐˆÊ­÷$T�“" (Š€"ð-(Á=L¡�7òt÷öiF’„ÃéDG{»ñ ¸·^«#•J!™L0¦èÅ]™ŽÞUE@xAˆ;²ôçJo­™Ù·r+¸ª¹ƒ�>#bh;ÁعR ë$»5öçJÄÐ`——‘B>*ºNˆã²ÃvØçû‚¦¥«QE@P�Œ€Ü#€Jžn‚Ä5™L"ÏûíÑ($–HÌJÄY³Æò¶½½=Ì/Ì#›Éò¨~äÝzWPEà¤# j®ÛÁ[»•„Õ…³ýAläñp%…/Y¹Ë,_ÞeoîÝ¥†™›;Þ—Ç»gZXêÌ"�Õ Ê'}?u~Š€" (ŠÀ›Š€ÜÇG^J�«¼b_.•Q©TŒ«÷&^ݯ×ëˆÅbÈçóF/®ÜʰÚIïã·ë�" (ŠÀ)B@]¦ÞÂÉžÜ6fæNô›¤{òh�ËŒZg”�dèæ L/'éÉPÂÌZCTt;¼èis!LwfŠ€" (Š€"p²8WJ}¥ìxG%J‰©T¥R&±­'?’·»»»‹ƒƒ–µYXÖÆò4› N–/ Ö¡(Š€"pz*qZ–e¬×��xK[ÜZHÀ4s€­ý oË|ÎÎ>Þ+ca\9Sß/̼ͧµ�-K•��fŠ€" (Š€"p¼;Á­V+˜™¹…•ÕÙãE‚M¶{{qì$Q*ÕI^m†b+Ä[H®¸%wuuÓX*‡Ã‰Þž^8ìŽã�³n]PEà…" nËýí^£Œy¤Ã‡…í,ㄲX‹å±Eò»Ë¢Xªb“�:<h÷ ›jn„*°¸5ëPE@P�ãEàÜ*{ZïãÚç¿7Œ?¯‚Ïeðb±Á FJxZá÷GÀp £DYH®�d¶‡¤¶›$×åv!Jîñ>ݺ" (ŠÀ‹D@2peélu«XOÓ`*…Ûó4lÔ�<ÝGt[^�å0³êÂÔXçKAãµ­‡KÔ4²:žÉ^$º.E@PEàô!pì·Á†xük«ðyyÜm7Ê€MR÷õŠGµfF­n§rËòd£Öì°ìÌb±%Éb:ÕÕÕe[Qt-½ZÿŠ‘nNP�WŠ@$ä„�­)]$¼o�‡ñh-…ù� 6÷‹Ø¢9Uåa »yÌt‹ÛòáÒd~.•`!º:E@PEàÕ"pì·Ns§L&ƒý½#ŒæñÀÌ“ “éU\Ñj™Ûcôû�åÔDˆ®ôÝ:Y– µ Si~•s{µˆ×gkrD먔J(ås¨4,¨™]<Ž6C�1™è€Í‹+Eþ­ÄüãšÅEç0‡ñ7ÉËÔ¡(Š€ ÆS² �¼VªuÆ ‘¼zl$½I#3w7QÀAºŒF íÆ‹Èªâk;[]ð¹yqÔn12Ôµ?W?OŠ€" (ŠÀ«AàØ ®0ËF½aI—ËŽ@À«�9…Â1H~…¦¼ì!Êä:(p£åÒa>â7¶I¶+¦R‡Êî7þªOœ4Ì(n�Ú]ÁÒÝ;Ø«ø‘ôŽa¤/‚KÃ-4ˆ)‘ÿæ±9{«³ HñoõЦ†CFÿ�ê.'í€ê|�ãG@rsè ,êìh—kÌË�¥³òÜ}fæÞš-c�CB†ÇúýcÄÐX��‘DXUÍ=þ¨3PE@x#8~‚û˜ÂÊÕms N–uYIk©°Uk¼%ùý±$×P`)¶Šâ*ÈRöLŠ*Ù‡ƒ¬VÊ‘%϶Îm™-B´%ÛöÉ-JT�Då²9Cm’kcL�ôå¾Ùj®àF®r 6P7ɱã1¤½¨ùئ©Â7òÈì¯cñöX)G‹awyp~�ÙÆ¦ PË ¶2ƒé/¯!ÖÆÏGo}QúÚ?Í�ÉãO‹Þ(ŠÀŽ€ü®I¤P˜½¶=ü­HzÐâ³SÑMaf%�íD +ìÍM1Z(•ç¿yIh �¯xm4®²ÀÅE‡" (Š€" ¼<NÁ%�0Èo…Ïòd@Èd…îÊ…b�÷I¢~$É•«ívªÁ§ÝX¬6!¤$2ÜŽ‰«ÕK¨q;UnOÜœK% ·× KòבEBnÅE9�æUúµU”ËeX­–+‡ÐÞÞa¸+¿¼Ãs’×,„Üf‘Ší S¨¡`kƒÇëC{‹Îc'¸¼xÁã›Ï&°³¾†­r^–ò/ü n½€äþ.6WpP;€=PB¡üõ±?ÉèëÜEàø�‹œÒÊ dWbƒäÂØù� á¸üh5�Ë•­¦°Å,Ý» IŒ÷ù1IEw°“ÐøZŠ€" (Š€"ðò8~‚K^{T)#ŸD‘Ä6O”ËÕH:EÄ%}RT}.D,æC²êòØá…ö†f«ÝàÓ&ÒœZ5Å¥L‚+K• IoÍÊm}½1¹/„»Ä‰lnnrN9c·¾‚ËrÚF�WûI¢³ÉÒ¹<ÒÙÊU|‘FÙ�l¢Ñ•ÍÎR·¾@˜.Ï^X&ç°W?°H¶y3;X}tÛUäÃí²²_íp^G�ës°ú"ÎUTÊdS)dÊ!d©¨”xÁäðð Í­ XÈ!�H"ÛZ„³DÂ.UÇ>8‡/ò”Xö¸µ…TŠ8ÛZáôÐñ2{ÓöÄwæpº ’1ÛØÉX/ØÐÕA$JÕš'ãV~ƪŠš¦nI~¾òȹ î/¯±z�yžVæ;»pyC‡<ÆÂÎe^Ǩ ½·�T|ñl¾Ï¸è$PñB†ÙÌ÷ÒpM>Ÿ§›ŸÏ ‚-A¸Y‘á¶ßçSöµÊ>è,²4›Kñ;OŒãTå÷ÞîôRu÷#ÜÊ9…ÑEñË®¥žÇþ }Ó' ¿mRrlå÷F—[üvöæ:ÑÊEúshBµ¼™EšÿŽÍm¦Q,W‘É—éÀ\f�nÍPs¥ÌÙÁï‡äðêPE@P�‡ÀñܧöENœ‹E ›1!›³‘XšIþdš?ü$Àd&A.xOgdk+h…¥îâ ¹¬�¤RÈl%OÕ¸üõ »¨{d@Æòø¾Ä ±ÝÞÙÂOò‹¥¢ñ÷±±qx£LYDX+¨9ÁB•ˆB¯AŸ…&ˆº'¬†Š+O<²i1™*Sí�°d™ê/‰ïO Î5:pn¯`{q÷ïOãÎÝGìãÊ#–!ée�p]fFP/ç‘‹ocŸXx»ÆÑš¦Y=2ÁŸ2‘õ^²›F™*#7ÿí ªŸÑºrB|Žs^?jgNØ›äHÅ•åßËX�[Àr[?ŠþA~žya†³}ò› Ï4PNǑޚÇÊ‚w×ÚðÖ~…º”ù“,'71wï&îß¾‹¯nbc? Vmóó% ,ׯ‹,å\IªÙØËjÓá6ø¬�Ø^Ãúü4f—kXI›©T¹à¡)œôµ›y!©QÉ IC¯ÔÞ«/ŠˆåLxû¼ûá¢êúì’ujèÅ4r±y,?¸‹k_Üb®h $·²g3J†IXr?A'Z+ÊV®Œ´ÂÓ/=Ô4ƒ;aGM§óæ" ß!Û_¤l9@×ë²·AÆÞ ñ]ÛÉFTiV‘²Övd�.£¼Xª‹-ü>Ôx�E¢” ~/<ˆtà7ïb¸ÛË—Ë…ßÃÚÂ"f©ÀÎ]OãËû,¯ÿºÇ{Ñî0‘ >IÉ…� ½.q›;÷ÿŒ{ŸßÄï¯m àŠ¢ÿâzÂt{rX~8ƒ‡7oàÑ ;fwm°ÿOSèí Â#sS"ð�‡^ÿx|xi–èˆZŒ²å tf—ÜÜiöäNSÍ�åý3ñ¿ôæžàÒPƒtgv;-,Y~ú»r|û¡[VE@PN#'†à±·üwÝ8í¥ªZ§’k£#¯…=NBn…hŠáÓýS«ÉJÍìu¢{%¯ª[YB&WÛ©;Qb–!Oá-G2wÜ'·bM±G7ŸÏ“T’ Ûí°;X,Ê×�²— äS{H,ÝÆÌýøò!IMš:.�xHùñøÚÃ^š˜°¤ZJ˜©à¦ã{ÈW8óÖ.„#TÐØ�h’I’˜\ò€ ÚbT»vH8¨”X]jcé©ÃíG[gû1£hÇOö~Î\TØ ÉIûkØ?H –ÎS%$iáþŠºG_iØ>cÑ®nD::öXáwÝq–•gö±?ó)n×aÝ ÐYÔÁXÐÒ9„Ë^»ÃVt‡@%pñÝmš°P�ä¶J¼P }  Ý—¥÷³kíÑ6¾ž™´² Î/˲ðdl »{²oìgc-ÛeÙŸé3ÊjeßÚ"mhó;àe?Ü�=*G÷ȸ/ ªÔùL ªÔ{Ä6–È GµÄÞh+ËÆmN–vu!ÚÙ‰â¹Rz‹9Ĺ¯{{ˆ%Ù‹—+e½U~®e_ýr ¹¯�­TpZ�F_ø7¶ÿžhPÁ­¦÷�Ý[Çêæ¶R&¸'Îbxâ®^èAoÄ/Égµ˜E1Ë^äF´ñy?¿¼Ä�ª¿{Ò ov±ÿ;2ˆ‘ñI\kãg“mò^ª¿Œø 7ðå| sËóØÞ>ÇíUá XÑ&EGI3öGocáÑ–VãÈÚºÑ68�«W¯b0ê@»«€(Éq ´ƒ[»qAŸ�ù¢®v¤�ÎLï+? /BÊ¿[’�K£äBÜ“CìÕ•|Ü Æ í&‹ØÞgeUÝ#†–Ûs4 rówß…Ö€ýð½?y&ºE@PEàÍCàØ ®œ¢Šs(Æ?ÒyÖ µrH¤Xˆ¥A¥ÃòäsŒR©l¼×Æ“äOâîë$™ „k¢•r½âBµdc &Ë¡›ú¬!Û«ÑìIÈíÉŠ�[Ueé½µH3ï�²Ud÷·±|ý3<¼·€ÛÛ ¿?…�þÃÿ‚·Zq™ýYVÎSN”L¢&sÿë$+†jkqPU¦š% „PâpR»ó˜ûâ\¿3�Ïï.b7UF"_‡7܃PtS?û.¿ó6¦èôé#Á•a2Hû|c‹xôÙïqëÞ#Ü\ÜÅI\†&W•º™ôÙ _¸ÁÈÞúå¯qõ}.°ÇÖ÷Á˧7°°¼Š[Ÿ™ð1¥?‹…å«&Îüü?âêßtâWç<è6°½ÀãÏ?ÁWs¸¿´�I®áll!9ê�Àä/ÿÞ}k ¿q·PE$½æ¾%¶g0{í|ywÆØ·š�ñÜИWkç0¦~Î}»z…û0®±s/ä?bþEªØ±ý˜øLãúô*¶âœçà vÃËÒáw~ù+¼ýó&;<ð»øÙj”Hw±zïSÜ»q×gU´u`ìk±jF�ûÚéW˜üèÅ/.õ £Å›ç2ç'WÒ¨‘l³t9Gõ?]C‘ é™Ëàí÷ÞÂ{CDý¼à#6>_b¼Åùñ„�%ÁBÕ�ÎÉdb–'/v¸ümhïèB__'?‡ ¸AÜ×âÂYÅÚ¾|´e˜{m%kèrð{⓵¬€¨’Ô&703·ŽµXzü6Î^¹‚_¿7ŽN®ËÎÈ®Nw cö ÿ·ÜytëS˜Ù©ÀÏï^±Ö¡œZNšïÙ1Æßõ¯ÎÝœ‹ËÝ…ÕÜ4 Sñ½z&Œ+£-ìå *Á= Vç¨(Š€"p"8v‚û TxF}xR-4·IìXÌÈè*²î@IDATOÖ¥|øyÇa�,»ó“ÉfQ3S±µH¾K”-H°·ÀSúÊ'òG×/ʱ�Ú`0„á¡a„ZBÆ•ùžîCÅ=úÚç¾OÔ¨%�<ØÄÌÌ*¶ãtäl?‡ž¡³xk¬ÃTÕ‚¼ÒÿÝCp snb×0º{û>ù|Û$¶¦Ö!tGMäÑ­…TÙÀúý/�I¦Pýð*qE;°€CJ!cIì®±x+޽"]kC­$‰&½­“ùçÙ\ˆÏaþVé<»—> ¯¿¾#‡Bœn[|�ˆèkc‰+£™XŽÞ‰QŒt’¼zHžêE*¡›X™�ÅæÿÏÞ›7·umYž›$1œgR5R“%Y~ö{/+ó嫬ìîè舊ŽèþýŪ;:ê�Ѝ®Œœ++óeúÙ–­Á’5R"Åyž €ôoH‘"%k²}Ž ¼¸Ã9û^Ü{Ö^{¯=[aËÖH8vÄŽAÕªžp °ØÙœ°zT˜ƒÔ$NÍOØÒð»uCc{`³é¼›NXÀ¾—s¸¹Îز#6tó�°¼K¶ÅØ6Îscƒ¨þMÛ¶uÂgžÝÆqÏþõ»§6¹”·Pó ëiÞ¶>œéUrdïÞ²å!ã¿=‹]º-Zžµ Âvg°éÈ %Š–(?i·®,•AeÀšzÛ­½¡Ú)a¿q ÀF¨ë·<DD*DDç{c5äe[^J1‚¨� Ñ�‚ƒiïKN°¾ÒJ;ŠÞì3R;¿ÑÍuR `¢V©:µˆ-8וµAñ;‰(T8X “ ÇÈÃün¥æ‰<˜…•§¾ôVÂ’m€ýö6X.”¢É]|M44ZåÉãÖøõ”%¶l}qÙÆ&ÖìLBÑo‘­/tËÿë-ðN,PP\.0ºR]>Е~c¢Ò†&R6µP(Q60Š’>ŒîÄ|Ú•Rɵ$‘)R¦WÙ;ß¼¼¼¼¼¼·ÀÇp‹}æY^`-™”Ó¶�Ñëu\m/ÊSe~æÏ ¤²& 8ªòå–-Z¹†§|ƒIxñÀ»ß¼Â•a‹ÇÈ“ºtÉ:(äBÏ`‚µüMšê³æ7¦m ÖóþáºXÖcW­÷øI»Ôµ¨o[°ÀÆëÿh׿|`ÿí›%«í=kç¾øµ�l­²�6ñÃ×6rÿ†}õà+»ñÝ}äta†»¬�¯”±*BL¦fly ü?eÇN³ß]í°šŠu+Ë-Û#Ôm|wÝÜ-·›�V¬©9f]§š`‘‹¨Ì"ñ&ë<ñï­—ð×ß_¨·†8 ·A$^o5É8¡»+Ü àjÖÆ‡Æl¥ò¼U´žµ+ŸöØy„ƒBؤ2BÈqc§Õ;õ]³ÕÑaúêoìë¯í¿~½hmýŸØù_ÿÚN4…¬§6oã€ög¾·¯ïNÙ�;f±¤ÚÉ«.·paí—¦íÙ·ÿl7¾¹ogÓª;NÚ¯þô {•uÅ6løÖ×öð«ÿa7Þ´/oÍY’~w�é°öJT¹s«6GXóÔä²¥Âç,Ù}ÒþìSr« G®Ä©Poe¬õ0• O~7ì­»†¸~ÍP”BY€þòõe›|fí¶p2a ˆE©JÉ^~õðëOkpþ‰ØB +³2ec¨>ß}†ZlÐò5­K$¬•ÐôšðËL«˜å͵lLhû bpeaëhi"Ô•¼»ûý%64¿1k 3CvçÞ3ra™OþÆú/õâyÁÚ{m üDs¨�“‚¼Þšz‹7õZWO¯�>Õèê´V°�€ê°+`ëæ¦K½;lÓ©*«ï¿d®ž³ß3¶¦¹½‘<9ŸAkoCø+Ãî ’Kˆô=Öñšk$$öÍ@˜ uëü&€þ™Ý§dÍøB¹Õ�ú ðÞoŸ]:�R¥%ÃÛ–�#Eqø_w7Ÿ�'Gd󤬼>n ³ÏìÎý1›²ãÖ|íwvéó3öï?k‡�.§|Wƒeû�YjzÖ2#€›±Qû!üÔ¾€½Ûè‰ìW!ê–&Z­¡¥ËŽ;fµäŒ‰{ëŒçìLëº ŽÁä’ƒºŒˆÕÈì yÛ";'EÌx0·êì-a¥Muá]û6Î_!Ï™óH˜k8ZgUM=ÖÑÙm'z›ÝºÅ3,ྕ³YÊÎܾ‡PSô²µ_û »üEŸýůÚae#ÀrO“­žì´ÔÄ”e§oØãá»W=d¿9“´M~_æ w:{ØÂRÛ¨[;€;0a©kýôs»xí¼}z–PZĤÔ£ëv¼kÓÿÁnÿñØôÏYo5wç�ŠJ '𭮥Çzº{¨a}ó~íìóµÞ¸�jn{Ю}6cAêëNÿýwv÷á×vûz-aÁÇ­ïìy»pù’]½FÉ5A�”ÆU®d÷‘¶²«·ìñô—6x±3òØóäÇoî¼ÊB\¿U�öÉïšìO~û·ÅÉÇÞ÷<ð»ÚÎf]˜yv‹ß7¿Ã¡›a­_r\t Â@J]E.ojQ´Tº��O÷JVÝÝYÿ—·ÀGnnõ8Z õsUJèDGÔ.-¯;Åå¯ÎÛäåÞ%G7JèÅã¶5»r*ÉúeN™¹’߉î‚Ú‡oÞÞÞÞÞÞ»-ðÑ\=°CˆBEãL^¡V“x·ËË¥¤Œ2 ÔÕÔCºóöbD¥{¾g«ŠlÃâ’­Ç•Ã(ö¨¾¾Þšaºx§)´ ¹ ?ßâ(èÿ+|ºÐÔñÒÎï,~ÅÛ6TóÆò"9ŒÔ¡ÍQòa’5nlŽ••£Â”%ÖFÍÅÁeÔ˜ç`'a¥×`cÏûpðÁÊ Çn*êjJ+å�Í2~ð6?æ›í9¬¨B§–Wm>ÃIlŒZk'ìpmµ³RéØ*‚µV_—°jI>!Æze~ޱe�4P§ü&ýØ–be‰üf”©Sk66¶hÿôÛü£¿·‡Kh:!ÐjùÜ mÚnßxfS”Ñ©]Ã!ƒZò¢dO“µÊQ{NX]ï;_Ù`•íŸØ¯Æ¦lj†|ÙUòˆSöä«I¼ýµuõõÛ±3­ÿx£�éI’åú¢`ø«›ZíX[½]"D½•VeNümÝr¨F¯.-PÊjÎ6ÖžÚ·ÿí?YÅÒ¯ùþÆŽ7TZ'Åóöb�Åëççðâ ÿÉ[àg‰ ƳÇZr#M¥§%J~.jóè*¬d6Ø_µ^œd}íQ§¸Ü†"³KqxùÇõ‹³Ÿ°·€·€·€·€·@Ñ¥ó×â²ö®é®¸ÊÄS®¢Ô‚r`a#ÈäTœºz¸<ÌÝóœ à�NÔv¥îìn#Ä «ïnÕ i¹R$F  ”E¨Hà6“àR{7Ÿ'ô«ô)W!ÉñDV³Ç¤Ì¼¸¸È*:ò›6õI/©9«S ¿~Íüb˜¬ÍU@ØêŠÂäYVÆ‹@S¢¶jw®JÆå�¸%┳©«¶rÂßÖnkŒ;� ª�!_=Ž@•_ØeÜH9¡¡ ÛluiÂÆßEsà�±¥WÓ¶”UéÔ~[k-¯*88ÜAé8y›�`Ìj1Çj”ÍB ÈZ…LÓ·£Œm¿þòC)GDù¤Ó3S¶N®è³{öÝÎõTØNã—Ê6o!¹õ—Bg9—ûÓ–…­^÷_wŠt½rÍ¹Þ°Žš®/÷îþ%ìõãÚŽó–h;e'>Y%çš²A�°wîÚ÷wîØƒÇ÷ì!5:ëNMX;õfU]«³%kÕ Úiå„ÒWQ?·¦õ¼ýÅ_žµ '™ÂÑAèr6½d“Oïa£ëvýî„}ù?î¹ðtk9GxzÂ\í©Ð+í°ð(üø“/Õu­£×‹¦…ØÓ�Ÿ¥ì@¿I½¿Ø×‹µý'o�Ÿª$D%…{½:ÉÑíëÈÙhGÊîöƒÝaB•'¨ë>2�±@ïåÒ$X%‡[ˆ—÷�ø§jßïn�-æ9®«M—Jô¢;zžè¶«ˆƒ�D|{¯г1 ±°±Y˜®Ç¼Î�ª0¹øßÑ2þÝ[€Œ¼�Ê%3[SÇÚ*'UŒ%C6I’ÝFÔÆMÞݺ�Ò�~‹/¹µ„kò+ À*Q*•;QHr€ýHU9G S­¯ÏÚ6›åoÊéÆî&ØšO—EÀsƒ|à••rÀXªÌ®6ïN±Ë s®¨ŽY¸¦†<× ¥Q¡]¤ÑêJ£mæë¨ÍË俤¯üè:½»Ï¯\ÿ�¾¤?ä.«WîÑ&•éÈ�=âÁ‹ûæ Å�GÜò-¯†³�hó×È÷m°îZêõîÊ)¥� Ÿ'”¶åÄ5k;³–Ú”!ý£š,-ˆ®[M,t½êºS®ôA6ÙÖõ�ÓµL·9_ú é|•žž2jðrñ!üÕf'#VSße=ç?µ ˆu=¹}ÝÍ-!œõ·v¿©Â:È¡íKl[]q$êO°Š|vB›ë C'¢AñNy3kõɨuv×[ ŒªõÄ,¿L˜%%«Î£ê½ÕWÞUŽH[çI¸b“œkM°TÙu©mÈu¶­rBˆKÁê§²Û8¾e®®â7MH†oÞ?c T‘* !ª0ϯn"T'Säø¯"J•¥\Ù¬�N¬Ú˜³3Ý1W~¨•´…:ûæ-ð¦˜]ÊÚW÷pæN§l�rVE'¶œ.ªìÐϵvñ8•$x¶øöþ, pû¿u9»Ösš»’aÝKîþ%ÎKµuß¼¼ ø¸®ú´3{—'ÊS€«&ùúbK|Ç )¼X“ßmP³P1¼e”¥Ùf;ÛT* زšj”Žó0Rl—Ȧ !ØÜ„ybûm˜>�[1ºÆû5�Ü\Ž0±åÇæV×§ŽIÚoƒC–Ix(PEÈ/qØu±°Í§×marÌša;0‰à‘{ecœeÄ`;° Ë&Ñž �uƼ{b¿4ÞMÆÏwŸ@0T¨±Ë9J¡ Ky³Z×\�÷�–è;þç%Õê«°Ù›þ[øÑØrZ�çÉ µcS=â½cË3¶ 76Ž­±‹.Ö_æãÿ£7íxgçr ”QKªœ}UPs8–l¶Žs¿±Ëúìóž*”· Vx±sÖÇ>•5Ô®D8ª:˜µåpÕsTòš Ë—wv+·NŽxƲØ`ƒ~j~ñb|:Ç9rÕs¶JÞ:—6àQµuÙ–=íê­Îc€0k ‡£ ÖØ‰ Üóñ6&ÉUs–ù§§ö‡¯lè|¿=šÞ°úЖ¡©åš‹8ÀÁ0u�Q7N&Q­.ÝSÌòˆå,��Û“xÞ†Òr ‘˼ÜT4maGü«s\3¬¢¦4õŽ—ÈiúžBtmk{瀬—ØnÁgˆ8XË•Y‚\ÜX\9¹rùæ-ðóµ@8T(+T�"½êçv5¥Pa�Ø—wgmp;¹?RÐqÈ0áÍdk¬£�ß‘6*Aäœcù�D5�×2ÜÛyfó~Þ䜣-õhÙá(MÏð-žá)´4Ò8²K›žOÚ�ìÂa }ûö²–7»þhÁ¾}H$U'rz˜Ð�ÔµU… ÏKüb®¦„ŽÕÆi®Ó¢=^¶ÜþKY¡—®½Ã|‹UÿaxÙþæú¤­p^ô»Q‹!̨ó²Þ¿m'Éá÷wÿóà—þ2-ðñ\ž;b 5ÀQØ•Ôh�/î •ç*CåZÀšc«ô`ä{=®LÄÈf³0A¼Ôʸåïu·\Œ-žI¶qûÕ»Cˬ̾KaƒÛžcU2©®¯£6ì©SnR¯ž´¶Ræ…ÜÔ7jåLàƒM„ܶÚñî›}’¶�§7lh0a÷§OZ/7¬®Ø«OM9 5OZu<Š¢ð–-RêgrlÁ:êm &‹¸G8jË[›‹6O™¤ñijWÐê`ŽÃVƒmUõÍЉš®Çî¢Xb»Èe§îøo°ó2ÆJÔ1¶«‹p>3«6>2o x)óyÆ&ªë�²C›¹E››'5nkóÃ6±gs6º@˜:"[Íí”[ª¦Ü—rò©ËÅêòYa´YÅL:M¨+và*€ëDí„Ã�JÕ:�XTf«’”ZÀW¢ÁšëªlŽp÷eòpg§[xØÅ­Šœð*Bß¹Ú8r–Pæ&°q†_.{ÅïÝ&Ñ5ŽmQ®kHR¶Æ*&ÏšzjO‡ I Ú&õkk¹B÷7ÒÓ–]±¡á1{8š¶l[5ç¸�Üä¨Uq�—onÆøVÓ8…H®ûY±ã<’H”€i ¥ð4¤‡ÜBRGÆ<ü–J~,— �¶Ød•ÎJ­­9;jÅm‘séI[_~f“S”xÊà”BjB]q¿*D�è¹ú±µ¹å¬Ý¡æ¯ÄÌbÖuOϤ༻©Ê•U“ºôQ„´�§ÿ÷ìïo¿�Ú5T…n+þ§NN4vÙÆÿq°””†-Ué®ë÷ç]}êƒ×Þý�"¯Î÷R­‚I[+‘»¿öy x ¼c ||W  ` †¨Ýã#ЪɵÀ¦2%Óo1Q/ÏtY.¦GõJòÖ\*çÆ¢&ìTX¯L¦ò\ã¸-¦–—õl_x'‰0´¹ s&Ô»ÓÜ1ù»ÆS!™*�£e*Tº^qý£½ -ÖØb'?»fãky»?ð•-=¾nýŸmäì {ÖßgÍ("7P«¶"+º‘±ÕÅYKQÇ(WsÂ’� v®»‘÷»p¶ÝR÷ ]û»aÓŸ5ëi [GmÀf‡nÛäã;öÕ÷Ãö`¹Êú>ë´ó—z­!ƒÙÛ :ŽÖ÷ÂZb嬜Ó0¡ª0­5A”™G°§0ž·Ú·mq.lÑ2˜ÅP�mUR·.kh©•àË#ÖÐÜcŸô·[f`ÉÝükž&­*˜²Î:ò]£y›}zËÆßµ¯ï›Â;ßÕegÏ÷X]‚Z³ô¯¼�È+Ìu´Ípal€rOIšigykŒ�J.'øÜ2KS–yd£SI›èŽZs »¾ÇÎôµ£¤Å«ÆRÏÈ�M„&Fng7,Wš°â"ÀÕ³^á ‹«8q| `¨|XÐ¥*|¾WðÐ��;ºLšÃÞ&°Ñ#ÜFa_Cx¯uüßÞÞÞ?? ||/s@Ž”£ÚKN-àV9–‚b Mñ  ã‘V¬\åÒŠÝ n#<,s¨Øæ¨››ü ˆ ôŠa\G�WûØÚ³»MÔè\î-ûÂ-€\ª¶yíâšØŠý(2aBAîí�ošêÓ¯h½…ŽŸ·“³köÙȤ˱x8rÏ·©‘»2c�µd6Sú¼ä(¦(]“£òlaVÝ(#÷ujÜØi§.^°Ù,hvÌRc÷ìÆu<޵!kMl~ä±Í�Ùôzµ…;ŽY/ÂAçúš˜ðäÙ¯÷ ¨Ò+a:[»:¬ ÖîÞƒ)[z¶e7¯gl,À-ÏY¸î¸…š‚ÙÀ=ÒñÄpW dÔÜeg._´éÍÇ䃎ÙòHЮ½É¾ÖÄi˜‡õžµ¹M˜ÊÎ.ëƒ ?×ÛHý^� ú±ŒÉ y±ÍmM–X[²ǜ͌7ÁzœÜîÚYmñd�µÖýlzÉf§ÙÐH—µµ7[Õ1XºN;qþœ-2ùz¶2n«Óìî�M€rÒÆêkØÇ†•og-SÞb[áv«©­¡TS|ÏÕóFÆe#œ9(3×¶õZç©%;ûhÖÖ7¦lnø�Ý_[°ì|‹%£\CåY[š‚å´ÉUòcÛû­³ï¸]Á1г G9›^´Õ¹{öhÒžLe‰ˆ“›®‰,´îÆv¶ñ's¶´UkͧN[Ww»k@=¼Š_ƒœI8yÊõNãȘÀ7Wme2F 6õqs™››œ°©áa›Ná4èì·®ãÇíòéfXðÝõ– Á €ƒ¤:Öl=gÎÚôJÎ~˜xf«3íÎwå6Ã9nàŽ=²'Ã\ÿDNœé¾j½Ý­Ö§\•Ç·ozaùí~&HÀFÆ)+ÔJ”É1ÂnkakcÔè~0„3px&Sá•ÊqUžžB~õ½@ñÇt•CØMDÆÔüúó³¢Ô†,)ê÷w‰±(¤øP€ËºÃ0ÁËk…ô$íP· ¥9)ê¦�\æFžKª!ì›·ÀQ, G’CÙjFÄ­e)L´©;¤ Iiš©ç®¦ Íu½Éy#§Š®»sZß¼¼Þ¯>:€«0*Øš&ï\ EIDj“‡òiUª&˪j,ªaKN­<¼l£å ·Ü&Œ2MX©@‚ÛáIÛyØ:ÔZ³0¼)€*TTPÆaì€×Ö¦BŽ õˆ}÷­ŒË@¬ÇŽŸ'ç(Zg=wîYëÍ{6>?m÷m@‚BÜDUX걡"�]Ö[·€9ßXu]»u}ú{ËF…_Ùá){|ãïí)áØÜ}+s EâÖqæS»ÚÙ¾¸tÜε2ÑqBIr¼iã„áo±:ë½x™’CÛ6º|ËÀ¾û‡„Q#dEÝÔÖÓ9ë¾Úeíur õ&¯},ÊX{>û– 7r¾¿¶G#³öøë¿¶9=8E[¸¦¨O­¯ÿcë…ÝC„Hcӓɪ-ÑÐjg®œ³¹Ü]{81h #Íöå�³Vî²óÝÍÖvì˜]¼vÎF¿´é§ìÉã>«LtX³Ææë¹úg–GŒ©,ò�Ý{2jO†®ÛÍûv�sS€ †Ûqź«íä̸˜*tA½…V† S(Ùg-§Âö{4--w)ÁóŒ< {v{üáÆŠ>PÄ„PÜZû.ØÙÓ—íóË'íJ/^œD$År.”¯ HÍÍ[zzÄF(§”æúçÙf¹Ë9ÁÆ“Þvú’]A1úó‹Çí,LyuŽ‚T!‚!fݵ!›°¿ 2QDèI!àäÙªFuˆ}T†›¬ùÌi»|ò‚}rþ„]¥‰È~ç]燨‹õ¥ûmçQKçÊíîã{tûm�ß´&‘F Õ_¶KW®Ùå/®µ�°î»„¬ß‚­ý.¼~ŠÐm®‚ƒ&Óúm´vûy¿� ÍnÏØ¿ÜZµï/â �Ù¥¾Z;-Åejèª ßÇÐp�QŸ}±,Ý­JŸ¼›Üßæ–»&ùæ-à-ð~-ðê'Æûí‹;šn 6†Ç¶ŠKÅã4“q=È•K«e1nëÑ. �Ö¨ªäšª´d{/RÆ®l$­²~É*Ú›¬ÖG½ß±¹ŒµrPsjþQˆòÄl†åŽ[‚¾°Iˆ±Fœâ¬T”}{µt{Õ|Ë7¦GB)nŠx“P”Bå£8KQ3þ!N™ K›¾c{P{¡'È­vo'j€“Rø¿ô�þ³·€·Àøè® 'ÂËdTq³]YθîË3VÅw ÂŒ*x +DÄÕ²e¢.àgy¨R¹µÛ6N…,@(R…÷–~%“õòùˆPmÃ~ 4¯® 8È-nÁË6 b~¼ªjãE(K2ÿÏŸ]n·†ÎóöëÿØaÙ-‚–ƒqµ°}ÉzeÁz€UÔ®ýûv;óY¨z\Ä¢²iÌxwºÁþ¼õ‚}!f|‡”Âr(Rcáê8!>|*³S×þ‚q~n›!”1+£„‡Ûל®åVÛz0KÞ쥬ý6“u âØ®ÜØ(7£º‘ÏÇævÈįºÞâ„¶^ª?k½WÓ¶M~/´¡%jÂ<¼¸žêŽY¨¦Ùþ¼ãsû×Qß©Ï%)£ÿeå¨N7³¾+ˆ!�ÍØgØV¥˜6‹ç…TE%�J@<· F“G â_½vù/’vš}ncVIx{-»û·ï¨÷,T¨2e©¨Å{ 4ÿŒ9WòI%1òä’—ã8Ð9Žp~#Õ5nÒªiœŽ¥’TáD§5U5Ø­ç¹¶²l«Ðþ‚’¸›É`‡€öAâ{¤ª°…Tú €­LX÷¥?ãØWíºT‡O¹ï…Æõ§kPL®ê;Ó�0c k?Lž]vÖÜ÷M6¶_k°¶sû•Î1“Û-ÆV!Á1Bµ£Qr† Ér ùæ-à-°¿T"-Êsá“qXÕ5�ÆÙ+á¥/˜µŸ Úçýõö§—$PˆØ ΩÕ°åLÕýVL«j¯næ ÷]‰P‰Á•3î ¦{‘Àð ŒÚ$¡ÎkÌŠMŒšG;ÂR‡1ÀÅm~Ùﺟÿ²-°wôzäÈ Ô‹«ëT×’"&t]êš+mÍÌAÏ�ÛÕI»HÄ„_½ÞFJ€Î‹;7þü”šÜö8ÐÀe²ÎÝDaÅÕŸ�fê›’*¤\¢Œ7�9¹ 1NAåiy%ÛÔpó BÖÝ&y‘�带Z^$(“»Äô®BŒC” U† LÈaõ‚R¸z�MLH†¶ÀÒ¾ö¡ ªMêꓲqÓ‘w ;&¡¦0¥zذI9le]3lmóÞµ¸y"Ñ à{X‹²½ŽÖÔ?&@„fë=ÚF»ÖR¿õª­‚ýnÜõ•ûCàT/ˆèýÇrý°GϾ&¤œ’Eµ° µûïõµ–êú¨À Wõ+NÓ¾;•c$àÔëè(Ù•C!§v,Å㆒oÞÎG�c®_ì«A ¯qý¾�ø½x ü\,  °j¼*gP/EÈ4RÃT@oÇ­„œVa:zÿ™fåå6#dØÓ¤‰»Àæû¬«c©ÌœTÿ[aigPA^§ÜœšcpW³äçfœÐ”|jn‚¿çdeq¸),Y¹·RR–¾F±ÉaÞˆƒ»K¶ø ¦} (+ìt‘’E«€ä5줺§Nçcg—ꯘf)SÇ(e$§e5ÀüU^²»rЇ(ë4ì¦ó4 0IÕYÌòý—@–Æ!'¢J­©_j:¦ÖQ˜µ¶©áÜÊ¡{”¦š©)ì²£¿€=•?ºÁ¾eËB~²Æóˆ� )Q ³}s «.KEe›$&([jL²…|Ã—Ž­—:7…r"§^q J7Eû˜€ÕšH¹þÊnœEhÊ“Õqç‰PÝXgKÖ“H TÂf¯¹ ó¥s®¹¦ì–dnZÁç½ML­rã•3.Ö÷UM×–ú©›CBe�›Êý£°d5�…YK€*C4V¡ÞÀkOçÞ&<SÚF‘-Åæ\\Ø·ÊAMàVÀX ðƒ‘e¢Þé0/�£5ö¯t'5�J…�+dZN—÷ ®ã”×,Ð"ѯ¼1Í«P¾Hó9Î�ý—W =�XC {ÅFWÐ@S$‹šrˆkY§Ÿ°×~Øù.œ§G¸íc¨lß}¶ìJ2 L-¤+`ÂôCáê=¤÷|z2Yžà69:D6¼IÓœMì»FVì ã¦^sljLú^QBcj”*’à\wÜTJ]ƒ·ªuüÝãû/ÿ2æꣀm õ÷Ÿ49 ,æ�ãÞzºhOÆÖœÓ@—E‘µ+§êÜ:¯pßćm#ǃXà‡ØèÎàRáVî-€cº �6„"Å÷´hNš·0çEךoÞÞ‡[àà;þáÛ¾•5Š�"…Zê,€«�ªÕ$\8ÄÃA¥\** WžLÞÊÍ Wþ%D=R­/•cÕÍ•UX¹¡,V+»«›®X^y Ý#’¿k¢Qkiê¶ŽÎãÖA.æÔôœÍÌ ÄSâôVéwâ-à-à-à-à-ðž- ¶GÀKÌ�]½»º¸€±v³)"œóÿ1áÖw�°¾ýÇânrý¾º+.QžÄ{Pµs‡Õ3[ì¬BŽ™ø‹ÙTήÆPÚ¤¶<3ªu^¤NàÌæY/€¯Üd©ÙîhJAL½ŒTOwÛ„(lº°_œïÌ?"+Ǹ)¯yF¼�ªfbÊeã½Ä�g@�ú?±£­18 Ü«o58êשׁ'`× ltñ¸ÆØ6l–üé,º :î'0¢›[1Çæz-à/Ðÿ¥õ¡É”=ÃÁ!6Uß©ŸêÇ öU9&�Sá´ÊaSýº0JR¬¤ɧä~Ë‘"[*/zvyFíR\ä,PDžXoUÅбeÇ#¨`K­³IµÎ™ãÑŸÒ¦c蜭QÙ@uŸµ­ÚöÍrìl+‡ÎM„Õî1fXÞ‰E"X_€=ž ºþó¼K÷ý¾>Ëá!eðgœëïm€ßÞ0å½äx嬦¾® I¡eh�Œà ˜ä·á毯{bÞ×Àüq¼>2 |p€+{è¦%p[xçÇ�¹¢‚‡±„~‚‡ÀÝâ¥ð À,7ÅPV ¸jU“Vù¹|`?bu@àªn�‡œî òš:¯d™ø[ƒ F‡Ò9gPž=}æª=@Pà©MPîdumU�òÍ[À[À[À[À[àga�죀ƒ¡ß_i†Ñ[t,×Mê_ÿÝ·S.ªvðÿú_�½w€ÛKŸ=[yngp € QH€×ànžÉ¾Ù~wd‡Á-Î!´9Èë #n@Óc?FRl¢ö/øWßL8€% ¥åaÙšž¨/š£l!þ лD_Æî .»ZÃÄÝ–•ňVÈõaMûY*l9ļFH÷1Ì­€�\¡z!}pÇ5[È¥ˆóK9§â+@WÁø¸bŸŸ4¿~0oÿãÖŒµb©e#±Ü[̃º«ñÌ‘«-�¥kC̪ ƒ}M % ¯0d…aÿã­iê1/ºs¶û^ЋÐ\�ƒó¿q·Y7K¸´Æ¥mtŽû»ËÍ.Ê® �»àdW…Ýstçè¨�®ÙïÍÙu¢Äø Ì:‚ƒùŸÂÞ‹çõ }½ëå²÷ކˆ¾)M`l&ÃõV(9äì³Ó�Ùœœo)6«¼W1—W$�oÞÞ‡[ࣸê¦nèŒJ&¼ÌÍvO§¼•ú;µ¶e™4EqxAùnoV†š>§Säu J±Êgn6åndËx8sYnà(û®ð°šŸO;ÖvOÞê 9>x,•§[¼Ù¹œ—úPsâió’åt_öÍ[À[À[À[À[à§j�<½xr`L¡©ŒI@ ÅÍ'KL¾×ìo¿¡f6àHsé6Âq/Ÿ¬uLè»·òY; SMHGÀ§g²€žš@Ø Ïú)˜ÍZB™ZK›X¯qæbpåK†èö¥ÐUǪÂHî×ʪzÁß ,À-ó�45‰ZØßZœ çøXàSNb—õ.°òõ½y7ŸpåˆbÊ-e.±ßw–¹¡¶Ô÷gKÙYÀG ºB ÅQ‹‘ÛªcV:t`ͨ_ÿÖOvh Ïs¯Â´€¦æ6“„¿~ûhà¸êú,vµ´9v»tpþW_4v)F\’Ë\ºÝAŸFþ¡¶º†žÐ? œiLÚ—šÎ‰ åæƒ˜H�mõÉ…³ŽÖ˳Í÷œ ÙZý â¥b¼—ßÛÄ4ý¿?´üœMÃÁ´Öw&Ü»á{ü›!qMoê3F#wž.l´s½»R°Ñ [)—YÂ�àb;]w¾y x n�ÝOŠÃ×gk膖£$Pj-k‹x¬B•!K­rÃ%”fe™ä{n”åå„) aú{�°�5òc­% ÝGøï‰Î¨p d)´õLuê§×ìÛû 0¯)æ yUôsú+�(�‰Zí§²û¢…O ]æ€ÜeÄ„”‡ÜBN®@ŽÀÏÉoÎ;á-åÓª Äkܾ«Œ[À'\ â¸jš·ã€ã”ƒ™C9ÆØ}kD7 ¬¼á.ºÊ !'t6Yã’=ŽÚd7…V+d[b_“RÿŠÍ…‰ÇC¦Ðw³Šk§‚�‹=—ƒá1NE ¨©Ÿ§RÅ~Œà–û3]q«<¢sENÙG±6Zál)/9”�­<ìSœC1åï» ÌK|û*|¼ Îý…‹ýWˆv/×€ì$€«ßXéyÑoÒ7oo�£YàýÿÊ÷ôK?àhMÌêëxT¸ñÌ´Žª@}”cu\ EɰÂ9ÓuSÚ4Ö^¢þä|£ýjÐR²Ö\Tçå¿E…&+’ACôÍ[À[àp |p€+©óç¯Y,^ v}0ŸƒW>¸ÿx!ðâ³ÛF+k=­³Ã²‡î<ÃÜðÊp‰@©r�äCî?^guÉ&W"¨¦¦†2CÕŽMÒ'Ý(××õðò¬‘à•˫Ѿxùæ-à-à-à-à-ðs³€À®Â…�Ã`þ¿ë²/Î7x ¹ ÅQ^gµD?�Íýôtàêí=“€’€ÒÈŽa•OºÊñU2H`N¥„¬º)q¢y¨47(6õG ž\åïWÿV`XlšÔ{]lŠÆ/p¬ñ‹Õ.69Ì:˜›’aÔ�+‘Ôe¥Ojé"À]Ò�âæû¾kõìG¥rTVÀKìm±¹ÜdêäÎÑÏ¢ºtñ;ÍwrD¶i,*ƒXlŠ¥f\ÊJë{†æêî~°Uøoa~dŽáÃ*;?&\›ã DïݾxŒÒw­#6v ö6¥¼×=MN‹ °ÿR8VY¢âüI‚gÇ`Ê;°²ç ¬±J©9¶“>ˆ]H?jSø³€âýõv‰c6³_�C]bÔ5^9iŽÂ®õ˜G]O×±œ º^u ïmMü¦®PªIå²\H6çJלêCk[9Vä@Q„¢êûæ-à-ðj ¼¸+¾z½wöm Pa}}ç­§ç^PdñwTݼŸ¿€¸ïž°–:y׺…õ_,/,ÓîðÀÓÍ´ŒØ§2îìØò9€JsÀ)/K�™}�³@n”ÒAáÞWT”76Èé¡¡¨µMñæüÎ âwì-à-à-à-à-ð�,  %]½*%ðôÊ´EíÜ5G¢¦’W�š¢Izù.`¤§©Æ ½PS– ®r3U:gvQÀVµíÅTNÀÀ*$¶ˆ üVG.ÜY¥{X÷6‰öˆÁ0\lz¾k}¢*l °8 Ð+mÊ•ð‘ò†:]l Ëuµ^ÉÏÛ{”&@&¡(<1è ¥-mr4à<©~¹ªƒ¡0fõ±à ˜.¤Ä–ÚEf`xÖ ˜>ß›À‰tëx¯–‹ÉU®µ˜ãÍ­ÝÛ—ö«ô³Ž­:¿Ê‘–"uiÓ1u�œéŒ;6]Ç)ž ÙOçQ"YÍ„eë<®>ë܈±”½u Íá^Õôu„ººb¨¯îý§0ðAhô·é€yÕñûN¡×KØW¶*Í=.ž—zœ*ç`ðupÝhùGõ’u½5ÁH‹ _ÙF$u·™;´ÿÞ[ài�põ@¸ø,渺3ÁÍ[Ìmá�Z--¼–ï|v_èsáïÂ:nå�*€ËGþqÿé]/±¸€]·ðPÃóOXs37€­@°òrUW·©¹ÙÚÛÚ­ºª þ°³cÿæ-à-à-à-à-ð³¶€B‘`—®ÁÖ6ó®ÐJ•Üël&ÏôÐñº†Û&5ç8¬Ÿö- ¶q¯ufõ“°zÓ¼t| 4�ªö2¸bð:"–< ¬ê¿½M¹³Ê]x/�:^ðð-%f¨Õön-U[å¸*tXà«Ø`ÖÊètÓ’â¯x×Å0ë¥\ؽMàìUŒ£Ž#û”ÎxÄö¥_óéBvwvª}9ðx­‰(¤¹„*fÍ“ô½ì'PšÁ�Àpm:¾˜[±ü¥ÀMêÌ“r_Ìž—Ú³Çú#P=·“s­¯5ŸS^³Æ Ð,ЮëðUMó¸öÓ +¬ëHcÙ3ÄWmþοӵ•Qe—ýâŒéU_åTè/°Ü»»#§“"ÄòË9SzÝí^Óÿå-à-P´À¸êˆÂ…õúÐ-‹9°+X¬íÊjÁ‹ÜÑÑa-Í-�ÙõÍ[À[À[À[À[à—bz|`O Ðó.[ൠ),€%`$°XMë|–(‘˜×&X-•�‘ÊðüžPÜZú)õd5ƒýšXá5œöQʶ ¬ �>"ÿS¯×iÚ�€˜€îQ›ÀM¬£Øâý”‚›ì€ÚËãp]å@ƒ¥W€]9Æë„^—öD)Vb�ØÒ¦¸Ø_�`©@‹9Þp×+}×áu<9 JÇ.Ñ0©&Ë!q'±·{›F¥ï84¬[l:Êk–=‚-P§ëðUMûÒ5ªpï(ï" ùUýӘĶËV¥Nwޱ�Ø{9ö§ÂÖÅN‹å—CÇ7oo�Ã-ðQÜûù~Ö¨¬T87dÀmcc£crå¾s+p«å¾y x x x x x ¼} È(åÎ@IDAT”°ÄÔ)W¡«3Kë–[+„+X!«z‰Í&Q#)ø:`ºÓ±wRAŽWü¼³©Ü[±Ñ ¾…¡pæëí| “ªÜ^E–Ð }qÐwûl" -åd�(õ©Ø CäŸî¤‹ë( XyÁêÏAÎ�âº/Þ9¤ÀùÀ¥¡ÒbTUÓX ùÀ±±}_©~ñ¾·©ÿ:O·�'C`ZyÌo;²`o¿Þèo�Ήlµë¼Ðq�ÿÃìäÜè·!@ì›·€·Àáð·ÄF •ÖË3µ%Fñ½¼¼¼¼Þƒ4wà«£´‹r•g[ “ëò2É{]Sx1ùŒRJÃÁ�¶OF©]«0gØ®ƒšp_a›È2�:±eb’ãÕ¯7=ru|éwŒ0ÓWºÒ>i½b�W½­`ýò7{×Üý÷~cÓî5¾}ó|cGã?,ßõù;Š€­ÔšÅ>¿êxnsVH÷%À«ôÔ8;¹ó²›Ù-í´Ì§ëÜÕ]~…-K·ñŸ½~éð·ä ØÜ¤6S™LšWÆ• ’Дnúº§èž)†7ªtŠË‰DÂý]² ÿÑ[À[À[À[À[À[à - °'€Û…‚óƒ¡åç{’2ðàvUç¢-‹]Søm¹£µ°¨ãX=¨ ˆ)÷³’�V�¨]�Íš �¾|¢Ö�*õç(M!¶ ïU>é~á¶ûîƒ}»½íûîbïB}…²*—³´ëH9r@•×,g�l°7ÜUÕg$¢•ÁqPn¼÷¥ëÜcûR›‹} SIåÑê˜Â¥}Ò©S^ªª²|_l:%rth}å Ë®†sçdWÜó.3_{¾úàê:’óÄ…—Av–ãÁ•ÿá]@¿ÔQ ŽË–YBÀ¥ .§�oÞÞ‡[ÀÜ Ô®¬,Ûøø¸�OLØÔÔ¤-..¸|�\= ”�›¬«³¾ã}váÂnMÉüGoooooo�7µ€§J¦t£Ò,UY»Ž¡U^iBwµ]‰K à:vpç@RêUÞn‚Ðdå~¾*äSâG®L å„JAžc9w}j#DZ€Dàê(MÇn{{TP|”ý¾î:×ú{U‹e«<ŠÄR&– ¯D�B2nIxZʼn°J©££)�µæZÊ×¥¶rŒ,ó¦u”ƒW#—rMv¹ÜéЫäR+ô¼TX¶Ô9”‚ôsGÄžíJºý“ø¨ë,\‰ÇJ©ĉiíœÙ( ÈÕ¹)=3š¦QÆV�e9(|óð8Üà–ØHw@;55eã¶J-\1¸ !)Æëlm®X*�¶X,Û{ ý’ýû�ÞÞÞÞÞÞ[@œ¦òYëš’š²€«ÀœØ@&ÿËäގ̤yqÅßŦœÛ.š¢\ Z‹ß—¾ ¸6ÂK̪4œX@b‹8Ø%êíŽÎ¦­½¾°?õi?|¥©�ÂkU§W E} (ì¹�”ø=|ÖØdç(°Ö„.ÄûéÄš𪱪&𻨕€—Êqã{”&‡„ójùMìžRjbÝu<•êi©¶òð&0'»Í:á°ÝW¶” v6^@½”>JŸ>ÆuÄÊÆ”Û�# T)Y6Ò¹Q>ù vÒzm”¹È×P®ù46’@·ôšÿÇéûä-ð±X`÷ÝècéÕê‡B“mqioYÚêajkjjxpáMãf³Å“oiqÉFÇFm ð»½}hFȉ?¬·€·€·€·€·ÀOχi¹ I€¨Â’s¤© =›J¹2¥“}\Õ@Ø:¬ 4IÄJå†JÁ8ƒ–·aöÿÏßÏØoú¬±VÕúºµ Ü*¼TõtGfRŽiì$¬:Rù2KyXÞæ÷ª£Úàœ„J—\ç  Ïc3ûöñ ±Ž±®ÂˆUÛwpjÍ�\•ü9jˆ²ŽÑ� gº±Ê¾§”ÍÞ¦2N·Ÿ,: *†]aá2å2ËåDÃY1MÈy)¯óßDÍå&Ö›ùshér<(ü^aÊ¥M×�òÊob'�]vr•3¹È´|€’UÊG_¡6óQÏKéþýgo�_¢<ÀÝ9ëòÜòoɽͮ“;²áÊIQ9•âašÍrcÙ¦øyƽÿ/?fooooo�wm�b¾b=À©•ɾ”’ºÔT.Hl�ãç,£à‚ØÞc0„‡5�¦ædÄ1´�CõpUv¨(t4 ¨({ºìÂiÅ@º�_BK¾l¬U£5CN¤œêóv¡Ü\°Ô¾Ye>¬Goï{ÕÕm‡0wåwÖqÎ�»;ˆò—o,2ßÙ¶ @­œ÷bÈ6ŸŽ¯Ù n)Ø<¬gbËÅ´vp•»œ»Î¹’}ÔVa µ_a•wŠá¸�Ö4ba“€6±– »-vQ˜\a¼b{ûZk¬VüC6�o9ÀyØ”�T#Y×ÌÞ¶ÕXU¯6’ƒ&är²nåHiÆ¡ Ðw…tKñY`µƒ0OÈý}rεL@¶ÈZ�Ì¥md*í*kå›·€·ÀÑ,ðaïGëã{[K ­B’7šR¾�nüžRÈò‚뇀°–ƒ*°Û£ûÞ:êä-à-à-à-à-ð3¶€&øM€ÏÀš€ÐÖ�¶�'Z˜è ¸ ÜêQ,q§ÞV.À ;¥æ6€Ù2á¹ÙÜús ¸Ès‚V+Y»«Ö›X#Ø�±ÈʇÌÙ<@{§<Óßžo@˜*i‰("Ay:ô�¦ãbS[ðbª,K®À¸Â�‡`©£.¤º´–Ur"¼nާö/Û·Õo;�;< ®rGGriÅäÊöb0W9–€œÖ{n9qÚŸB½ûÚ£vª+öJ5ìÃÎóÛø^s>å+,þþð²}ÿtÉ'Sä*¿ pJ¬q ˆj›s=qÇÈVh•ŸÜRÇ5·¤Ür�|B�u»ÌtÍ)ÿyt†ýá¼~îøàwkkÓ†‡"G>¨­¥“<91mSÓ³äÞâÕä?-è]__ç”·úú‹F£ŽÙmokäþ ý ƒò÷ððððø Z@ —€ea¿÷_¨);0´ 4,©ìV#U º´{Ã?÷º±t3y£Ÿ�®³JÀÇÍ<éI€ §TËA6y-ª)WT ¶z¾Â9µ5X” À8¦öSR,¨ÓëØï€ïq™Æ¥ðn1…ç�%X+.äºÈþé}ƒy�ú,vUl¹€»l"¶´>p µl¡q¥ ”*ç·¿;î€ØM€™ÂÈe#oK¥‡8^ÖS_ꣀô:l|±± ~»›«í,û9F¸¹ê!— W×}_ïê³@ÿ,êMXﻀÛ1>Ïc›�}ԌŊ¯moà¸ýäiÌåòŽ$²õÔ àŠÅ˜íêê²Ö–6«ªª²d2ÉM§òƒ÷ÙwÀ[À[À[À[À[àçf…±*G´³¡Ê…4¾!¹ÊMš,¦¬4§ö mŠËµÿßÀ¼†Pì�…�Ý„%(+²j`bkbëö0²ºj`’�ª lýÊ1¾z:i9€Ø¬ @misJ°š—lV‡ ë”ÊÈ—Ž pµ_©_8ž€} ØŽ�E€ZLë{�EaÂMÊÝÈ–{í&0'ö¹ÿXÜ~u¶Þ�ÂXUÈomÿ!šú,&VúÛó޽Uh¼È�½ýWÿŠ u|:c3 Y7f9=²,gJ(H ,ÂØ/ô&¸Ÿ'B p‹ãÛ�3`ÇF"Z’ ÎÉÎyÑyz¸µò<\¿¸�÷ðxÙà*¯unnÖž ?µªHÈÂa¼T<ØTí½6R¹�r“+®1ç©Õ]XaÈådû‡Ã!knj¶öööç¹¹åŠñÍ[À[À[À[À[À[à­Z@�W1Šªk+ðª°N•¸)2‘Ń)œµSù¯ÑÊ�çvñ›Ãß lgÀ…Ãþå§æ˜·aò%j5·šuy¹zJY°0ÓÔD@£È'aʵ<[ZPQ.°¡‡ýÝ®!›�êŒÁÆæ]¾çaÃóëŽiÛ, ¬qˆTnèIÖU­–Ëz-™ðÑšª磌ráÚÍì롼GšðJ™Y¶TŽ©|SR) ¹ÓµÀV¶S¯X`åRë|³ËÞä¿HU^òÞkï Îm±~9׌¶HÖx‹M ^Œ®˜] O ÓäE+ M ”ãn¸Û<4··Qä}?oXžø$ b)WMáÉz¹ýº%¿ÄŠ ¨T厸³&;¦þpFÉãåßNÙòÌ =üú¿Ûp¶Ñ¦ëvm»ÂzÛ¢<¤¸ä²LܶÛ_^·éº_›µ“ÇUSé�êxñ:ùpƒðGöððøe[@HúOO¿;;è^¯g–ÀŒ^=-oïX!zýª¿Þ½^gÏ-zu6U¹\á×Ù¶¸®ì§—ÀÔQš—ÀºØ7mšˆê%Pü¶šBÊ+äé¢N¬×»n¸Ås °â·Ùä”×ëܱÃ÷¬úÁrõ<¾G¿†·ÀÏÛÀå©ÂMÄ� §¼{ëëxi©£†§Q¢…¤þ×?ªA’úC¡ …*#¨PSÁÃ*~x{‹r@Û ´ àš]‡ÁÅaª|¥VÕÇ]YE‰pdÄ­§œÜX,†ªr=ûÿ¥zÍäàü ÿ¿:?‡Ò$u+j-L(w=¡bR¥ü°�sƒ›^]´)ÎÛ„j'–ÑW¼ÈŠHæ¬r±‘c4?ccƒÏl>wÆ*¢¨Fî û°cðG÷ðððððððððx |x€ ²uàvç_1¨ë9BYÖs–JJƒªñ¶°ÊëŒjgÝQ;a"C"U”°°óU„ߨ~­ŽIòÿÖ*à6 €%¿†ú·9¦67Éýuj…�HK7�JÛØè¨eÒi'‚ÕÖÚfñxüí\åˆòÊQ‡/GI¢lN5ù¾ ìrž ˜ð\Ps® G¸à r0>LJÌZ.½`Ó”yš]Ú´t´Ï’�ç-v¡Z¦c;GûŸ³lfÕffl.We ñu'RP¿Üâû¬­-/ÚìÄ”-V¯Z˜p,…n}4�kb{%J®ÑL†ë"KþꊰÈSgQÑe8[*‚•D=„�H[„(]/].‚í³Ôé[IêǵUF1<‚b8¿ —„ÆÏopmÕ2«¼øm¬Õ&e £ Z¤��8å´?ƒ¸àÒÎñFd„ã¦ÓYÛàl¢¿Q¢5"ˆÊ©¯/õ÷Г€mp‚å2Ô[ä7“áž!ÛlË.üN**Û‹°ÿªˆ ƒûàþ–CÇãWððððððððxøðwÏ( ®ÙÚZ¯ åȉÝÞ0å~}F0 ¯ÂrˆG¨u—O y:ee›–ߘ@0á†Éu!¶.fY¡¶Žâ+¼Ó?• J¥S695iK¢`XŒowO�QÀ`Ï^ÿÏ<,r~cÕ¦‡žØðÃöttÒžŽÍ O¿Žü†åËCŠƒ'ê­®¹ÃºOž·ÞžNë#ÔVꃯ^¿�/m‘'T{{ övÐîüÛ?ÙÀ8¶î Û‰þë"œ*yi ¿à5- k3³ðÌfFíûÛÓ¡ ›ZX%WgÃr„ÓB E¢V×Òk�§íü™»Ôßn• \ÒØw5]cÛ™q›zdøûoìé䦭ÆÎØ©þÓöçrM\@Ф�ˆK>cƒ7ÿÅ~ø×±»S+60›Úµ¯ƒþ(«HXYe“]üõgöÛ¿ü눇­-RnÛ¹Ë,Û—ÿð�ݼùÌÖ¢g,ÖuÚ~ÿÛSvúx£…ê¯H»Úçp€ðmÿÚœ�Ü»mO=BÌd …PôFÀBÑFK4³SgOÙÅOÎXS"buá—sãöÙ±_ä-à-à-à-à-à-à-à-ð·ÀGpË¥cܨn„0±XWÜ=³öCŒ¿ s”#4uc+hùPµUnǸU.ÇV·œÍrr2 °P&L[ú*‚\:—z½™õ´{-..º:¸›…|ÜCºqð×䉊ÝJ-NÙÒô3»û{»ýÝM{26 Y€m¤à7L® àÒïêXÒÛl5Ø`�hƒµ×W9€{ðÞå70¤[i˜¾iytß®úÔ¢­Øü¨Œß»ìÞOz߸Xp¹ôœM>½gïÜ´¯¾}d'm~ ¶Vu+㊳&®²ºÎ¬5¥âVÛ�°sŒ;Èu¼÷§²½Év‹ÏÈ9þξúç¿·9[®�³9HÇÏv8¦3„èEÀÄànธ´‰'w9¯‹v{|…eФ€1M¯’B�µ@²–4Š(\˜âõp·\¦ VVÕiÑÎë'½ Ñ‰Áä-·>€Ëä\¬íFNÛa•È� ‚©¼WM²_§esYJ)¶Ü6›äï2b&¥n P(°aa-GÐÊ…R*ôSÿí€Z‡`—” Šœ¬M:æv~~Þ…-B]_§G»×@ÜÎÍÙðýoìú?þw»ùxÊn=[²ªºf«ëë³S°ju1çmX\JjeŶ•SLr±&òÊ%õígh9>²Ó¶2ýоùÃ쫯°'«Õ¶Y}ÜNŸåÚຨFÁ3¿‘!{Å6ÂͶQ�„\s±·/ëi’qŒsfîéS{ôØÆW×m–�ç­Ü›mµû£×¬º€ÜD|…rÊ«­¥ï¼]þy«£XýŠÑë·—K-ÛÌã62½²ºfK«Ç¢Bô¹�ì N‚X"É+îJT=/) Á²mfÍÖæÝ¶+å"£M‘rg 8/…u ‡�'ÙGm­EaÜP¦ßÕ6Èu]žxhƒ÷óöu¬\Lç IÿÚ&‹5tX] ¥SL--¸¼×e~Mþ³rJaúòäoÔ2H6“ÛLØ-Åç+uuÒ¿õÔŠÛòjÚôʱ>›¹¼Ó`e}¢_ˆ~© ‚J'¼½¶cÛLŠ~s®ÖÖlU¥*Tð]v #–À.qìR�]ª\l0ŠÛ„—Sßy §Ä2y§Ê)ßÀ¦�+ìMZ cMâÀH¢Ú©ë²ØòŒy+5k©ÙA{üð‰Ý˜µ­®^k9q×C©€¸Å+ù�dW,½Ý²O»Â„Û©¡Í‹ýÞ÷�‹kÙ6Òã648jŸ®Xå�zO\µß|Öoûê­Š¼ûTCÔÚëüjÈýá9ÌÝöÃØº…Ú+¬‰œ`ß¼¼¼¼¼¼¼¼~¾xi>ü¾‡ZœÐÞ…ÞJ{P Ë·M>nA ªt�W}–”c} ›¨Ñæé4‘Uȼ €[³U†À”Â(jEÆV!ÊuÉ:‹¡œ\ƒÛÖÖ«¹‡Æ‹ÿα2£Èܾj¨¤ý~æWÎM!?ÿ�ü3æf˜Ÿì@Ç5Ææz¯šì2®^HîâWÀݯfðÛoK0…ú1ù“«HGHxZXç¤Àü·$Þ�ïááì><®¿Ar(†¤�ªj³ŒÂÚ:ò$wË0£ÜæX!)WÕdˆð üé(ú# s>®Þ  ülq»áðûöÌPl†"o,‹þ,¶sn†"ó~” ê]‰ÓEá-¯-ò>˜ÃÒ¾Ewþr$‡Ò&D�¡Ù™Cgf…•$žíÔh6åDˆ–‡ÏÖ¥4Ë/=¾�•B KæA\ïÏá' ±öF±aßÃçËyì,>ÆÂæ $Êmx„$�Õ>Ýþ–[œt¨Ñ”mg�Ê>óô³‘ýq–Hbž>¿/ݶ±³—¿Ó0M·âN†Ióþ^[ÝC1åæ”ãä¿g¼Ñ?Š€" (Š€" (?*.Á•k‰nµÙ’Û¤ kv;f#LRrj…°žµu©²ÙìMØÕ¦’ÚJ¯n(U\+ÕK·½NRBAk%ñk7©3Rœ;Þ„P7ÅA¹ZåCò*Í¥T%mèKH®(ëà¦<Ç÷øþ÷]ÖmW©N,K›ÔÌñá?�“Ü2Z¯¾¯1²ÛÞEqs3f0¿Bw[ï0F®âÎ�[È’à¦ì°dÏF܉ê??Áþ³çXš[ÀÃÔÒÌÃ죢eæø:þLgܰ³H MàÆM0G‹ wIr‚„½ˆ˜*cjáÖÖ?ÄòN‹Dååµ°:<̵DÿÈ\½G2Ä\þ³9é^M¶ê´Vyé¨3̺ÆðgS(ob£—†qûRV’>sZ­ �õ¸iúÕÝÆZ~S÷¦±@¡Z`£×ñÉÇ·ÍPSØmá5†¶V8¶Ùµç4Z`y˜,2ž>DÙçwåh]QØ[ÌgÞY“é'x¾\DÓ?B¥ðܸq 9âw·±I’�tÐÕú«2ž’ì®Ó4i~“ä5Ò‚“ mƒvàb‚m %¸Ä0êäx=„àZ]AX}^™ûJ?"lá¼ñQŒ�?ÃÎþÖwg±p·‰ßw–°˜M¡/ÂI„sW¹øÜvaë‰<^þPø_­F ù%N‚Ð�¹fKÀE<Š\Šù¨–1,­í¡Ï²ˆæî:?+ ¨„aæ3Ÿ™þ¾{ñ•í¢p7 ÕÿéƒYìÕp¤YÊ(‘ÄPà1K¥€¾/¾ÆÁþ––7‘H¥‘qúá¥úÿ ‡Ç—ä…N�Ñ •’Ö^ëò¾¢¹V€yÌ6ÛËÐt“VO€Û<pjŸå–Š»eº?³’6E@PE@P�5ŽàJz¬ËÅÐ[ÛJ™%t*tTfI’6�§zíg¿6{‡$´ ¯·§»+‰#SIJ ÉpQ—“d’f8æE¶[R–Htï4GgR-ù·Ø¢;«^Ùvܼq I>°¿‹ŠÛ!anÑ8©Zf˜òîI#$·>ýXÉðÏ@oIú«|Ø_ÅöÖ<󗑯õ£ïê_ãæ'—ñ«Ÿæฤ,J¶?„ƒK9Ô¨x57¿@~y îÍáìÍtbt{Ô¬4lrS¥ŒSYf "*y¤½ýÞ&ónëX/~‹ùùeª°{XÞh"K|�öeÜæ Àˆ’¨“} î׬íÒXŠùÑó˜×�É‹þÕ÷ ÍÜcèK¯b8ü¯Ø ©ÕôÃUd‚n´‡ý§ŒªÞ@©¥Û¡ê¼žÇýož£FbâR¼Ç“̶X²Føy.ö öö¶±2·Žpt·ú]ˆÛ7\ùmv8ÁÔæï±Áɨ†Y¶å7,¡ß/÷ü`åDC¬ÝÜ^âÄÊA¥bÔ¯–Ÿ÷Ëo¾å¸ô늀" (Š€" (� IpÉ!iâÔ OvyäqTJûð�œ„@”%yB5Råiõ¨+zŽVÛBë¡B&„YTadBrB-’.‹V=†“¯jŠnT3eÍËö"×Å2ATËdc±XD™Žº�ŽÁØ^~ù¬ï$¿’5E;âòÌ0ê.‰��4ÆwÆÇï®ä«– †So~—uAiz•Ì •¦3oÀKÂÃñIhP$©Âý‰(2qÖYVf‹¡³ÅÊxnQp�š˜z™­40²SsrqQáåF+Çmm&ôÍÀ�´¨„•h„ÄdÙ#‚+ÀÄLˆ.U8ûi%Ž‘æ½`óÞÙ$_Wê¸Ê„�‹¡ÞÒ×£Kئ“s³´…q^/£”ýÃ9$Sq„}îÜ^öÛ‡‰“龯mX©QXßà¤�«: S}9´£!žéU®MKòw6±¹»ÇR=þ ¶Ú:‹,ÑÃ\Qi�ÚÉÖ2Ì’ôÓEz—Ï»{uÔ/ï ¹z˜’èrœ²ôöþ®®K ±ñÄ�»ÉÜg†Ö1¸¸�Íb5–ŒªÒ}ûQ•áÞ ?Ï Žáíƒé0†ú™#N -¼Çĉù`{ž9Þ{XÚ¶ 8Ö‡¡±¯#Í֌ɖŠ&19F­Pç8ž`uȇ�f?$àRúç]Z§Æ¼èò<Ö7 ˜Zæä'Y&>È"õ³ŒÃ.ª÷Á~ DQ`~ðÃõe,Ï'Q¸A”Æonù}Ý §; i \Œì"iàË~Êÿ^6~�‰¹Ÿå-´]1¨ã~ÚE@PE@P~Ü\(‚+|DTɯàg>ÍŠùœj")°0–„‹‹™ÄT¾d<ÏFeÇäÍ‹&ù¶¢ Ëò¢‘ÔIèq•Dê€%\$tñà€¹¨ º)wùÅc¤Oˆµƒd/‹âÒä%CúöÛo�œàc_{qè·{sÄÀ¤óÓɧôï<”(YÍ=’°½}lW©Ò96AE6öÀÃÝéØk¶ÒÀ'L÷]Æõ~=GWàÂ&öI+d N·ï<Ì.†€ÒÜHo�…¡Ñœ ¨ÕÄÕú¨ÿß½ÿÛní°^q“Ê^e¯Ä±Ù‚ËrI™ÞØD¥ìu™ÍtĦ£t4D2æ†éy‰¦O[(2ÜZÆÆèówj2¾&KèT‹NT輆ƒü"¦é ýcbäð°TÅlêà@Ê*Ùgé£ Ëµš$Rïý˲0¬Þ�ë»û/aôÃ]ìl,cþñ4OMãáÔf¿ü Ïó Ä'?ÅèOÿ=~õésÄƤƒYÂÁ÷×QÎ?ÅRþËe>âÁèh|,1e¨å,çŠ$qy"…Åo*ÈOÏ`íJ›�¬ik6ˆæ»ØbI¢úÖcä×·1³îÀG�._M#Jã43‰3,¼—¼I ¥°ÁÚ¸ŸO-ae^L®&‘$¤âoÆo}oëÝ}g¸�¿÷HúE@PE@P� ïýþ'â�/ Ï“�CQ4-‡áÄ©j1'”„óä÷[TfZTB­âÖKó' ùòZ¯· çe E¶òB\ŨªÙè­WfQm{Ko]‡¹¾BZ»a MŽ%nÌ•2 @~Ý8¦Gˆï‹~¼%šj¥ ’ƒf8’;yÀÁ=Ö¡­”ã,âù�HÜw˜½d?º¬$j{c�ÿ㡚½½…ôpé³ °Kå¹Ã׳êY¢„™HîDõæ€qŒž‚ö]ý{�mF©Òq|RI&4 Å]ä¸Mp:T÷¹ÍÄNÉ>rÍøßá¤Ç‰ÎôÁ˜2•�±È<á4’#  !é·ÀþB^”“ð;$e&†Ë¦¯]Ãаq? µøß{7Ž[Ô_qí¶ÒiÚlf½\‹‹õs“H3ùÉc<%Ñ]«ðôËß³Ô�@–õ^æÀ®1¿õѬ“œ/ÓEØôÛÿÂú±_ã+Ÿ…¹®‚e[‹Ø™€Çkh?ó«'0½X��¥ b±úü‡"xtPÚ¡Ûôôc¬.Ïc“$ûÛÏ~ƒ�ƒ<²rÔ(Óè ªí;ó÷™»Åpw?þf™ë‹Db¤�ÍèߩӲË&#¨‚Û­Œèr"„Iε*ïãF9ü¾L<°vt«ÉúÃR‚JB♫+Q§ï SgÐ�Š€" (Š€" (?p.Á0{œÁ ªVÇ9•ÅDWåÃQ{!‰BÔ„gu©$’¤6è‚̼XÝ_…èŠ{r¹|ÀÜݶá®ê ‰´p}«I¢J•­A’ÛlÉC±¨�B¤Xë–‹ïtë‘â&s÷Œó ‰–~ÈñÞõiYLp,º03¬ØOUt›âÅ­Jû%:ƒ^�îÆ>Kˆ7lþS­ÕTrFy<"o´Pý9XƒœàpxöñŽéÕŽ–õeƒ‰&þw¸qy8à=]‡È>.˜Ê¤>{‹ ù«G{ç5‚=ÔÝÌ�uSH�]ÇMš8m<úWæ¡éÙÙÂ…�Qu*$–;4cc^íãM4\ƒÿùO‘££w?ÓOÞ¼8$éå"ëÙò¼-ûòϰÌû·28Èz»œÜ:¹ƒ�±…áêŽPÂ~7B¶]”ù�_ßB5Ûg¨í²K«z€Z~»[{بÙác´DйÉ�@¯§û§¸ z E@PE@P� ‚À…#¸òðÙSiI¨’JȱÒ#uUh埬“ÜYr©^“pN~WÈíA¥n¼Jxs�àÒ‰™Æ?¢ö6øz¤ÚÊŽBz„.ÿñ‡Tùð ˜Hš$\†O27•Jýóùø MâûN�á¬&S †šŽ%°°³ŠÒÌ},>OâÁÒ-à (L²dàðâiœ£>$Ždòì/Ui\q£,™Sm�à.Ó附¹Z÷’p;¿Öiî£V¦YÒÖV6IC,MC7Û€Ûñ²îÔï2 Á¬6k\'*ì�‰…áp+†] §%š†æ+!·ȞåLfÖ³µÑ�ÙK‚§SÔf­„U,²~Ô~†§²ß<^§¹‡jiÓÈã\+Hé!B1âJònѹ¹÷O®3•zšGµeBD&6xá�¶IŸÄ€¨ÍPt©µÜ¡™ÕË<Ñ`ˆdÖ‚¼\š;ÐXËî¢yUÀïîe,Æ=ÃsI~¸Ù,á±/.šú�š„‘KŸ[G!è<Ÿä£¿<2k9ó¾ôÇ#ðù]p™éüÌÉ…Ò>ïóÊ.š.æµÒpëÙj®ë7qãÊ'øÅ¥FGþÎGÝ’’>U<ýâ¸÷¿70ÛÚÓ©'ÈOPídy\Ü—'=Ú鵯ÝV…${…�uL?ÝAkè:Æ®ýü;ž÷ÎèéÂÄĉçÝœÄóþ7Ì,×0;¿€•t¥z¡®Ô6~–/ÏE ,n–ÿ Ò+(“mìl°Îé½Ë^ÔšÌç}Xe^zq‰îÛ›œüh¸áóø‘‚Ks­3åå9õ�" (Š€" (ŠÀ �‹Gpù+76*aZ,­CµUTA!|’)óÓf¾¬©AR! •ÍFWX‡Ã‚z�$ãð‰\è€�9¸væ/öö“0[†03RÑØ�»{Ë+—F]Â�$†'ÕS!.æý…B!æ%Ò¹—OÉ6Éd¸ò»5!¨vb)Œß¹ƒÕÚ]�»¾1€ÅR )2ÜØ¡kô‰Ý^ó¡!Æ\«O±‘/b¾@&Ò�K·F‰k2'Okùå5áîÔÐdÞp™e™fXZˆ†WÅ+ðø=ƹO’kþ¢-¬=íJap(� Ö÷ýcážÝmá_Â%”öúw2Ÿ�÷áÓÏïâÁÞ7ÚE@PE@P~Ü\H‚+¤ÔA{_—‹Ä„ÄVrgEË…VÈ­ƒ„E”¶z�UZEâV1“r:m†ªk#É­Õ¸ œ¬âk¯J¨³äèÊ+µE1"«5”a!¸ä®}ˆ‰B W¦g1µº€¿Ïcm[—�Žû�$‘² ‘j XÈ£ÒàØã¤‡Æè,†<9|pe›•Gøúóû˜·TðO¬Ã:”pa(JõñÉ=¬>y€GK&lÛ’¸–Ëâ* q4ääq©¾ó`Hhzdw†�GIÆ×МŸÃêÓîõu±u’ ÀêË "ƒ`ÝØ3\�ŸMvªt‰A\½:ŠüÁ3|ùÅW˜sVi¶ÔÁPÌÆz­]¬?¾‹å§�h�Ä0bG 7‡‰Ådšá«½±�DZÛÝ|°¨Àn<Åújž¬ŽÑ(ÊF�9­·»Ð-H˜Ÿ`q•Ä.—€+b¸s“ÃØÚ-aêë,OíáŸÌ5¬e£"hG�eŠèJÝŒ fŽÁ²J‘8sYßÓÞŽ¢Þ6Kk(.OáÛ¯ ˜Í·�HÅ ûé(mçu«ÓC‰aÙ,ôìÁÌø; å¨ÌGY—õ�— Øš{ŠüN Û–>Dúû11>€tÈŠØ+µŒ;æÌl“Ÿ�•j' ‚„# Õõ^¯�¤–j��y”u3ªmT(…Jز8$‹z+�è­¦�Ç41$YT­?3ÙJìÄÈõ&þÖêÅÐÌîO?Ç^m‹÷òXbÿ…¤Kn±™¤ÛLR&&C}îRBΩº#iäîü5n³&lËz‹…=¬}ó[¬rë)²vXʧ‹"“—19xŸÞšÀ5ªiaæ82–ö=)4η?Šá7Qb(íJm–õVI´·€û ŸµÓL+>r)–ž‰EÁë-ÿIåØV†ßf1ôñ¯qÇ~Û=¬ì°øÅÿ".½ÒO]ŽÍd#qåܤËñ§T¦¯�ȤΌG 9OáÒ‡W°�Y<¿û»Ë üë7ÌÑMQ§;4Œëw® ÿÍ&vרÎ3ì;E…8‰A†�~ôWh¸ch{îcnuùù/pï¹ x/Jøº8»ãW迊Á1ª‘¼.ï—×ÜC§k²õ‘-�Ô6W1½òu†åËĎܯ ]à„Œ‰¿N.Œ�adø:>¹=�Ëá&ÖnáÉÌJ$Þ®D ’ź?»_çL|HÇ]� b#È=ÜE¬;ƒòƦí 9ÄH�“>½n½á¯Ì2µPd>ìì ‰e±K|˜e�â ±þîwÔ¢²Ñ0*DrO¯"f_D“JúÓÙsИ`Ÿl$¸'ÏÍ´NZDGobœ,?o}…Ǻ±ð%¾~Ügˆx·kGË6‚þ±k,¯ô1~r%‹ M«Æ=ñ†!èjE@PE@P�’à ±õÑ Çíf¨äÔJ�Wr!.—�æL ÛeÏÛ‡ò­„tJ�V¿_r[%œ¹�â^Í0ŸrÇ¢S+×Û¬tQf¸gí ÆÒ"4ãa \1£¢H|Ø:üž…ù¶§Ü‰Ž6ÿ‰_M,ù"Krˆ5TûbÆú˜kÇ“…U.yìÑñ¹T%Q·�ÐÛÜÌI�Á뤊çuÂOl¬$WNL·÷&.‰ZIÂzoj_N‘d”š(VÛT‰Ó …ÎbôÆG¸zë®e$n‡aª$ó’Gk§qO$•A’ÎζÉ0q”É„ÄÂD\­Ìo�÷#3\D4B„NÖnrx‚è¿‚:A\ß©Áòx Ì},•Å ×7ûÏ+BäH¨2ì Ç‘È ÃÆš¬æ(ØyÝ^mrfNfãŸÐi×I«»SÏP™^  é ºIDATé]Šë0ÆŽaüÃ;¸~ý®f¢ËÜ—ývR…MbèÊulU»XÚ¢Šë6ÑI»Açm»ñÌLÍ[X*?@¥]`Þg‡Û%‡˜ÞúÆn°,��9ÍféH|—dj}›õyK쀕5†íq’*7 ¾�ÑgiFÔ ³ìžˆ¡ÚÆ›4MÚgˆz•ö�Xš™£í ö!”`žëM\ùèc\Îx�ñEN„Ô:^^ÓÆ=“Tu#ˆS¹ÞÿúƱ²L�9;ŽìH×F—ŒZ¹ÍrmÉ?ÜI&Xœ� ª²õ(ìÉ0'xrÂ�T-–⪶œF^øè•1 e’ègȺû�Ä’éæÈ&sü 09º†]›fÉ“çï^¦f^mœX`ع¿„й·Y¿Úeîà‹™EÌ£bËÊÝ(bƒ—1~ý~öé%d˜¤î‘üè7Æ«GÕ5Š€" (Š€" (?^Ç.Îud’?+Ä6àƒ²Ç†*•ØR‰B|8Ã(Y$Y°R�5«e(¼m¸èl’LH~-IJ>_&‰é°L�ÅXowHþ.É¥`Z ‘4“<ò¸$¹½in§í®�JO›uuÿ-›Ùê�É›ÄÀ$��cÃø€%ŽöËU4Œ¿$‡$L6mµ;ápùà Å¢S˜Ê´™ÄËd&™JŒbüã ¢ŸâÆ/9vâÒ Â)ÂîôÐ|‰Î³TòBÄOšñ¬Ork2Ë\çÂ5*ØuW’ŽÑ~¸Ú}ÔLö(sZ¸ó«rW÷àèb?] 9–ò5TƤ&}øe` ·öÊ(󚵄%I»\ÂOŠ26ÖQ%¡é Cn˜c E>Neß×Ñþüd÷ÐU9w7½#H\ú+ºõ†åJâÅðo o*OtG¿ŒÜÄõbf_Š}Ž"Ã~™‰;ˆ­/6ˆÑÛ^DÇnãÚ/*4ñbŽ,¯�\²-¸|œdà’â䀇×É^£È0nýê?bø§œD!¦ž`˜aº=ßÝ{Óâæ2™y]RâýZgþµo™.à5çä†ÍFÒÌkëgçhA/¯'ï‡Ìµ¿„� ê¥vuæ¬æ2šn‘�¿‘hrŽl¡«¸ù ††~Ê÷pR�M…{}&­$–!¤oüî쇬�ÜÓð)ÇPî1,ãƒWqëo9�Re5€þþpÏ©ûÔU9>l#Š!0Žá›ü§ï ³Žh–!Ê|åýròzí)‘ N8} d¯ý �ôLü¬B'ñZL?…×ɉ—p”Q7'Qxœ×èè€úª(Š€" (Š€"ð#Aàâ\ C¦J룹’‡NÌ¡ÄlJrq%ÖEò+ ®aqD®RÑEÎPvý4Ø!‘•ú¶’ÇÛ"2Ô`®w:%¿Ö‚ò~Õ¸tM*DBDY´Q¶R%5‰Rjáƒû±Ü‹ë,ç•%ÔG’Ö—{ûSRuùãÆBÏ©·h¢ªR õË›v41ïÑBE17™ärú[$Î0ÃP¹ô ŸÞøÊç¾Ašþp9[“þ1´–®¹²$ζӉoI¿]\˜O;0vb“ñÁî¥ÉÅŸ|u›±†Ø:¹]FLŸ±ÑØãDæR ™3îqükBR­®Kåp‰ouIy 0ÕMY¾ÿj¼<«‰!ò.™1ªô¯ÁI¦D„8&¸C/w=|g†—¦R²¼Í˜Mâ(NC¯hZ–³Þd« á¶2G7ÒÏèƒ~¼ÕX_麮PE@PE@øÑ pÁnÏHJ­›jœ×+jcÇ0‰’ºµâ®,ù¹^n“àÅÃ_÷ìT�º,FR²��¯B|E‰m˜[†!•—a¿m—˜R‰ûq“ª¥ä‚ŠRÌü¿:?j!TÒÛ¨wá¤*¨MPE@PE@PEà‡…À¹Ü£,;!œÒ$ÿÐÆ|F!²ÖoiÒ@ÊÆ\O›•Æ5Tp{nÉVÖ¥±ókí$¸R‡ÕÆW1”²µ™HBÛ[O‚KÂ+ß·dëfŠ l6â»Ìµõ±ìOеm™˜Ì¢°UÄöÎ>Í£^ý°.¦öVPE@PE@P�ÿŸ8w‚+à®°üc”ìágq¦µÑ�×Xl$¥$¼V«�SšÒ°Þ­QF¨ÁÒ?$µ¢ÔZ­=’keí\s‡y—T€ívîÏ}mÜngx²4ÙO\š…KÓ‡ qé4MŠÆo`œfBóó4HZXÄæÖs{¡ÌÆŽúGPE@PE@PEàÂ#p!® $ui%'¶^§kòA‹PRûÖŒrEJ�%}èšLÕ¶*Ûh¡{ÀðdyßhÐ2ŠåRĹL“ QÁ]pÛܽKà ;.ïsg’ÚæêV« †!s;�%&BvºÑzh–ã÷Gú¼K•w›„¹ÈsŸ"¸*êÊeÒ¦(Š€" (Š€" (ŠÀ…Eàâ\*¸büT)×±»]…“2år‹ä–.Êû-ÖµmQ}íRÕ­q1“·±OâZ&®×:¬ÁYú‡5€HDK¥ ¯ÔÏeÉ”ÝC�Å�ÕÄäöŠ,ÃÒ"M–?i²n£ÁïÖj$¾Uº.³, ÝqÅÐêt{uÍéoègE@PE@PE@P�óDàÜ ®dÞ:NDy —cQnW–Ë©•ä& ç>[)ï#µlwwØÚ”ÏÔHr+¬÷*Š/º%ãùm× ¿[›5Üæžîóû,3Äe~wk“·Ü&Y¶Ñ1ÙÆ×žC³ÝVS”]Öý¤œ,aÓ]ÝKõB¨ùù0ŒZò„µ)Š€" (Š€" (Š€" \,Οà’,ºÝ.† ƒ©ÒIk¹DâY6�åTH¦(³òG¸¥äÑd“«e[‡ÄSH¬‘_+ßâçV»§¹î›ÌéePî×á:)$‡³Z]Fx²�u\e£Ap×ÜîÁ•}{äÖ¨‰k|î··�{(É%FÚE@PE@PE@¸8œ;ÁµÒLjbüº�H×PKÕS’Ê§í½„VÖ’Oã³(¬Gë_�õÜSrzYNÔ ¢=c)ÑpEyå_’S©u ÷!O#M%ƒ\.�˜YÔuqå8uÖêO±•û0Ô™û*¹½87°öDPE@PE@P�#.Á½zõ�Œ¯Qa•üמ‚jËCÒ*$ÖXD­%©•b#tØøÜ{ß %î©®Gï�ȨñJr*ÕLÖk1\—YRÈÆrB6‡ñ*¥ˆ<¯At¥L‘„'Kn®¡à’[.-J°’Û£[G_E@PE@PE@¸Xœ;ÁÂh·;USQo©Û ±œ__�]cÕávÙöËq˜O]C½%Q%ÙµPÅ%× ¾ü Hj†r+DXHµ…¤v =ÀZ¹)ƒü?®¾WE@PE@PE@¸8œ;Á($$X–ón�@�]0Qµ¥c3‰m±ÈrATo3Ù In†å„ÜçÝE=¿" (Š€" (Š€" (ŠÀ8Vù†Ž�Çj‡Ã�@ `¨¶‘H„.Íu£²Îïó¡ÌçÑ/=§" (Š€" (Š€" (ŠÀ÷# ÷Fv;sr¹øHfµ)Š€" (Š€" (Š€" ü° Ï°6E@PE@PE@PEà‡�€*¸Ç®¡¸/‹kr«ÕB³Ù4^åó¡åU¯Èͨ¬‹aŒ%%…Ä J›" (Š€" (Š€" (ŠÀù# ÷Ø5¨V«(—ËØÜÜಉBa {¥}–/ê¹;‹³ÔÊ ƒÈf²‡Û¥ÆSÇ Ô·Š€" (Š€" (Š€" œJp�A_­U±»»ƒååe,.-b{»€ýS×Á’F¯—õpÍ\Ç oE@PE@PE@PÎ %¸Ç ¯T±C‚»[Ü…¨¹‘HÔ¨Û C6¡ËfQx·¨ì–Ë%#œùØîúVPE@PE@PEàP‚{~·ÛE£Q7lå ‚:ßG£#¹Ñh¼ÈÇ5WÍÆ{ÉÓ=ÊÍ=Çë§§VE@PE@PE@8DàÿþÖ_÷w¡ÏùIEND®B`‚liquidctl-1.16.0/docs/developer/images/wireshark_1.png000066400000000000000000002437271515166127400227270ustar00rootroot00000000000000‰PNG  IHDRÊ&˜ IDATxì½wœUÅýÿÏïŸ<~ýø°÷ÞcWÜ¥W¥ QD ‚ˆ*jĈÁ…h‚]Ô¨(¨`ÄJÔ`%*‚"XPZDªH¯¢´-ÑDß¿Çs`.³‡[w÷ÞÝ»ûšÇãÜsO™93¯óšòš÷Ìœ:uä„€B@! „€B@! „€B@! „€B@! „€B@! „€B@! „€B@! „€B@! „€B@! „€B@! „€B@! „€B@! „€B@! ªÿ¯N�:GשSçÌ:uêÔ¯S§N#mÂ@Äq@Äq@Äq p�ŠVE³¢]³îþ?¶Ï>ûômP¿þêV-[þܶukkצ�6a ˆâ€8 ˆâ€8 ˆâ€8På@£¢U5h°ú�Cé³C0£e³âø”3N?}R›sϵæÍšYÃúõ­ðì³µ q@Äq@Äq@Ä�jÁ�úN«6kÒÄZŸ{®�vê©ï£eëÔ©“±|4"ùœ-ŒK «ƒ@Äq@Äq@Äq ºsàœæÍ½Xf(v¥ºÿwà�ömÙ¼¹²z‰Äq@Äq@Äq@òŠˆå}öÙ§weÏY>ºqÆËeIVoQuï-RüÄQq@Äq@Äq@ˆrÀ ÇnØpY�:uŽªL“ò™�4ø1ú0‹€â€8 ˆâ€8 ˆâ€8 ˆùÀ4íŽÕ°+M+×oP¯Þ/ù�xÅQ™TÄq@Äq@Äq Ê4íŽÏWšPn}ˆŽEÇÏv¬kŸýöl[Ò«°Ì6½ûÙö·u�{Êó.$”%”ËEœò�M~Ê—I…›pÄq@Äq@Êrà¶ÖgÙÂË Êˆã¨Xæ˜{þÚ5�„²„rƤQ&-›I…‡ðÄq@Äq@rÇ�§/¨›R GEóçe&–%”%”%”Åq@¨Þ(lf�zõ·[†Þj}Ú7¨Ü¸Ökcý†Üg£þþ¤ ìÔ°rï„§8 ˆâ€8PéÀ’Áéÿ±UúbYBYä­tòª7-w½iÂZXW)šö²ÑÓWÙwK?²Û»6ÉZYRÐèj{{}‘•-±'.oV©ÏÉfعx7õµ´Ž]»Úy� *—\ÄÝ?#+ihÜÑ�~ßæ­ÜhÛŠ6ÛšïÛÐ.�ò#�•ö*óÅq ¶s Uýº»·¾¼^bá¹Æ0lÂHG e å´ˆ’™t� oq 9PÐÀ®n‰—–Ú–y£íâIWý‹mÌÜ-VZZd_>v™5î|�ý{K‰•–l¶wnmoõ ²“þlŠÙl…]¿y'ôð8›:w©}·i«mÛ¼Á¾�ý‘½üÐï¬}ý$gR'µ¼Ù>ü¾ÈJ·Î¶{ªZÖël#gm²ÒÒmöÉðnV?].d# �ìšÑsm[I©•o²µ+Vغ•l@Ëzªï2á—î_Äq ràñßD¬É—׳âO³õ#ï"–9ǵ%±œîl åjH‰�ì4¶…«pâp  ÀÎüŽmFTlþÐþЪ¾kÔks‹M^µÎ6¬™fw\¸Ã×ràvaV´Îž¿®¥¶´+†>f£ÿ6È:7-ÌZƒ"[b>d#ìúmúÛ?æn´’ÒR+-³•Ø_>bT’P®wÎ ûxSI^ ål¤¡ AO{ñ›­VZ´Î^Ø.k8*Oâ”'jSe­ßÄ7q`;fvßuuk±ýü?ÛðÔŸcb9Þ9?<{Ö¥éñIBY…º uq@¨åhxÑý6wk‰•-·'ûlÚÜææñö}q©•–l±÷ï¸Ð‰�&=·%E%V²yª n×`W‘Yï7v˨ñöÉ¿—Øºï·Ø¶-ßÙòOÙe� ­°~këß?ì‹oÖÙ–Í?ØŠ¯?²1ƒ»[ÓÂÖÕ‚zvÁµÛ{³–ÚÆ-[mÓú•¶àó±vM«ú;ŸS²Õ6¬Yg›·l¶µ‹?·ÿÒËšÇü7¶kûÐæ-]k?lÙj[¾[is&�µ?\Ô|;¿Ä­g‹kÊënØÑî›´ÒŠK‹mÝç#ì·™v¶´Áã—9 }Ñwÿ¶±CúYç¶çXËsÛ[·¾ƒì�};ln)â[¿‹ÝùÊd›µ`™­K,Ò³Þ³‘ìnÍv¤9&21þÃ'X»z»æ­Íõ­ÿß¹t-y€5,(°Â˜¤õ¾¢y&žEÙ¥áC›½à[[³þÛºå[µ`ª�Ú3­4¤äL‚ø»wº®¨L'Ŷ¥/Z¯FM’s„46·^CÆØ‡_-w<úaÍB›ôp?k ^à°¸é5J…“pÄ�dàÛÈ^ìF÷¡0ÿGïóÇé|2JB9ZÙëX¢Ij ^nã¾Ýj¥¥[í£»/²z�là?V8±WZZbëß¿ÝÎ),´ß }ß¶–”ÚæÙOX—ú;쎹Ã1ëlI‰mùnµ­\ó½}7ýov~ý&vÍ“³œßâ-kí›Å+ì‡"„ùj{mÐoœpÄ‚=å»"+-ÙjkͱY_-¶µKÆÙ� w>§´Ä¶ý°ÖV­ýÁŠKJ­´h…�íßj;_�œoV/³o/±5ßYIi‰mžû´]Ò0ˆk4nM¡|Åyvý˜Ù¶¥¤Ä6/þ§]ß.ó…ÃêµlŸþP솣O¾ ,4zÒŽo±mZ·ÒVú4o°É÷t·�.Ùl«¿Y` ,°9¯ µ6i 劼¯]2q„òÎð‹mó†U¶jí¦ïm¹=sõ¹î½Åý.iHÍ™�áGøæßiÉV[»t¡Ãåë)�Z· ¬ÿßs¤° ±õyô3ûÁuÛ¦ klÝ÷›íó‡{Xý‚ÔñIÆá]ðªeeŒÒŸ ÔÞ2âÀo›$Ê`/�±.óß‹âx{ÂJU6I(‹ )I’ŠDº® PÈs4µÁo®uÂrõë·X“ÆWث˶ڦ9ÚÔåÛ¬xý»6 ecð"–Òb[<ö:g‘Œ •¨Pö‹nX£õ­þy·Ú'ß[ÉævOצVXPh‡ü˾/.±ï?¾×Y@]úˆ-ÚVbÅßl·vØ>Ô»^ýún®kô9…õÚÙ½n°’Òb[òÂõÛ­£gŸmõ ­^½Fvn›vö›nµO6Yé–évÇù wŠíHÜv†½Ò&½5ÕÖÛ¶“í¶.ñ'kØ¡¿�|ím{yøµÖºÞ®s�›ô~Ò–Ó °õßvßÅÉ�Ê(¾…ÍíªÇ?·-%¥V´j¼õkZ¸«Õ8¨Ïb4‰EygÚw,’–ÁûÚ%Ï'ÊóúçÙ}moß<·�C»ÄsGÒáL¢øïr>Ä% Gêµý“M…3Ekí�¿þÖš`¹¯×Äš7.¬0‡wÁ+ˆ“®åyù©w©v¤8�3\ÖLB9g`«rRå$ˆâÀÙÛ…ëí8¶mѳvÅUOÙ²¢­öùßzÛï_XbÅEëí7_±}±¦â öÊM­]9$Ñc�mók_´ïŠKÊ …õsw·-k=Za“Ëlì×?8±^ôÃr›öê£6࢖Î"»K¸õìŠ'æXQi©}7áVk↷±ŸøÀ–:Kr07xëWN°îÆŽ†Mì¼¾\´Þ^”`a2÷Ü»ç–n�ewwÞU7é=Ê–¥#”ëeßúí‡Úô͈ð¯ìþ‹W¾PÞ�IZï+Ú0LG(Ô³ÞOlÇÏ¿·DB9�8ÄÞ�âÑw9_˜sÿÌ¢Õÿ´~�Ëι÷×ý´Ý»eþëÆ§¢šõ··VoÛq¾ÄX,ê¼CŽ£‚$zìÓY¿ã0›¹¹ØJ‹VÙ[énÍvøo|N{kë˪ßÜZ·l¸½Ö±UskÞ¼•uì~µýñúK¬aA&ñ]fO]ÙÜ ê[ç!ïØ†¢+Þð®Ýвž4îo60Tx�ý㦶Ûçzׯ¿Ý ßðJ¿j›•–ü`ïÞÞÉêg ”Óz_Ѻ³œB9Q¦Á™D|‹{> Ìt¼Óf9ž®´×þÔÅ1R¡ �µhÖØ¤ŸÂ$NûsYQ\u¬6Š8 ˆe8ð·‘á×|jÎÔ¸s’Ëñ>Å'¦ÖãÞÊé¦{$rÄq Fr  ¾õ}êë xÙì'®Øþ-Ü‚Æ6pÜöUœYhkêýǾ‘$ÑãN…-màË ÜwmKKŠmËwkÜ*ÈE|fêÚ®²jÒs„-Ùòƒ­\<×fÍšoë¶[iñ{ý–öV˜R(Xó¾cl%+ro‹g|l“?œi+ #]‹òŽaº�» Ûn‰.ùÁ>~ilþs,-iÔÍ.þ«}ºz[œÏC•ZÑÊñvu³Âôã[ZbÅ[6ØŠekl3Ã×K¶ÙÜg¯µ¦n¸yk6‘¹å¥V¼uƒ­XºÒÖýwëÎPö‚¦öû—¾qﳤø[³l¹­ßÄgÅæW½®ÈûÚ�r åÂz ÒÐ蜔œIÿDçSq¤°ð\»åÕÅVÄBq%ÅöúնfÃf[?ñkY¯bN¸¨[|ÚkùI«�+ÜTW‹5“ ™ÞŪùN²·»}äÚÂË ¬UýÔ yÁ eU8ªpÄq@phêç×n›owß¹˜UËþÏÙj7ïv¶ÝÓeçߨ ‰—i¤Ôok×Ý?Î>[°Ê~ØZdÛ6¯·%³'Ûƒ}[9 hó^÷؇s¾µï6YqÑf[³ø {ux·‚ó.áîbQ.pŸõéý×mú¢5¶©¨ØŠ‹¶Ø†•‹lÆägÝêÕ»„±ã�ïr¾ ¾]zÿT·òqñ†©vëù;¬Ür¤ÉoúÙðçß·9ß®±MÛŠlëæ ¶tî'öúSCí’æõÒ�oÉöí¼…¶ö‡-¶‰O�ù£ul´ÓÒݨýµ6zâW¶æ‡­¶mË[üÙHëµcHx½æÝlØ‹SlÑšl[ñ¶íŸÜšõ±½8ä·ñI Ó˜â}•y·ø+¯P>ûlK˜†qØåÝ%z§>]…Í-G\šv°ßÿíŸöåâÕî½mY¿Ì¾wëöQ)Ⓦûàå㤽êq@2æÀm­ÏÚeøuqÜ«0áuü¦[&K(‹œi“%]R龚ك§÷ª÷*䎉D ÞAîÞ�°Öâ€8 T_Åq@Äq@Äq ²8 ¡,¡,¡,ˆâ€8 ˆâ€8 ˆâ€8p@B9£²zŽz²Äq@Äq@Äq@È_H(K(«çHÄq@Äq@Äq à€„r†z|ò·ÇGïNïNÄq@Äq@*‹ÊÊê9Äq@Äq@Äq@8 ¡€QY½ G=Yâ€8 ˆâ€8 ˆâ€8 ä/$”%”Õs$ˆâ€8 ˆâ€8 ˆâ€8p Ò…òñÇgÚ„�8 ˆâ€8 ˆâ€8 ˆâ@¾r Ò…ò¦M›L›0Äq@Äq@Äq@ÈWH(KØ«cCÄq@Äq@Äq à€„rF¾öv(Þê©Äq@Äq@Äq ò8 ¡,¡¬ž#q@Äq@Äq@Ä�€Êê�©¼a),Åq@Äq@Äq _9 ¡,¡¬ž#q@Äq@Äq@Ä�€ÊùÚÛ¡x«§NÄq@Äq@Ä�Ê〄²„²zŽÄq@Äq@Äq@H(`¨¦òz`„¥°Äq@Äq@Ä�|倄²„²zŽÄq@Äq@Äq@H(`äko‡â­ž:q@Äq@Äq@*�U.”§OŸn|ð��7®Æl¤çË/¿T�Œ:!Äq@Äq@Äq@ÈCT©PF$#(k¢ûâ‹/ŒM½:•׫#,…¥8 ˆâ€8 ˆâ€8 ä‚U*”±¼ÖdGúæÌ™cŸ~ú©½ÿþûµn#Ý_}õ•ë,¨Í8Dß}ˆK.2¹ž¡ÊDÄq@Äq@ÈŒU*”n]“é›1c†­_¿Þ6lØ`ß}÷]­ÙH/é&ýÃÚŠCô�‡¸üûßÿÖˆƒ<†£J&³JFx /q@Äq@ÈGT¹Pþå—_¬¦ne/’×­[gµmó¢pÊ”)µ‡è{÷¸Ð���…†â¬ÊNÄq@Äq ¦s@B9‹B¡Œ(Š ¥ÚtLúz\Ûqˆ¾s�KM/`”>U¢â€8 ˆâ€8 ˆùÈ å, e†ÞFERm:&ýåÚŽCô�{\ò±ÐPœUÙ‰â€8 ˆâ€8 ÔtH(K(gUÈ{A(¡\vè½Ç¥¦0JŸ*Qq@Äq@Ä�|䀄²„²„rÌ—PV…‘�†â,ÞŠâ€8 ˆâ@má@Þ ån¸Ázõê•õÀ–,Yb{íµW…žÃåÚnIõ‚°ºàpüñÇÛÛo¿�ÕÎ�è0ëxÇ—ÚRÐ(�ªTÅq@Äq@ò‰Ê ,ÊU)”GŽigžy¦í¹çžvÈ!‡X÷îÝmþüùi‹»cŽ9¦RÅ`EÂó‚°¶ûî»Ûa‡f\„7ßëE|8Ð \‡Â_þò—˜ÿLÃóÏMgïa¦B¹mÛ¶Ö¹sçXý³:tè`;vtç“¥ë±Ç³}öÙÇ¥zôèáü„C¯Á�ó`uä‘G:!¾jÕª2a<ØêÖ­ë:Kþüç?ÇâóÌ3ÏØ¯ýkþá‡{7>ž©ö—|*,WUnâ€8 ˆâ€8 ˆµ…5B(¿÷Þ{1±{ë­·bÑŠPÆ’ ØfÍšÙsÏ=çÎU7¡ÌÜY/–ä¨ÐêÝ»·µoßÞ�O&lñµ#( —N®Ï›7ÏÝóÚk¯•+¼hÜ’{A˜‰P^»v­í½÷Þ®Ã#ö¨Q£œ8å|ªtų(‡BùòË/·-ZØ‚ læÌ™vê©§ÚСC&>l„2ϪMgÃôéÓÝñ�ho½õ–ûÏûúðÃÝÿh|{\jKA£tªRÄq@Äq@È'Ô¡üå—_ÆÄ0ð¯¸âŠ˜PF\†Bù¢‹.²{ï½·Z å±cǺyÉñÄÕ Aƒ¬Q£FNŒ•W(/^¼8&æ à†©ó¬LË¿Dç¼ ÌD({ y¼E·^ýu'úW¯^ʉҕJ(#|'L˜Ãä‰'ž°3Î8Ã#”±Ì¯\¹2vÝ�V ­Ì¿çž{âvj$Â"<ïqɧÂBqUå&ˆâ€8 ˆâ€8P[8Pã…2VÂP(caöe†ac ô×YMÛ½þöÛos>ô:›e¬ç¡P»óÎ;�áÍœ«nB‹2ñe}gþG-ÊÉÒ•L(ó~±²3÷Ü?üáÇe„´¿Æž…ÅX ŒÿX“Y\Œ…Æš6mjÿú׿ÊÜú‹÷_BY•Lm©d”Nq]Äq@ò‘5^(c|òÉ'í§Ÿ~rñƒHA#|yä÷«$óƒ½PÞ¶m›í¶Ûneæ0{A�î¾S¡ŒÀB$×ÇÜ-ZäVxF4žrÊ)N´sÏøñãÝc¬¢÷ëׯŒPÆjî-Ÿ\GP"úIÂŽ¥䯼òŠóŸix„™îæa¦Byâĉn1®èª×ûí·ŸM™2Å=?Uº®¿þú2‹žçP(³(�%Œ*àý²²ø�!Cba'ÊK—.u�/ì óî»ïŽ ÙΗš^À(}ªDÅq@Äq@ò‘y'”S‰Óð:‹y±Brx.—ÿË#”ZˆdæÊî±Çn(0–Qà EáO<Ñ û½ýöÛËe†,uÔQNp#┈>Vºf…gVÐÆOyà ý¥ú_^¡L¸ gnÙ²¥̬`�¨E@ûg¦J×´iÓޤ½K—.Î_(”YÙlé “ë®».6'Ù‡íŸÅÞ½¦ƒ‚Eá—‡úõëۻヒWè'Ñ�K>г*;q@Äq@Ä�šÎ å ?O•‰Ð.¯PN$®Ê{>žè+oX™úó‚0S‹r:Ï©Êt¥¿d÷x\jz£ô©Äq@Äq@ÈGT¹PþßÿþgÙÚXÅ‹r¶ÂO®„ò:7œáîÊe‡«K(«ÂÈÇ CqoÅq@Äq ¶p F åTB6Û×%”%”Y•%”UÉÔ–JFé×Åq@Äq 9 ¡œE‹vuʉÄZ.Î{A˜ ‹r.⟭gx\ò±ÐPœUÙ‰â€8 ˆâ€8 ÔtH(gY(óMàU«VÕÚ�ô3ôº¶ãå€Ç¥¦0JŸ*Qq@Äq@Ä�|䀄r–…2iÙ²eµv#ýåÚŽC”—|,4gUvâ€8 ˆâ€8 ˆ5�U*”ùŽo¶ç Weø~ø¡1üZ›0Äq@Äq@Äq j9�‰¸—P΢E¹*Eºž�½ÕÔ…­°Äq@Äq@ò‹tRä�P&²"X~LïKïKÄq@Äq@ò�ʲ«óAÄq@Äq@Äq à€„rF¾õr(¾ê™Äq@Äq@ò9‚ IDATÄq ò9 ¡,¡¬ž#q@Äq@Äq@Ä�€Êꉩüža*LÅq@Äq@Äq ß8 ¡,¡¬ž#q@Äq@Äq@Ä�€ÊùÖË¡øªgNÄq@Äq@Ä�Ê瀄²„²zŽÄq@Äq@Äq@H(`¨'¦ò{b„©0Äq@Äq@Ä�|ã@�Ê&L0mÂ@Äq@Äq@ÄqÀs ]Á^£…òÿû_Ó& Äq@Ⱦúê+•³ªk*�âUöò¬ÊÚ‰m¾ç™|�Eò•Ò^¾<ùþûïÛ/¿ü*Î;øé§ŸÜöã�?Zii©•””¸­¨¨Èü†X–Pž0¡Ò+îŠdù-_&nÂM¨Þ¨Í¼¸™=nŠWÙÃV¼­™Øæ{žÉ÷øW$_)íåË“ñ„2™í?ÿù�ÈÅÅÅÆ¶mÛ6Ûºu«ËÊÿûŸví{´ßÞ»"„ƒ8 T&hüûßÿŽõàVfØ «örU¼ª½ï^ù¾|ï>ßóL¾Ç¿"¼UÚË߆�PÞ´É6ãÄÓ5•Ó[à{´ßÞ»"„ƒ8 T&hÌ™3GeíŽìÊĶ6‡%^©œªÍü/OÚó=Ïä{üËóμ¥½üm å@$#˜óI(/^¼Øêׯox Ýwß}jHª!)ˆ5ŽÙ¬àß~ûm;þøã]:mÚ4{ï½÷ì˜cޱ8Àý?ùä“ÝÞ76´¯9â*^�=ÚÚ¶m›VÞ1b„]pÁiÝ»dÉÛk¯½Òº·&qï�7Þ°ÂÂÂZ—î|‡™ä™l§5“<éãR�ââ‰'ÚG}”•<ðá‡Z«V­Ê„��´Gëω'éB“P—zÜ+²¿ýöÛmèС «¢iO$”Ñ‹/¿ü²†^'³.cQf|ºßêÖ­k£F�ŠûóñöÇ{¬Ë$ñ®¥{îÆo´k¯½6­ç¥¦îÛù>……°ªžT²³gÏvå‹dÔ©S'á–nùëß+�Tvþ¸Y³föôÓOÇŽŸzê)ûæ›obÇþ>í«ž}!¯|X‰êp†þ¿òÊ+iñÀ ef²=ÜB('»'×hìÑ&‰>ëôÓO7Iô|E�_ýu'”+Žüç6&Ê3¾L>ä�Cìâ‹/¶U«VU:g¢ï:“<éýÆ‹ÿÇl”ûûí·Ÿx�5²ýë_Y�¿Ê>n•¹oÙ²¥!b síÚµ®¾Œ—vÊ;ÿîöÙgkÚ´©}þùçi§=UýYÑ4mذÁŽ8â[·n]™´PV±€–ãÆ�îýí»ï¾±saÚ’¥ý믿Žù!¼æÍ›;L¦N�;O(ÓnèÙ³§õèÑÃ^zé%7?Ys”ã| ¹ª„2�E^(Òßþö·ØËô¤Ñ>·•‡ðÞâ@ö8­ä6oÞl~;ì°Ãœ€ñÇTTþ]ørÒÇÛãß‹p®S‡dùäףð¿3Î8ÃÞ|óÍXØÿŽ;î°³Ï>ÛN:é$Wñ2:è ÆŒ3\¯Ï¢gŒñ}ÜØc)!ì¿ÿþŽ ¼|ÎSXÜ|óÍŽ ‡z¨]~ùåöÝwß•ñ†£ÿ;ß¹°â@v9@¥6kÖ¬¸å5 Þ�/s/½ôRW¾ÝÿýIËÄÓN;ÍvÛm7;òÈ#]yI™I¹L6ÿÙþïÿþÏY1>pà@;î¸ã\Ú Ag9ÑûÏîûϾñxÖáás©;zíÏùú‹ õq÷îÝ]=ÊuxÈÐkþ# ç�wž}ÿý÷1ÿ>¦OaQöÇ4Úàu8qyç�wÜ5ß ÿôÓOc÷bµÛ{ï½méÒ¥îܘ1c NÓ~8÷Üs ÑâÃõñõíÞï½PöÇ~O{�´ûãdm”DqÇ/¡‹.ºÈÅ�¶ Ã) bá._¾Üºvíj´?˜úpç�wÆ®ýö·¿um¦sÎ9ÇM“1ðñÒ>7y0�¬n¸Á~ÿûß»ãdõ'?Í×”£?üpìù>-·Ýv›+W}¼(ïž�Pöç´%J;áüú׿Žù¡Ã䦛nrá ” n„B™‘E—]vÙ.B™vbY«^G¬Êeÿí,ög�u–уÁ2 „ûàƒÜñ«¯¾ê ?•!Ù¯X±Â(8žyæ4/†c†fq›yÔô¨r®S§NŽD> „õ—_~é*g†“�¹Èˆ\ÿç?ÿé*!zʨ¼çÍ›çV’åÚþð7ÜàÛo¿u™ �ʇ«ýöï£ á äžTV3gÎŒ[y¡Ì{¡ÌEø2äŒcÊÉde"÷PƆaSÎRvú÷L…ïËy¦º4lØÐæÏŸ+cþ^ísÏ�Š`�Wa†�Å‚úןƒ'¿ùÍolË–-nc¸&Ãþ¹Ï?ÿ|×±‚èÒ¥‹»Çû ÷‹-r�QŽúŸz˜ÆèX»è´æ:ì¿ûÝïbq@P Þ¹öÖ[o9‘À<{üÞsÏ=®QíÛ ñÚþ™ì:H›$<Çä�ÿ©Ú(Éâ~ÅW"‡F'm§eÿ<†|Òæ`%V�SO=56÷¡LüÁŠû}š¼_ís—ïRåÞ/¢qÈ{‰òîÙgŸµ£�>Ú0ìÀkÞ-¼ðï�û6ŒÀ‚'‚è�¤s„°á �(ÜæÉÏ>ûÌu°,[¶Ì]Ã/<â¾°ÜŽÆMÇ y”W:Ÿ|\اjÇ'ã<~õ«_¹ŽV¢½Oz{#”½HÖgˆ9BCþX×€¶=aG7DÜÿøÇØy/.£iÇ_XÞÑAùÒ¸qã˜_„²ÏwÜï…²fªú³¢ùšõCè,ôÏói¡Î¦î§¼@ÈÃ)´BÙߦ-QÚyðËë4ê{¸I8¾зoß2B£)+ˆc¥fC„óLÊ%6 å8B™ž ¿ñbvÅ1C¢›4i»†À¥GeÃu2'¢ÕûÅúKï“?fOæ%þS€`î¯_xá…®÷-<þ'Ãüõ¯u~:vìhô¸…×ý*c„¹?ž>}º{ž?Ö~ç;ÂBÈ-èØûâ‹/båSˆ?•%��œ£¬dØ_x=ú?,¹FE†M9K…ëýQq"B8¦‘ƒEÀ_Ó>·<¨l¼ãñ*¬ÃÃç!‚[·n{÷ð„y¶þžAƒ9!Ë1ÿüó®}B~7:ûI;÷¦j£„áñ?Œ;£Ø|:¸†ØÁÊÆDÖC,î>ŒxÀ‰-Ž]4Ðý5í«.ß%Ê3¼_ø—Gˆ8ÞS”w:tp£ ü;D„!}»˜û}yÎ=X {÷tÁ®…yÑŽEì"À}øìÃr;^ü‰k¿~ý\ç #ˆÈ·sçÎua¤jLJÏáÈyüzŽûûÐXÂý½^$kƒ“‡É‡aºÀ˜<ëà ÷tÒa}öçÀŒã¥�òŽk~c.æg{¿¼OÊ(|ýõ×—yÉêÏÊÈ×ÞØçŸïÓoè„dý,É|êmÊo˜¶Diç]0ò¬OŸ>N�Ñy‡ÂñíâZ”%”˱êµïQfÏÐ z‘øÏp�°Ç™sžtüG(>ÿÙ¨x!4ÌüF¡ñç?ÿÙ]çÿ”)Sb÷ãñK¯²ƒ^Ä6a³QxQÈp�$¤ð÷ú½óOï–.ÃV…¸÷÷i¿ý= á ä–ôÐÒywg …âe. ±ð¾de"÷QчaSÎÒËïÃðBÙ—“X)ü5ísËƒÊÆ;¯Â:<|Sªh@ûsð‹ƒ?¦±F' Çð�†/�->kæïa�?ß(¥Qï…²¿‡Æ?u5÷Q‡ï¹çžN8øëXx†E…áÙð’køa �¯ÃÙ“7 áŸm?ø0Ù?÷Üsî™Ä'܇´sOª6J¢¸¯^½Ú¥™!âþ™4ò³(é ãÎô,�\G 6,æ×‡¡}îó_¢<ÃpkÄ Vßð½Àã�wÄMxíb,Æœ‹æ+Þ=�*þþ°]Í“©êÕ«çÚ½ ã'>Ñr;^ü}Øì,XàFi0Ô›ãðyþ¾°ŸˆóÞ/#>¼?ö·±üGT£|µÁÉëhƒ0Ê"Ÿ/Ãóüg˜8jëìdõgeäkÊF…ùçù´P3̹]»vnô #i¨·)sý½aÚ¥MÄÊJÊo:bðO8„ç-ØÊü<½»~ó/†cßhóרC:z¯øX>Ý_gÎ�®åÏ…{*A œðB™žWŽŠ•‚áœcnB™ÿôÌ1ŸÂßîéqc<~xNÿw¾Wa!,Ä�ªã=¼¬ÄïPÁ1Ò†kñÊÜde"~¨èð)g'Mš{�w*jDxÄ‹‡ÎU?Ê‹}<^…ux.SªhœúsÑúk®·{b�¥ž§ÑéýE÷´hpžEåh¤"Àý} Qöüæs{®JC˜yÑþ>êwÄŠ?Žî£ñ�^§�L^‰žg4iç|²6Jª¸“.,L>ü|Ð eŽiä’±(ûëáÞ‹¥ðœþWM~Ë$ÏðŽ¢¼£óã�DC¦ãÝ}÷>oqo4Oú0šL‡é•W^é Ëíxñ÷þü~ìØ±®£‹ãðyþºoǧâ<~©?¼?öt=ùä“îBÙk€dmp†#”Ãp(‹|¾ Ï󟎦Oúó` ÆñÒ¯¼£³Â‡M¼ê>,ʯ)8—¬þ¬Œ|Í{ÄèŸïÓB‡�2ÔÿX޹N½�Àõ÷†iK”vFäp?Ï¡³Ž©®ŽoPvI(W‘PfØ”'#/†+.™0÷�±ùÌOàz´Àá\T(3l‚á\cÂ󤦲…T ÄRL¸d@îer>=h¾Bg½A\Ó& Äq *9¯’óñI%”“•‰„‘¬¢çz(”±¨1•²•F==Î,Dãã¢}~å“x¼¢qõÐC9+–6êãh£õš‚sÉêÏÊÈ×t¨1:€g±ù´ ”9æ�^þÇÊ>m‰Òî…2<ð�„ åÞ½{ÇÊ|›™�yÊÌ�ös£æí78o!èxç(ïÁ,Ý­N�:�êT¢k”�ÈÆKD¼s€† é}ôQwŽÊ–^Šð: 1Ê9z­˜€NÆaŒ<ç¹22t‹^#zs¸ñ™ã†ç…²?ÇK§aG�‹BRûëf\g¢:{„8×(X˜cEï·¿Fϵ÷§}úäVÂJ¨\0 «o<\½PæZ¼27U™è+z6嬜£œ|ã�7ܳiHÑè¢ÜfØ+��X/¼_í+÷½gÏx¼¢Gœ†Ÿaô�r§h}ì…2×£<Ä‚Æt&wÞ¿ßÓ ]à�ᜣîgÞñA(ûë칆Շ‘cáy†r?Ü$~ˆ D'÷Dãúã?íLô¼·(ûóÉÚ(ÉâN—a§ˆc„È-·Üâþûpáˆò3m"†Ðútƒ?C¯ý½ÚW]>K”g|»7ún¢¼ƒ�丆µ’6,ïÞû‹Þ}÷aÞ ó$e6«Ã}ÚÎŒ°À:H¸a¹�?Ãn±’ÒñD>„äŸWÃçù8†íødœÇ/Cƒ «$ùšé>/”9NÖg�^ò„÷ÇÞ[”Ãsá¾ Í Î!Ì)Ï¢içZXÞùéÌ­öa1Š\™ÚÁˆW° 5Eªú³¢ùš?¾Ä�ë0-þýøx²‡\.L[¢´Ó>ð÷‡{Âñíâ@Q~C�ù�rÑot2øMBùÿs=X!¸ú_u¸°öâ@Íä@¼JNïºf¾ë\¾×|啟R•K¬ô,å78�¯yÆó7—ñ�'²}<²½G ñ9µð9¹L{øÜŠþgâ?ýéOeÒ’i˜M;"ù—_~‰QYõZåÈêÖñ¬ÉœƒŒô�iâ€8 d‡ …bhœð;µ×|äS¦°.±R{m}oJwÕ•ù˜gB¾ä2þ^(‡Ï¯Êÿ¹L{U¦3Þ³+šöxBYŸ‡Ê@(3üI›0Äq ; ÷˜UQ…ovð­­¸æ¯XÀ‹!�ìkë;Sº«¶ È·<åK.ãÏüZ/‹Æ¡ªŽs™öªJc¢çV4íÊ‘ÉÓ™ÎQf¼6a ˆâ@v8Àü-æ ßìà[[q¯Ä§ÚÊýò¦;ßóL¾Ç¿¼ï J{ùÛÊÊkmÂ@Äq@Äq@Ä�šÃ å e“B@! „€µ >Ïç¼2Ùð#'ò e å|áªâ)„€(7¬*'„€•‡€ÿÞ5 &¥»áGNä ÊÊùÂUÅS!P.ø¦æ{ìá¾­Y®äI$@àÒK/µáÇ'¸ªÓB f#�Žè�={¶[¥Ý#‘ŽoUìY0ï÷¿ÿ}Z�~÷Ýw�o"xà�VQKù¯ýkûä“OÒz®nÊÊYÊ6lÈÝÛ,ç“®»î:÷ArÌIÇÝ~ûíîÃì|Dýª«®rßKÇŸîB@”#9ì°ÃÊå�ÆÌ!‡bìå„@2Î>ûlWÖ©S'¶?ï¼óœ—Ñ£G›ÿïè.BùÛo¿µ½öÚËGK{!�R‰^>¥zÚi§ÙGaÿùÏ\œRùÉIÄ“<$¡Ü A{õÕW“„–þ¥P(ó½ô;ï¼3}Ï帓ïÓþ?ñÄmï½÷¶³Î:«ÒÒRŽèT[/ÊYÊ7Þx£Ug±üå—_�ÏN¤#”_|ñE;üðÃ�Â+V¸Œ5dÈ�jKpEL�šƒBÁœ©1b„�~úéÆ>™ÓðìdèÔŽkå‘#GZiiilûé§Ÿ\â³)”ùåCT”×I(—9ù«©Dï /¼à:œB m*?‰OeøÍD(Óž7o^e<Ör-”KJJ¬ÿþöùçŸÛºuëlÔ¨Q¶çž{Úüùó+%=5% å, ez…*"–!o·nÝœ%åØc�µ{ï½7Æ=z²é jÓ¦�k6mÚÔ–/_î®/Z´È8à:t¨5lØÐõèñ]·ÐýüóÏÖ¨Q#7Ôcß}÷-#”ÿüç?Û‘GéÂ8ùä“mÚ´iÎ+ß…»õÖ[cÁPwÜq±cýB@d �–-[ÚäÉ“ãÿÐC%{ÓM7ÙùçŸoì¹Y³f¹^õ™3g&ºEçkeqÔ-^¼Ø�JÀòB�‡õG=úhÜG` N44»sçΆ•€}"7fÌ;餓⊤D~t¾æ!�H(“ÒDe:•™ŸÈÐRêe_Sï2äŸeD£¶8^µj•Ž{�>úh7:‹ .tõ)B·zõj'œ—,YâŽ%< ñMxÌ�FP#NdQvé'Çx¡ŒîÔ©ScNø`W�ø“Täe 9! „@6@$#–ã9Ê&¬yag ¿¯nݺî{÷ì9:$Ò7ÜpC¢[t¾ €PÆDØo·Ýv›Ky"¡{ƒK$”ÕÈ`á¾þfÏh-o1¦çYÞÁcêÜбxسÏ>ëN±žÃ<ÃðÊXª%”CÔô?W„¢—ü�áäšk®q£(øï-³a|B?áùªøÿÆoĆMûçÓiêã�,ÏqT(3l?äsFq2çw„ .èê*”é$ “˜-ì0ðxÔÄ=í¦”¦³I(ç@(—G$CL†?� Ï¥ÊRá¼âá-Ê ÷b˜"•,Û¯~õ+g-+|žùÝwßÙ…^³â0#\¼‹Å½( ä„€ÙF ÑÊ×4N(qQ!MH‡c–‰îäŽͲeËv*á=ú_óH6ôú™gžI¹êuØaýðÃ'î­ÃS å.]ºsñã9¸«U¯ã!£sÙD ½´U™ @Û“-:7ÙÇ#ôãÏUÕ‹²¯|0y¡œ,Ïq(”™"AGÓ½c�ŸwÞyÇRôèÑÃ_²¥K—:œ¢s”¹�éël;,ÿ_|±uèСÌH–l?7ŸÂ—PβP.¯H†DÌ;b(!½[[·nu‚ù믿¶O?ýÔq,ZɆ4.‹ \yå•nÞ¢›¡‰~aœ —ö«^³�ÃgxÄ g‰ádl?‘ùÌ‘âü”ÎùD~ÅU�üC ÞÊ××_½ÑÁ±ØVá—_~Ù‰æ©S§ºr”k”§#¦¹îï¡Áâ;üX÷ëœ\íD¡]õÚOA¢Á{ê©§–ù$b²z˜NøúüóÏ;?Ìaþè£�\t£~S e¦Ca©b•ZÚL­7nœk0’: ¸œÈQÑ ¿½Pöb3—¨Ÿèõ\#îÉÓ/½ô’{ì7ß|ã¦^ø¸'Ësx…2ÑÍšB¸·ß~Ûaá…2ØP¿ÐÎÆÑ¶«xB™55Â…¿œ‡Jþ!ít 0½cÓ¦M±UþÏr;�PβP®è§¡гgO÷ :zªí3]´’� eîg(!—áZá¯�Øþ/zÍ¢$`Vd®2=jX–½c�0 ®c¡öŸÎð×µB@d �påkzÂÙ(?ûì³Ø#ˈaö4‚(CqìY¸…!ÜÞ/÷œqÆnä ÷° �Ÿ Pj eßÐ÷{ø�C0cy9è ƒŒiH¸dõ0×g̘a¬j�êSFeÑ�ç7•PÆ zâHýËÈ0:²ýJìCÂ3¨ûµ �ƒX?YF žèeè5ån¢Ñ;ñüd9šIƒg…ø&Mš¸ŽTÚ»Xs½PÆc²< eî½ùæ›ÝÔ¦L0õ‚¼êÛì\Çx†•™zŒ6y"¡¼ Z T IDAT`Áç—‘NˆÙl8:Õ|îïëdã¹ù¦„r–…rU"^…[UqÑs…€•…k7P©G­Â‰Â?EÇaô3yø ïA8ûð}ã�gÅûÏ99! „@mE <¢·<~j+¾JwÕ# ¡,¡\õ,T „€B@! ò æø"|3Ùð#'ò e å|áªâ)„€B@! „€È Ê5T(ç„=zˆB@! „@­D€5m2±&s/~ä„@¾ ¡,¡œ/\U<…€åF€yÆrB@!Py |ùÎx&~ä„@¾ ¡œÇBù׿þµ±Òu"]�3Ñ}:/„€¨É°Êð{ì[m¸&§UiË-ªgs‹·žV½HGôΞ=Û¾ÿþûXÄÓñ»¹ þði¦pÕëdQàóQ'œp‚±:uE-å©ÚôÉâ¡kÙC@B9ËB¹¢Ÿ‡JöêŸ}öÙ„Ëïã¯<øüùóÝù{íµ—ûdʇ~˜, º&„€È |û�oÒ–Çјá3ìå„@2â}ŠO½àF�mþ¿£<õ¬÷[™{¾ýM½-'r‰@*ÑË7yù$ßGa|G—ÊO.ãïY™å Ø«¯¾/˜ŒÏ…B¹W¯^vç�wfF&þûßÿÚu×]g'žx¢í½÷ÞvÖYgUZZ2‰Gu¿WB9ËB™o¦eS,Ç#ßT¤pʤ'ÃðññÓO?Ý}çmË–-öØc�¹^2>D.'„€¨jÊæL݈#\ÙÆ^N$C¡Þyk2yfíÚµþtµ³(#t5jdûï¿¿µoßÞúõëWfèu¢<‡ai·Ýv³£Ž:*V :Ôå¿ýöÛÏÈ“'NŒ¥ qŸ>}bÇÛ¶ms�tÊá|›~ìØ±¶ï¾ûº2ƒ¼Ü·oߘŸlÿÁúOzåv" ¡œ¡\^±¼råJ'\½E‹ïÑGmS¦LqoÐg*¨p¹¶bÅ w�Šs 7¤¢¦Güúë¯7š8„r�:uì¶Ûn‹ÝÿôÓOÇ2»;ifݺuKÙ¸ô÷j/„€È&ô~?úè£qñÐCÙðáÃã^ëܹ³a%`ŸÈÑQHㄽ\íE ‘P‘Då#�<ÒÍOdh)õnïÞ½€Œ&£ƪ†h îæxÕªUîz´Þ^¸p¡«—ʸիW;á¼dÉwŒ(áYÔé„ßÔÔ÷²(;ˆô“c¼PFwêÔÉ0ðxÏšÌ5ïÇßW•{ÚÕˆÃ;î¸ÃYùÞ{ï¹v··€'ËsÄ›üZ”Ióš5k\þ¤M}衇Zqq±KbºB™›s1ô:Š;Ve¦oÌ™3'z©VK(çH(——ôÛ§žzÊ‘ôƒ>p=U¾Ç.*”X†ÌTÂ×^{mìÜÖ­[]ʡõøá‡v½á1f®gíª«® Oé¿B J@$#–ã9[…·(G…²Ÿ£ÌïN=õÔ¸óµüuí…€¹B ÑÊ×Ì[fô "1:†"&pìùrá}'�t’kÀ±—«½ ”iðÇsÏ<óLÊU¯C¡Ìè„dÃý©£Ãz;•PîÒ¥‹1Å ž£� U¯ã!£sÙD ½ cf*€ï´ŒÎMöñýøsUµÇ¢ìë‡îݻDŽr²<Çý¡PfŠíêY³fù ìä“O¶wÞyÇSôèÑ#vméÒ¥«èen`úÂ:ÛËÿÅ_l:t(3’%ÛÏͧð%”³,”+"’=‘X„«2 �„.¡ŒyæÌ™nŽò 7Ü`Í›7wAÄ«�ýª×ÌåcNÅ“O>ézÃÃïß…Ï×! „@®ˆ·ò5 ¨ 2ÄüÞÇ áÿüóÎs˜?úè#£�Ïo¼z9´(³–*V©e _§`Ju7u6á~�’Úùö”ê\#½ðÛ e?Ï7§¨Ÿèõ\“wÈÓ/½ô’{ì7ß|ã¦^ø¸'Ësx…2Ñí�Mo¿ý¶Ã e°9þøãÍOyÄr Vñ„2íðpá¯l`BÚé`zk!ù•þÏr;�PβP®ŒOCQÉ’™¢s“ÒÊáª×çž{®Ñ댋W!sžE š4iâz¦YÑOßQÞ™YôO�ªG \ùšžp6oIö–ebɹ|Ð5‚zöìé"Ξ¯píå—_Ž%† «�âØs,W;@(û†¾ßŸqÆ 3–Fw{ì±î\2¡Ì |�‚¯Qà‡ŽkøEcõ¯^…2~hÐGVèeO,T~Ý’Áƒ»g`ÕÒ‚<býd�x¢—¡×ˆÏD£wâùÉr4“Ï ñ´{éHÅ‚Œ5× e<&Ës¡PæÞ›o¾ÙM� ß2õ‚¼ê…2×1žae¦cÚE"¡¼`Áç—©ˆÙl8:Õ|îÃÙ²ñÜ| SB9ËB9ß¡ø ! ª3o½õ–«Ü½ØEðòß;þSéû!ØájØág6÷Eïçžð|²ÿ\“B@ÔVÊ#zËã§¶â«tW=ÊÊUÏBÅ@! „€B ¯`Ž/Â7“ ?rB _�P–Pή*žB@! „€B@�œ ¡,¡œ¢é!B@! „€5�éÓ§gdMÆòŒ9!�/H(K(ç WO! „@Vç:gõA \!P@øò�ñL6üÈ �|A@BYB9_¸ªx ! ²†+ï±Ç±‰³ö \£ˆ®\]£§Ä�¤#zgÏžmágFÓñ“â±Y½Ì§™ÂU¯“=ŒÏG�p îSªµ”‡_²IöL]Ë-ÊYÊ•ñy¨lPâ¸ãŽ3¾÷ºùóç»åñ÷Úk/ãsú4TˆŽþ !P�W·.OÕÕ�„r–…2ßL«Žb9*”ùð8ßM&¾[¶l±Ç{Ìõ�ñr9! „@U#À79?üð„Ñà;˜l‰\ªaÕ#FŒpe {¹Ú‹ByäÈ‘VZZÛ~úé'H6…2ßBFT”×I(—9ù«©Dï /¼à>·ZhSù©H|*Ão&B™:iÞ¼y•ñX˵P.))±þýûÛçŸnëÖ­³Q£FÙž{îiÍäv" ¡œe¡L¯PyÅ2ý¾ð w¾­+çc�>Úõ85lØÐ}À¼gÏžæ+t®?÷Üs®áwÀXëÖ­cC ¯»î:Û}÷Ý]‚ù©§ž²Ï>ûÌõ(ÅžwÊ)§¸ôØ ýB@T!X%Ö¬Y742Øâ¹Y³f¹òmæÌ™ñ.»s7Ýt“�þùÆ^®ö"€PFGÝâŋ݈,/Ô›X_pX” dmÛ¶µ}öÙÇ�ÊZ¾|yÌ;ŸÂiÖ¬™ëx>óÌ3ËŒXÀ/õq«V­ÜðÍñãÇõõ]wÝe………†¥çþûï�…ÅŸDõº·„7¶¹sç–ñ§!� ¢¢—ï¼5™±ãmÛ¶¹N:åp^(�;ÖöÝw_Wf�—ûöíó“í?XÿI¯ÜN$”s ”Ë+–W®\éwÞª‹Õq cÒ�èD²¿ ”ÊÉò÷G…²Ãï±ñÅî°: eÊFžªÍïßÜν„rŽ„ry‡_?ñÄÖ¦M÷Æ®¼òJ7ÄË¿>„r8”0Ì„,0Àp†Oû ¡ì­ÑQ¡,‹²GU{! ª+/¾ø¢1Ò%ê^~ùe»øâ‹ÝÆÿ¨c~òƒ>ht<&r u£G�½\íE‘ûÀ8+/–^6>}ƒK$”±å#µüD0�p_³?æ˜cÜÐjîG(ó,ïÊ�бxسÏ>ëN%«×%”CÔô?W„¢—üÁȦ&²&¯ÐO®â™è9o¼ñÆ.£)éXõB9Yž#̨PfØ4~Èç´³™ó;aÂ÷ø°�ΉDC¯¹V^ãš{P†?XÒIÅÆÿÚà¨ë§M›–Ö&¡œ¡\^‘ Y7nÜèzä–-[ftP™!É„r—.]ŒU`9–³‡^û9ÊLî÷îÔSOM:TÑß§½B °Èb#ê˜6dÈ·ñ?ê+”¡Qâï  £C1œOçïѾv �lè5S›R­z eFj%Ê�PEv*¡œ¬^‡ß ›”¹D ½ cfn½ŸÏšLÜB?¹Œk¼gaQ¦Ì]÷îÝcB9YžÃO(”™"AÚÞ�|òɱéB”=zôð—léÒ¥«èen`úF¼ÑS1Ï•ô‡!ât2wèСÌH–J ¾F#¡œe¡\‘ìÆ3X•Y$tÉ„2Ÿ8¡G‹ÕìªÍJÖ +¤ ñp�ï¥æ˜ó [dŽó)ž|òI×~û.|¶þ ! ª_¾aáŸOE�%Ù[–ýyö4FèÙÇüñ†å-ê¦N�›zÒ´iSãX®v"€PŽ®zí‡B3?žäpÑÌ¨Ø …2.‡v˜=ÿüóÎs˜?úè#ÇIÐ�úM%”“ÕëÔÛ,,äç;×η§Tç�¨è…ß^({«l4NQ?Ñë¹<¦íKž~饗Üc¿ùæ7õÂÇ=YžÃC(”Ȉnopzûí·~] °¡ò‹æb¹+_Ÿùż—¶x¸ðW60!ít 0½ƒµ�ˆâYn'ÊYÊ•ñi(*Y2StÎq2¡Ì+&ãSé³’÷Ò“åç73ç !M±  ‚Ñ+�hÖw”wfýB z иqã2£aˆ•Ÿ›ìç*sÑÌ�k†¿ú¯°ØŒŸï¦æïÿ»ñÕ{Žåj'Ô™¾¡ï÷gœq†ÁŒå…Ñ]Ç{¬;»¡Pæ†3f¸U­ñÃÂ>,HGcõ›J(ã'Y½>xð`÷ êu-Èã ÖO–ˆ'zz�øL42'žŸ,G3iðÔ´}é$Å‚Œ5× e<&Ës¡PæÞ›o¾Ù�zbä uå‰Ê\Çx†•™i@L»H$”,Xàü2 1› G§š/ãÂ}¸ [6ž›oaJ(gY(ç!_! „@uFàÍ7ßt•;"ØWîá7’ýy¬Ì8Ž'MšäþOž<9®_Âñ÷°ç؇“ì?×ä„€µ�òˆÞòø©­ø*ÝU�€„²„rÕ³P1B@! „€È+˜ã‹ðÍdÃ�œÈ$”%”ó…«Š§B@! „€B 'H(K(ç„hzˆB@! „@ÍA`úôéY“±<ãGNä ÊÊùÂUÅS!P>�~^§ÌÅá¼äx×uN! ʇ—ïŒg²áGNä ÊÊe¸:jאָ ±e.T𠺺g&Á…KægâO÷ !P³`•R¶dίb}â‰'ÆVNv¿® �L¨HÝ–Ést¯¨Ž¤#zgÏžmá§FÓñS•iåÓLáª×ÉâÂç£N8á÷9ÕŠZÊÕÖM†tÕ]“PβP®èç¡XZ~ôèÑ9cˆ„rΠփ„€¨ g�u–±%sþ»ÈmÛ¶55rB ñ>ŧ^pÔÅþ¿£ºe¾Χå„@.H%zù&ïi§�fGq„ñq\*?¹Œ¼ge"”4h`¯¾új¼`2> å^½zÙ�wÞ™q™xøïÿk×]w�щ¼÷Þ{»º´²Ò’I<ªû½ÊYÊ|3­"bYBÙ,,<ª{†Rü„€È‡v˜±%s‡~¸ûžçÕW_m#FŒHv«® ÷íÒ‘#GZiiilûé§Ÿ2ÙÊ¿üò‹!*Êë$”Ë‹œüU�T¢÷…^pŸÛ -´©üT$>•á7¡Lý2oÞ¼Êxl™¶n.„rII‰õïßß>ÿüs[·n�a(ÛsÏ=mþüù•’žšˆ„r–…2d¯ˆXN$”·mÛf}ûö52éÑGm·Ür‹Ñ;ä–üpÀîCê3fÌð—ÜýC‡µÆ�ÛgœaW^ye¬§�ŒÒ¡C»üòË�ßÓO?ݘãç½MXpöÛo?;î¸ãŒ9‚¡{öÙg]˜ûï¿¿ûèúG}ä.‡½îtÔ«Wφ ⮽öÚk6vìØ0˜2ÿC¡œ*Ýe<ê@�‹@QQ‘í»ï¾nã<çïáÚ½÷Þk7ÝtS¼ÛtNÄHTç.^¼Ø9ägy¡îó#¨Û dŒXØgŸ}ÜT€åË—ÇÂãS8Íš5sC3Ï<óÌ2£ð‹E§U«Vnøæøñã]½{×]wYaa¡³ôÜÿý±°øóÜsÏõ2u{ëÖ­cÓ ˆ7ßõ&nlsçÎ-ãOB DE/>Þyk2Öʵk×úÓÕ΢ŒÐmÔ¨‘Ñnmß¾½õëׯÌÐëDyŽ|¸Ûn»ÙQG+h[“ÿh#“''NœK7â>}úÄŽiÏ’gé”Ãù¶.íaê¶<Ð…E[?Wë?é•Û‰€„r„rEÄr¢Jûšk®±6mÚ¸y+V¬0*àûî»Ï½ÙeË–¹Löúë¯=á�<òˆöâ“ëvíÚ¹kd\pAL´"”wß}w7ÄŒk/¾ø¢Ë¬›6mra¿÷Þ{®þùçŸÝÊ…däO?ýÔ]{ûí·�uRq�îE‹¹k^(¯\¹ÒUò<ð€;Ïϵ×^kݺu‹GÿøÂƒóÉÒõ§c! j.Ì{«[·®ÛøÏù{¸F'_çÎ�ãݦsB †@¢:—Y”�<òHW2´”º®wïÞ.<:…×XÕ¨O§L™âŽW­Zå®s/õ1u8náÂ…®áŒPÆ­^½Ú â%K–¸cD ÏB| Ù!¨'²(;ˆô“c¼PFwêÔÉuHú(ij&sÍûñ÷Uåž¶*âðŽ;îpÆ&Ú¸{oO–çˆ7ù;´(“æ5kÖ¸üùôÓOÛ¡‡jÅÅÅ.‰é enÎ…E9Š;Ve¦oÌ™3'z©VK(çH(——ô‰*mz“?ûì³yɜ܋C„Ò+ºSN9ŰÜ⨘ÑÞQœ|òÉ•9tÌÁxþùçÃS±ÿôŽy�Þ¥KûË_þ»þñ=çˆÞ'Ÿ|2¼”ò(”“¥;e@ºA�ƒ€¾ˆßDóªü=$:Í5%¤Ò ÅDØo·Ýv›{N"¡À¥²(#¶»wïî„xØcîã‘hï…2ד¥;‘�B æ!àçb�®hÇ O­¿Ç#*ÂF^{!àHTçrý™gžI¹êu(”~øá¤ÃýÊ¡ÈN%”©c£ë‚øx3åJ«^{4´Ï¡èe3SËlñ¬ÉÄ+ô“«x&zeê…ÐÑNõC¯“å9ü„B™)´QgÍš ޶õ;ï¼ãŽ)zôè»¶téR‡“7…m]¦o ¬³í˜ÂqñÅ»µ‰2i—g;^Õ)| å, 劈dˆB¥oN†GÐÓÌÜaæý2WÏ[UÈ|,*òæ›oºÞ¡Ç{Ì,€C(ÓãE�ÊÆ�Ý"·Þz«»æç(ÿýïwóŒ_~ùe—ñý7ð:è 7?Š›©˜±{¡LaÀ1½4Ì™"Tü8ß  · 5C[üJ¢™,æ•,ÝîAúB V à?÷ÄÂ…ü�çü=þšÿT”?Ö^DˆWçú$u�ξÛ|8¡P¦S†:‘©Køa3 \R7Æó›J(Ãu,U¬RK»eË7nœ««™ÉÂB~¾³��öB ›DE/üöBÙ‹Íèó£~¢×syŒ¸'O¿ôÒKî±ß|ó�aéãž,Ïá!ÊdD7«IãX·,¼P›ã�?Þ�nâ:–k®ÇÊ´«Ã…¿\€•üCÚé`zZ‚x°!žåv" ¡œe¡\‘OCñš¨´}¡ã÷TÌ[·nµ+®¸ÂU źùæ›ËTÞdLVå¤w‹Õ­ý ÂD(Ó‹MO—p|FE(‡«^3Ç$\µK4… «t’Á.»ì²˜P&l¬ÍøaŽÃ† 4.¼ðBg�F8g²˜Wªt»‡éG��ß~¤QÃÆÿxÎßã¯õìÙÓ蔉ˆWçúu;ÌÔ�Ô›L=Â…uÇ¡Pæ˜/NP_⇅}˜ÚgãùM%”ñCƒž8²B/u9*¿ÒðSÖx’ IDATàÁƒÝ3¨÷µ �ƒX?YF žèeè5íÄD£wâùÉr4“Ï ñMš4q+ÖcAÆšë…2“å¹P(s/mqÚ¾²˜zA^õB™ëÏh{·lÙÒM»H$”,Xàü2uƒ¶v6�j^W„{otËÆ3ó1L å, åêH *×™3gVǨ)NB@�„„•ù9眻�ÿþZôì&3›4i’»/zO"¿©Îs]N!P[(�è-�ŸÚНÒ]õH(K(W= ! „€B@�¼B€9¾ßL6üÈ �|A@BYB9_¸ªx ! „€B@! r‚€„r-Ê9a–"„€B@!Pc˜>}zFÖd,Ïø‘ù‚€„²„r¾pUñB@”�pNs¹‘G! „€ˆ!€ðå;ã™lø‘ù‚€„²„r¾pUñB@” VÞc�=b« ' Db:2:ÿì³Ïîò å|E%ºRwyÓÁ'lÂÕ�ËŽüå/éˆÞÙ³g›ÿÄ()MÇOU"’ ¯ù|Ô 'œ`¬N]QKyøåªL¿ž] e 岌БB "°~ýz÷9¼òD�Æ Ÿñ`ŸÈñ9Ž=÷ÜÓØËÕ^øœËèÑ£w^¼þú뻜ÏÇU-”W¯^m矾ËϬ¯o?ç#‹¶Ç9•è囼|2ôˆ#ŽpßÇW*?U�F&B¹AƒöꫯVJ”C¡Ü«W/»óÎ;+%ÜD�ðyÖë®»Î}^qï½÷vŸ”­¬´$zf>ž—P–PÎGÞ*ÎB@ÔB;ì0C0Çs=ô�û>|¼k#FŒ°ÓO?ÝØ'ro¼ñ†~øáÆ^®ö"�H(×$DªZ(ó}]òâ|à>×&¡œ¿ìJ%z_xá÷ŽÃ‘©üT5™eêŒyóæUJ”s-”KJJ¬ÿþöùçŸÛºuëlÔ¨Q®³xþüù•’žšˆ„r5ÊC‡µãŽ;ÎöÛo?÷ññ‰'ƸGeGoP›6m\#°iÓ¦¶|ùrw½cÇŽîc汛͜ÿqãÆ…§ô_!�7´lÙÒ&Ož7¾Mš4±Â¸×nºé&gÁbŸÈÝwß}V¿~}c/W{H$”£C¯�>úhgñiذ¡�|òÉÖ³gOûé§ŸpX‚úôéqÛ¶mN,”––Ú’%Kìàƒv�SnX³f�³¬&X_»uëæî9è ƒì²Ë.‹…{ÿý÷»aŸŒ–èÚµ«mذ!vmñâÅÖ¶m[7$ô”SN±çŸ>v-Êø©W¯ž 2Ä]çÓ=Íš5sþÎ<óÌ2£0�5²ý÷ßßÚ·ooýúõ‹;ôHãÌ™3cÏܸq£aµ"=ÞmÚ´IBÙƒ‘§û(oùå—XJ¼5™÷NçˆwQ?þ|UíSñú¹çžsmì8ÀZ·n›ÂCçën»ífGu”³Æÿdmödå~½P;v¬í»ï¾.ÒþïÛ·oΠÁúOzåv" ¡\Í…2½qT¤8O?ý´zè¡V\\ìÞ •ÝñÇ+€höîÝÛ]{å•WÊ4¿úê+—éþóŸÿì|ûú'„€È#èý~ôÑGãÆøØc�ue\¼‹�;w6¬ì9ý=zôp�ÿD÷è|ÍG ¡L‡4¢��ŽšgžyÆ”ªAL]ޏ.**²:Ø 7ÜXDGãÆ�'·lÙb?þø£}ôÑGîÞ—^zÉŽ9æûúë¯]›€öÙq?ÿü³!rÿøÇ?:?4ô·~¥Ê+W®tà�pþ͈nÚ´9¦L™âŽW­Zå¤}ÇwC6ß{ï='|CK¡ dÇ�û›o¾9vêñÇw"#vÂÌ$”C4òó¿½áN�:Ù½÷ÞKH‘£‘ÇPQörµ�L„r8´8l‡ÿA2zí‘}ûí·�°}ì±Çü©]öo½õ–1l:žcšÀ‹/¾XæÖ F�½ùæ›vê©§–¹FœhôãÈ'Ì÷'­¡8p Ã<Óo´îºë.7wÿ¬³Î*æ€ e,u O§‘Éd†ßÒ¡: å�üüŠ^Á£³æšk®q£ø¯#%ôSÕ©fMŠd¼¦ýÍÐjŸØ#”m�‹ ådmöTåBU e:¿è¸c ;ªúÝdóù´¦M›–Ö&¡\�…2s™è�›5kVŒ/ ×zç�wÜq*¡Ì}†f3¯™åë}Ïn,0ýB@ä‰V¾~ðÁ�µìᇶ믿¾LŠHÃÇ>œ+çoDÈ`¹Ã±çX®v"PB2Œß»¥K—:áE)Ö7F?0�™Õ€Ã¹ÅÞ{oQŽ7e*jQ†×™X”™‹ß½{w7×kŽx'šž€åÍç#GüÇBþú�7ÞhtØßsÏ=Ö¥K:¶—PŽA‘·BÑKçëDÀC¶èÜdŸÈÐ�?WUûT¼†·,™È…B9U›=U¹ e¦Q"¬³í°ü_|ñÅn ˆ/²ýÌ| _B¹ e2+Óá|tºB?̽ ·ìÖ[oÍ7n*¾B@�]ˆ·òõå—_î>éóÙgŸ‹+…nêÔ©ÆB‡8öGCãXÐÇÞ•‹Þ§ãš�ByäÈ‘ÎÒŠ°ecs¼Å¼Y”½E'5‚‡åáà…2óá½pÄú–HœÒ¹Í嫯¾Ú¶nÝZfŽ2s!ÚÌ µ¬[Âbb¿ùÍoÜóhüžqƮާñ‹å„NwòÎw²c=ÂÊìçZ#¶É_,üEšè¤¡�ÂJÍÜhß&§S)™P&Sþñ�8þ,¼¸gá1��¿®}~ ½ðÅ åD܈ú©Ê”¦â5ŸdT†'ò#k0�¸P(§j³§*B¡ÌtÉpAÀl`DèìbZ�VäA6ʹ�H(Wc¡Ìkb1 †zœwÞyư(*ñL„2=RZú6èNÒëŸù‹@¼•¯)½hahöË/¿ì6þ3�cϱ¿Ç£€0 Á€c®ìïѾv —|Cßï–™e�šÊ0øÊbY„E#”aÑ¡‘Ë}cÆŒ‰ 0«D#fi�³’4‹üàh´c©eJç/ºè"7½À²páB÷E 2áï¼PæA|á…:áŽpf~s«V­Œ¶Y<”Õ­Ÿ¹sçºEËèpBècõJ$†ü³h¿‡¨ö؆{�äð¨åÏ>žè¥ó‡N•x£wHYnÎRø‰ˆ|!¦â)„€B@! „€¨*$”k¨P®*Bé¹B@! „€5�éÓ§gdMƈƒ9!�/H(K(ç WO! „€B@�j‚—ïcg²áGNä ÊÕ\(³Âž_Í5Jªè*œÑëÕåxÑ¢EnÕËêŸ0ù‚agýB@�ªA \™¶jb�ÞSG�åV³NïîÄwÕä:’Ïïäâ[µ‰ÑÍÿ+éˆÞÙ³gÛ÷ßKl:~b7WÁ>Í”j5w->u '¸Õ©+j)Ï—²Å§½¶ì%”%”íÛo¿µ½öúÿÙ;ï(©ª¬íû—k¹|g™sÀq 3Šé}#fqÇ€ÈgfG?ŒãÐý@ApT¢D$(Jƒ 9眛hB³¿õ;°/§/Uu»èªêªî}ÖªºáÜîsϽ{?gïsÎñ)kó,_á Ÿl&ÊLÁß¿wï©Æ!e€ZF†€!`AÀ_Šy>nºé&a}T ©Rf;uêä–}Ô|K³�%»’!ʬ¡Ê î侌 Ç¥óXŸk,û�嶨kiI y>\tb©T>¿¾å}?Šô²&ïe—]æ–Dc]nBTš²Æ,¢|íµ×JŸ>}RReÿÛÖ£SR@(–ƒc¹Ä‹/¾XN8á¹êª«Rv/¡¢rúЈ²å M”ý·7–²áÇGíóѱ`†€!�»@ÐX)‚ï9EòŠ+®nÈWfƒ“G°“JbKv¥Š(Á­¥$ Ï�õŸß{ï½ ¿%K–Èþð7Qi*ˆr�±ˆ”öyTTùEz{ôèá:6| mTÿ¹”Å~2DùœsΑٳg§¤šþ·%D™•qžþy7nœ[ƒ�oÆqÇ'sæÌIÉý”—LŒ(çQnÙ²¥gœq†<óÌ3¢½r¾KÔ˜1cÜbå~üúê«eðàÁÁ)ÖT¾üòË�tµjÕdáÂ….N{n/¸àáÇâë„�?þع”° zÍš5eݺuA^¸›�îÔSO•ªU«Ê¤I“\\×®]夓Nrn(äU·n]Q‹2/a¥J•äì³Ïvy™…vôúvíÚ¹kÏ:ë,á^ùå·ˆ=e¾öÚkÅRÅ««æõá‡J•*U\Ï×jð1L?ï+¯¼2m‹Âk]mk†€!�^��& X�=öXÙ¿¿;å+³xNᾫaûöíŽìÚµË�Z³f�Ô®]ÛÉ1^³fÍÜy¬¤ÈU¬8ÈI,9Îÿå/qòóÒK/•îÝ»»óúOÎÅ’]ÈÛ{ï½Wþñ�È)§œâô,¨±B"‹²/#}™Kž&ÂcÑ¢E‚ƒRNX½zµÃ%iâž5j$úÓŸ‚*¿ÿþûòÆo8C‰2˜£g@Xªö¯ýËur�(ª¾êzïy$Ê|ïºë.yâ‰'„gÕºuë ži'üüô=µ&ÓÎóóóXÂi‚ˆ2Ú�è^ýõî=©^½º<ûì³Å\¯ãéÎèÓÇsŒœwÞyÁ;LÇïôÉ'ŸìtäaÆw•èýà"ý¶ÄÒ£ƒLÒ¼ƒõŸûµp#Ê9@”y�×®]+6lp¤ôÝwßuOÐ`QD™$¡ÏÇ ò� ã£«7ºgÏžrþùçˬY³dÇŽòè£�:¡KÁK—.u‚ —e–žjÓ¦�s«)((põ ÷„!¬ø˜Ð3O^Ô�'‚3VÐë_zé%Aá ý<àz½¨/We¢º’nZeªU«¹×²} “ÅAónذ¡ËÛ±îËΆ€!`d7>Q†(½üòËrã�7•Ve–QŠïÍ7ß,È1,7Ë–-s.¨ýúõsy…-˜EEEB‡ë›o¾)»wï”3ä^Iä\,Ù‘ûÝï~'_}õ•“Ót<3–2VH†('’§QxtìØÑuú£+ÜsÏ=Ò AƒXÕqçxX#Ñ~ýõWw 3: �ñŠKýúõåÎ;ïtc`—/_î0lÞ¼¹»^et<ù¯D™‹Ãσs‰ò_ô%BUþ+é…רQ#è ¿XÖdÎköË:ðÞAé„Á+`èСN?U x"Ý™ºÓáå[”¹g:�гiïzÐ{ Qï‡ÿm ëÑ™À‰Ž=†aN›6-ÅåLF”s€(÷êÕ+hP?üðƒ4œðI^QÆ"ܸqã vè�E�IJ÷ß¿4mÚ4¸ž‰@mÑ¢…ÐëæzTûöíëN…_pÊ8úè£E‰41îK¯÷óa?Öõ§Ÿ~z1ëøƒ>(*B¢º’Ö ·ÜrKP¶�a²8�7˜ø÷¥eØÖ0 C ÷Pë,ßv~Èž‘#G7â+³‰ß3f8Bç»äBVét&„‰^YxKÑù¬¡^½z™L$çbÉ.ä#ã'5�/rÉåDò4Z&²›¬qjy×8«D¹mÛ¶òÜsÏ :Î5×\ã.ñ‰2˜�;6H Q!-!JþGåDy‡ñ *PÁv”ô¢aŒ3 ;ñ¬ÉÀ£i²* 7§�vZà…@�x×”('Ò�¹6L”Ã÷Ä÷b„ îtÔûá[Âzt8ßT£#ãiÊ7ÇBqŒ(çQþí·ß‚§†ðÅ¥ƒà“¼(¢ŒÀÄ=B«?ˆ2 @,!‹@úæ›o‚rÙ¡§‰ò_}õU'¸üÈ»ï¾ÛY–9~ÁV|<ýÀõÔŸ€»”*%ôæÅº><û7ÊVqB¢ºÆÊË/ÛÇ0Ybåí*d†€!`9‰$K]¯æD‡.ò O*‚¯Ì&R|éÔf¼ŸÊ[¶Xtï»ï>—O˜(8Ð -òA#uB"9KvAäðÂò2«k8$C”ÉòDxh™ƒ ròžNƒDA‰òúõë]§>¤VÝ›•(CÎÐ|·^t!¬x„X2Ú—ÿ‰ˆrTÞà ¡ªèÁ'½´iž–øxÖdðòÓ”5~ ܦµ.x�(QN¤;s}˜(ã6M<2qÁæ0dÈ—uÔûá[Âz´Ö-[:óèÀâçw쥣¬lÉëùèÑ£Kô3¢œDÙ·(#dp?"ø$W ^L?\xá…�ö¡‡’V­ZùÑÁ> @xÖëpï5‚ˆ`<‹råÊ•+m�:u"g½ö…UP‘ƒ;±„["¢œ¨®±òòËö1L‡Xy‡ïÅŽ CÀ0rŸ(k­‘­Ú±ë+³·Ç{L/&›BNb)E&£DãÚ+téҥج×ÉZ”}™Kv•QN„@>s A=÷Üs‹Í{ÆH‰2ç!ü�'E‰2q÷DåDÄÞ'Êáç•w,|Ã÷PŽ}ÒK[gHï¿ðØdÅÃO£çÊj‹E£‘yä‘€('Ò�Iãe†ôÑÞüYòÑ×u® ¨÷Ãÿ¶„õh¿~©ÜÇò_«V-7Â÷¼Le¹ž—å Ê7Üpƒsea:ÆJ½óÎ;®Ýù$�1¼ Ó§Owqô‚ó¡Ò”É·öL¤ÁXš­[· œikã÷4ÓÈä#Ì~Güã�?.ýë_]Þ(,›A8½Oô ó¡a<�@bJŸ¬êuº�u}"¢œ¨®±òòËc˜ ±òÖ{°­!`†@î!AÓY¯‘}ÈIÜ�Õ}ÒWfóòò„i K”eä,òšsÛ¶ms²–ñµê!†l¦ƒY]­QX™]ùŽÂеÃ'�‰ä\,‹ÈEY”‘÷�|ýQ'_FÆ’y¾±Òøñ™Þg¥Vo¡c‹Ž¬¹J”©K"ÝÙ'Ê\Kûc˜ï«³ÐŽ}=<ÞûAZÿÛÖ£Ó� Æ1}×ý­ÎΟŽ2s1O#ÊYN”s±QY� CÀH¾0¿í¶Û!_VûÔÇ‚!`�#!½G’¦¢âk÷]öQ6¢\ö­Ðj`†€!`†€!�S0Æâ›Ì�4 �\AÀˆ²å\i«VOCÀ0 CÀ0 CÀ02‚€e#ÊihVˆ!`†€!`†@ùA`üøñIY“±<“Æ‚!�+Q6¢œ+mÕêi†€!`†€!�%@|·lÙ’Ô�4 �\AÀˆrŽå¦M›ºÙ™%“Ù¬Y6Á‚!`†€!`¤öçÔåšùœ ),i…΀e�%ÔÂçÏ�Žš¥;ÿtÔÙòLŒ@IHïÔ©S…åM5”$�^[[–fòg½NT–�ºè¢‹Ü*/ú%º>Qœ?ëu¢ë,.³QÎa¢ÌZÈ,èΖB0¢œÙÈJ3 CÀ(?°œK§N�»!–kéß¿ÿaç³ùÄ\PlýaêÊU}úô ªÝ¾}û@‡ð‰,°ÄM*ƒŸ*óµ¼Ê�(ÒËZÜ—]v™[¬°°ÐU4*MÙÝÍ�’“!Ê×^{m±÷©4u÷‰ò“O>)Mš4)Mv‘i÷îÝ+/¼ð‚\|ñÅŽK°ä«ÿmˆÌ ‚\`D9‡‰òìÙ³ÝâæÚV�(+¶5 CÀ0’G QN>§²O‹(ŸsÎ9‚î+øD¶´D%<üüÃqvœ›D‘Þ=z¸eü| mTš²F"¢œè}Jö>2M”wîÜ)Ï?ÿ¼Œ7Îu–±68kÇÏ™3'Ùª—ëë�(g9QÆ-Š^%z�/¹äyüñÇeÏž=2mÚ49ï¼óä˜cŽ„aݺu³(/X°@þò—¿8—@ïÞ½{ИSR³fMwå•WJãÆ�åꫯâmÇ0 CÀ¨hÄ#Êa×ëx²¼�Ù�B Û·owda×®]²hÑ"9ãŒ3œrJüêÕ«Ýð©xä!Q9¤ïÖ­›\~ùåΕºZµj²páBW,–¢c�=ÖYòÐ:tèà®Cg@wà?®Q—Q%²ègžy¦³2q –&ºÇ›o¾)øÃ\�¹¾  ÀÅ¡dßu×]òÄOúFëÖ­ÝyÿOó×s¸­‚7nàU«V•I“&i”Ìœ9Óé=ÄU¯^]ž}öٸ}ï½÷:=èä“OvåO™2E>ýôSgL8÷ÜsåÛo¿ òÆ ¯víÚfÍšqt"Üxã�N7â9=õÔS.Žû$ ¸œ~úéN_Ú¶m›‹{ï½÷–”Íý 6,È/J×JT—~ýú9½ *Uª$mÛ¶ òÍ–�p»Ý¿P5µ&ãù˜ŸŸœ§ "Êh‡g~ýõ׻ዱÚZ¼wŒ÷Nß'}Gµ…Dßn]‰r×®]�wèi§�è÷™‚ë?÷káF”s€(ßÿýN@!¤&]ºtqOpúôéq-ÊEEEF¨íÞ½[xÐŒaöb�5dÇŽ²lÙ2çcDùЋa{†€!`�dˆr<Ù¥wìØÑ È×=÷Ü# 4ˆ 4D9^9ëÒBJZ¶l)UªT%+�Ü1cÆË¢ç[”Éß× ¨;!–Eù­·Þ’[o½Õ‘{t‡‡~X^zé%w=dÒ $Qëàîå¥K—:2€;;ºM›6m©ôÈö‡~èîkĈrâ‰'&$Ê¿ûÝïä›o¾qúÎk¯½æ¸b5£ H/ºáæ›ovõ&NõH)½ ¨?×�;Ö�ÿä“OÜs ³ƒúM˜0AÔ•«)<žíYg�åt+rωt­Du���=Ú•¿yófAç˶ ¤"Ì}ú�±¬ÉÔ_Ódýð,!‡ï¿ÿ¾à1tèP×A¤ð¨w,ü>%j Qß%Êà’ ×ë0þtÚüñÎŽ«ÈÇF”s€(û•† B5Q¦g–^H�†zõêi!Í“'OÖ(×ójD9€Ãv CÀ0* Éåx²9J!Ö|Ðufc•‚|Å Ùxåà†7˜pe!ÕD¨Ä�ügÍšå&c¢ÌxÍDÁ'Ê-Z´p–bÿzÈqß¾}ñ‡€@<5üíoKH”±j`ò¨£�>:°vsÒ .3fÌpÝw o×®�<úè£.y­Zµä™gžˆ¼°æÞpà NoŠÕ à_ á�HéZQu9ûì³å³Ï>Hr¶m›tpÐiƒÞ¹víZ÷ì  ak2÷¡i²ážèdÂrë·:VÏ�‡ IDAT¦”(G½ca¢¾'¿-D}Ê’(Ó)„G <ÁBqŒ(çQö ­ÿ¢%"ʔʕ+{Ú¤å¥W7°õë×ñô¦Qà°CÀ0 � ˆ@2D9žlöå4ªÌõ ñ Aƒœ;6$-Q€(Ç+bŠ5Så‘#Gº,SI”± uÔQò§?ý)(‹á`�9¬reF¢àåW_}Už{î¹b—3y–å¸N?˵’ÿ<û”ýÀ§!Ä6?(Ž?üðƒ‡©x±eÖâûî»Ï]¾bÅ gÍ£S€N \î X�ß~ûmç‹+÷o¼y\ey矾ëœ`œç�!C‚çO׊ª �¸ãÒ�%_-ÿþ}•õ¾OzñB �Ô¯__âY“©¯Ÿ¦¬ëO[S·i­‹ßÖ¢Þ±0QŽ×È;ê»PVD™N:îøùŠGyÜb=çý*Éψr9%ÊfQ.�¯¶Ý“!`†@:HQf|îc�=TsÉ’%ÁeNb}ƒpB!]ëÖ­ ® ï(ÁÓó¾²ýÐCI«V­4ê°-ðH]¯âžõ÷e¬µ±B˜¬ÆºÆ'ʱ,ÊtîcQÆ›¬E¹¤D™ù]ÈrŸ(`5Æ —nܪýÀ è�Æ=3æRΘh t <Ø&²(—´.�ô>øÀw-#[¶>éS\ÿ!ËübY“©·Ÿ¦¬ï‹2�K~xä‘G‚N™¨wÌ'ÊQm!ê»àå:uê8bí×+ûxmàEÁš�Žrr9O#Êå”(Óø¯¸â yç�w\ã§×„�¹Ž·ùûßÿžpÜL.7j«»!`†€!p$@”¿øâ ç�˜C˜bMæÏÒ›——çÖ*†°PAÔ¢ÌÄT(à¬oXrâ…DD™É°°b2k-ÄŽ%#{õê�@Ü‘Õ"ªùûŠ=çÈ_-•>‘…èA\ýá[ÌyrÇw¸q½¤]¹r¥`'$K”é<`Ü1ÞoX±°¬CX°¾£¿@6uŒ2x²ôe*,ÊàÄd]<&ã‚ÜáBþÛo¿¹û?¬M:³‰ExøðáA&=ǸCê!ÈÔ›ñÎõP¢œH×JT,øÔ…-|h›Ù¤—g¥D9Þó §)Ë{âùÓÎ{öìéªÁdxXðµîQï˜ÿ>Eµ…¨ï‚O”™y›÷1��{§Sà–[nqîýú½ó‡<¤³ü\ÉÛˆr9%Ê4ÀyóæÉ�wÞé2BǘŒyaÌc3˜ô«Q£FNxäJõz†€!`©F2¢Š¾n¿š Q¦N/¿ü²#{¸Ìb=U¢ 1ô­È!äsçÎ�cÞJ"¢L|êŒå’k±dCÀ9ˆ4�äêâí+ö\�(c]ÂÊÄØ^f†&@š™ÕKµÎ.­“7%K”É2‰Û+õcü¯Žë%Ž¡e¸½r_¸caƒ¨Ç á²¹^“"Ì "<ÊfU%¶/¾øbpžç¢33ID†úàî‘Qœ_ýu玎ž‰Äxš_”®¯.t²Ð)�ŽÆ3`"WŸX8”ŹX¤—Îȧ?Óµ_·XiüøLï3Ã:øÒ�BmM‰2uIôŽ…ß§Dm�¼â}ˆó‰2�2´#ž?d6aùòå‡}ëøNé;�Ž2s1O#ÊYN”3Õ¨pßbK †€!`d+J\ØÞvÛm��/«}êaÁ0Ò�Vw%ûé/-}%”7]ëHHIß±œ �ÄQ® D™Wk„åùâ‹/v“/$n.k†€!`†@z@9U‹ä�?þè\¯Ã3Q§·©É½¼ëZŒñ…ø&ó#�C W0¢\A‰2“}1™nG¸UáNÅx †€!`†€!`”%¸:ã�ë)³O÷éÓ§,«sÄe›®uÄÐYBC +0¢\A‰rV´>«„!`†€!`†@N"ÀDpÉX“¹V'�ËɶJW8Œ(Q®p�ÞnØ0 CÀ0 C t@|·lÙ’Ô�4 �\AÀˆrŽå¦M›ÊÙgŸ}Ø:p¹Ò­ž†€!`†€!`¹‡@IH/óálܸ1¸¹’¤ ..ƒf4÷g½NT–�bx†”ÖRîÏz�¨L‹Ë,F”s˜(³f" ºëš™m:Vš!`†€!P¾ð—‡:묳ÜjëÖ­KëMRf§N�\,餳»wÜqn|n÷îÝ“*ÿ»ï¾sy¼ÿþûI¥³‹ �dˆ"½¬ÉËšÓŒ7/,,tÙG¥I¶©¾>¢Ìf©?ïå'Ÿ|Rš4i’ê[+–ë—¿ð n2_¸Kµ¥ê^Š”ãF”s˜(Ïž=Û,É9þZõ CÀ0²Hk‡%rñâÅnmÕ§Ÿ~:­ å .¸À•ÏZºŸþ¹ü×ý—,Z´¨Duؾ}»[Ö<�(—2»¨D‘Þ=z¸NßB•¦ÕIIÒdˆò9çœ#èâ©™&Ê;wî”çŸ^Æ�ç n¬GNçÜœ9sRq;å&#ÊYN”ÿûß»^¥ë®»N.¹äyüñÇeÏž=2mÚ4·èý1Ç#ÕºuëºFIo4/ Ô¿ôÒKBº¸¸»ï¾[¾þúë ñrþúë¯ޱL×®]Û¹r3¶¿èxTZ¦û¿é¦›œûÉ•W^)¸£X0 CÀ0r Ÿ´RïæÍ›K•*U‚[`…dîÉ'Ÿ,\;lØ0·lÙ2w‚M¨W¯žœqƲÿ~wŒ…È—©îäÁ?¿Ld8ùû�²�×ýë_¥eË–~”«[Ïž=ƒs†dq­åÛIaÒ«í�âÔšŒµR—úâ|8MšªVâl!ºè§œrŠT¯^]ž}öÙb®×ݺusž¬S­Z5Y¸p¡Ë›ÙØÑÁÏ;ïJ4ÇtjØÇr+øe†‰òàÁƒåè£�vVX:¿5`ùA¹Gf(‹Žjt#ÊŠ’mÓ‰€’^ˆp�5ŠuŲ&SM“Îz•4o–EE×¥S‰N®¡C‡º!�j§®•*UŒAè·tTÑq¦è¾¾E9Ñ÷¡¤D™ºgÂõ:ŒƲã�?>øf…ã+ê±å ÊþG¥aÆҠA×^ÃDùã�?–x h˼Ôñ’X”g̘áH¶ö†“I»víäÑGuù%"ÊmÚ´‘»îº+(— Ü8,†€!`¹‚¤Udz½æšk$Q§/V  &¸Û{ê©§œ5—ÎcÎÿë_ÿ’O?ýÔu餓dÁ‚î}/3Š;^](ú#ÊûK3ªŸÒ6!”X]×®]ëÚ:4lM¦:š&ÍU+Qö`,·¾î‹qJ‰rÍš5�ÑÉÏŒwsþüùîT˜(ûױﲙ(ïÞ½ÛYËñ„±P#Ê9@”'Ož<5ÿE e^læû\¢üÃ?¸± —^z©è�ðûî»Ïe—ˆ(¿öÚkîC£éØžþùòá‡úU±}CÀ0 C «PÒ ñÄŒ,S"LÅq‹dÎãɘ¾!C†¸{bB.\7{÷î-�æüQP´òÄùxAË$‹2ycµög Ö´�<òˆ|ðÁî�áXZ6ÖíZµjéeF”$l'�ø¤—öOçRýúõ�‡!ûJ8ý:øiüóe±�~Ì$V~`Ø¢Ö›w×j_¿…(ã9IåDß_'m<×kâ2iQ¦“àÁt?¿ÃÀÝ`9ýÃz>zôèýŒ(—#¢¶(ãRÂÒQJ”zè!iß¾}Ðì;wîŒQÆe‹ž4±B¢´­[·v/X¬tvÎ0 CÀÈ|ÒJ�‘o7Üpƒ«>ja1›2eJp;�UÜ£ Äc9¦ÃÒ€•�yF—ˆ’/øe†]¯Ãiú÷ï/W\q…#ñÈwµRãýEÝPâùáBÉØfŸ<‡ó²cC ´ø¤ý·dõȈeM¦ý™®ý²c¥ñã3½?sæL7Q.ï8d¬¹J”© $šw”/ꢋ.f§.­¥ü�ü£Œ3&ªH‹Ï0F”�(g´É±ÖóñÇŸÑ2­0CÀ0 C $° ³™}ôÑÁ2‰-[¶”½{÷ÆM®iHÇRP7Ýt“[s9n‹0Ê Q¤—5y/»ì2·ìhaa¡»ë¨4e M2DùÚk¯•>}ú¤¤Ê>Q~òÉ'¥I“&)É7^&|Ó^xá·¤ì 'œ W]uUÊî%^™¹xÞˆ²匶[#Ê…Û 3 CÀHHo‡1f�Ñ^½z9‹Ñƒ>7?ÍæÍ›�òyÅWĽÞ" �ò‚@éíÑ£‡ëxROHî;*MYc“ Q>çœsdöìÙ)©r¦‰òÎ�;åù矗qãÆÉš5k/ÕãŽ;NæÌ™“’û)/™QÎr¢Ì ÈZÈ,t^½zuyöÙg‹¹^ßsÏ=òÔSO¹žïË/¿\~ùå— mb¹EÐkàCÅ€PPP µk×v‹¥Ÿ~úérõÕW˶mÛôÒbÛ~ýú¹ÒO=õT©T©’´mÛVöìÙ#g�u–Lš4)¸výúõB¯Ôêի݇ƒÅÛqG9ãŒ3\¹P{Þ/¸àáÇBï„nݺ õ§ŒjÕªÉÂ… ƒ|Yà½M›6r饗ºÞú ÈŠ+„µSO:é$ƒxu2±CÀ0 C dT§N�Š]…ëè±Ç+£G�.v^ÂiXþ†ë÷ïßï.¹ûî»å믿ÖËeÀ€N®s"Yd`;†@– &½Ú橞Z“Ñ óóóƒ‡Óe´“HϦJñôStÖcŽ9FÎ;ïps«R¥J d@”o¿ývY»v­�âMçÁäÉ“�’qóÍ7KóæÍƒzØŽ!`†€!p$„I¯æQ¹reiÚ´©ÛúiP~‘‹tkHD”“‘ÅšŸm �lA@I/D½¯Y³fAÕbY“‰Ô4Á…e¸¥gGé§gžyf1‹2÷Œ±]¶cǎΠ´cÇw‡%%Ê\œ ×ë0ìX•á Ó¦M GUèc#ÊYL”!Žô(ùc£ ·>Q»w1^¢{÷î®Q'"ÊX…o¸áG6ýÀXoÃÙgŸ-Ÿ}ö™(×k ×\>4È«öDÕªUKžyæYºt©^î¶±ˆrÍš5¥qãÆÅ®Ã�eþüùîDyðàÁA<.pjçd«V­äÑG âmÇ0 CÀ8|Òë§¿ãŽ;ä�7ÞðOû¤a|²þè\9rdŸˆ('#‹ƒ mÇÈ”ôâ�>ˆW F�xÖdª­i²á¢ôì(ý4L”Ã÷„•]™�ÍDƒÞœõêÕ ßB…?6¢œÅD÷,×ûᥗ^*F”Õ‚«×ðR«u5QÆzüöÛo /ñ¹çžë>lX©UØk�8ÖdÊÁ•äÖ[o-6³D�Yÿ µ¸‡kÏ®Ñôˆáž�{Šº�Å"Ê�{\Wp­ÖDY ˆ2Öc �b¬ÎlöoE¶†€!`¥A QÆ¢üÑGÅ”‘~dkß¾}aÐŽâDD9ž,.Í=XZC Sø¤ïFôÇúõëKÖXe^h7c¥!ÚÔE…¿6#ÜÊ ºJl9ÏD_¸tCÜéQÓ±ËÄáò�K6q:i�((ÔbL]µ>F”iÛ†€!`¤ä�ZÄ�G×\s�´hÑ"¡K¢ŸWK:¸!Û˜ßY}å•Wºq€o¾ùf@”K*‹5/ÛÙ„@,Ò‹ë5ï€?Óµ_çXiüøLï'Ò³©K"ýÔ'Ê\ûú믻!„èů½öšÓk•(ÏDèÄ cä»�(ã]ÂwÝ2›Ž€ÁJ¿uþÖŸ�-åæZžF”³œ(çBƒbêz%à¹P_«£!`ä&¾0gy8=.«}Ê·`†@EEàHH©¨øÚ}—=F”�(—ª.[¶Ìõxé Õ¥Ê̆€!`†€!`äŒñ…ø&ó#�C W0¢lDùˆÛ* «ŸtÒIn�õ#ÎĆ€!`†€!`†€!�eQ6¢œeMÒªc†€!`†€!�íŒ?>)k2–gÒX0r#ÊF”s¥­Z= CÀ0 CÀ0²ˆï–-[’ú‘Æ‚!�+QÎ1¢Ì¤Yþ¬×<ð@®´µÈz²æ$3Z0 CÀ0 CÀÈnJBzY"T—-ånJ’¦,ïÚ׳£êÁòQ]t‘›«§´–rV¢‰·V{T=,>}Q6¢œ¾Ö•dÎL‡ß¿ÿ$SÙ冀!`†@jÐ¥žŽ>úh·„áu×]'-[¶,ñòP'žx¢ÜtÓMÂòŒ �òŽ@éeM^–.e¹ÐÂÂBGTš²Æ,¢|íµ×JŸ>}RReŸ(?ùä“Ò¤I“”ä/“½{÷Ê /¼ _|±œp rÕUW¥ì^â•™‹ç�(QÎÅvku6 CÀ0RŽD™5�Q"Yg´W¯^ÎbôàƒÆ-ËOÚÉ(ŸW\qEÜë-Â(/D‘Þ=z¸eüÔ’ûŽJSÖØ$C”Ï9ç™={vJªœi¢¼sçNyþùçeܸq²fÍùòË/…uàçÌ™“’û)/™QÎr¢Ì xýõ×Ë)§œ"Õ«W—gŸ}¶˜ëõ=÷Ü#O=õ”ëù¾üòËå—_~ ÚæñÇ~àCÅ€PPP µk×K?ýôÓåꫯ–mÛ¶é¥Å¶ýúõs ¤Ÿzê©R©R%iÛ¶mß­[7¡\âªU«& . âþ÷ÿ×]O ¬�=ÚÅÅË/ìz�K é«V­*“&M òþýïïzÛèí'ïÇ\öìÙÄÛŽ!`†€!�,ÈœN�:K†ëè±ÇȰb‘"NNùiXþ†ë÷ïßï.eHòMÀœ\ç8Y¬émkd aÒ«mžú©5ke~~~Påpš ¢ŒvéÙT)žž‹î{Ì1ÇÈyç�笱\Ëj0\p�œ|òÉî»0lذர?ýôÓÁñöíÛ]'®]»Ü9%Ê]»vu+ÊœvÚi.¯ºuëiÒ½ƒõŸûµp#ÊYL”‹ŠŠœËÊûï¿ïz·‡êÜ#´gŽÞ„1šÒ7ß|ãÆIУMHD”?ùä¹ÿþû…”r&L˜¸Åjö ÒJrÉ{úôé.‚�Ä¥€òqO«R¥ŠSp;;ÿüó]//^¼XXs™/?Ÿ(/]ºÔ}(pņ·iÓÆ¹î T ÊÔŸ8~é.]º¸8û3 CÀ0Ž�XD™|*W®,M›6�™¥Ÿå÷å—_–o¼1¸6QNFÚŽ!�%(é…רQCš5kÔ,–5™HM\X†;Qzv"=—jclò-ÊÜóêÕ«�NܱcG9묳dÇŽîKJ”¹8®×aر*æM›ŽªÐÇF”³˜(C@éQÂLäÐ'Êa÷.ÆKtïÞÝ]žˆ(c¾á†dòäÉA¯·–Þž}öÙòÙgŸ‰p�¯Y³¦4nÜXÝ7”ùóçËŒ3Ü«ðîÝ»‹]/?Ÿ(·hÑÂYÐý„—^z©ôíÛ×�‚(ûÛ† Jƒ üËmß0 CÀH Ÿôú ï¸ãyã�7üSÁ>iŽ:ê¨àGgðÈ‘#ƒøDD9Ydh;†@–  zF 'x®]»6®5™jkšl¸…(=;‘žKýÃD9|OX‰1D²™(£§ãZ¯^½ð-Tøc#ÊYL”qÏbp½^zé¥bDwl?ðR7oÞÜ�JD”™Táí·ß^b&Y@À*Œ•Z¾öˆcM¦\In½õÖ` ú(¦ŒôÓ [éÐEîáEHD”ãÉâ’Ö×®3ÊŸôâ݈þX¿~}‰gM¦®~š²¬;eGéÙQzn˜(ã6M<*qÁfÌï�!CÜm†õÔx®×\œI‹2Æ8æ`àçæÊúÙ¤³|¬çp‘’üŒ(g1Q¦§ âég"‹2ÄT-Êgœq†,X° HÎXf£œf›†0ûí·þéÃöè|ð�“LäC=$­Zµ:ìºð‰õë× ËX1i€ÂùùD9–EEÅ·(QöÑ´}CÀ0 �Ò"à“^Í WD†9Å[º%VedYÙ¾}{ÍNèDfî‘p(©,§³cC ¬ðI/áÍX IDATnÌ ¿ScKxl²ÖÑO£çÊj¥gGé¹>Q^´h‘ë óg¼g�Áƒ»Ûkݺµ<öØcÁ­.Y²Äa£ÌuêÔIû¬×”ƒ�¬V­ZÂ|GaïÏ ¢|Ljre>:�Þ={ºfÊDYXu}¢ŒðþꫯÜ8cˆ.½Øº^®b:ñ/0î`J”‡î2/@dÀ¯$Ô'[Á¬Ÿ:Æ¢]»vn‚®Á­e€óÈgëÖ­îZê=kÖ,¡qÑ;ÅËÇÇ×èDùùD™Ël 8ÐåA¹tÐG0‹²ÿ”lß0 C @zuÖë+VHïÞ½]GrIg½V‡lV—ËF�ÉÃ?ìªG<ÞZJ”K*‹Sqo–‡!�j¤7/// ʪ«†Ë § Çgò8JÏN¤çROŸ(C�ÑS™Mš0hÐ ‡…e°¹ð Ý~Äã!J§B,¢Œ®îOüå2Lñ÷Žñí–[nqC+©?ȳ…CQÎb¢Ìcš9s¦›¨ ÁJϽLúñÁMÚŸõ²ëϰÇKûç?ÿÙ¹� ä!«J”™d+2³iã>Íy¶Bm"Œ;�p3V¢Í¤Y*ü¹�bA>�WÊ ^§lÎ3™u‡�'ÊÏ'ÊäÍÇ×sÈ?ã©ýr�(ë²­!`†@ª@ž©E ùuÍ5×N‰\ý4¸ZÒÁ ÙÖÀüÈê+¯¼Ò�|óÍ7¢\RY¬yÙÖÈ&b‘^\¯yü™®ý:ÇJãÇgz?‘žM]âé¹ÄùD™ã×_Ý Ed¸Åk¯½æôc%ÊÄ3ÑVf†1ò]‰G”ñ.á»‚î ™MG`ù;ýÖù[B¶t”›kyQÎr¢œk Êêk†@ºð…ùm·Ýù²Ú§> CÀ¨¨ é=’4_»ï²GÀˆ²å²o…VCÀ0 CÀ0 �œB€1¾ßd~¤±`ä F”�(çJ[µz†€!`†€!`†€!�Œ(—’(ßÖl„¤òwKÓ¡Rõ�Þrã»}ìgX°6PáÛ@Õw{Ë­M‡¦ô;›Êo¶å•ZhxžÖr§ t8<)k2–gÒØ3Î�g\ÑŸ•å,#ÊUßùNîødŒý kÖ¬ lUö1Å*Å�²]ù±û7EÝÚ@éÛÄwË–-IýHcØ—{Ã03QÎ6¢Ü°·ÜÞrt©~µ;L”Å›v—*�ÒÖÁÒ—î~†Ÿµ�Cm jÃÞ¦XQ®Ðm`Ŧ�R¯ëä¸ ™¹FZ _7>]Jõ_ZŽtî�w2*fÙ_ÿ¶Lº�[3.ªNGš¶ÿÔÕÒnÄ¢#*3ªNñâ?2Wòæ­ÏH™GŠK¼º—æ<¤7*L�:5X¶”k³�('ƒïKßN•U›wɶ½òÌW“Jõü£ÞñÒ<'K{ä¤Úˆr6å¿Êí¥øÕn?Ao,,U¥)ßO[½õùnJ¾,ß¼[æ¬Ý!ÿoÈ‚¬¨—_GÛ/]{3ü ¿t·#ÊG.äMAJ»í…{åÅo¦Sx! “–oÎ58G¯ß!»÷ÉÆ‚Ý2zÑyè³1.¾ç„oØW´_–nØ!ï|?3H{¤Ïƒ2k´íòùƒæÈo‹7˳¢åõ�!«·ì*†�bû¿™*O51fœ^“ê­å ÙÛaM^–.=÷Üs¥°°ÐÅ•'¢ÅÅ;i•ÌÊß.Otž(wµ%Ãç®—©«¶É}g¸|þ=r‰ œ±Æ]{ÇÇ#eÜÒÍÒnÄbW·ëdY¼q§<Õå@Yä5mõ6¹¿íwý磖H÷ñ+Ý~Í/ÆÊšm»åÞ6£Ý1uk4h®üºhcp¬÷iÛCÏܰ0,¬ oF”�(gJÁŠ"ÊOušà¬.�Ç,“çºM”\­ŸO”!Go?Ó§ûÚüSÙe|c½®Æ6¢xsLäÇ>ÖöU‰f?žEyýöB7NòÎ#q0í�R®õc ©ƒÎ(9fì3ý¯­ÔòúxÇñr{ó.?Æ_jß0Û�ZŸ�uD�q¹”~®GÑþbäbGþÉ÷t£ �üwÌ–Û›çÉóÝ'»c¬òQiýú³Ÿ Q.Ú¿ß=+Ò½Þ{ºÃUóKD”¹ï:!îýôW�tR®¦õ·`Šç@£æϽÙOóŠ•C{Á}¿F»ÑÎÓà?³×Ê7ãW¸¼ j�jÒ=ØnŒÌÎß*m9ÐA… DŒçN˜2LÀïÈ¡ÎtÐ&üú¦j_‰2D¸F�Ò¬Y3×ø‹eMæ|6åÒâK{æù)ž´mž1Ï¢ñ๲yç÷¼‰/)QæÚL¸^k�u‹U™÷A¿?z¾¢o�(gQþNnkžüŽnìÓÁs 7IEó<é3y•t»â‘öÒ<üÅ8¡§—»æõï¼ÅòõoËÝñ·WyßxÈ<É›¿!¸öñŽdÖêmîøÉNdñ†R â~°Œ¯~[.ô(sL^mø Œ{®Û”c§šçÉc&¸z@¶5!3qÙæàXÏÛöÐ37, kÅÛ@ՆߊHEÚvÿéí4ˆ"ÊàA†èàv‰vßɇ,€þeH$-l‘õŸáÀéùŽA"‘÷_�Y&-þ3ßYƒ±Ê¢ps}Iˆr×±‡&Í‚@aÑòËÒ}H�O¦8�•¬×ø[¬`Ÿ´l�\°!Øçš¿w™èˆD²©ö]|¹^‰òÇCç6¶©OTZ¿>ì'C”¹7MžXµS Š(Wo5Êu `ýŽ×ñ@ÞÜãUµH/�Z„‰v£ñ�+H¬û[Æ£c�æ\.Ã笓ÏòŠO\F»ü?_°*SÆkßM�YŽ_æ‘î+Q.((�J•*É©§ž*k×®•xÖäl#Ê¥Å7L”Ã8òÞRç³™(ßÙ"Ïy#àÕ¾‡Š~lD9+‰ò¹­ù�ߊM;ä¡ÏFÇ_Œ\$íF@LGȃíFK�ñË�0ÄÝæ-&h>Bþb¬,߸#HùÍ‘�ÓW»sßN\!þ87ˆoÀ,é?uUpLúEë Üqƒo§ÊÄe›‚8òj>t¾ô�¼Ò� çÅaÊ ˆð©ùùo’¿u—Üûé¨ }£f˯ ×Ç\g?ÃÀÚ€µ�DmÀˆrzÉaEW„üû‡ÐøîÀÄaÝÃUÙ¿N÷!ЏGÒ‰Í9ߢ ){ªóY³µð€|Ž1s9Öa\”‘ß�fÜ{!?�%®’eÖk¬Ä¤Ñzú[Heúç(SÉð³_Ores_¸CØÕ‚ít�ƒ÷‚[2¢Ì¸mu×¼±š*Q†ÈC¤qÖØ@ ¢Òj~ºM†(‡g£öɱ¿O޾뵖E½ ¾åPãt ¦ñÊa¬:�ç¡÷½lãNÁ‹&®Üƒgæ»xŒ¸_ÏXu€ÜGá9ÇõWóe QÆZOÝ Ê´Q­gª·J”¹¿N�:¹ñÈõë×�kMæºl²(—ß0QÆmšgB»æýaÌï+½¦9ü³•(Ó±õËÜõîçwr¥º­dS~ïöŸåžÏ(êgD9Ûˆò;ßÉ­ÍF?z„!œz®Û¸åNhë1[_ýî„"½Ò¸DñàÿÚzT�Ž”žj®G�727ˆ£Á0Bó$=½§?Ñq¼#Íw4Ï âgÃ8ŒXyñAf¬ q·5ËsiqÙÒ¼I‹ ÒcÛzÖ†…aam v`}ùl²V—òKÜ!‚ý8¯X{ÃÊâ�- ?ÿo'¬pä–ó>QÖë AñÒÓ1 eöYH3ãV!7\�ÜÖ<|¢üþÅI4ׄg½Ž"Ê*Í›-÷­eô:×Õš�~ D 1nÅšöÑöã T‹2$MãØ2Z‰2–rr?^÷édO”V¯Ómªˆ2.çŒûÖ|é¬Ð{ån¨�ûg®‰ÛYÂu‰ˆ2ñ”C§‰–ãoq³¥�A¨9Ùbœ7ûQ¸ü{tmBxŒ2ñx/øï¿¦Iõ–w|Øœµnæ~¬Ê©Î¿<ägD9ëˆr/¹õ£_‚ß�3ó¥ÑÀÙîøoŸ�–k¶IÛŸ¸ãW{M•{!Ãý"«e 䯭FJ­ÿ&+7í”.£—Jµæ#ä‘/ÆÉÜü­ò„õ£_¤çøåÒdð·ÏqÃïgÊ÷“WǤ_¸v»;¾í£2vñùtø|—×ß;O�Eë¶K�NãcæU§ó™¼lS�uà¨×S�Æ»|ë}=1ˆ÷ïÕö=wð°6p¨ T}§— ðÖÈò „dÛ=`=†D¢ìB\°.CdÕÊüêwÓ‘¦›qŸtcÔI· Ê:ë5ñ(âXüZ'Xã˜ô”�¢ X9ö]u}¢ŒâMqïUü’%ʸ„7<בa2.çn¸V³²uמÀ]”ûÄò©ä©Våž!`£L½öŸåêŤRLj¤DË)yQu&9ƒ0`YM”VïS·e¬ÝÔÃÿïw2DX¼ñð’#øsïz¯‡k œ+<û.â¹ÑG•ƒ‘€²˜À�²RG[bļõòéÁöÁ½0\™ûpÖ†µµkÖ¬ X(Û6ùݲeKR?ÒØs+Ûçfø—#Êå�(3ë#K=Ø‹PòÁ°2¬¬ X°6`m [Û€?ëu¬:†g½ŽuM:Î1c/Ag½—Á Òþ¬×áøDÇGšÖŸõ:Qþ©ŒË¤;û‘â’ÊûÕ¼ ½QaêÔ©²qãÆà²l'ÊÉàËò\ÌdÎìÔÏ|5©TzwÔ;®˜Û6³rʈ²åR½ØQ/,KG°ô¾¢ýi_.ª.ŸÙ�‹ámx[°6�km€Næ¿™RL.¶¾À-ç¢÷ÒhàaÙ¨Ý{‹dcÁn·¤ëâï/…Üc©˜w¾ŸY,?Í'™-e²1iX®Šågüô�(³<kÒúèþÿýfj°´žK÷ÖˆrÀƒ‹íìÛ·O.»ì29÷Üs¥°°ÐÅ•'¢ÓÝ:Œé^<=_@«³ kÖ¬ dOˆ"ʬ£ÌÇÿì=Ý­ A†¸²&)Ϣ̺Ã(¡w}2RþwàlÙ[´_”H§âYQ!‰ˆr*0N6�\ Ê´Édï+êú(‹r�=䍣ޒW^y% Ðå‰(³žz¬uµ£p‹Ÿi¢Œ7HïI+¥îדä�¶£…6¼gßþ”ÝO¬{ÌÅsF”³œ(ïÞW`.L¸…°ÏËÉõ¸|lÙµGNÏwçÕõú“a dÃöÝnzöµ�ÒóÌBè—m–½E2~é&¹¿ÍhgñݱgŸ,\W �w\_ûËq2vÉ&W½ãï ˜Ä‘=Rã–lr=ìÔ§æA…AËc‹ò`D9{”AÿÙØ¾=kÖ¬ hQDerNþ¶@†qCÖa òÏìÞ'ÿèQÜJM<²™«¦ï”UN–kZòióóB——*ÑÈã-;÷8k6U¬@\�,F7@VCäãÉb®å�Ù?ÍZãîeÞšíò‚W?,däKÝ(£¥§?�¾Ã¯Kœ%=k¡Ë ¤®×è%3VmîyÌ¢�Òoʪb®×t4L9¨· kສ÷•V¯c›ˆ(û®×Ü+Öw°äžÐa°8k^‰t¬·úÍ”ü-»äžÖ£Üõ/÷šæî[-ûš[ʵ`ƒ|7i¥»wž—_Nµ�ó¤Ë˜e.¿M;w;}èîOFº|¹ïÉË7; 0ƒÄhþQ¸Ðƒ‡m}®öã‚´k·:Ë$mvùÆ�ÁyÍ»´Û0QÞ¿@ˆÕš| 'H~~~p>Ûˆò‘â æEûEÖm+ ÞÃö£»w†wgþÚíÒ ç¡¶†…Ø×ƒygú¬õçyîÜSäÚïß÷SV¥ü¹Å{îK6ìp�{ñâ+ây#Ê9L”GÌ[¸fÜÙ"OžýúÀøˆ2//Û;[Œ”';M�Í;÷îdT>žï2QøPó�fŒÅ»ýg ù@¢ùàóBÜÞ|„#Î|à‰«ß}²:ƒ¼x‘Upt·\L[}ØKmDÙñŠø�µ{¶vom ·Ú@Q~ªÓguédDÖù’¶ÈúÏO0Hò2üÕ˜eÂÜX›‘½(Ü\_¢Œœ×¼!P±d1ñ�:ŸLq+¯ï-¦ù°Å öéAËöÈ‚}âÐeȤZ-äÄs½å�‡Î?ll58RŸ¨´~}ØO†(soš<1$h§@Q®Þj”ëÀú¯ã�¼¹Æ«j9èLtFh9+h7¹‚Ä걿e<º+¢p>g�|–W|,+í=�<)ãµï¦Ç,Ç/óH÷•(H¥J•äÔSO•µk×Jqþð6-‹z|Ë¡Æé6¬Gq^óÆ¢Hàê}/Û¸SpÁÆ¢‰GÞà™ù.wvܯg¬:@î£p�œãú«ù²…(c­§ê=¨õLõV‰2÷שS'7¹~ýúÏšÌuÙD”K‹o˜(ã6Í3¡]óþ0æ÷•^ÓܳÈV¢LÇÖ/s×»Ÿßɕ궒MùáAËó)Éψr–eÆ3&I‚T–žc‹`Çí—�’X”}�þÀûD¹$e?¯xÂÙˆ²)â~{µ}kÖ¬ dc€~ôã¼@æRG¬,þØÂp½¿�°"è<ö‰²^ Š—þá/Æ:"Ê\�f†CAn¸ÅZóð‰òû?'Ñ\SÒNk®EæC¨4o¶Ü·Z”Q?4'°f3FRõ,ĸkÚGÛð`S‹2$MãØ2Z‰2–rr?^÷±º%J«×é6UD9JÇ rÿãÌ5q;K¨SX�âœeö)‡N­¿¿¥c…6¦.º�-õò‹Âåç¹ëz,d’(I•*UYf¯ðØd×[�eD¹´øúDYßå:�X�yÆŒ W¢Lûç[ Ïžá „ðeâñ^ðßM“ê-�yx§Ž^´Á ¯Luþå!?#ÊYN”q…h>t¾{±x ·îÚ,Æ>1¦€†È˜�2î[]\‹pÃ�≎\Ï¥N*¨á¼O”y‰­/pîÕä…ë½Ë::œW˜(Ó;ÅG%’Ï~Eé±*»#3Ö¬ T¤6€õ‰² q¡™§VæW¿›æˆ4Cž÷ÉØ]¬€:éDYg½&E‹_kÏ‹+Œ'é)OÖDŽ}W]Ÿ(£xSGHT”,öËDæãÞdð\G†!Èx‘1—ëÐ3¨7ûÜ'–O%Ê�8Hµ*÷}&¯rʾŽQ¦^ ûÏri™TŠI�”(c9%/Ê£îàÃ$g,«‰Òúõg¢Œµ›zø?âüN†°~C¼O`éXè< Ö8Wxöqe�çFUó¼P–NvŠG m‰ú0ß̧Û÷ÂD«J”£p¡]b½Ô±ì¸Š£’޼3I”iyyyQögºv�äà_6Y”K‹¯O”ùfÐÙ£ïÏ— D™¶N'”N↷A¯÷ßqÞ·x�k<×Tü¸w:€˜§ˆ!ú¡÷§"ÿò’‡å,'ʼx¬CŒ+=±ôFŽ`}Õ IDAT©À‚|2«57 S‰®›õº`÷aB:,PÃxM¯�ü‘öã\Oª–£.Þćó efÇ šš¿mSóÑ3 GkÖ¬ ”® БË̵+7ït«B0¬ K¯â �ĪŠB ábò-&jR墬�kˆJ÷ñ+v#×!;Z2ž±Ï>ö•hH -d‘tQ²Xóf‹Ìÿuá×y !g.íH'·DH+ÄEâ¯zñÌKB:îèXÉeâ˜lúÊ-2måÁÚ‰eÌ—ùx©‘/uÇÍo�¥9*-ùë¢+ ¿$C”éXLNê»Ü31*ÖåX.Øa=Šzú„œgI»¢½Ðy¾Ú¹‚ÕšÎf*ç¹r�å’`JÇ$žgI{ó­–™&Ê<\¯+W®\l¦kÿYeQ.-¾>Q&/Üôy¶´köy.J”‰ç[€•™‰Ýè<#Ä"Êxj�V½H›êKÚÅ Ú.S]^®ægD9ˉr®6,«wê?j†©aZÑÛ€/Ô'.Û–Õ>¨èÏÄî?÷¾K±H�=ÇÜ{ŽÙðÌü1ÊÁ9b'Ûˆr6àhuÈÞ÷ψ²eSôÒÐSg½ìýèÙ³±gcmÀÚ@EnF”­ý§ªý÷4ÂMÎù-é�4©*ßò1,ÓÝŒ(Q¶–ekÖ¬ X°6PAÚ€e#é&–¿µ±òÒŒ(Q6娂(Gåå£e÷aØÚ€µkÖ¬ ”}è6px‰-Éjq&�=»²vö Jö Œ(Q¶–ekÖ¬ X°6`mÀÚ€µ�¤ÚäwË–-IýHc$­d$Íp*{œŒ(—C¢žµÚ^´²ÑìØ3°6`mÀÚ€µ�#mþ¬×±òÏzëštœcÆ^‚Îz.ƒÙ²ýY¯Ãñ‰Ž�4­?ëu¢üS—Iwö#Å%•÷«yAz£ÂÔ©SeãÆ�ÁeÙN”“Á—幘ɜ٩ŸùjR©:¢ÞqÅܶ™•#F”�(—êÅNô²ÌKXé2 ÖÈ›ýf¤­¼Du±¸Ì~X oÃÛÚ€µ�\l,ƒøâ7SŠÉ©Vøå\ô~X"‘e£vï-’�»Ý’>¬‹K¼¿<Ô¾¢ýn©˜w¾ŸY,?Í'™-e²1iX®Šågüô�(³<kÒúèþÿýfj°´žK÷ÖˆrÀƒ‹íìÛ·O.»ì29÷Üs¥°°ÐÅ•'¢ÌÒ­©Òk}¢üÃô|i7bQÌö�ª¶l:zÉd´e#Êi{éiî=i¥Ôýz’<Ðv´[»qϾý1× LÕ‹où”ìÅ7œ 'kÖ¬ Þ¢ˆ2ë(³Æñ?{OwëŸB�!®¬I žeÖF ½ë“‘ò¿gËÞ¢ý¢D:˜Q!‰ˆr*0N6�\ Ê´Édï+êú(‹r�=䍣ޒW^y% Ðå‰(³žz¬uµ£p‹Ÿi¢l:úáßÿXÏňr–eÁz .L¸…°ÏËÉõ¸|lÙµGNÏwçÕõú“a dÃöÝnzöµÐóÌBè—m–½E2~é&¹¿ÍhÁ]iÇž}²p]�<Þq|p}í/ÇÉØ%›\9,¤þÞ€ÙAya5·d“ëa§>5* Zž¿]²a‡Süs¶_²—Õp2œ¬ X°6�Þ6E”!Dsò·20ü< ÊXƒüó»÷É?z·R�¬Dæ*�é;e•“åš–|Úü¼Ðå¥J4òxËÎ=Κ�EO-®G£ «!ò‰d1÷€ÌþiÖw/óÖl—¼úa!#_êF-=ý�²:üºÄYÒó·ºp�º^£—ÌXµU¸ç1‹6J¿)«Š¹^ÓÑ0å Þ‚®�ëªÞoTZ½Žm"¢ì»^s¯XßÁ’{B‡Áâ¬y%Ò±Þê7Sò·ì’{Z�r׿Ükš»oµìkl)gÔ‚ òݤ•îÞy^~9Õ>Γ.c–¹ü6íÜíô­»?éòå¾'/ßìt,<À £ùGáBg ´]ô¹Ú_Œ Ò®ÝVè,“´Ùåwç5ïÒnÃDyÿþý!Vkò 'œ ùùùÁùl#ÊGŠ/˜íY·­0xÛ�ZìÞÞ�ùk·Kƒž‡ÚbÚ¦bÎ;CÐg­ï8Ïsçž"×xÿ¾Ÿ²*H£iÓµ5ýpù‹(ïÙ³GøíÞ½[víÚ%;wît¿‚‚Ñß�!C„w $¿^½zÉæMt|ÔQG]T Ãõ‰ ÇQÙ’Ü×Bº«æ›è#>bÞúÀ5ãÎyòìׯG@”yyùØÞÙb¤<Ùi‚lÞ¹'p'C òñü{—‰Â‡š4c,Þí?KÈÍŸ:ÜÞ|„#Î|à‰«ß}²:ƒ¼x‘Upt·\L;ô!Ðû`‹U™ûyªÓ„´ãæ—kû‡¿ø†‰abmÀÚ€µ�ÃÛ@QF~áÕyÌ2y®Ûä@ÉU,}¢ 9zûû™NfÞ×æ×˜rÙ[¯ëÙ�âͱÊHöñÈ"oU¢Ù�gQ^¿½Ð�“Dî#›ãÉbHtFÉq½®“Aÿkëu„¼ÒYŽüGÖÓ¯u¤£™_ëó±NÈ›·Þ)û(ý\�¢ýÅÈÅŽü“îé:F ùï˜-·7Ï“ç»OvÇXÛ£Ò*¾ºM†(íßïži_ï=Ýa¬ù$Ò±¸ï°¼÷Ó_�ÞD¹šÖß‚)ž�~˜#<÷f?Í+VíeÒòÍR£ÝhçiðŸÙkå›ñ+\^5H5él7Ffço•¶¿è ‰Â"Æs§L&àwä ëÑQ@›ð뛪}%Êá5jH³fÍBËšLd6åÒâK{æù)ž´mž1Ï¢ñà¹N÷Ƴ„ø’e®Í„ëµÖY·¦£.À¦_¿~òÓO?ɰaÃJô£}:ÔqÄ’òI#Ê¥˜E1ÑG|Øœµ®wªæç¿/)¢Lð3äâL<}µJsLo1=Àìó{ªó'؇LÓ3Ì\ãéõFà˜¼:�^Äñ±§M¯Õ-$›žNÒê9ÛÆ~) ÃÅÚ€µkeÓ¢ˆ2Ï‚ ÑÁíëmßɇ,€ÈF?@ÒÂYÿÙâ )B^C†¿³LZüg¾³6#{Q¸¹¾$D9¯yC bÉbâ!u>™âV^ß[Lóa‹ìÓƒ–í‘ 6ûÄ¡# Ê�5HµZȉçz%Ê�ØØjp¤>Qiýú°Ÿ QæÞ4=xbHÐN�D:iª·å:°~Çëxà:î�ñªZ:�ZÆ Ú�ÆC® ±zìo�®ÆŠ(\†ÏY'ŸåËJ»D$OÊxí»é1ËñË<Ò}%ÊXÑ*Uª$§žzª¬]»Öœ›¶&ÓV²‰(—ß0QãÈ{KœÏf¢l:z|yC{]¸p¡¬ZµªD¿+VȲeËŒ(gƒE™^Xz�øÓÍÇ•—‘$½¸þ ‹€Ò/ä–^G�çO¯°“e�cz_qUÒ8¶¼ì|œÙçEÏ4ÿz„æ/s×»Ÿ/@ýkl?þKjØ6Ö¬ XÈL@žúîÀà‘ÅU9Ö3€(baÅŠJ¼oQ†”Ññ¼fk¡¼g"K¬Ã¸(iƽùŠ<÷'ì* Qöåz,Y¬õGæS¦³¥L%Ãx§Q6÷…ë1„];×!Øþ½à–¬D™qÛê ®yc5U¢ ‘‡H£SèlÐ)¢Òj~ºM†(ûú é}rìïçoÓ²¨7Á·jœnÃzç5o,Šž¡Þ÷²�;l,šxä ž™ïâqgÇýzƪä> È9®¿š/[ˆ2Özê ÞƒZÏTo•(s�:urã‘ëׯ/ñ¬É\—MD¹´ø†‰2nÓ<Ú5ïÞ'¯ôšæžE¶动£ãAËó)ÉψrÈ'<Û\¯{̘$ý¸!HU`é9¶vÜ~pù(‰EÙ¨á¼O”KbQöó g,ߣmp®Û~�m?3ŠŸál8[°6`m dm"øÑ�ó™ nxBùc ÃX~;aEÐyìe½/ýÃ_ŒuD”¹> Í ‡‚Üp=еæáå÷(N¢¹¦$�Öš2B¥Çl¹oµ(£<~0hN`ÍfŒ¤êXˆq+Ö´�¶?àÁ¦eHšÆ±e´e,åtšûñº�Õ-QZ½N·©"ÊQ:nð�ûg®‰ÛYB�Âzç”(³O9tšhýý-Ú˜ºèB¶ÔË/ —Ÿç®Oè±�I¢\TT$UªTqd™ ¼bY“³�(—_Ÿ(ë»\§ó 2ϘqáJ”iÿ| ôÙ3|�£L<Þ þû¯iR½5=Z.QÎr¢Œ»ró¡óÝ‹ÅK¸uמ@`1ö‰1¼8|€ù(ã¾Ñŵw0Ü)žè8Áõ\ê¤a�þÀûD™—hÑúç^M^¸Ñ»¬ã¡ÃyùD™žR„ c q?âcÀ�.áMÏuò‚Œãp¹=ƒz³Ï}bùT¢ ‰ƒT«rßgò*§ìëeêÕ°ÿ,—–I¥˜ÔH‰2–Sò¢<ê>Lra@_H”6|e¬ÝªWè–ëüN†°~C¼O`éXè< Ö8Wxöqe�çFUó¼P–NvŠG m‰ú0ß̧Û÷ÁD«J”£p¡]b½Ô±ì¸Š£’޼3I”iyyyQögºv�äà_6Y”K‹¯O”ùfÐÙ£ïÏ— D™¶N'”N↷A¯÷ßqÞ·x�k<×Tü¸wÓÑ£±4¢œåD™oîšmΕƒžXz£T`ÑͬÖ8Üx`¼±ñ�D$²�(Û³�ýl —¸Q6¢lŠ^zêìc^kÖ¬ XÈÆ6`DÙÚeªÚe�A#Üä\�‰’þH“ªò-Ã2ÝmÀˆ²eû`Q¶6`mÀÚ€µk¤ Q6r‘nraù[+/mÀˆr)‰r².'v½!`†€!`†€!�ëŒ?¾Ä–dµ8“Æ‚!�+Q6¢œ+mÕêi†€!`†€!�%@"¶lÙ’Ô�4 �\AÀˆrå?þñ�2fL왥i€�>ú¨´lÙ²ÌÚâÓO?-Mš4)³ò­`CÀ0 C “”µÜÍä½ZY†@IHïÔ©SeãÆ�X%I\\;ÿüç?%ÞÒVáêüôÓOrÑEÉi§�&¥µ”Géôá²í83QÎa¢üõ×_Ç�~Ÿæs${Μ9rã�7ÊñÇ/W\q…Œ1âˆ[âðáÃeâĉGœÞ†€!`™DàÔSO•Ÿþ¹X‘t8ßzë­ÅÎÅ;8¹//;od;Q¤wß¾}rÙe—ɹçž+………îv¢Ò”õ='C”¯½öZéÓ§OJªìå'Ÿ|2톦½{÷Ê /¼ _|±œp rÕUW¥ì^RH–dbD9‡‰r¼6´ÿ~á㔌Àæ…)**’Ë/¿\^~ùeÙºu«´k×Îõ’mÞ¼9^QvÞ0 CÀ(7Q.7�Òn$D‘Þ=zÈQGUÌB•&ÕNXD2DùœsΑٳg'̯¤‘™&Ê;wî”çŸ^Æ�'kÖ¬‘/¿üRŽ;î8Á`fáF”³˜(7kÖLxà�COKÄ‘Xs'ø/¤˜ž¡;î¸Ã¹�Lš4ÉeÜGnºé&Aø·lÙ2—vþüùî܇~(W^y¥<òÈ#2vìX׫TPP”y饗J§N�‚cÇÏ£J•*®Wêã�?. »^ó2Þ|óÍŽ|WªTIZ·n\k;†€!`†@Y#E”£äžßA½nÝ:¹úê«åÝwßu·¥rúÎ;ït�Òxo©LæÜ8ÿçþÇÉæªU« rœðÕW_IõêÕÝ>Èå|08¾à‚ ·Ïßÿþ÷ÎuÝu×É%—\"�?þ¸ìÙ³'¸Öv �T"&½j4¨5ke~~¾žv“Y°ѽþúëå”SNqïÙ³Ï>[ŒØwëÖͽ¯|ªU«& .tµÆ°tÌ1ÇÈyç�笱œ|ï½÷„÷ñä“Ovïò°aÂ;d("z±†íÛ·»N„]»v¹SªÓwíÚUN:é$§+“Wݺu5IÚ·Xÿ¹_ ‡0¢œÅDyÅŠޏªE‹/BpäÈ‘î êKظåË—»8>Vœ;óÌ3�û3‚òÅ_ ÜÇöôò5lØ0¸¾cÇŽÁËîNŠHíÚµåÕW_ÕÃb[ͲMXµj•ð‹-rÇ>Qæ#ÉG¦C‡²{÷nážJ;ž£XeìÀ0 CÀ(%%!ÊÈÎxrO‰2òEºE‹A�ˆ»ð Ò€l­S§Ž‹_ºt©SŽû÷ïïˆm›6mœ»*×Ä¡Äãù…åçüóÏwqÈy�ƒ”Ðî¿ÿ~—rÂÝ¥K— ¶c¤%Êèx5jÔ <bY“‰Ó4z]YnÑ«!‡ï¿ÿ¾{¿†êôn£L]1ì0Œ�wŒa†´CÛ·(sÏ«W¯v×¢SŸuÖY²cÇw‹%%Ê\œ ×ë0î|[v9mÚ´pT…>6¢œÅD™–ɸ(È%�1¿ô.é &ʯ½öZ±ÆŒPþÇ?þœÛ¶m›ëý‚Ð*Éõ­ÇXxéáö=kõêÕóOûäqì±Ç:â«'o¹åéÛ·¯;ô‰2yÓ‹nÁ0 CÀÈVJB”É=ä.Þ]ÈçöíÛ»MâÞ~ûíà2 2Bí[�9‡åXå)¯¯^½z9r ž>}úaÖfˆ²ODè oРAP¦í©D@Ûº$„’÷gíÚµŽ(B@ÃÖdÊÖ4©¬Ç‘æf".:¡4ÐѤD¹fÍšÒ¸qc�r[Ü­Ñ a¢\샞Ÿ&Lp§³™(cÀÂZOßßWE:6¢œåDùóÏ?æ3Ï<#o¼ñFÐ>ÃDÙï¹æ"„²özk"z·xiyÉù ù!Ê¢Œ¦'�½n±ò¸ûî»…IÆ>Q†ÄÛ è£mû†€!`Ù†2h?|ôÑG�Ž’{ÈݳÏ>Û`u©Ô¼ˆóW¢`Õ ä8ëòsÏ=§—º-òË2 SÓ¦M�gXçÎ�å_ÿú—‹CÎúr9=yòä Ÿ°rDØŽ!�|ÒË0=ôC†Ƴ&S¤Ÿ&U(U 8Ì“ò¥—^ ˆ2“uáZM§•þ ÊêÙ&ʸM“¯ [Œù2dˆ«cø]ŒçzÍÅ™´(ÓIÀP~~‡A©€ÍòÄXÏG�]¢Ÿå,'Ê6lp=r¸W�~úéÅ\"ÂDÙÀ´Q„²oQæ¥d<…Z”ÃDYÇ(3À_CåÊ•#Ç(ëµlãe³(û(Ù¾!`†@6"€[%Ô~ “BJ( QnÞ¼¹›÷ 1– ‰ˆr,‹2òW-Êtd“èÅ‹;å»V­Zò§?ý©Ø2‘F”mÛfŸôâÆÌû£•XÖdêä§ÉD•�EâëæìQ‹òC=$­Zµò£‹íûD™a‡èÕS¦L ®až€Áƒ»côàÇ{,ˆ[²d‰ÃJ;Ô|�ž!ëtÜÉùŽÜsÏ=žUé.7—ò7¢œåD™Ætï½÷ºÞl&ÝòƒÿR…0×qŽÞqz—«„û“ib {�õšÿS�Û.)þúw~ù±òˆG”uŒ2=áÔ…1ÊêŽâçiû†€!`†@Y!€õËÊ.rë2ãƒÕÊ%÷Tc™ÁmSÇ s?§÷æ[”QšO<ñD8p ³ê°ê <Ü&b‚\° œ?ãŒ3Ü9dª#ÊŠ„m3�@˜ôæååDYÉf¸á4áøL£÷Ò!Õ³gOW,ïqiÝyï±3-ÃY†á¤#øD™o﬛ ä°P¢ 6¼¿:äË5� ±ˆ2z¸vÎ¥ î�N†L¢“S~:ßAºÊ͵|�(çQîÞ½»{™Âã$JB”yÙuÖëÛo¿ÝMüA#�%ì9ϤŒ}b@?‘$ZG9Vñˆ2yÿöÛon 4=nŒeQ—²\{i¬¾†€!`å.3×êÚ¢ÈAå‡(¹ç“a,+W`•"_?ô|¢Ì1 5k™"#o¸á†Ã:“QØ}‹3õ†çþ0¢\>Ûe¶ÞU,Ò‹ë5äÓŸéÚ¯¬4~|¦÷gΜéô^æèá]Åš«D™º@¢ñä ÃŒ÷‹wPç ò‰2×¾þú뮣 ]˜!‡¤S¢L<˯befþ!¼Hâå¹s纴« ³éLþ«ÖëOÈ–Žrs-O#Ê9@”s­QY} CÀH¾0¿í¶Û!_VûÔÇ‚!`�#!½G’¦¢âk÷]öQ6¢\ö­Ðj`†€!`†€!�S0Æ"‘Ì�4 �\AÀˆ²å\i«VOCÀ0 CÀ0 CÀ02‚€e#ÊihVˆ!`†€!`†€!`¹‚€e#ʹÒV­ž†€!`†€!`†€!`d#Ê9N”™>>k­e¤5Z!)C€Ù ™¹¾Ïo¿w÷3¾oõ×^ë~îiO÷µ¯ûÞûÚß½÷sn&ÜСCíÈ#�4îm·ÝvÖ£G�̽{î¹ÇvÞyç�VÓ¦MËôLf<™Ùc�=f 4é=öØ#Äñûï¿[»vílÇw´­·Þ:4(°fâðÒI'Q¿É&›„?a5j”ñ¡Þf›mlÛm·µ>}úd’XºtiðË=þÔý†n•ÁøñãCÞè=¥ñ°ï¾û†0¹ÒÎD<÷Üs¶÷Þ{‡?�'ÿT0¸:„xÉ#�¤�?þ8Šg8öØcþxà�áþ€ÂýÖ­[Ûzë­žƒ|ѸúòË/m×]wÍ„ç€!ÉIÜ™gži„«W¯^À|Ĉ6{ölkÞ¼yÀã?{_¶lYøãû9s攉ÓOà8í´ÓNá¹hDPy&‡^¿þúëáOî7Ûl³Pþ1§²áîÇw\à x½øâ‹ž¬-^¼8XZàÓ>ûìcwÜqG™¡× û&ækÛ¶m8-–`vñÅÌ(ŸúõëÛÔ©S=jí…€†ß¡»»ï¾Ûøö»cWݺuÃw‘o߇~è·B½Õ³gÏP×m´ÑF†õoÚ´iAÈl¼ñÆÖ°aC[²dIÆ?aI�ïòá‡nÔ¸´º…ë¹ÒÎDú×ÁŒ32õÊ[lêmnÑNð¶uö…^D“‡§î¥N<ì°ÃB}yþùçõL¶z˜‘^Ô!îM=„ûñÇóÝyç�¡žhÑ¢E¸þ /Ø^{íîñ=Ÿ0a‚_e�è£Nå°œÆB9W WÝM"ùÂÒÖiÙ²eho`µeôž»|õ_®rò6í 0 #Æë3¸€¥—öÛ˜1c<ÉÌN‘¯ØÑN í@=ŒK åØ/#ͼ|âë:B  åJ,”]|4çÏŸŸ^zfA˜úå&Mš„ùʈè+VØ�!CB¸Y³f… !Çu¬ÒÆ ÷z÷îmµk×¶ï¾ûÎøØòGܦ9*žu×]7#$I‡!=G}´Íœ93„g˜•ÿÿûß­W¯^!Ýë®».|üùÐÿúë¯öæ›oAOžp—\rI¥ôŠ"ø½- IDAT²h„ÐHÁ¥õdçJ;Š~Þ}÷Ý D²þ矖*qÜK/½ò�u÷É'Ÿ ÃÛÁÇ3¬³Î:æâ˜2¡ qTf\sWˆP¦!â" i´€˜Paî¹çž†°Å1œ иIsmÚ´ šÉ“'‡ç¢\iˆ%…2�Œ/¾ø"DAÞ¿ùæ›pœ 0:A(pÛtÓM3¼¡quâ‰'�"`¹Ûn»%”‹áœÜ~ûíC‘é®]»Î¥á¡kB@�ò  eD.B†z Ç÷˜Îkê ê‹Ï>û,œOŸ>=ÜçÛ~Ì1Ç›|©+%#GŽ ßJ¾õ^§M™2ÅÏÔƒˆ66�ÇÞÑœ¬[ò¥?3õ B—ï4¢Žo¸w S×#úH1}ðÁ[—.]2ÁyD"÷yÆF�Ù-·Üî§ÕÃù„2õ×Í7ß“/�tÖ#&‰¿[·n¡#‚{IG½F‡C¿~ýB§y§N�Bç´ÏQÎÕÈWwç K'ø AƒB–Þ~ûíбíùËUÿå+'ê3:¶i—ᮽöZkÕªU8†3ùÖIʦ3™iy8 åƒ~„@… ¡\‰…2ç|ÍØ¢Ü¬Y3£÷— 8vX�é½Ls'Ÿ|r™JÁKÅæB0CÅsÈ!‡Ä—‚¨tÆ *a*ZþãžË¯¿þ:ˆNoàç‚•^u÷Ü£1B£—VA3,[Ú!Pôsê©§•l!ŽÞëáǯu,„€(·(cádÊõ‚k¨K™n¯¹ÏÐb"“úÌß.,¦îâ:K"VÀØ!:Z¸dÝ’/í8êò˜æ¨cÏ:ë¬0œ™¼S_c}vÇ3ÄÖ´¨7pÉz˜kù„2¢2vÔ9ŒŠ1D(c�O:¦ì\~ùåe.S>e¯ÿrµ?²ÕÝ…„�ë(2àuZ¾ú/_9%9·Ê#”áCûqkR(3uŒöE!#*›«êù/žzöÂx+¡\‰…2ó‚è=Řt>L)¶(»î1T‰á­ˆ¨b,ÊT¢ˆ ï9õ8ÙÇ•¼_'XŠÓ\Ò¿ÏWŠýÆ *Ô¸‚Ž-ÊÏ<óÌ*«^çJ;Nƒãl–Ó‰'ë(s§Ý!öÝ*À3$#f·(#j©èÜÑ“Oã#v ³òø’•$þÊGÇB) ±({Üp Ë:)¸l¸bQfô€»Gy¤ŒP&_ÌisÇ|ùxŽrÜÉÇ 0‹”‹- ½û•±ÒõçÕ^�ª‰€ eÏ=õ§ Iޱgsq}†Ÿä÷>®Ó,ÊÔ5nQNÖ-ùÒŽóäe¾÷IGg:çˆEó…ã>ìT` ¥E{9b”ì÷ß*γÏ>;Ì=M#w\Éû}æ°²0•/FA™÷ŠKúO«4㆕7½Óäëø~ûí—YØ ¡I#" œ+mÏŸï OÏ9½žt$0÷‰ü �éͦ¢Á‘w: \Øò ÌUb~7ïÈ`é«KÒÀpË=ái|pßçSaÅñ%+IòÂ8æ(3·ÁL ˜Ñ™Œµž|2‡šú)­³ +u‡/öÅš*Ô§.”sµòÕÝùÂæʹê¿|å”äD,”Á�!Þ¾†I=ñƒPöU¯),ñÔ·¬zíÚ´ë|¥k߃·óJªS!� åJ.”)¿¾}û†Š‡UŸ±>2œÈ­ˆ±Pfˆ‹� h覧؋ Œ{,¤áûøp²8ü#§�vZFl{XßÇ•¼_£±À ™ô~ûÊÖ¾jsÒZ¥7,¨ÐÏ;ï¼Ð¡×èÂ˜ŠžaETšT¸\i{þâ=,”åùô¡^¤Ã00D:æh(ÅB™E«°ˆ‚áãU±©�¨ô¹ç–pæ8Q&q|ÉJ’üÑ ¡ƒÂËŽ¿nðôó-æEC�ü“:ThQyÆC¯™FEÊ�AðcuUï(!ýl¸Œ7.Ìmw>ÅtØ0 ë:+cwìØ±ŒP¦â€CÚ±À0Ô¯v!×gøM~ï“u"ßyþÅ�ïßîø»œV·äJ;d.úaÄ ßhÚ Ôí¾R2Öf¾Û<u*ÏæÂ–à<ÃÅ©ÃxFêdŸëœV#Έ‡ÅYÁêñ¥Õù¤�àgê,Ò£~ -’æ^yå•€‚‘Èt1ʹÚ`�«îÎ6—PÎWÿå*§$'b¡Ìó3^Á Ê*éÀ€Î6Ú„´]èh§­àÎ;èÝŸï) eGI{!PÊU@(V”òµ:H6lVGŠ37ɆEnߺ[�ð{Î~¾¶ŽI_NT'’b¿ª>›êîªZrÊ·¨\H(K(W.FV²Ü¨²]û"¡¼öË@9B f ¡\3ÊYO)„@aH(K(Æ”êKByí¼„òÚ/å@�š�€„rÍ(g=¥…! ¡,¡\SäK! „€B@!PC�P–P®!T×c ! „€B@!  C@B¹å]wݵÌùVôe}Å«g—½£³B¨ŒC„ãÕ¯ }ŽÕá�³YU\®|°Jnü7\å‹M¡…€(Õ¹¥ VñaTçfÇTunvltGƒ€„r%Êü…+«®³Î:áïøë þº�ÿ]tÇ‘ÿî+�«(¡ìù%ÏüÅAóæÍËümA1yä/«øë„|Žÿ‚äo&ø›¢Ø�92`_㘿}¸å–[ÂeþÒ‰ÿgæo–ÜÝÿýáï(ü¯©üz¾½*íìýðÃöæ›oü7&ÿñ]©Ò¹sçJ“U åJSÊH5EÀë0Õ¹Ù Xunvl*KçtU­s³#«;B`í ¡\„òO<„1à—_~9üg1ÿM[‘®"…²çwüøñÁúÅÿ0ãø?Å•+W†ÿv.D(?ÿüóá"×]wÝðÿÁžV!B™´Ž>úèðß�„›ùä“LX�5�@²#}Õ¹eKAu®êܲŒÐ™¨¾H(WA¡ .Ü¥K—ÀÌX(7iÒ$ˆ,¥+V¬°!C†?ˆ †CwìØ1œÏ�;74þû÷ïÎc¡Œðzúé§C—!V4¾O8á„à�F?‚jÞ¼yáË/bvðàÁáøøñLJðä )xEÇ }ýõ×Ã}ÞCÞKDmšCÜžx≡,x&øÏQs„9xó.6jÔ(3­€rBtrÎ|ðÁ™oF¾ç ¯|cx:äÀ„Ñ8®ýýï·^½z…wàºë® ï*�,„ãÇ?ïî’K. � ,|Dð;§ˆ‹±Aƒ¿o¿ývèˆ 'úk�¸‹“W�û?4Tçš©Î�ß  �ê�B™6T¡ßHÚzï¿ÿ~h—Ñ6Ë·1Z˜vg¡[­ZµêÔª@W§Ð„ñGfó=�ß„Õí²UÚX^±^âb¡Ü¬Y³ l¦±s±�…ÊÝM7ݬLœÇBÙïû±…åÈ∹½8,iXÝ‘_„$Ö#æ¡uÔQ�0X¢]l»_,Q¯½öZ8EtÑàŽ]!B &VD"–F·›.F(#,X¦s9,„X Ó\òx¹À#Í%1%,åá�ãa);žË…~ÀÕ±c.¸�.à …+D(»5ÿŒ$hÛ¶mËÖWò†C{ç çs0ã½Á‘&Ïìa‹xÂåʹâvîz§ŠÇïO=õTëÔ©S|)ë1\�…–äØÕ­[×^|ñÅp©¡ÌÈwß~ûmè Š‡`óî8¦î/Ûžwiøðá™Û¼GI¡ìs¿ñþñû˜ øWxÇF>¡L8ÒÝb‹-BγÏ>›‰ qKgŠ;:©èlˆË‡pÞQÁ3x‡a^zé¥ ·‰ ¼Ýñm¥£Á9å×µk Õ¹¹×Q�kaý•š^箩÷Qé�µ�€„rBÁW¡Lï6VP\,”éÉ q�xb/G£uà 7 ÇþƒU×αP¦±ÊPK,_X.Š ò¯ÀˆáÝ8ü·Þz«GÀXv­±°ÃBzñÅgüqÀ�nò€#D@ì Êä‘á¨îæÃÀ)ä‹ZìN‹*î3ì“á¦, æ ü8Œ#æ/ºè"?-³çXhÍ],Fòaš+,ùAlÄì([,È<#–F:ØJ µÅ‚ZˆP¦CÁ]2‚‹E+bìè gB9Ž‹¼ÂåʹâN{þiôƒ8E€¥9DVWø—ÁÒ;™x¾dCÊ]H—"”ã© ï¼óŽ­¿þú™²¡|ºŽå7ŸcÈ2e;þüŒW,ÑI¡‹PÊÂ;µxÏ:ë¬ð}à=† ÑÆÅÜôÈã!ä~ A¼ýöÛ‡ÎC¿s‚kiåã\@<ó äÅió}Â%ã✂·rB`m �M(«Îý_i¨ÎU�¿—Œ2¤Ó � ‹\esU=ÿåÁSÏ^o%”« P=zt°0ÒàÄÅBÙ_†|2ä”!’XþhÌ&¬W_}uªE™9Æ^"ÜôéÓCXŸßˆ`fh%ù QîC€ñ›­‘‘fQ¦ááVѤ@#.…?cÈHâ�À3a½Â‚ÍÆœRæÏ"Ò™[Ë}VŒéz×™ã‰U Ìè ø÷¿ÿŽã0~œÏ¢œM(çÃ4ùü±�I".”Ée�U/ÍU¤PNZ}?àëÖ?Gž�lB™ÑÉU¯sÅ�öüž†ïsY”ÈL% ³Ç\c·š#ÔàCì°0»E™áï<‡;8�èŒCæÝ*Ÿ~ø‡�tZ”âõŒp÷È#�¬"”ãÎ ¬ËnQFäÓ©Cg î…^ÈX‚ó=þ~øáÐYF§XÜ–|Æ´ò‰¹�Ï¢ì1þŒÊŽ„ök�´:Œ÷…Q=^©ÎU�[Óëܵñn*M!°6À@Á´¾Ï>û,³±Žo4ߘÆç›†^¯\ÆŸ¯îB£Òö8±¿úê«AÇ«^Ç•6Ö^¸|Èit2Ÿ˜Æ,C}±*~–Ï¥Œ-ÊX„c‹¢AäB™gÆ:Œ–ù—±KkdpŸù�Ìmf"ÃP~аÅj†K E®aÍŠmðý\z饯üZ:|óU«YÀ ‡õ˜yÛ`ǰs„,sT}ñ¤o¾ù&X‘¿ÿþûàŸN¬~�>úh”Òÿ"iø#¼°D#}hlòb±›Ó\aÓ„H,”÷ Å÷…ÃèØ`Î.®"…2[,²`…øb±.æÏº‹Åײ eÂÂÅØj˜+î´ç÷4}�PÅbJ¯6ð€p8:R¾úê«pŒHÇ_,”ióŽ!¤È”/óiqøs«8çä�ûðGGïF6¡L^šÌQ¦ãÁŒðõ9ÒÄ—k1/ÞWæøzÚX}“e¬é¼óXžygÚ·oüÃ{_ô�¹Ãtù�é|Ïv¼'p{„ Cçy±B±_yWx÷Ûo¿Ì‚fɸȸ„r(>ý¬%TçþoZüªsÿ‡�êÜ4v蚨ž`Q¦-G‘ CûŸ £Úˆ6£è|“P^ƒB™†8±ôb��ç<ÆBùòË/‹dјDz„ çbÁ†@e8e<Ô9Ê4è@4–úÀ¬"”�ä))(³ eò€˜@\“7†€zÛ{I¡È5DÖ;üûœh®ã 'Bßñ_—à ÜJ… Fбpøa9v«„g…æÛo¿=zŒWÙ† !r?ä‹Å»âáãÙ,Êù0M>,²½ìâLÆB™—«8x_…ØWV®H¡Ì‡‚áþXhÁþ´ÓNËtÊ�·B…2~™�Íð[0¤Ó&WÜiÏcáÇt^0,Ð1 ÷‡Å«1� ¬nÍŠÔ±P†ë¬O^ï�G„e4œF4újÛ¼S¼[p ®q?›P&D¬s�4àœûÏ·˜×¢E‹ÂêâX¹™VÀb|I¡ çÈœå¯Ø¼C \ Wé0‚#.”ÉW¶çà½àý¼í¶Ûðï9ØwRܦ•O̸O¾è à»Ã:p—Œ‹kÊý¬%xŸUçªÎå[;Õ¹1:5�4¡Œaø†@ÆøÀ†ñ�6bYBy 劢bZc¶õÔSáÿj×tº™^1Ì%”ù +ÿ°ŠÌŸâB ú#ðú믇¿Uc=ÿK·Gy¤Ìß2VÖDýUÝ…r!^yå•™öù·Öh¹êª«Ê´Åø;Kêw7Þxc&Œ¯ÎïûØŸû×^�ʉ@6¡¬¿‡ÊbEv‘Ì~M å'žx"TÐ|ÐùOTþóxu¸bDÊêH¿ø m½õÖ†¥û¹çž³„žVz௻îºL:ÉòuñÅ[½zõBžëׯoq¾r=Ì 7Ü`;í´SÈ7ù§âòvÇwØA”¹ÿÕW_YݺuÍïøá‡™{ùÊ �°àD9Œ1ÂúöíkûQÞä·{÷î!­ñãLJr¢·›ëøÁÑÈ»à‚ l›m¶1þsì¼qÄŠÏ 4 €=öØÃzôèa£G�¶Ž;fòŸ< ŽÎ�;î¾ûîáv®òÊ÷ü¹8Hþàn‹-Bz”sGÜݺu §Œ² Ln¹å–ÀùõÖ[϶ÝvÛ€MrB@�|P¿l¹å–öðÃçôš«NñïjË–-Ãwëã'Ÿ|’‰¯�°ˆ2ÿ&ó�<òÈ#CýB}K=�øÂe«¿òÕÝwÞyg¨Ëø¶&�²|GI«víÚÆóÄC¯óå?×7;_Xê£l¸åª+x†\u©×[ˆUê-æ’\6 c\Êä+v,ÜC›‚ö.)”c¿=ôPhkÅ×t,„@Õ@@B¹ ez³±(3üÚÝK/½d3gÎ s¨Ÿ|òÉ Zù€ãÊY³f…ók¯½ÖZµjŽù/ä=÷ÜÓn»í¶ œúõëgˆ,Ÿ£Ìät*Éï¾û.LR'®“N:)„E”®»îºaèö›o¾DkãÆ�möìÙF/7��aÆÿÉâÚ~ûíC¾¹×µkW;úè£3Þr=S›6mì°Ã =ý<i,Y²¤ŒP¦‘°÷Þ{ÛôéÓCœ �"~pðcØ®�y„u“&MBX=¸¹PF Ñ‘@že€å�sO;W– þ§Ÿ~ y¥C9!æýÙçƒ÷Ó,Ê—\rI›ôzBŸÎ ÊÑ;WˆŸ9ˆêlŽüüñFƒÿ¸\å•ëùóq�ü­³Î:qÌPjxµpáÂ�.q#”y/èº÷Þ{3Ù¦³@C¯3pè@�à›�(t+a¶ ¹ê¾[tÔ 4(ûí·CG§Ç•/lò›LŒÐFØÍ˜1Ã>ø`ëÒ¥Kˆ.­þÊWwó|7ß|sïßpÏû_|1´ˆ›eêõX(çË®ov¾°ÙpËWWä«K©·N>ùä€!8~øáöÌ3ÏdÅ0ƃã4¡Ìu:ü12à$” úÕ å* ”©¤|£’t–ÆÆ]wÝÕ†n!$²¹4Î IDATnºé¦Œ7*[zOqô¾"²ÜºÈ5*Ê{eÌ=D&y@¤ ”© Ý*Ëý-¶ØÂÞ{ï=ƒ;å”S‚óóxO¾®¾úêÌ%D×ßþö·ÐÈ\ŒâgB(}þùçÑÝÿºE¹}ûöAÄRqºÃâýÅ_øiÿTœ¸´†FÆã_ Ã9rdæ2è\(3<�^ðØ!Äi,ár•A!asYæ‰ïÂ7M(cÝ2dH&{ˆZçy<ä�C2÷ 9·wÞy'§×¸¼r=>’¿xô‰b¹§!‡#nFL�#b'¡£¡c!  Aà­·ÞZeÍŠ† †ÎC:¹�ËU§ðÝâ;åŽTįwðå ›ï›Ìè-ï´N«¿òÕÝÔãqÝíùô}£F�2u ×ÉD_Ì+_þs}³ó…͆[¾º"_]J½Ec׈_\†îÏ÷Ù„ò­·Þ:îñ'¡ìhi/ªiB™76æ)c0üõ×_ÃÆ·Õ7¦çÆÓusc¤¢Ž(t«U«V�Zèêš0þÈl®‡‰ï»QÙ"ö´ q@Äq@Äq`õr€Eú˜§­æa€N£ü‹Õkøïß¿I›„ò_‹y1t©Ø��a±aä¿xœ…™0Äq@Äq@`šÓ´ÕL JÕ^åb ®îWBù/¡ÌÜ™b7æ±Fþ‹ÇY˜ 3q@Äq@Ä åš)�½c¤Tí%¡œ^ìÐëx(vòøÕW_MÆMa%ýê|¥0)à/ÉÄñDÄq@Ä�â8 ¡,¡œ|g²é´ØŸ„r9…2‹a¥m¯¼òJæ÷’÷ÊÉk:OÇQ¸q@Äq@Ä�òp@BYB9Éþн–¼ŸK(—S(ûªg¬|æViþ§�ͯùÿüY}Z8÷£ýÿc),„…8 ˆâ€8 ˆâ@© Í-¡\³…ršör­†nK㼑P®`¡‹d e}ÔÓ^<]/Äq@Äq@X3�P®Ù"™yʹ„2z-M,K('Dr)ÅGŽÿö­OŸ>vÖYge6¿î{üSXÉp~_ûÿÇRX q@Äq@Ä�òp€6·,Ê5[,§i¯X¯¡ß’ƒ7²('Ä2= ñ$î\Ç,ýÿÑ´ÿátïÞ½3BÙ¯ùÿL ç~´ÿßw á ˆâ€8 ˆâ€8PÐö–P®ÙB9M{¹PF·¥ñ ÞH(¯¡ Ø.–“ÀK(ëcŸä„ÎÅ q@Äq@V$”k¶Hfèu6¡œM$ó.J('Dr)C¯rÙ²e©[¯^½V¹Ž +W¸lñéz:ÎÂE¸ˆâ€8 ˆâ€8 ¤q€6·,Ê5[,§i¯4�óÞÈ¢œËŽþå—_léÒ¥oø0`€®˜4ä·ðòVÂJÄq@Ä�êËÚÜÊ5[(—¢½à�„²„rÁ"_•Hõ­DT¶*[q@Äq@¨Ž@ð|ôÑG6mÚ4m5 åZY]†Tº•bQæ,fóÂ*&Œü‡±ð^â€8 ˆâ€8 ˆp _¿~6uêTm5ƒRµ—,Ê ]¬PfåkmÂ@Äq@Äq@Äqäúç¤øÚ³Pƒ.þjÕªU'«y¸„«Í¢?¤ŽWLa%¬Äq@Äq@Äq ¦s@By¥^‚šþèùõˆâ€8 ˆâ€8 ˆâ@Ì e eY›Åq@Äq@Äq@"H(G`Ä=:V�’8 ˆâ€8 ˆâ€8 ˆ5“ÊÊê9Äq@Äq@Äq@ˆ8 ¡�¡Þ¢šÙ[¤rW¹‹â€8 ˆâ€8 ˆâ@Ì e eõ‰â€8 ˆâ€8 ˆÕš£F�2þ³ñ£­æa@Ù�=º(ŽK(ë£Xaâ^«×MÄq@Äq ²s‘<|øpûóÏ?µÕ` † f_ýuÁÚGBYB¹`²Tö� ò§ŠZÄq@Äq ɬ‰Éê$€p!É�lçÊÊ“%‰t]’8 ˆâ€8 ˆâ@eå‚§²æMùZ³ïM1\¨¶BÓúG}TÔF‘uÍ’Ux oq@Äq@Ä�ÕÉÏü¡M„ùé…r­Ú eDò¢E‹ŠÚS(pò§º8 ˆâ€8 ˆâ€8Pù9àBù÷ß7m5:KàB¡ïlµÊ–Ç1™{Á‚_kC(?òÈ#vòÉ'g-°]wÝÕ ”õ~¡½&ýMž<Ù6Ø`ƒ*•ç5‰Ï/¿übµjÕ �8k2ÝbÒzæ™g¬Aƒ¡ ó•çšæèûï¿o;ï¼³m¾ùæ6dÈñLÓGÄq@Äq '<ä+Vh« Þ}÷]Ûi§�B{ì‹/¾¨¸Â å•+Ã�ëŒN9@4ì¹çž¶í¶ÛÚo¿ý|äÊûí·_7ß\H#@’~«£P^¼x±=ðÀ9?XIjÒyuʈêéÓ§ç-ïñãÇWHÊÁl¯¼òJÞôj§ô¬•ßš¡2R‰â€8°ö8�&”[·nÚô´Åc}ÓM7…ëwÞyg™ë±ŸÊv<{öì�çqãÆåÍ3~0h•÷h�õéÓ§Üñ”7Å„—Pþ«G ћ˽ôÒK�P×\sMÆ[>¡üðÃ"Ç·åË——»±^„2à ™>àkæ^Ý„r¡¼)¯P¦C‹´¶ÙfûöÛoÅWYÄq@Äq   ”iëÒ–ð ¡¼ûî»ÛQG•¹Æ½]vÙÅvÛm7ëܹs™ë®2îgÍštÍ?ü�7ÏøA(—ú´c »õÖ[‡¿Z*5žµÈ¢œbQþïÿ›Ä4¶±&o¸á†±ÜåÊO<ñDêˈØ=î¸ãìœsα}öÙÇþõ¯‹¶ ˆ›o¾ÙþùÏÚ&›lbX¦ûõë—‰‡°'œp‚µlÙÒ6Ûl3Ûk¯½ì“O>ÉÜ�‡µ"Ìo¸áÛqÇ9Ï;ï<ÃzëéÄ{â­_¿¾�qÆvÀØþûï_&Þ-ZØe—]fÇsLÆÊË1¤•ü‘�Ã;,üߜǹÃ;X�=l�=ö°�6ÚÈ®¸â ›2eŠ}ôѶñƇgX¸paÈKr¨nß¾}Ljx·Ûn;»ÿþû3yÆÉ3oºé¦!n_²�˜x<ý«¯¾ÚÚ´i“9¿ë®»B¾·Új+;í´ÓB9ºß\aXGqD&²å–[Ü=\¼¿O<ÑÎ?ÿüPn<÷ˆ#¬{÷îA¨1¡W¯^™ü0¿ˆ8°ºþúëÃG„8鈀|Pj×®mĽ.¦\s¥óý÷߇²»ãŽ;B™ó¡§ø¹âã\¼,uèµó îQ®`=iÒ¤�8Èsó.°ùŸ¾?÷ÜsÁ/ü¨W¯žÑÓéùËÛo¿=<•q®»îº¶ýöÛ‡w ¹žƒûÙ86cÆ ;ýôÓC¹ðNuéÒ%“n.ÎzÞ´_3KÂY8‹â€8 ”—ˆ#„m.ßÊ´¥i›ÑöàúÇl‡zhh×"”¹Æ0Óž¡�B[î?ÿù�Ñæõxh“ÜvÛm†…�M[hÉ’%…ÅpG{�éd—_~¹rÈ!öꫯfâ~ú駃f!mÚìß}÷]æž§Ï~æÌ™¡�E[�sÚÿ—\rIhW¡y?üpûñÇÃ=%KÛ‡�ö-a²¥EÛ™ô;uêd{ï½·5oÞ<ä‰öíz´á±ÄŸë�÷Þ{/\çí×ë®».´ÿhóóœŒFäÞÔ©S­iÓ¦ö�ü#”…ãÎ=,Ö´ÿHŸ¶÷}÷Ý—‰“ûÅnp@B9Êá&MšÁà‚8͚̽òåõÖ[Ï>ûì³ÐÐ~óÍ7ƒˆó—ú…^°iÓ¦…ž¬Ç<�ˆûˆ&Â"ÂéåxñÅÃË2oÞ¼p?ÊíÚµ ½^ÄEøfÍšÙ•W^™iÜ{zï:묓ÇÌsFz¼¼Äˆ£&L‚÷õ×_¤CCHâøý÷¿ÿ^D,ƒÄŇ䫯¾ ~êÖ­k]»v yI å-¶ØÂ>ÿüóp�ôý�¾ß~ûíðÁùôÓOüâå'ÿ¹Ä.åÇGí›o¾ 8ð,ˆZþ\a7n„âõ×_µ/¿ü2ÎÃ;~ÿûßCyàïÚk¯ /7K—.5pîáÿâ‹/sçÎ ˜ò!q<žþù0‡ƒçOæ¤ÇB¹˜rÍ•Ø/B™<ýôÓOáÇ1~6?ÎÅËòeæ«øPlFlœ{î¹!ý4‹ò‡~>²¬8ÿï¹çž Š)ò ï˜â°lÙ²ÐáÀ5:Gb‹r®çÈÅ18ËûCy"æ©HȤ‘�³Ž�öj´‰â€8 ˆU‡ˆ#Dí6ß0!zi«tèÐ!\oÕªU0Š`Ä¢=…_„$¢�6ÜĉíÀ ¢ÑãA(Óå>[�:uì±ÇËvìØ±¡í�¡Š¶é¡ ÊÄýÎ;ï„¶8ó¹O»£m"OÛ÷.”‰“keŒ´É9¿êª«‚A�cüÐVö°ìs¥E{›ö%íUüzú´ƒGŽ™‰‡¶#í)òÊ(\Úk´û ƒÁ Ý@[‹4º€áâÜ£‚N‹ùóç‡ ŽdîÑ�пÿpÌ3bØãz©�PŽ„2…Ao=sæÌ �à4kr!B™ Ý·öíÛ‡ø»²0iðÓËâ¢Ô¯ûñ;tèÐLX¬d~�==Rˆ+Žc¡LO‹ NîA\„DÖ�É–d?gO=^Ä%âÏïß}÷Ý¡÷ÌÏÙcEåeå˜tx‰ü>�±…·[·n¡�ûI¡Lïs–“xœrÊ)vë­·fâô¸Ùç»�5 ÃaÜ?¼À®°ôXñQäCçáÓöàÇ í÷øÐñÀЯ!¦\ØÃ¯Xt#Þè±ÃïI'�”Íœó’ÇB¹˜rÍ•yáËÇÃóxä‘GfÊЯeÛǼ,�P¾ñÆ3éÓùä8¤ eFÐCç «¼ã ïÞzë­2÷“B9ËqüÙ8†5›‘ô,zøž={f8œ�³îWûªÓ8RY©¬Äq@G´�y¾¹PÆèƒÕ¡FýO»Ò…²û�÷·¸ï×Ê´‘ýœÑŸÄíçñ>‹å”6¢ßG`Ò&d®Ñ†éرcæ>×Èmã{FÉѶÄâÌ5¬¾mÛ¶ÍøCèï»ï¾á?´•=,û\i‘q££â0.”ãkñ1–rt ×h3Ó&ŒïsL›˜öík¿‡Õ˜üsŒæäùü~yöp@B9Êà§žz*0C²Y“ ʈID o¼P||UÉ•«c±öì³Ïñ‹”Þ�õ×_ßX)ÎÃüñ™Æ:×n�t¡Œ’2¤ËÆKÍ ÃÄôd%@žx‰ãëq¼ežÇïÓ›vÑEeιŽ%Ë2Ç>$îŸðXÿü<Æ )”yIxF:˜â+Ó!€ ô8â}Œ×ã¡×tP°ô&ýûPÞ\a.Îy^<:(„q<~?×nˆT¿ÏÞ1áå¦lÜŠÊ=,ø¤Á1=�ñK oðÏ0”bÊ5_:iy¤ ³=c.^–G(Ǽ8 iBPÁ8§Ù#”€1QÂû–ʹž#Çß¼‡qº¬¤M…E:Ù8ëyÐþÿËCX q@Ä�ÊÎ�\Bá…¥–QfŒ<ä<ÊXI±Ð"ühËÓöƘâ‚�v Æ?ÇÄ”JÎs…e”"#={Œ .”iïb죽ïi3…3ÃqšPfJ™ûÃ*Kþ9OʹҢ}Ípi�Ë÷I¡üä“OñÐvc6í¬7ÞxÃmI»#•‡õ=#ùðçÏÇž‘‰ 6 ~™ŽÊôV4ÆFïzØRöÊ5¨éµp÷矱B!±%ç&»¿ò ½Î&”öŠÀb؆D �[gdI‹2ãöÝòëB™°NH�'מxºûÁÂìñ&…nšE™ð±E¹T¡ìy€Ð|<üy³Yûðϳ²Ø€‡åƒãì¤E�J¹ºE9WX��¡½|ð�1¼šžC¿îûb„2arYz_X+=n>Pä¡ÌµbÊ5W:Åå|¼\B™$�Ž{8Àh„øZ|ì�ñµX(ç{Žlc¾ñ¤u2Åi%9ßÓ±†â€8 ˆâ@ÕàB™:�‘¦¾]zé¥a”!çˆJF²þ çeÖHáøÌ3Ï þ°¨rŽ ¤­Î1B™áÑ~Ž˜v+ç¹Â2Ôš6¢‡Ãx‚‘…¼r mÁZ3~?×ÞÛÂcÆŒ þ±ÈòLÁ‰A€szí÷ØçJ ¡Lû3öÏ1íWô ÇL‰CLÓaàþÐ0¯½öZ8w‹²ßó=Æ3âáÙýZÚ#kÒ MÒîz ÄÆ«|ï/~™�^èV«V­:µ*ÐÕ)4aüó`±PF3Ö…r¼Òµ‹döù„rrÕkâšU€îVM„…Œá\gÎ$ùˆ…2Ãe™@O£�2Òû‚ÿX(3”ƒ‰üôNq�ÉïÄÇqr#OÄË †‚#�ãx“B™9Ê,ÒÅüj†£"ìÈ·‹¹¤`I†�1ˆ-Ê¿wïÞá �ÄëCqÁ€ž1¬wWòàCnyN_ô 1Ä æB+4=U| ˆÿ¬³Î =OŽA®°ä…^7ü2œšrbŽ„‡õ}ü<\K¡1&^xa°À#Ö±Z3¼Å‡Ââ‰UÙ9@ïa,”‹)×\é¤å1›E9/W‡P¦¬˜’?gæåÐ;;xðàÀþל2rcìab¡œï9²q ¾1�9;|[H�© Tt¹8ëyÐ~ÕoŽ0&â€8 ˆ••.>i‹ù†Pf1/ΙÿJ˜v猄djLjYD-Lje,›ŒX㜠¡Ì:?G(3z‘ó\a—´½eJ{›ôh»“WÂb�¥ÄB·´Mh¿²*# =-ßû4DÚÆ\C(ó÷V~ß…2ç´{i�Ñnôû¹Òbm!4„ûõ=#ç´ŸhÓƒçÚhëb1æœös·1‘t˜ó\, ÌeιÇHB,àä“çeOVh_sŒ__X˜s: r�㇠A]ŒžÄo1ZµÊ e„0C¯é‰ˆWº.F(»Ðö½[F“¢Š�„ eŽYå�!žˆæ#c¡L¯•¯zÍüéxUìX(3�Þz„‚@œ.Æ’&òİ…lñ&….áÉ+×ñ2@fŸGͽ¤`I†�1ˆ…2„G¸2±ËËÇK¯ÏìÏãCn@ ƒáCÄ|hzä\(#rxùÆÎKzê©§fÄ/yÍ–‘EÊxF,û¼€Iì8�Ÿ‡ó4cÂKÄ|$ø`Ræ”aÉ/óvá «A3×"ÊÅ”k®tÒò˜M(“¯\¼\B™4Á�ÞRðǪË5¦CðNÐ ¦”5˜q/Ƙs¶X(sžë9¸Ÿ�cT8t²8èæÈÇYχöjŠâ€8 ˆUƒ.”f¾¡ Ê~ï](s +)mRÚ°´«0pÐ>uÿ´û0úø9 ƒ!” K{‹¡Æ´“™×L:ˆV� Câ�v2é €i§ø}ß³€+mKÄ7×øWÚÊ~ŸÕ¼Ñ~N›šöí1ž�ëÙÒ¢½†?ë{ÚàˆZ?G Ó¶¦­Ë0vò�Pæ>@îcáYhsaXâ†2†¶c #†o½Æ¿ëp |îŽÀ& F4ž—¼qŽ•<×9~Ø$”S†^Çb8×q.‹rUû&…^UË¿ò[5*•“ÊIÄq@*;ÜJ‹È¬¬ÖlÄ+¥ÊšÇªž/¬Ê²(¯\† |‹Ùâ9¸•ý…Ï—? eUZù8¢ûâˆ8 ˆâ€8 ÔTV¡ÌÂ]XN™ƒË¨;F‹2z°ª ÒÊš å”ùº5á�|F eU|INè\œÄq@Ä�šÈ„2Co™ \™6†~ûôDÖNaÍ–Ê”¿ê–8 ‹²Är˜ËY?„zf5Äq@Äq@b ްr³0“ü¾ÚsUÁ H(K(K(‹â€8 ˆâ€8 ˆâÀʕƪψ9,¤ÌÖVó0 ìá\ˆ;Qr#ª‹é¨2«^çzhÝS/£8 ˆâ€8 ˆâ€8P38ÀêÈü…¹á#¿ÕǪLÙÃÿוBÞ} eõ4Ü«R¡ä§fT8*g•³8 ˆâ€8 T%Œ92X?ÚjX’‹Ép[BYBYBYÄq@Äq@Äq  rFUêS^Õ‹+ˆâ€8 ˆâ€8 ˆâÀêင²„²zŽÄq@Äq@Äq@"H(G`¨7fõôÆWá*ˆâ€8 ˆâ€8 ˆU‰ÊÊê9Äq@Äq@Äq@ˆ8 ¡�Q•z8”Wõȉâ€8 ˆâ€8 ˆâ€8°z8 ¡,¡¬ž#q@Äq@Äq@¨à/Œ  ¿°ªà¿ñÓÑ£GÅq åJðB¨hõô Wá*ˆâ€8 ˆâ€8PU8€H>|¸ýùçŸÚVÆ ³¯¿þº`±,¡,¡\0YªÊGFù¬|âÂ… íé§Ÿ¶6mÚhâ€8 ˆâ€8PáxõÕWmèСö믿VÙ¶-VO‰äÕÛIÆ…j e å‚ÉR(©ä¯ò Õµ]&ˆä—^zÉÊëÚrB@! „€H"ðå—_Úí·ßnÏ>ûl•mÛ"ÌÖv›­º§_ ÆÊÊz!Å�ÕÎ�4�ûáìÛ­÷O—d¶^S/²—¦^h/N½ÀÞŸÙ1Yÿ…ó´xR=ê¢B@!P# ­PUÅÂì�?þж1�P–𩲈ªúaS¾s[ÑÓ."qü?�|�½8õ|{aÊìù)çÙóSZ¥Vîiñ¤zÔE! „€B F"P„òï¿ÿnÚ*:!$”«¡P^±b…5kÖ̶Øb ;õÔSí‘G±† fñ®»îjƒ ÊœW´p›8q¢|ðÁ¶ùæ›Û=÷ܳÚÒÉ—ïÕýœùÒçþ;ï¼cx`*“'O¶ 6Ø õ^!q—âçý÷ß·�wÞ9”Í�!CÖhÚ…æ7Màºõø…©çÛóA ·²ç¦°µ´g&Ÿ“Z¹§Å“êQ×(&L°nݺYçÎ�múôéáÁ÷ÆoØgŸ}¶Fó£Ä„€B æ"PÕ…2™veÜZµje�:u y{ê©§ì¸ãŽ«”ù̆ØJ(GB™‰ýuêÔ± 7ÜÐþñ�Ø 'œ`Ÿ~úi¹ÅÄ9çœæA*Êëïí·ßâì·ß~ ygyó×^{-ó±€\y»öÚkíòË/ϤWÞç)5|üœ¥ÆQ^|r åÅ‹ÛÛžÛY©5|Z<=ô�ÝrË-e¶çž{.5|ò"âî§Ÿ~J^®Òç#GŽ´BŸ¿¢ôÑGµï¾û.ÝW_}e¿üòK8�…òÚÈ[&S:B@��@uʬ„}ÒI'ƒÙ&›lŒW�?þø©~ø¡ <¸ÜBy¿ýö³Zµj…m£�6²#Ž8ÂX‘ÚnëÖ­3÷yÞºuëfÒEèzXß*Ø%”#‘Lã p{öìiXúæÍ›zÎ?ÿür‹ŠòŠ-¼… Ä×é§Ÿž5ß±€,OÞ’I“ù"íB`2l±Ïš ŸÇÏ_/æ¸<ø�N.¡\L>Ê+”×m¶ÙƾýöÛUʬ˜¼¬n¿i÷¹)çÚ³Y�]?5ùL{jR {râ©•yZ<e*�xNÏSˆ+�PþïÿV¦,$�5é§¼b”Õ6‹uwÝu—Í�;75XE åRò–š)]B@�j‹@UÊ´ÃiãùF=ƒxÄP6þüð?ËÇ{lÆ�û]“{·(—’&B™Ñ±tªÏš5Ë.¹äÛk¯½2Ïóžyæ™áþŒ3¬eË–aô$iõéÓÇj×®m‹-ÊlK—.͕̈́°•EyåJ[¶l™mµÕVvÿý÷¯" hPÓ�Æ ·Ï>ûòýóŸÿ C]0Pxõë×·3Î8Ã8àÛÿýí“O> áXMoã�7C] ç›!·r�ãꫯKßsN|ôvœ}öÙ¶Ç{Ø}÷ÝgË—/·n¸ÁvÜqGÛzë­í¼óÎ3,’Þ÷?ü°m¹å–F� é±ñliC¯³å ’!vI‡ôºté’I§E‹vÙe—Ù1ÇHÈ éi³g˜i“Òæ%…œ<7"m‡v°ë¯¿>ÿiÏÇÇqß¾}m÷Ýw·Í6Û̶Ûn»2å„5Œ—…{õêÕ³qãÆeò å|øÑãEÃÅIÌKÁgÁ‚aØ;ñì½÷ÞaÈI¡C¯Á†9ä�ð¼g�uV(w0€Sô„y™‚k®gúþûï&wÜqGÈåNë®»®m¿ýö�ËÄ{óÍ7‡8ù¨ò!êׯ_?Þ Êj§�v²M7ÝÔ=ôP›={v¸OO=zþœ éörËV^K–,1x>sæÌŒ_ïÓnl=þŸ8naOLln�O<Ý›Ð,µO‹¡Œ8LsX6)sF_<øàƒ�gL#ÀÑáѱcGCä!˜GŒþ¼ IDAT®ó®<ñÄa1�Cth¸c„ áXÅ>á7v¹^½zY×®]Cx¸Ì_cesàÇÿwÞygx/ð‹è|òÉ'CÜ{óÍ7CG€ÇÃô‡þýûÛc�=:°£|רúÈî½÷Þ€ÏBE†Ë–·´|èšB@TO¨ïìr‡ÝÚ©c™�ki�´U](#ôhúÆhX¦]ú¹ïù,?¦î§mG[ý”SN±iÓ¦…{RhOwïÞ=hôí ,Ãèî]uÕU™xh7ÐöF3ÐN¥‰_OçÜsÏ m Ήmã÷Xuœv$qÒ^f4¬ßK¦_'ìzë­þÚ‹keo3sþÅ_„63å�PFËxØxÏ=×Ûn»mFo¹°•P^¹2Ì×E„Ì™3'kþƒ>�AÌðÌíD P4Ü{묳NF3ÿòa•æ~šU2ŸPFиh¡QÛ®];;ꨣ™i03ùÊ+¯LÍ/�-Êä/M(gË‚‘¸éq™4i’í¹çž¡QŽ‚ÎE¾w$pÏ7^ÐØ¢|ñŇŽK8^ôø'oÉgõx|Ï\ëÏ?ÿ<øSÿóo^FD­¿@ÐQáyŠ…r.üh¤ó¢"$ø��†ÏßM+»\ø\pÁk:1M»í¶[Ás”ÁµQ£F™—ù°Ã3zàÀ!Í¢œë™Êpº}ûö!¼cÂG/¶(¿ð �Sˆ †å0å~‘æu×]¦"0§Ôy��£7�xK¸�†ó©S§†pÙÊ‹pä)NßË8Þ§ ܲâøÿò£š[šK‹'ŸPF´ñ8"×]Ò¢LG•Í7ß|¬ÅS¦L çà‡C(ÃI¸€Ãª;žÑ†à‹è{þùçc/™cÂÂOD0nÂò.áøn!è¹FÚ¼S¼/îÈÜGœ¿øâ‹A8s?Í¢œO(3t�Ž@ù‚_:ˆŸ Œ»äóz~À,n¬�¿¤PΖ·�?þ8¼|›ÀŒJî½÷Þ Q#”“yó4µB@�šƒÀ¨¯GÙ™g�aÍN?-l-Îlnÿž @Uʈ:Ú®l´K˜>Ê_lúµäž:žö&þ´w1ò!®ñG{†69Ó'éð¦3C øiãŒ;6 ç¦��„2ú�Ä9ÿ9Lƒçå[o½5cTÀªÍu¦±¡“èX§>§œsÚÜOnûî»ohÛp�6ÏW\a´‘Ý<„2ç`@û}ÀyïÞ½ƒPv¿ñ-‡!�käã_|l%”W® �ÏbU¢‹= Qßè%¡ÑËyšØÊ'”™Kêq±GÀ¸Xä2CôØ�—G(cÂî�qâÄ „@æ˜=s�=­´}R(#Bi<»_½CœÓ¨O>«ûó=–m„·w<øõÓN;-Xlýœ=VkD"DZPÎ…bˆq<~œ,»|øð¬ü�½‡G@cQFü{XD.ÎÓ„r®gr¡œu�Êž–ïÁÌóÏG+mŽ~�=B¯ ‡aOÇ eÉq¶òŠýç:N¸±õ ² dß§Õ~iñ ”±Ú#Ö|sчE™¹;DÖO>”¸¤P¦3;„ñàÊ”g¡Ž²"oiŽNîÑá‘ÏÑ‘Ä;æ! ÜQQ†¸R…²[q‰ƒJžÄË;Â5Í•G(Ö;2ˆ› “çùPŽó––¾® ! „@õGÀÅr.‘ U](#ì‡lÔ‰$~-¹?ñÄCÛÙ¯ÓÑN:»iã"|‰Çï#&_ýõÌùÉ'ŸÚäܧmŽ%Ùý²Gÿ`äá˜!ÐeŽ](s̨0ÚÝûF›žøü<Þ#”É£oä c¢ûA(ÓA@û ƒ‘êÝwß ÷¹‡ø§Më „¥�fâÙ=®x¶ÊZ”z `è+&|QÛ¶mƒ0@ Ð7þ)pÒI±…¿|BˢLJ•rPð }`c¨„Àªâþ|_¡üÖ[oÙú믟I‡´X%™Þ$âG(#þ<­´},”iü“w,Fî‹;ääìâgu?ñž‚ã�?> {ǪîÖ^6Èöe,œ„w¡œ?„ÿ…^˜É_œv²ìráÃsž•ŒÇÁ0äb„2"ËÃ"Œè�á<)”ó=ÂŽz\¾O e„82nSö|\<~†ãxX߃©wÂ3Ì?ÙÊËÃçÛ§ Ü4qì"¹X‹2#Aà¥o.„Áž�gì–Œ?\R(#‚jÌ” ßm¾j3B™´²9„8½¨tDŽŠ‹hšfJi¤9zcI‹÷Þ‡$c}vGÜ”£;†Ï» /E(Sαc8ßÇ€=B™Þç4WªPæ[><§§…àç;‹õ¡œÌ[Zúº&„€5�‘£F[.W�„2sxŒŒ‹_|L›Kn| M‚5¡LÛ1¾G; äך7o œ#l4h�¹Ç5†rÓ6â8›Pfø6é e|ÃøG›ËÓ‰÷nQæ–nÄ/–nÚº\C(£»ý±Èç~‰›v”oÞ¸‡¡mÇôÃ#�<2´ß¸î›„ò_`¡—�k²ïCVŒ¯ÇZ�æÜúË…Øû׿þU&,f·(3ô€†i7é1´Ó¯A¦8>zlü{üÓ¨�¯e;.F('ó6jÔ¨0Œ6M€“B™†w¶´¹ eÎyrY”“Ïš-nʉž)æÚ⇗ñ’Í¿ eîçÂ/—E¹X|xV¬ýž',˜!”yù“£r=S!BùÇ eÃðÏ/,æÕ:fieðjÒ¤I&Œ‡Mî“啼ŸíÀÙâÞgsäƒo‡¯øLçD6¡œË¢Ìœj:pxgqTtI¡ 'ÝÁ ·(ó¾3 +v<“[ŹN>=>Ä(`ìð…ºB…rZÞ˜› i.-oiþtM! „€#àmïlm’Ê|k'm-Ú¾ùe?÷=�êcQF�úu·(cÐr¡ì÷Ø#”éô÷k.”9G7Ñnô{ì±0cQæmÔ6Ž™ÞÇÐkŽé\§íÏq!B™)]±_Ä/qríÒK/Í,æûáÎäõøœökö åâë`+‹ò_b«½†öàøâ[Œ¹g.,/ ¤Âšë/�]&•Ó˜DH#�LÌÃÃ?þÜ2è/‹aaáÁBüq|IñÈB^„aÎ0aÈ#ß=¾x_ŒPNæ�ކMÐÛÃ|Tß4²}>v)Bk-=Nôà`e‚ð4–É3Ø%Ÿ5~ÄC;Ùs�—Ò‡m³€–Léä›^&üºÈ�…r.ü|Ž2!Xɧ?.Ÿÿüç?ÆœlòJžÉ!”‰‹¡#>7œøs=S!B�Œž�'ñÁ',â.”™ãqøá‡¾ƒ)˜À ð‚ÿð¼ø�0/…!½¹Ê‹{¥.æ•ʈä¿òc% ezMá‹o<;.ŸPæý޹7¬™T,ÄA|”�/È•O(#¢éõuÇ0¢lBÙç(#ˆ}Z„ÏQ¦pË5åDå–¸éØâûÆÇŸÞQîùps¾=þò|P– !ǑǗ&FíàVkòIþÆŒSî9ÊiyÃÏâhŒÞÀÁ)zˆqiy 7¢òÆ\*8‹ƒ¿¹Î£ :B@�jˆ€·½©Ç«Ú†N¡n§=âm †3ϘgF‘Qw2Ô?´h;ÓäízFmr�6úÅãb�Pf$¨_C(ÓiÍ9mrôs•©—iG£÷•‰Pæ˜vB™cÚ‹Œ,Å?mwÚÝÔÅ´¸ŸÜÐ ¤AûŠ<ÓÁOºsðëB9ŽsÊÉ{{îax#�ØØJ(G/“ÖYÙ—a Q¥WÆ-j4héi@¬B*V¤ö— ±ÇbYôœ@¿ò…¸xéøÏPÄÃU Ë5J¯ Ã^±Î±¬y_R<Ò £·ƒaÐ `Ø«‹Íä‹]ŒPNËcõ™Ï p<«0»x*E(ClVÃF\ñÂ!Àxò�O(3ìÌÁŽÎ&ﻈ%~¹ž©¡Lœ”\¢#ƒ!Õ`ée�˜à>Tðå?Æ}X9b“r¡LøØñ‘E°ä*¯ò,æåâ˜ýdz»„-¾–Vwó>%a”I¼1t—O(³ˆC›±¨ÂAï Â�Jƒ÷‘�7}\>¡Œhc.1y"qfÊÄç�¤CzX’qàJO+óè¼ð®ÃÍ¿„2'œ&s�xGpp€0\çÙpðŠkàÂð,*Ø\B™0,ÐÆs0ôÑ̳—w1¯´¼q�çúÏ(D>8®¡LÆøÅÁ×\çÁ“~„€B Ú"àmoê—ª¶¹P¦}o´iÑ0´Í´C©£ñC½‡E™¶m¸Æ�g ´- ÇE»�)u~�Å‚i3pNLû�¶7íDÚ“tè»_„2k½pN;±î÷˜¦vôÑG‡ö=š‹63†¿ï°rؘ"ˆ›6Šûáï¢Ð'~ïÑoùä[�ÿ‹[�⫯¾úJ¸¾\±ÿ%](®Éo†„²„rÞ—1I�«ñ!ˆâ€8 ˆÕ…�û ´/ ´•þ©­ nyq€uyùÓ¬íHDòðáÃíÏ?ÿÔVŽ[¶÷Ëï ×âxå¸eÃ5íº„²„rÖ\atM #q@Äq@¨N8¯ûöû+µ•€ØeãV<‰¹âÄœãvµ4ìô}.\Óð–P–PÎú"¦F×Ô8Äq@Ä�êĆ[¯øým%`vÙ¸À�è•+Wj+°®Ï�\¸¦á-¡,¡œõEL#Œ®©q$ˆâ€8 ˆÕ‰ˆ½ß~ÿÖ¯ø½Â¶¥Ë~µ–­Î¶Ë®¼Ø.»â¢ÌvéÙyçŸ[aéTdž‹� Ìò å?þøÃ´�A.AǽR0�9l¨½ÝäDësø�öeÇ[lñÂ…öõ×_Û—_~i °O?ý4Ì�þþûïmÉ¢EÁ~ CØRÒ¬larášöM“P–P–PÄq@Äq Ær±÷ëŠßmÙo+*l;îGkk[ëöXûU¶-O­°t*2ÏÅÆf…åßÿÝ*r[±bE…ÆW‘y«ˆ¸—¹� åbÓBðÎþz”­X¾Ü†=ô  éûª 4Ⱦùæ7nœM˜0!ìG�mcô·oŸ6ø% a‹M¯²ùχ«„²*Á[ ¦‘_×dÄq@ÄÄÞ²å+ì—_«°mÌØ¬}Ç6«ˆd„s‹–§TX:™çbã³Õ!”,X`�=öXª0Ãòyâ‰'Úo¼‘z¿²‰³Rò“OЕ*”±#’¿{îY›vOW›Õ£›Í6ÔÀ{éÒ¥öË/¿„ý¼oFÛ¼§Ÿ°ÙO=nS?|?„!l)ÏR™ÂäÃ5­.�EYâYâYÄq@Ä�ËÄ"qɲååÚæ-Xh�=þ˜-þe™}ûÝ÷ÖæÆ+íæ®—¯²�rúIåJ§¼ù¬¨ð`–O(#”°»]qÅöøã�— 7mÚ4Ûwß}­V­ZvÕUW•¹WlüøoÕª•uêÔ©Üñ”’v®0`–Ï¢\ ®_t¸Ù·kk“¯¸Ä¦]{…ͼþ›uK;[þÓOa9‹_-Ÿ6ÍæÞÞÑfw¸Ñfu¸ÉfÜr£}ݵ³6WžK½·&Ë ®ʪkl%˜F~]“AÄq@{ˆÇE¿,+y›3ÿgkÖâTkzÆI6nâd=f¬]qí¥ÖúúsVÙ69.5�O~jGQ×6ÞxÛl³ÍìÐ:uì­wÞ ~|øa«챩á ÍwEħfù„2ê·ß~+z›ø Õ«WÏN?ýtÛÿýCÜ~øaÆo1¦ù͇kZ] ‹²Ä³Ä³8 ˆâ€8 ˆ5–ˆ½Ÿ/µù —µÍœ3ß5>Éz>ÑÙ:õ¸º íèãêØ»|¸J:ĵõ­q“S¬÷˯Ú�“¦–ñsÿƒY½úÇ–¹öêkoØ ÁCmî‚EöQÿAÄ}ðÑ'ÁO·÷Ûºë®k¯½ñV8Ÿ÷óbK‹£ØgŽýƒY>¡Œ`A˜–ºaIF¼"°êÖ­kS¦L)(.ýbˆ6ÖÐli#Òn½õÖpÿ¹çž³vØÁFŒaÝ3Î8ÃN8á„poÈ�!!}O{ìØ±auhâmÛ¶­yä‘6iÒ¤î´ÓN³Ö­[gM3[^âë`–Ï¢\ ®`‚e�aìÌGf§ó¬K÷çÏûá˜9ã�<òH™x^xá…0ôÚý2*LæÏŸpû׿þe ‰ç~\eF |ðÁáùÝb‹-ÂH�«<û|¸J(«¬±•`ùuMVq@Äq@@ìÍ_´Ôæþ¼¸¨­éé§X—ûo¶¶·_PÐvTýCíµ7ßÊšÆÈo¿³ÿ\p¡í²ë®ö·¿ýÍŽ©_ßFŒü÷xàÁpž+�g�}Žu¸íöàÿÞî=ì€,“V!qäŠ?yÌò e„ͲeËJÚîËœbì?ÿùO;ä�Cìé§ŸVÜ|q¾úê«¶ÁäL·eË–A(–köòx'Nœ„öŒ3løðáaXü[o½ÚÑî‡=Ãå?ùä“L8„ööÛoŸ9�ýz fù„r)¸~öÙgAГ0ß¾lyš¡Œ˜Ah»1ì¹Q£FA¬î¾ûîA@!–ÙÎ?ÿü🿹âD¼bQFlgó‡HëØ±c¸à�Ú3Ï8`ܬY3CH34œ4…ä‘�aÙ ÁfHv¶tó]³|B¹\¿úê«`Q&ýåãÆÙÔ®�mé‚«äsÉœ96ôê+ì×ñ?f,Êt¤å¡|ç�wÚ?ü�ÙzôèaÌ#Ç?믿~0b„@Æ Ãý¸ zöìi 4(“N“&MÂÂmii{-®ʪkl%˜F~]“AÄq@{s,¶Yóµu¾«‹{R];ÿÊÓsn‡ýû {þ¥^EÅM^ž|æ9Ûr«­B¸{~¸~ÖÙ-­õW†ã»»u·NhXÆZÅ>sìÌò eÄ C|‹Ù.}ê©§†a¸ˆÐ·ß~Ûž|òÉ B],vØaaaªlñ2|ša» ÝNúAÄr�U´Ê#ÜXÛýN˜0!ˆ`»_cÏd¬Ï\pA¸N_~ùe?±ÿRŽÁ,ŸP.×1cÆÛœwß±™g7µY—_lèaK~þ9“ŽGwîdãZ�i³ÎifKôÚ�…ÐÒž¡üð×¹Ç0v„2þ™�¥‹rZø¸ ÊéØs•)ûøZ©ÇùpM« dQ–x–xÄq@Äq Ær±7{þ"›1÷碷NwÞnÇœPÇι¤É*ÛÙ7¶CŽÜÏžzî¹¼ñ9Ú®ºæ:0h°Mš6Ó¾>ÂŽú÷1Vÿ¸!ìó½^‹rM�1'׿›onïÔ?œ~«­þa—]qe8¿«Û}Á¢?SZñýb�Á¬¢…2à“O>9̯ÞgŸ}ìÝwß ¼Dh1xÇwÌlüET.ÑÄP^†cá7n\˜¯ÌüYæÅ.i ï¥ã�¡Ó³g϶-Z„aßøcøp¿~ýB>˜gËüåK/½4Äqíµ×†¿±bÞ2~I+j®|å»—OÐ!¢KÊóf϶‘·u°©MO´iÍÙôæ�mFë í‡Î�Â<`:(F¶ogãÏ;ËfœÑĦŸ~rð7±{7ûyÁüÔgÊ'”é” Sƒ9ʈmÊ<ù‹.pˆË¡¼Þzës•YŒ �ÌߤÁ‰|˜r?®ʪkl%˜F~]“AÄq@{lä¡&IDAT3ç-´is”´Ýrû­vTƒƒìŒ‹ÚaÇìoÇ7j`'ŸÚÈŸÖØ^èó²M�5Ï~š=?gÜcÆM´fÍ[„Õ«×_Ûzë­íÔ¦Ílķ߇p“¦Í C±Ç ³&¯>úxÏu�<ÊšœÖÔšžÞÜ.½üŠp¯ë½÷Yƒã–I3-ŽRŸ™p`VˆPF,²Í�;×7nl{î¹gØ¿÷Þ{aèó AƒŒí‹/¾°k®¹ÆöØc� –¯¿þú¼ñ"Œ2Íÿ(cÙ<î¸ãŒ•”É"­C‡á‡E±Œ•˜|`UÆßÀ�ÃÐoD7s’òüÏ3÷Î7ÜpCÎ\\,¢Ìu.äy³ùÉ'è\(g Ÿíúgío´¡m¯µÉ§6´Ÿš�„0–å“'‡!Öüñ‡-?>X’ÉløÕþ#lZ¼eþ†+¾÷ì³Ï‹²_G:X¹áËÊå}ûö aâ2¸ÿþûCçÄ™gž†¸SÎÌ ÷xʻχkZ] ‹²Ä³Ä³8 ˆâ€8 ˆ5–ˆ½ó~bA[è6yÆûqÊtûæ‡ñvU›k¬nƒìУ÷¶WßxÛúl¿jŸnCF޶¯Ç޳ï'N5Äj¡ñWv`–O(céC„æÛ° >ñÄvï½÷QŒe–¤fÍšÄ(᥈i¥ºçž{ŒÿëÍoU¼fù†^Šküü½;Àþü³ýеsF,/ìÿIø (íò�áÖXœÉSïéÂ6ŽkucùgXûꈛ8óá*¡¬J°ÆV‚iä×5YÄq@Äq±7}î›2k^QÛ„ŸfÚ·ã&Úà‘£íÓ!Ãí¢Ë/±î²½½òÆÛön¿þöþÇì£OÙ€/‡Ú—#FÙ¨±ãlÜ”éE¥QlžÖ¤0Ë'”±"‚µŽ˜åÊ¥àúF£ãmÊ�Áaõ°6רw݆CS6X[}�0Î'uïf_ßÐ&ø% aWw"”™+¾ºÒɇkZ] ‹²Ä³Ä³8 ˆâ€8 ˆ5–ˆ½i³çÛäs‹Þ&MŸcã§Î´&M³oÇM²¯¾kCG}kþc#Çü`ßü0ѾŸøSðƒßRÒ¨¬aÀLB¹p\¨Ì'èÑ¥剟 ‚·W�ýíÓ›ÚÙÜY³Âr(ccá2æ)³Í›3'øÁ/"™°…æ¿Tʪ„jl%”ÖK£kêÅÄq@Ä�µÍÄóˆ'NŸ£­ À,ŸPfÈëÚ.ߪ–>˜å³( ×â¿›ùpMã‰,Êïú€‰â€8 ˆâ€8Pc9ÐòÞ¾6qÆ›4c®�Ÿ6[[€˜�]šÀàÚG}îaa\°`�¶0«»4l…kñ\*×4¬%”U1fýÀ¥F׊ïÁfÂLÄq@¨¼èÜ{ ]óøû6aúl›4ó‚!¨- 3笮~ü}ëòòÀ¬íÈaÆ……¹Éâaü+Vø»l˜ ×°Œñ+ר¿K(K(g}�$ÚÿB 3a&ˆâ€8 TÜÞk@°Ž2”X[~ °$çÉÎý¡C‡Ë2C‰µåÇkq.‘,\óc˜Æ³Bqu|}/¡,¡,¡,ˆâ€8 ˆâ€8 ˆâ€8q@B9Ã{´¯:=À*+••8 ˆâ€8 ˆâ€8 T4$”%”Õs$ˆâ€8 ˆâ€8 ˆâ€8q@B9£¢{!Ÿz¶Äq@Äq@Äq@¨z�P–PVÏ‘8 ˆâ€8 ˆâ€8 ˆâ@Ä å õôT½ž•™ÊLÄq@Äq@*šÊÊê9Äq@Äq@Äq@ˆ8 ¡�QѽŠO=[â€8 ˆâ€8 ˆâ€8 T=H(K(«çHÄq@Äq@Äq  r†zzª^O�ÊLe&ˆâ€8 ˆâ€8 ˆÍ e eõ‰â€8 ˆâ€8 ˆâ€8 D¨p¡üW„u´¯% j ½â€8 ˆâ€8 ˆâ€8Pe9PKN! „€B@! „€B@! „€B@! „€B@! „€B@! „€B@! „€B@! „€B@! „€B@! „€B@! „€B@! „€B@! „€B@! „€B@! „€B@! „€B@! „€¨ü�ˆõZwëIEND®B`‚liquidctl-1.16.0/docs/developer/images/wireshark_2.png000066400000000000000000002432741515166127400227250ustar00rootroot00000000000000‰PNG  IHDRå�o(ߊ IDATxì�wtG¶îyÿÌZóæÎº3OòÌxâ»×yfl¢‰&'Æœ#`‡qÎØLÎÉd‘sÎ9J$„BIHB9K$±ßúJÔ¡Õêsú$¤ï¬Uê>ÝÕU»wýºO×§]ÕMšðCÐô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô=@Ðô€×ø¿Mš4ùk“&MþÕ¤I“à&Mš4g¢È d€ �2@È d€ �2@ Ðà‹AƒNVãŸÿƒÊî¸ãŽW›§uhÛ¶¢Óc�I玙è2@È d€ �2@È d€ ��FÁô0èbÍ›6M»ë®»^¾)ÎA7«‘ ¾ÿŸ=´§cûöÒúÑG¥Yp°>ò}@È d€ �2@È d€ �2ÐhPºØ£-[ÊcíÛ˃<°ºY“&MjD˜û+¹vmÚ*¦G1’ �2@È d€ �2@È d€ <"íZ·Ö†³úõóûÛß¾Ú¶ukŠqT½É d€ �2@È d€ �2@È€‰swÜqÇ‹þžcî¯-š5Kf„Õoªßd€ �2@È d€ �2@È ÕPCZ›5»Ð¤I“¿ø3Tî_Í›6½B‡Ww8}BŸ�2@È d€ �2@È d€ €èg7ßÊê7].¸iPÐ FÀÈ d€ �2@È d€ �2@È€5ÐÏš4iì7E®I“&ÍélkgÓ/ô  d€ �2@È d€ �2@ÈÀVèhåLîñáBÈ d€ �2@È d€ �2`d k³Gä¹GV©Wó‡}~�E9 r>Cd”ë¼a‘2@È d€ �2@È  …q {=,¡O?" ÏVIáÏ<"“º=,ÈãÍùR”£(ç8ÞÀÆc¼»Hé7ú� �2@È d€ �2@È@í3ðÅcÿ–óÏTâ̾#Ïw�ÿí±¾BQŽ¢œÇÐðFPû7úœ>'d€ �2@È d€ �2P{ Ìéù°­gèÆvñL˜£(GQŽ¢ d€ ��ša ðQéóÒ›òÙ°¯ä•®Mk¦ŽÛ¹í诘nû¸¼þΧòÝg¯H‡ ¯ÊpÙ¡a»øß§·óuJÛÉ d Q2€9³àæî÷O:¸/ÌQ”ãÖ(/0—ãd‚L�2@üÂ@@ó7dsf‰”—$ÈŒõK™ éþMÿx÷ŸîöÿY'…ååRpr†ô ö¿(Çvñ®]ÒµÉs!d€ ��ÆÍ@‡à‡«Y}!ȹHgÚ‡¡¬(ÃŽ(ʱãå(îÀÄ<�ûÆÅögû“�Û›�–/͑ԒIYñ®4 ð�Ðq[ˆÍzÈdz¶Ë¹‹¹R˜—.§÷.”÷ûÔŽ€x[øÏIÁÒíõÉž^,ÅIKåùf�uúìÐèE¹€Òïí±²þð9ÉÈ-”ÂÜt9{h¥|ý\ ¸½ïCüaû‘2@È€™�òòrq•Ìùýñ}zwS”Ü ARzê°dÎü¬š0‡mØ—`æÜÆJQŽ¢\�>Xûã‚a¼q“2@|` ùs2m}ˆ|õÖH9”“/{'¼'ßÏß _oçóïC½�[Ë»‹c¤¸¬\J‹ó$;·HÊÊˤ(i� éìóùÛqYïý ­{¼.cW—Ì’Rõ@LQ·kÍOÏœm^™#I%eR^V*…9Y’[TÙ6%i›å­ö5Ï­×Ü_÷Œ° Ød€ 4$ È9;WûœãÎöˆgª¿eâ›T\—¬Ù_;„9«mzˆkä÷8¤(ç§$w–y܃’~¢ŸÈ µÇÀ£¯Ì•Ô’2%JåæHn^¡”•—JÒÊ÷¥e»�ä`~™”�”ú6WSƒÄJiy©$/§2¢. Hz™(;"“$§°Hò3S%&,Du‡èT–'‰gb$=·@òÒcd÷¼O¤w‹›ÑxÁ}åû•{$2&Y2s ¥¸0KbC×ÈÄQÓeÛñÉ)(�¬ Q²aÂÒÞ8XPyý‡e›.yrñÜAYøÍ Ò6ðV¹ÃWí““1‰’ž™'E…yr1æ�„|õ¬ì׺òá:¸¯ØµîA­Ÿ’áËJü¥)ÌK•31©RêbøjÃo—ÇäÃéóå»WºKËÀiÑë; Ï/•ò’T™ûÚMßòùÖiŽ¿/µ÷ûB_Ó×d€ øƒW›«}ÞÖÝ«¹ó—;E8ãºâÌË®Íì (LJ>´�2@È@cf i[yü™!2iÛy)(.‘ü¤½2vè³Ò«]3qGÜêø±È.QBVzl”DFÇIF y©yà-Q®‘h9r1å’–!§DΆ¼)­nå)+•‚¬‹’ž�hµÊa e%y’‘‘+¥eåR^rIV¾ß¹rx^`+<ç¤a{Y±äfå¨h·ò²<9<áy%Þ+˽˜‘³œd™ÿF{ �NŸl’üÒr)<3Wú7 �À€ yyf´””—IöŽo¤�øœðÑ ýƒs”îo�•éÃËo/”´’2E¹`¼àœd¥]�ø¸IÏ-Q_Áé9òd³êm_­�`CPG¶5E‰pe¥y’–’.ùˆóQ”»m¹µ`1¸û7J”++¼)ž[äñ¶cÂãì;Sô}DȨY\ o®öyÛ.O·t.ÊAtÓb¢æ°nâŒßQ–�åøàb ‰DÜ_³7!ú—þ%d Fh!¯ÏÙìòE�©]‚Z”YGÓ¥´¬DbW} íl„ä½—ð™šÏÔd€ �2P ¸Þ\íóö7ï¹G)ÊäÙ[ yÅ2@È@Ãg e�!2wcˆ íÔAÞŸ»Q~üO?ià–(Øò9 9S9ı$/Y¯ž"ïôk«Ä“[¢Ü­·¯uüTŽ`Hlñ÷TËêÂLP's0OÊË‹äÀÈ~$/͈’’òrÉÞú…´Ä�ýj_¼L{®Uõr‚äŧn–ó¹´ ”§kA”»}ýãQ.¨£¼;c·$©9Ã$ÍEÑ2ºs7Ú(@Z¿µ\rKË¥8e¥Š¾ÄýÈîEîˆr ¡]š>öª„¿$¥e¥’¼oœ<Ùªn_ÀÁߊ†ÿ[Á6f“2P ¸Þ\íóÖV 95F»×u”æ•3®ó×9|•âN2@È Þ3 „®[ÞÂYmN¹G‘¦íž‘¯fn’Óéjèiin”Œh!Œ=òˆwýJ 0O]´Œéߢº0Ø^FìÉQ¢Ü¡Ñý•(÷ì¤ãJLËÙþe¥(7Ä;QÎ\NçO¶HA†¯Îq _}I wî _ làþ1>Ìz)×aè ÉTÑ‹Çeþ÷ŸÈ‡ŸÍ”cêìB”3·Që·n¶uú:yí¦k'Ê5†v î8XV�Í“²²b9¿é;y\‹Ó¼ßy¿£ïè;2@È@ x¹JÆç„š\w%¼¹Úç­M͑Ӫ sV"œÕ6-ÊáeîØÀ᫼ðÜŘ˜Ç½‹Ž~¢ŸÈ¸]höЬ»ˆ¡¤y²ý›Ç%ØJ” n-�µmVù[Ò²¯ÌÏ—òòb Ÿ4P‚š¿!›3K¤üæÐÔÀÀGåÕi¡J+¹¸N^ke˜wΑÇ^” îú…iøjS5|U ‹ÍÜ&C­†¯‰YðÑC#ËŠÏÉ´ÛIPËgdÁ©Ê=ó¤í‹ºŒœz,ÊÊ“£«áÁ¹FÊc�­ÅÐdD9ý2Žò’tÙðE_5_ �(×àÛóìmKUr‰Û¾•žÍªF5Û�ëü½!d€ ��Û�WÂ`Mˆrðפn¦!¬/IiÔ!Ë9ä Ì•ž:, /Uò¦wÿ·[Z E9Šrn�r»_È´Ÿ?Fd€ �/h%ï-‹wL²Ÿ~!Y2ó1Yÿ­·¯¶|vš$æIjÜi‰Œ<'— K¥¼4KÖÜUµ(WV*y)’œžWù²…²Ù?z€45¾èÁQâÞ›ó¢/zÈÉʹ¹ž/áS_RCo« �µåÛÊÇ«â•M¥Åy’�‹—L”Iñ… òf‡`iÞœœ-.“òÂò}¯ÊùòªpÔÐýcxF²åìüÓúÕyê;e¥¹wâ ìÝ!©àÃQ.0°�¼·äÜÍyIV깘‰7—KÁÉÒ×jÞ¿Þ.Á=¾•ˆ6-+‘¬”x‰‹‹»™ÎËÁÉ/«ëª §†väv/îƒôû d€ ��Fdž�V‹–3‰n:"N-MûÎ? ‚í_ò€ßeŠr¼ÀÝÆR>�’2@Üg ¨õSòýÒ›ž'ťŒŸ™*1‘eé—O«H²ÖÏÿ û¢%» DJK $=7X:âÅ ÁýdäÚwQr Š¥¤0G’¢vËìÏJë›ÒWÏܾªÚ/¸£¼9vµœH¸$EÅ’*KG¼"íQï#�Tk%ÊáE-{ËóvËùô|)ÊÏ�³ûÉýZ«2š?3I½Ä¢¼à�|Ö¹©åïeC÷�¾V,E9;ÿ¶–¿[*á±xcj©”–JVj¬œØ»PÞêÜÔí6 î$o�[%á±i’_\"EùYr!&BvÎ~¿’3‹g¹†Ü.Âão¾�¶jô@©Ä… ¡(gÁƒæ˜K÷ïýô}EÈ@cgà‹Çþ]%ò­Š÷| Ë}8Ö]ÿQ”ã·Û°¸ óñNÈ  ��vo¯T/”(Œ™/O7åAs›Ò?¼ÎÍLð;™ d€ ��†ÄÀØ.ž sszº!§ýDQŽ¢E92@È dÀÌ@@�¼<+ZJÊKääÌ—}Dÿð13Àïd‚ �2@ˆzÃpT»H9äñ$BŽ¢\#€G72—üo d€ �’®ß“&�’×:Z]mÔ>¥Øã³4 d€ ��FÂ@¯æËÌÿ–ˆ�Tç>UùbÌCçͳ!#å DÞÀÁc¼»¨è7ú� �2@È d€ �2@È@Ãb yà#�îé–Ës�>,Þ qF.(ÊQ”óJÍ5BÄõ†u£a{²=É d€ �2@È d€ Ô<å(ÊQ”#d€ �2@È d€ �2@Ȩe(Êղé4×¼ÒLÓÇd€ �2@È d€ �2@È@}g€¢E9*ád€ �2@È d€ �2@È µÌE¹Zvx}Wiiÿ“@È d€ �2@È d€ ��šg€¢E9*ád€ �2@È d€ �2@È µÌE¹Zv8•æšWšécú˜ �2@È d€ �2@Ȩï P”£(G%œ �2@È d€ �2@È d –ð»(÷ÿþña¢È d€ �2@È d€ �2@È€sü.Êåçç }@È d€ �2@È d€ �2@œ3@QŽ""ET2@È d€ �2@È d€ ��Zf€¢\-;œ ±s…˜¾¡oÈ d€ �2@È d€ ��ÆÂE9ŠrTÂÉ d€ �2@È d€ �2@j™�z)Ê�>}Z~ñ‹_8`xöÙgåË/¿t|¯Šipp°,]ºTÙ4cÆ yì±Çêľúè›úÐ>´Á÷ÿ¬Ô%×uÝ~Þ^W·“ÏÌ÷Y_|þç?ÿYöïß_'÷@_ìv÷ØÿùŸÿ‘;vxu~·îúÃY>_üä¬LmoLíà/Ÿ±ßGéCú� �2@Ȱc NE¹ýë_Ò¤I“* Ÿ‹/ÊØ±c o;Èv'oÜÿÆoT±v…Ac^¬E¹ððpY²d‰²÷äÉ“.�3—ãê{§N�ä�wÞqøAç]¶l™Üu×]’™™)ëׯ—½{÷VË£óÖörÑ¢EÒ¼ys¹ãŽ;ä7¿ù�ɸqã$++«Æm QíòË_þRù§cÇŽ²uëVŸë�2eJ�‰®î¶ß§Ÿ~ªøÝ¶m›Ïç«ë¬Ï�Ø]»vI«V­äW¿ú•â¬iÓ¦êZ€íž¶—Õ5ëîuõ·¿ý­ŠXc¼h?Öô×–ù>jüXÙÐXE9°ƒ{îŸÚ//¾ø¢å6üö ®…˜˜G~}œ;ËútyËŠ;ç‰<5)Êá7ú™gž©ÒqqqŠ}°lgc}j;[¹Ÿïd€ �2@Èh< Ô¹(7~üxIOOw¤ÜÜÜj×µ%Ê=ùä“;`SFFF5[ôÅaåô6,­:øÆýž¬Ï�;Wþú׿JNNN;úöí+¯¿þz•mž”[Sy'Nœ(wÞy§Œ5J¢¢¢$55U¶lÙ"�?þ¸œ9s¦FíEÝhÆŒ#è %%%É‚ äùçŸ÷¹^OE³kC�¼çž{äw¿û�¼ð >Ÿ¯¶¿¾vb/]º¤DW‘.\�ÄÄDY±b…lÞ¼Y�»§íåË5kå´ïj{i¼‡þñ�Tÿ$ÐÛ²³³-™h¬¢ü�{ÅöíÛ~¹ÿþûå¾ûî«¶mÚ´iŽoÞ몭ÀQ»ví¤_¿~êüá³�7:|ˆk×>îË¿þõ¯å©§žª‰¶zõjÅö!ªqß¾}UŽÅµ‚¨ZˆËúXØŽˆ`cÞøøxź·QkÚ�¸&ô”(ÿüøä“OªlûÉO~¢þÉ‚cŒbSÿþýUÛ·iÓFþñ�(û\ùÎx¡,Ü»[´h¡Ú÷øFÛõñÇËŸþô'µ¾ÐÂ!"�ï½÷^µû­îuº O–FVŒÇ}ûí·êÜÀ|ïÞ½iz¿«¶4úÉߌ[ýF›#å\ñnn0‹ûþÁöÀÈsÏ=çòqúü¹tïá’~¢ŸÈ d€ �2à·�(·víZÕiAÇ ßÿ½ê$jñÅÛ†·zà×e!ê Ã�Ö¬Y£¤Ï>ûLuÆ­æ”ó%êF×g\bX•±ÃŽˆ0t t£xàÊ7§N�RQlÀÐ�D'2øMﳋøÐuZ-1ìB ¢–¬öëm/½ô’êÜ#DtJ‡ æò}¬³¥®;!!Ái9¡¡¡JŒB§ BI@@€|õÕW*¿yÐ!FèèAdÙ°aƒúnye'ÊÁ|ð�:>~ï½÷ÔpKˆ iiiÒ§O4h�Úïì¼ÜÝ�+Úâל9såBL�p¤‡µbè3„]öìÙ³Õ°<´ýäÉ“•û°ß؉EÔ!Ä(}Ü‘#G”@`Ž&=tè�¯´À !ç ¡0::Z‰‚t9Þ,)~� ñÉÜîVí…k9¢NaÄ0=G˜Õ5k¼® ÐB”Ä9àø={ö8:ïàD—cöÚ~´ÄtØ­£ùºwï® äÁö�;wúä£�B‹+îÌ¢œ«¶G©´‡s†˜ˆˆTÔ �ÉϞ=+±±±JœÓQf¸¿`8;†øãúC$-lÔ¢4Ž…± ¢�>öµ×^“!C†8|ƒc�¢§ñ¼=YÇ=ÓàüÃb#Äjã60¦Ë4ŠMå`³åц®|g¼Žpo�Ð…ë×"‰ñ~;pà€â÷gÔ .qÍ`‚®èàóÇ;lÓ6z³4²¢�Çýã/ù‹àž‰{ηK—.ª>»¶4úÉߌ[ýF›E9W¼ÛçŠ6„8 æÐ`ðÃ?ô‹_µ/¹tïA”~¢ŸÈ d€ ��ÆÌ@�‹rˆ\A§ X4†¹³hì ã¿ö_|ñE•gt, ¬øÒ�xà‡Ð¢mÁQx(QºS‚ï?Ð!­ Q�_øH %èø~ýõ׎sõÄ7ÿûßUçÑM P�_tîE‡ù×|ñ|ÿË@mƒ¤}1Ä(@ sŠ-ãqž®Ch2×mW:hºMµ(áD÷þûï;†‚Z‰<îˆrZt@™ˆøÑ�j|G‡�B]Ÿ·KEð)Úe¼üòËaß!¦ *G—�ÎçOúS‡˜¢·ë%:Õ�ðÝØ‰…p„kvc"ÍCƒ!´âxý ábŒ1ËÑÉ×õy»„X�H5Dý×ý—j ž£<«ö2׃ëF‹Áv¢¢’po‹ ÀËr%ÊA ÄµkŒ\ÔÇBPDdD½Í_K£ÐâŠ;ã}Ö®­À‘Q”…­àêÇTöƒååË—;Î×î©È‡Kóý›ðÇâ úü!fëcÁ""Ãô~´"Bu^o—ÃpÝ \ˆ~àíQ[oÃtº|£Ø~ß~ûmÇ>;߯#ˆŠ‚t¹XB ‡QÚ ‘h¸ÞŒy`"µjÜç˺‘]Ä)ý lÃ?ðOÔm×–F?ù›q«ßhüÃ6-�ºâÝØ8/p§ç‚Åw0ˆhDí.Ù9 d€ �2@Ȩ ê\”ÃC>¨‘ô�$cgN0 O���r÷Ýw«ˆtì�б@'ˇá��m –:bCñ±a,÷´Ðd|Ø·êà�ófçˆ: :@€@T….Çß â�-œËÔ©S•°‚N¢± ]®§KNæH9D0¡Mÿ÷ÿW‰F©�G·3ê€èˆŽ”§õó£ ”kŽ˜2æA�èd£Ó¨£µ QÎ,êÁ/Z´³yìD9 ÓÓõCP…}ðƒf�?-è|Þ,!j¢.-ü "‘qÚÇèìwëÖÍa ê0Ú>sæLÁ5…ÈLÿýßÿíúhäǽòÊ+j($„)øPG}a„ D0!�>ˆ4(OŸ3–ˆÒC§_çñÇ‘�}0œåYµ„`ˆ!8G$øL¿DÅêš5^ˆ„Èvp¯Áq7Q—+Qç�s¶:G̱ˆëìcÈ'|m•Ï›mZh±ãÎxŸµk+pdÖð-lBà0¾}CCáCØÿÖ[o "~�çVp�a›«c±‘Áªp�bÎJý cyž®CôÂu€¡±ˆšÕ‘g¸'èm˜ïT—k› ʇrÛùÎxÃh¼&píé¡´¸/c/øDôž¾Žq…Ï òâ3:UÛçíR³b<þÀ}Ÿ ¾‚hh×–F?ù›q«ßh߸·‚e;Þ�í€swÆáüà_ãys�âd€ �2@È 5Í@�‹r:ªÆx¢ÆÎ"¶;È=DÑ›K IDAT{ö¬2”ñ8_ÖñÀo&j, ‘rˆf0nƒ0h%Ê!òc^_×?ÿüsiß¾½`È•yè–'¾ÁðDt¬™!Cÿ DB,‚°å‹�.0Ä oZ5—ƒ¨ŽäBgÓØòG¤êFÄ¢]ÌuëÈ&´-„Ý¡G´�Q”3‹…ˆžÑ/MÀP:³ßQæ/Óõ¡|-ò@<@Ç[ïÃùúhQm¦'úF'~Ñ/=€HAÂè#DeéÉÖ!n�-òX‰r˜lÇè9¢`#Þê©��ù!â *‘:X× ó*Á¯ÈëJ”ƒ‡¶ÑœÃpíL”Cyð^ñŸÿüÇa;*°i•p}âex1 XÀ5Šá¯FËx>î®CDCý( ¶ƒkˆÖ�;wV6YµÚG¿ÇCˆÑíeuͯ+Ì51ç±>ÐC/!좳¯m7vü‘ûÁ<ÎÑY:º÷,‰ ±B>ÊÖåø²4 -®¸3ŠrvmŽÀ^fa÷!ÏzIWšž“ÃÌ1”â9lÔ/êpu,ü€HHÔ¥a_|c< Ácä&æ;Ä6$c^W¢œ�ïŒLà{ðî'ÙÀ|ž·nݪ|Vð{„ß%ð ^ô?à?_‡üësÃyêë]oƒP¢$êÄ‹7ôµe×–F?ù›qwD9W¼Ûç î%ŒëQÖ¸V�÷5í.ù@NÈ d€ �2P“ Üv¢œQ � eƒ5:/èùâ(<ðC�0'ü'åBT‚1y1ÄÇJ”C^ uCÔ:’x|±K‹ùí xiEo7ŠØfçˆ'ð—>¼UQ÷u‰ˆ¥fÍš©c@hxøá‡‚™žW âÄÀ�U§цC‡­"vùR?êÆùक़ÿ Qdèä¢L´"{ a®;ýÖ=ìÓ"&ôG'v‡§¡ƒŒc ì ³Šc háÜЩÃKàS-òèòŒç‚8êDd†HAØñõM¤8^‹oƺÐñǰQD.¹åp ü[ ”bh®+ÝI7wb‘Ãìp�@¤ÒuâXœ®E�>ýôSµ^têáW\š§Ë×Ç{º„„ˆ)ˆ4` eÃÿZ´j/ 8O£x."¯t{¡~ó5k¼®a ±÷°�ãôýâ†òâÜ –˜}A Ã<Á#„^é…!äÚ'ˆÎñÇ_jÑÇ¢Ý�EÊa?ìÁýÇâÕóºs,ò€1Ü»|ýç ÊÒ sˆ�eãüiFñB ´™Î‡¥Ql2GÊa¿+ß™™ÀðXpˆû ~'pn–1$÷p†íˆ ‡=ö�ü` ÇàEFÿíôtÝÈŠ>l#:÷:0Û«W/‡€Œ<®ÚÒè'3îŽ(çŠws;€YD<":~Åï’ù÷Uû„Ë[× }A_�2@È dÀ¿ Ô©(ÇÆôocÒŸÞùÓJD£/­}iöKYû¨!úÅJÜ­Íó47®ÍzYWÃeÜ,$³­n[³mÙ¶d€ �2@È@}f ÎD9sDšþ^ÎÒu[-ëÂ]§•=Æm:_}Xír¶^Sv:«Oo·«÷våôù9[Ú�·§ûE‚(H aôôXæwv¾ØîÏzXÖ­ïºåjª�]•kµ¯¡q`uŽz[}=WmŸ«¥§¶S”»u}{ê;æ§ïÈ d€ �2à?êL”c#ú¯éKß|y»ŠrµÙîê‡aÁˆ!bµY7ëò�oø¯.D9Ø�!ߘóKœ˨{–êKP”# õ…EÚAÉ d€ 4n(ÊæâÅи/¶?ÛŸ �2@È d€ �2@Ȩ-(ÊQ”c  d€ �2@È d€ �2@È@-3àwQîÌ™3ÂD�2@È d€ �2@È d€ �ç ø]”»zõª0Ñd€ �2@È d€ �2@È dÀ9~å._¾,Lô d€ �2@È d€ �2@ÈpÎE9ŠˆQÉ d€ �2@È d€ �2@j™Šrµìp*ÄÎbú†¾!d€ �2@È d€ �2@ ~åÊËË…‰> d€ �2Pû „……ÉŽ;dÅŠµ’P×ñãÇÝþݯïö‘ÙÚg–>§ÏÉ d€ ��ÆÌE9Šˆnw¦ó…Âsç õ�^{öì‘„„IJJª•„ºPç±cÇlKê»}õ½}iïAd€ �2@Èhx P”£(gÛ‘â…ßð.|¶)Û” 4<µ‘,11Qâââj%¡.Ô‰ºí˜ªïöÙÙÏý ïša›²MÉ d€ ��ºfà¶åJKK%%%E —Ùºu«¬]»V–.]*sçÎUƒºvhmÕ_VV&ÙÙÙ/‘‘‘*JáÈ‘#²ÿ~ÉÈȰíÙÙ™ŸŸ/±±±rôèQÙ¼y³,X°@%¬cö!�]9 eÿä)dÄßyœÆŽ%qñ±~ñmàÆí~=áž1Á\Y¼x¡Äœ?ç—ëâv÷‰?íÇ�UDÈÕ– §ëA�¨Ûî\ê»}vös?ïÁd€ �2@È þfÀï¢Ä¢šH¹¹¹ràÀ™3gŽ,Y²D¶mÛ¦„9t’““eÞ¼yRXXèvÝ»wï–šH5qîÆ2‹ŠŠäܹsJ|ƒA„¸ÌÌLµ½¸¸Øm?ËÆzII‰ÝfÍš¥ü¼sçN9qâ„êè!"saÚy`Ž1—ÓоC�{iÕ9ynm’<½*Qú­H”Þˤó¢x¸6YÞØ’&C¥Õœxi1;^šÎŠ•vs#eþö=2vühILLðÙG´Á»{ Äû^½zÉÝwß-?ÿùÏÕ²OŸ>‚í �Óú~>ëׯ•�;·KTT¤Ìš5]6lX'¾Ü¯\�ï�ƒûeÔ˜ éÎÄw”…2]Õéî¾Ý»wÊ£‡;µ û�ÇÝòt>+ÑëáàfRI rXjQNÛálYßísf7·{wïõ·ß¬8Æõjµ]o³Û�|þ¶“åÕ^Øl2@ȸ]¨÷¢\AA�:tHEia>¨’ø¤e•ËÚiråj…ìÝ»WBCC=z°‚ —••¥:„èúšPʬ©†‡}çÏŸ—ƒª(5¼‰lG§èÚµkrúôi•Ç[.^¼(Ë—/Wiiiª|W��,ƒc½­÷v8öïm:/onI–×6$Ê keàêDuä’I-‘ØÜ+òòÆTyla¼t I�v ¤ÏŠx™s$R¢N‘qÆHròŸ|D<ûa��ÿÌ3ÏÈßþö7yç�w”�Œ¹¯Àë»ï¾«¶0@p�¹¼ÝlÔ�bãò«a_JJjŠº­\½zU–-["_|ý¹´hÓÖeÇÚX†»~˜0q¬df^ru óhÊB™îÖï*ߨñ£Ô?3œ€t �«2¬öY‰^y¹9RÉ_¢\M؆2½±Ïʧæmøçß�?þ(íÚµ“_ÿú×Ò¤I¹ë®»¤cÇŽ2þüZù'UcµÁŠü.Zm×Ûìö#Ÿ¹�ùݳßZú‹þ"d€ �2àõV”CD¢°BBBbÜ•+W$âL¾L[’ ¯yBz>,ï�ŒR"†VzÚ±†€A "þËïKB(«&D9³ñíÒ¥KròäIéƒNDIˆtˆ$D~o. DÜÍž=[EÉ]¿~]õ�¸qãF7nœ »ãý±öo‰•w·%Ë�ÍIJ˜›rì’Df”¨s8˜R"O¬L”îK¤ëâ%Ì=¹:IVœ:/"Wåôéc2~ÂIMMñÚÞÛÁ†Í§3U¡¿ýà.+º­1̽gÏžÒ¶m[5Ľÿþòûßÿ^EÊuíÚU¢¢¢TTi›6m¤oß¾^·‰®ÏÝe||œ¬^½RfÏž)99uÛDý°öÀ.wÏÁÝ|ºSl\N™:Q2²SäÇÐ7dgìt¹~㪄†•I“ÇË™3Ñ.;׺wë¯Ï‘r£ÇŽT÷Îïwõ«„û*ò¸{®:_}åÌ×m}·OûÑÙ‘â>ø J~ø¡,^¼X6mÚ¤¦ÐøüóÏ%00P¥³gÏzÜvÎê4ooÌ6è{€qi'ºÙíGYfó»o ú�þ#d€ �2àõR”Ã�׬Y#»víRb\fîeùbÂ%ÄõtXº:,Ý^?$w§+q ó¨yÚðZ”ƒ7fÌŸʨ Qe†‡‡Ktt´êÀAh@¤:6ƤߴwæÌ�ý¿!Ê ¢æêÃ,ø�ïÞ½¥G�– Ã1dyñ�H‡2<‰˜3wØÌm˜™[,»NeËÄ-©2lUŠ,9œ%+ŽÞJß®NQû6ËOÊDÙæú\}ǃýÛÎËG;.È[›å“Ý)–V$W+®‰È Ys>Wz-‰UCZ{,I�.‹¤ÿšd»;L"NŸ�¤äs²k÷F™0qœ¤§§yT·¶ëv°aÈämòÏ�“¤Ã؃âO?ر¢}¤—`ñ��-[¶È=÷Ü#Ï=÷œ­1ô‚6–H”ï»ï>%þëckb‰kwûö­2mÚd9q\¶oß&7®÷ŠÙ‡¡¤°#"ò„² öÁN_ËǰKDy�3²Zš4yœD¤lrQ?†’ÜÒ4ILJPQháᡶœ¯ö��‹�“yó稄u㾚\¯MQnûÎÍRÉ�H4óuk%Ê¥´–šHÞØçªÍ1�"â ¤¦p@Ôí¾}û”¸�g¬cÛþó…[Â\c·AsüýŒU2yÁÅ5~õv«¥Þ�ü8Î*�«vç>Ï:ôýEÈ dÀsü.Ê¡SçKÂ�3<¸ãe7nˆ¢úÄ;¡!®ëk‡¤ó«‡â\iù5ÕéFçÚÓ:kJ”óÔgù!LbH.†¬VTT¨¡8*�bÖW­Z¥„KD©ATsVž³íþ0œþÖâÚ�!C”×½{wATÑûï¿/ß~û­Š:zì±Ç¤K—.j{·nÝTôœŽš;|ø°* e:«Ï¸]w،ی맒òäõégäÙ±'dà¸ÿ¤±'T™(ÛX—Ý:ìGï‹“Rä«=É2ýx†d–`(5¢ ¯ËÑÔB´9I^X—(Ï®½ O¯¾ ϬI–—ÖÄÈ�Õ‘òŸMQòÕ®hY´a£L�6É£ºµmFº¾8Dº<õ¼œMÁ0c×6<»0TZõ~J:>ûº_m0úáêµ+²tK¸t|cºÜÛ}˜<Ðw¤4}c¶ô]í?ر¢}¤—?ü°Œ1Bñùøã� :ÈÎÒèÑ£Ut‹>ÖßK¼�%dÑY¾|‰”——U^g)Ô6×åIyóæÍ–ä” ÊØû`'ìõ¤s^̇†á—ˆö2'ÜËö'Ìwˆrˆ½ï ‰É: YY™JÌøÂó.‡²šëóöûÖ­›eÊÔI¥Ö±ÍÛò<9Î]QΓ2‘×Jô2FùsÝJô2Ûk¾në»}fûõwü?ôÐC‚ßFü³ÑéâðO2L¯�„ulÃ>sÍš5Sÿ¬Óeøº¤ ¥Á¾çû‹¥õóeæê#j^FW\ãwóÇ5¡*?޳ÊëkÛðxßžûé?ú� �2@;õJ”CgoREdØå+òñ˜h§…¸N¯”Ž/”/�¡ßGªÎ$¢µ äyÚ�õY”ÃP\Dð@dC§úf1NGäÁC»§~@=( CVõ¦9ˆqú×¹sgU>þ¼õÖ[Ò´iS™>}ºšSy´0‡ca+ÊB™îØaî°™�9—#3v¤JlZ‘JçÓŠ)æbaeJ-�˜Ô9‡”’¯ÒÙ”|9›’'g“óäÌÍtúB®¨””#§“rdÊ– r<6Ç-µMx°/.-•k7äjE…T@1$|*—×**äJÅu¹ZqC®Tˆ\¾~CÊ+DÊ*DJ¯#UHfN†êDèr=Ymð‹J¸xü‰þJDqfCÚ¥,éýD•÷Ù—_õ« Ú‘çR¤ëÓ”AéþžßJ�!3dÇÑ¿øÁŽ£1×á�wÞ©® -8;ä°ýرcò«_ýJ½,ÅXŽ?Ö”ð³oÿ^¹výŠì�›#ó� •ô¬™1cªG úÃcJ ;æ…Uv]«¸*°âTRR¢×¶�S|¾ÛÕÝíôýîr )D‰ysçÍ–M›Ö[vžÑ¡6žƒ·ë8ODÈá¾u!/R%¬cöy[®»ÇiQΙ�p/EwËÓùpÿEä¶Q0³!ü±ÍXêDÝÚ½4_·õÝ>m·y‰È[ý;vìP¢¦ŠÀ?¡ðÏ,ÌY‰ aÛ°¿Ëø­´ò‰¹lw¿»²õ74·�½µPZ¾6WÚY }óƒÓ{òcûÁ T~§Ë0.Ýmæc§‘ �2@Ȩ ê�(a ó³ÄÆÆÊµk7䓱§UDœQˆkÿÒi÷âióü~7/V‰qx ¨7Ž©¯¢„5<ØCX@T‰ÕpU<èë¡:²8ÆS?`N)¼A5==]u¢1dÃU!¶a|t*&Nœ¨öé?˜ÛO†*�:uRÂÄQ|0|e¢l;{Ì6sþð˜KÒ÷ûCÒ¸»é ônŸú~wPP¶¹>Wß!4\VQN7ŸJ„¼~ýšÜ¸q]®]»,7*à›«rýúe©¸~UäF…T¨ýÚe’›“æ“(§mÈÎÎr˜ˬ¬KÕl¸t)½JˆÞøøË�'Î$+B\ÇW§È‹Ÿ-”Çʸz^æ7?رbl; ùÆ�UtR]‰qzþ ð�üC k5–ãëzÔ©“2qÒx‰�;/ùeé2'üM±»—J'S·ªášãÆ�W s­í?°Ï#V‘Çáå"®^Z™ºÕaÓÜð·$¯,MÙ;iò‰>}Ê£zµ¿´(7lGñ4m:;F eS¦Œ‘ QoɵŒAÕ’®ÇÛeDÄ ™6}²ºo¢>m#Öá‡}Èãmùî§E9]·yéOQÎj¸ž?¶ùK”ƒ¸RÉûœµ^âðé§Ÿªycñ0üÞâþA/zÀ° Cü0° r�>ú¨Ί9æô0V”‰²íì±ZF§É£ì”öŸìökB™(ÛÎ>ã~ åå¥xµ….Z\\ çÏŸ“ÌÌ ÉÉÉ’¸¸)*Ä�ØB‰�='%?/GE¡}***_žQ˜Ÿé“(g´!éB‚tëõ¸æzöé'áÇÂ6„…‡J�Çûª}Ý{÷‘ظX¿ÛP~å²<öÊ$÷îˆå’ž‘.;„IJ|ë_?رbl+¼…øî»ïv[”Cþ?üá*ºÈXŽ/ë‡TÔ/]Ê�óY‡dÔÞ¾òíήŽt0)D‰º—/—‹«”Ÿ—'£ÆŒðˆUäÇqxù‹«áç`bˆÃ&Ø7zo_‰Í:,°ìqžúA‹r_nï(ž¦¯¶w” ¹}RæÏý®š ‘ÎS{ŒùccÏËÄIãÔPÙý‰ ªÙ‡mF‹<Èk<Ö—uÜ0‡"ñ¡Ñ÷QgþÁ>äAÞù æªcÝùG~#)Wù¶YŠrüãÕÔ øýÃ?Ê¿»å0}Ö± û�ÓMüùÏöC®l@ýua¢qþæô÷¿ÿ½Fü £ÛÚ š¯„¶¶ƒæKßw§ZF¿é¼Ø�|æpœÞn\úrmóXvÊÈ d€ �_ð»(!ÇÓjÙ²ej儱âLˆk1`Ÿ4{f¯4{z¯œ8�'©©©jÂeOëCþšå¼±EQ B:dxÀÇ[Ý`'¶AƒÐ…ÿÄÅ9¼‰5++KN�:å±ßñý�;w*� oTÕQrãÇ�WÛðgîܹT%}ðÁª­0‰þ³Ï>ë˜eà³}ûv- ÏËÙR -Îö>sIº —'FEø5¡L”í¬^«í•¢DÊ«RQqYöïß«^†qöl´„†‘U+WHA~–?. Ì—¨¨9y2BÖ®Y-ññ±rýze„aAþ%%ÊYÕa·Íʆ©Ó¦I·^½•øÖ¡sW‰Oˆ‘Ý{vIûN�Õ¶®={ÉÂ… kĆéËö*A®Õ€r*:ªFý`ÇŠÑw˜Óðw¿û�¬\¹Rðò»´~ýzA‡×X†/ëÛwl“ÙsfIQq‘JZ,Ãvv‘¯wtr¤O6·w®'´»'öhQÌÝ:�Ïhß°]åè…eÊ~œÇŽÛ¼ªÿó­ÄÓôŶ¶¢œ'¾0æ…h ¡ /•8›¹_¾ØöX5û° û�yqŒ± o×!Æíܹ]RRSÔÛgO¤l”½ñsªÕ¯ý…}ȃ7Õâ‹2ìê¯kQÎlŸùº­ïö™í×ßùË_ªß5¼È‚›;b†ºbX¼.Ã×e}´A‹“ñ ‚„u£8éO?h!­ÓÐEJdëôvˆ 1ÜRhÓy±ù Êá8½Ý¸ôµmx¼çÏýô}FÈ dàu.Êåçç«a«¾u._Ú½°_ŒqF!.ø©½øä è¿[ŽGç©9×0LÄ›­o¢†­b²hœ Öu4šR¹ 0DÅJ”C´�§~€è‡òð7nœ×ð"ˆp™™™‚(<³ §¿oذÁaÕðáÃÕ�×±cǪmQ¶�=æ›9ÿ‘sÙÒwìYyeFœ_ÊDÙæú\}‡ÐQ^^$"åR\”+ÇåèÑÃqLòó²eýºµ’›“.‘‘F„ù…JYY¡ìر]N�Š�Ë—+£}åªÛ°wßnA¤†²B ëÔ­‡Zïܽ§¤¤&Õ˜ /}¾@‰r欩q?رbn»7ß|Súöí«Äl;Q®_¿~òÎ;ïxă¹>ýoðDtÓå+—eóÙ1‘Éœ>ØØJÜM¸ Àž.ß�%òããnÈg¶ß·ÅLRç�óÁy¹S7òèú=uÞõgFªá«“§L”3g£ýÖ�Æ=uÎÜ%4ì¨ä–^TB©®Ó¼„ˆŠ<È‹cp¬»çî,ßâÅ %*ªrÔ)‡žs[”E^|p,ÊpV¾Þn%z‡éùsÝ*MÛ¡—æëÖʾïŽw�šHÞØ§í6/ÿô§?©—*iQÎ(F!JÌJŒÂ|–ˆØ5—åíwW68ÄjÚwÄIÚ ùíñîByìÍy²`Åzu¿ÑÛ­–¸!òã8«<Þ¶ �»Õ™ /è 2@È Þ3Pç¢Þd†9 0�Ü€ÃÕÐÔêBÜn xb—<Üo—ü»ïùWŸír$"[.\¸ ¢È¼ ¾‰rx¨F'bÜÖ­[•Xf%Ìá¿ôFQóÁA@Ãh=õ $11Quú¬D9¼Üs7nÜL,­E8óÑrøÀF mÅY ¤¶ÅÇÇ Ê¶³ÇÜa3ç=Ÿ+§ÆË»!)~M(e›ësõöåå…J”»zµPÂÂŽ*±+##EΜ‰–Õ«VJvÖE9q☊,JKK–¸¸s*ZëäÉãrå D¹R�Ÿî±È¢íreÃá#‡Ñqç5}úd�ÚÐòÙ±J”[¶jƒ¸ã‡#¡¡^ûÁŽí#½Ä½b ¹Æœq΄¹Q£FÉ_þò5^ëËrÁÂyr2 /8)Ÿnig)¾¼·¾…¸›pA¡Ý=± ùñq·ä3 SøûSòO©óÁy¹kƒ®ÿ£M­ÅÝôÉæ6²?±²Ž©Ó¦ÈC)a,›“»vóaèèºukäú�«2ùà³¶v!òâk,Ë›õ³çÎÈ̙Ӕà¸5f’mýÚoÈ‹PàX”aW·•èeŒòçº7¢W}·Ï™1­戃(‡9 zÏ-'Nœp _Å:¶aò`:ü.:+�C•i IDATÓÓí®lÐÃWº šß˜„IHNW¢=î7z»ÕRïG~g•ÇÓ¶`~ï;ô}GÈ d :u*Êedd^€y�æ®Nr M ~j�öß%�(!n§ü»ïvùçãÛä¡ÞÛäÁÞ[äþž›e_X¦š;¿Þ4l}å0W"þÐù‚x E7tzÌvHÞŠ|x±D9 öÔV¢ÜÛo¿­Úõº#Ê!¨U«Vê-­Z”ƒÝþåÂcóä�9IòÍšt¿&”‰²=ñì+E9Ì+W&ׯK~^¦Ü¸Q&eeù’––(—/çJEE±ä妪íÈŸ––$ÉÉñråJ1$L?‰rÕmHIM UÕ"æ²².*›kʆ¦O�R¢\|R’­Nž9-÷õ&O¾ÿ£W~ðT”CÛâšÂ°ÔW_}Uu”�Â\XX˜<ÿüój˜+¢^¡OÈ d€ x΀ßE9ÌçänB§�cDÉuzå€(!n§<Üo‡ü»�â¶Ê½6+!îþž›D¥eçá4ADæDs·>c¾šåŒu¸»±óšúnÝ:%¶ax¨ñM§èdc?9L$ˆuœ{JJŠ@ÜŒŠŠòؘòøè᫯½öšúŽ?BÌrú;†§âƒ7µiÓ¦ÊðUtLP¶Ýùk¡ÅY¾c±¹ònH²ŒÞ|ɯ e¢lgõZmǃ}yy�ˆ@\+•¸¸3²sÇ6ÉÈH’ØØÓºOJŠ3$>þ¬=ºWÊ˲%==YvïÚ&aR\”£^‘wóí«VuØmsfÙ³Žyåº÷î-]zöTâ\ï~ýäô™“5fƒ¾:fÆR[?Œ™±D xÏ‚·ô^Oý`ÇŠ3ßA¬îÓ§�üæ7¿‘–-[ª7·hÑBî¼óNùÅ/~!wÝu—¸�ïéö˜˜s2uÚd%F­‹!ï¯iU-½¹¼©¸›p�¡Ý=±ùñq·ä³²sCôXu8œ—»6@T;~”Œ3²Zš4yœK^ïˆâ¿ÿ)5Ts¸ám°áá¡.;Øè@»k‡Î·hÑÇÐÑqûŸrÔmIˆ¼ø`è(ÊÐåy»,((¨2„ö³-íœÚ‚}Æ!´8Ö�z­D/«ázþØf)g¶Ñ|ÝZ٧ߌéï¥7ö™í×ß1„o#ï½÷”àaQ똗‘qHXÇ6ìCTÛ½÷Þ+î¶›®ÇÕ’6[=ÅýÎÏvûq¬+¿sŸûÏôô}EÈ dÀ;êL”Ã\r!!!**kçá y¸ïö›BÜVy°×–›BÜ-îþä�ëåþëäþîëd˾T%HAò¦ñë‹(‡m<È#J:-Hr‡Ä7¬c 1nÕªU±Cô�ð¢ [ñÔV/zèÖ­› 0@¦L™¢êŸ1cF5aN¿èðÖ\sè„è=`ʶ³ÇÜa3ç?—+Ÿ.K‘©;³üšP&Ê6×çê;ìËËó•(W^–#ì•õëVËÉ“¡’�pN/Z y¹I’š'Û·m”‚üT ;,7¬•Õ«–KvVª£rsR=Y´]V6,Z´Ð!סsg‰‹�”SÑǤc×nJ˜ëÒ£§,YR#6Œ™»E m_-‘G�úáhè!Až{»“á3×{å;V´�œ-1L×Î�?þ¨–¸nÕгŸýìgò /xă³z°}ãÆõ‚ážee¥²;f®¼·¢•¼³¼¥# Z$î&\chwWõ™÷!?>îÖ�|Fû`ï¾ó ”ý8œ�¹w¾›#VðóÓáåcöö—ÍgÇ©H°#GËð‘ßJÇ®]‘ž:âÓjéNÝÆ<æ—,„_X'»ÎÏpIˆ}Èc~É‚±Lo×ÓÒÓ/›8si¯¼»¶y5;° ûôË&pŒ»õY‰^Víà�mÞˆ^õÝ>W~Ƽ­˜CíÝwßUÂÞÄŠ,"Z ëØ†9*ò“Ÿ(ÑCãøá·ÛÏUýØ×Øm°â÷;«íz›Ý~ä³ó;÷{×Á ßè72@È î1Pg¢"´ Œ©ÎãWáJˆ{°—sîþîkåþîkäþn«UZµ%QÊËËeéÒ¥^=PÕQ-À狃@‡†§¢#ƒ—'`þ8¬cþ8| è%%%)aÿ©÷zK–,Qeáͯ½{÷V‘Dˆ|CDêÆóÕŒ3FðB Ë�@ˆ°T|æÏŸ¯†®öìÙSP>(eÛÙc'´D&äʰ5i2gž_ÊDÙvö÷ãÁ¾¼<^—’âKvDöíÛ%gΗ‹$dá¹xñ¬de&ʶ­›$7'Y½ðaïÞ�²iãj5¤/‰ÈÉNñXdÑv˜mÀ[1õKz<ÞGfÌœî°aåÊeÒ³O%rtêÖ]–.]èw22“¥éS?(±íÃQ!’’_ÍÙÙä½á UžàþÃ%95AÍËç©ìXÑ>òdyß}÷)Qµã͆šæÉñ®òîÚ½S¦OŸ"x�MôÅ=òáŠvò֢掴ýôLu­Øý)++ uU—yòã8w>Û¢g:l‚}°óôŽÊnØ�7ùšËw÷»î—Èð6Q|ð�ˆµkW«7Õ&§$¹ìXËp·~�ÿ´ÀÜp¨¢ ÞªŠ{Ø[+šZ&ìCä�¿`®:eèò|]ž?#'�SÃuwÆÌªf¶eeeª<ÈëI}õ]ôªïöÙù¢~ä³Ï>SψjÇoÞ‡~(>ø ¶Šý¸¯è{ËçŸîQ;º²£1Û`¼èu;ÑÍn?Êqåoîs¯3A?ÑOd€ �2@¼g ÎD9<œCxº”S.JŒ3E™E¸ûº­’ûº­”ûº®PéëI•o E´:¾žBP_D9ˆmèð! >Ñ ‘<ø\ºtɱ Q�Ø!Dbn9| èy:TõΚ5KRSÅU)°á%]»vUâ:§ø ólü ‚yäž|òI5‘5òÏ�;We�0‡2ÝéÄÚ -Q‰¹2rCº,¼G .*±.,ì ¤¤œUù0ì5';Ù7Qî¦ ÙÙ‰Ò½÷ãŽaªÇO³ ‰§b¢�z<þ¸¤¥�WCoýeü°bÓ^%¸! ®ç�É2nÖ29-ÇN— ³WHŸ¡ÓûWoÝãµìXñ¤-u^ kýéOêè<ßÿýJèÖû}];®Ä� ÉI’]”"#6>%ƒç5U)4n­}À•«„! Û·oóˆUäÇq®ÊÅ>ˆNGãÖ:l‚}ÙÅ){!J?qÌ£zÍþÒ�fãrÍšU²sçv5$//X»v• ŒyìÖÍõxú}ôØ‘jXî�¥Áb•0òxZ®'ùOœ8.˜?ÿÜX~ük‡XÇ6ìCOÊD^ü>à5Æ(6WCû|Ùg¬u¢n³½æëÖʾwú},5‘¼±Ïl¿Õwü3láÂ…ê·sVâ‚aðxs9"qñ<‚ùU-WSÂ\cµÁŠWÜˬ¶ëmvû‘Ϫ�¹ÍûŽ}Gß‘2@ÈðŒ¿‹rEEEb— 4á¡oøœº(F Gµáîëº\îëR™îí²Lú ÚªD U˜�Í®NóþšåÌõ¸úŽ<`Ø Ä/ã ÐqÁqúƒa1؆´yófաľ„„5¯Ö1|âš«ú¬öa˜)ÊEGâÞŠ!¬�;wVo›Ó\ß¾}•pˆº†ªD9tB È¡‚ùïPÆòåËÕD×Vu™·é›y»þálôæLY|´Ø¯ e¢l]�;K<Øcž8DËåËõë¹’–#¥%ér¹³ýÞ~ÇyÿéOª"úã^ƒè:oËôô¸†hƒUÛãwÑj»Þf·ù<õ-óÛ?çÓGô d€ �÷¨QÑ]˜{ŸŽ/nSÃQÍ‘pfîÞ.KåÞÎHKäÞ΋å�®K¤üòu5¬Â’§�^D9ˆjŠ‚Ä6tXtZ³f�CÃ~DžaøªŽ^CÇÇ`ž,¬C˜Ä°VOý€è:ið!>ˆtÓÂ\—.]Ô|qmÛ¶U"&¹þè£�Ñtí´ §£ú 0¢,”éŽæ›ù˜S‰y2nkŽ, -õkB™(Û\Ÿ«ï·±©¨ÀÛrwIÈÂùrþü1‰ˆ8"«W-‘‚x‰Š •�VIaA‚DG—õëVH||„\¿Ž(»b?‰r92ô½¡‚9̘1ÍÖ†E‹æÉSŸQÇøÓ£ŽG‘OÇ.’ž¯�‘fÏŒ’à'GJïAãdôœµr$,Ôg?رâªí\í{ÿý÷«sx!†m»:ÆÓ}Ó.*¡C5uÔijjŠ, ™ï×z<µkþü9;ð�]°‚ìõ´,«üºSìï¥U]žlӢܫsÄ*Õ–(›·lÙ$“§L”èè(•°Žmžœ�1¯/¢×s_¯w^¶€|hSoD/_ìó”#oì3úÒ×uü£ÍJ˜ûâ‹/¼n_Omjh6X1`'ºÙíG™žú•ùÝïdÐWô d€ �{êD”Ct¤¸¤BÇpT;îžÎ‹äžNH!rO§…rOÇrøDºz+ÞXêic×Qîøñã*º CQ´g\ÂF k5•vèÐ!Ç1ˆ<ÄX1OŸ§~@~ˆj³gÏVKÝAŸ7ožôêÕK½Àâ:-ÄᥘCCVõb1‘¾.Ã]ì„gc¶æÉâ°r¿&”é�(—%"9R\tQNœ8*Gï–Ç÷KA~²,["Y™g¤¬$]vîØ ¹91RVš!;¶o�SQäryºöЍ9tÜõ‘1_¥0Ø8m°cÅè'OÖqí`虎–C4Ë›o¾éUû¸ªCÍ1¯†lFŸ>%;wí�õë×ú½W6˜÷ÁÌKˆ·‹Â.|‡�æ|Þ~·ê@ûc›·öèã´(÷ò¬GÄ*Õ¦(›bÎǨùî0çÖµ�Þ,­D/=ŒÏn²r½´×RœÃvìG>”å�èeeß¾¹ARÉû¼ñ¹«c´(fÊzòäIŸÚÙU�æ} É+†ñ»hµ]o³Û�|fŸñ»}ç�>¢�È d€ ø��:å0t�¿e›âÕ�T G5GÂY‰pâþ·ã|¹§ã<ùßÇæÊ°É¡*ÂcÁ‚nGgix´(‡—E`¸�/ e`Ü4ÊÔ廳Äwê6ç�@Q b:¥ø joT;v¬¢ŠaªXÇ6ìÃyQ/ŽEær]}·Z"òeĦYvů e¢lW¶™÷)A¬41‹rõJ¦„…’íÛ6©¡ªgÏFÈ’Å‹äbê)‰‹�’U+—KFúi‰��’•+–IdÄ>¹\ž¦†¾fgÆù&Ê5RìX1·—'ß1Ô¯~õ«*®7OÊp7ïé3ѲhÑ%ÂdffÖHîÚ‚ú!ÁØåîqîæóÇPU«2Ü­ßY>-ʽ8ýa±Jþåöíß+£ÆŒ°�ß÷wÊB™ÎÎÍJôòD=q&A:½RM˜ƒ ‡íدËóFôòÕ>]·;KoìsæW_¶›E1ÿñññNÛЗºœÛPl°jw\7VÛõ6»ýÈçÌoÜî¿Î}I_’2@Èp΀ßE9ˆB®Rvv¶ Ÿ•›ãeÈ—ûUüå>üÒ^üÅô9Òn•Þøl—X¥¯'QålݺU uU¯y4w^Fàî$…( ešëqö“Ac®8| Êáí©Þ&ˆrø`X0ÊrV§ÝvË–-Sxúí¯ª`' Ìa¸*ŽÁ±vå›÷k¡Å¼]�ˆÏ—ÏWçÉ„�e~M(eëzÜYâÁ¾¼ô’È sÙr¹,]Š‹ð2Žl)*H‘¬KçåJYªæ%IfÆ9¹r9MŠ S$óRŒäçÅʵ«ˆ”Ë‘ìÌXÕùv§NsžÆlƒ+f_yòíÿùÏ:&fG§966Ö#><©¯±äÕ�b/}õߨñ£o�¶ºµáE Èãk=8~ü„1’™yɪ¯¶¡,”éÌ6ˆ^gã’¥Çû‹¥õóUÄ–øŽíƶ´½Ìv™¯[Øg´ÁÕº7ö™í÷×wLSqï½÷Ê�wÞ)øG›¿Êõ¤œ†`ƒU{Û‰nvûQ¦'~d^×ÏøôýCÈ dÀsj]”Ã2"­üùÁ|jˆóh5‘ܵ/e@d™??˜ /|p׫|ˆ`D´Þ ºdÉÙ¶m›=zÔ1T Â!DPìCäÅ1Veùº-õR¾¬;–#Kû7¡L”í‰}x°¿vCGñ²Ì—{3áûÍt¢Ý-á®2^ ¡�É—¼ìÊ᫞ԭóÒÏopÚwvK0~÷ÝwË_ÿúW%JÛåç~û¶°ê@ûc›¯¾ÇÛ_=Üidö!�¯õàø½ûöø=Re:³ÍJô²Š6´ÛöH‹¶Òì‰O¥å+3ÕßÍǸ#z™íô—}f[¬¾{cŸÙ^~·¿ÎkÓGVíŒßE«íz›Ý~ä«Ís`]õ‹)¶Ûƒ �2@êµ.Êá�‡sæÌ±M˜¯ÌÝ„ò-Zt[=X!Êlß¾}~OÉüæÚB[¡<ˆ¨"Œ„ulÃ>äñG]·Cx#%îý‘&Mžà•ßh4n‡kEÛ¨;Åþ^êò¹¬~=X‰^Fqª¦Öõ vmRßí³³Ÿû«3GŸÐ'd€ �2@Èð��ZåØ`¾5ýGÿ‘2@È€õ]ôªïöYù”Ûx­‘2@È d€ Ô$~å0?}@È d vؾ}»$$$Þ†]SQqærQêDÝví]ßí³³Ÿûk—gú›þ&d€ �2@å("Úv¤Ã…Àsä Ÿ ��Û��°°05W*D2 )­�„º0?+ê¶ó_}·ÏÎ~îç=‚ �2@È dÀß P”£(gÛ‘ò7t,�722@È@Í0ª¢Ö0T´6¢ßÜät{×wû´�\Ö Ÿô+ýJÈ d€ ��ª P”£(GQŽ �2@È d€ �2@È d –ð»(—ŸŸ/Lô d€ �2@È d€ �2@ÈpÎE9ŠˆQÉ d€ �2@È d€ �2@j™¿‹r[¶l&ú€ �2@È d€ �2@È d€ 8gÀï¢ÜÕ«W…‰> d€ �2@È d€ �2@È Îð»(wùòea¢È d€ �2@È d€ �2@È€s(ÊQD¤ˆJÈ d€ �2@È d€ �2PË ø]”+//&ú€ �2@È d€ �2@È d€ 8g€¢EDЍd€ �2@È d€ �2@È µÌ@�‹r™™™2wî\ùàƒ˜è2@È d€ �2@È d€ ��zÃÀÊ•+åÈ‘#RXXX뢤ßE¹²²21¦9sæÈ’%KÄ×D½�×63Ñd€ �2@È d€ �2@Ȩa|Õqn—ã!È}ûí·2oÞ¼*z–QÛª©õå ¦™? wÇÉèU§ä‡•Q2rE”ŒX~R†/?)ß/‹”¹;Λ³«ïfQ®Ý¨}ÂD�2@œ3Ðý7=ù RÃ*ügÿYFÈ d€ �2ÐP€“�/!!óeÖ¬é*Íœ5]¦Ï˜*Ó¦O–©S'Éä)dâ¤ñ2aâX7aŒÌœ5Mââ«è:ÙÙÙ&‡r;Zx4Y‡¥8Ýï¯6««kÅ_öß®åP”«ù> ÒÇd€ �2@È  •ZŒ;zXÂÃêEÆi1îà¡ýräèañÃw*…w"ä<ãöîÝ+:ëòeº“QϪ�u¿GÊ™�¶åŒBÜ׋"”1î‹…ÇåóÇ-}XW¢ÜÛKOÊË Ž[ŠF¡ápBŽ,8’\-ß«NI~ÙUylÌþjû¼íèßn¢DËíg.IùÕ É.¾,cvĺå‹>S�ÈÁ¸É-¹¢˜€Àdô™�8A55¯LûÍÆsUŽ5–ãÎúØ�±ÊöÒ«×%"%_ºN¨.ľµ4R³KÕy&d—Èk OøT§3»ìÎÛx\—ñdÔöóNí0Šr¯‰v\{W¯ßPçòÕ†³N�5Öc·n¼VìòºÚÿÝæsr41×/6¹ªÇÕ¾�³Ã%êb�;ÑÎC–DºmÏG«O)&¯\«�Ф<é;­*ÓÎêõ–eŠr|@l¨ˆ½ÏQ®ýhÿ‰ƒÚ»åšˆ4%dõš|X-Ž�’+×–Ýq�O9¬%£øx*Ê�Þ+86)§T|垘qT R½ºð„t»_†.;)»Ìö_Ì/ˆwðñ s�É3?†UËc>ƛrvå›E¹ô‚ré0f¿:¿¶�—ë7äÉ™¡ÕÎyìÊ6î7^+Æíž®×µ(‡ëÂëâðT%ÌBð,º|MºOò–eŠr5ÿ Â‡Aú˜ �2@È d ¡2€~¸qθýöª¾ùÑÐ#j˜êÈQß[ rˆ–3~¬"å\‰qzˆª.£¢¢BÎ�;爌3 rX÷×§Aˆr%%%bL8)óǧ…¸�ç“�æ†Ë‡sÂÍÙÕw+QÃòŒB †áAd@'Ñ,'S T‡¹ üªl<•¡¶ëá«ãwÅINñÉ,º,Xw&˜‡¯Î>”¤"· À�Ø£lC$XDZ¤°üªltYˆ¦B'‘vˆ”›$Y2 Ê%¯ìŠ \-ìh›0LÃR!îL2 ËD9;Ïfªs‰Ï*‘iû+óézžš¦¢n \È)ctœÇ/Jø…3_Åu�V¨ÎùHB®¬�Ls _E¤D9m–ˆ üpÕ)Å:"Ô6Gg(_A|„½ë"Ó$§¤ò:B¤¨Q¬sv­ \”eJQìÒuCED"˜Ft%êC;”]D™Áθ¬G~}\M/ýˆúõµ‹úÀÄB¬»âyÊÞxuNÚFDÉÝ‘þ3*EOÜCàCœ˜„?zN®*öY±üÉÚhå ´Žg¸ŸQ”ãbC}@äy‘m2@È d€ Ô<èŸê8èȸƒ‡*§ñBT>Æ9»á«ã ÔqžþIKKSsZ”Û½{· ¹údeeɈ‘ßË7ß~]%aö?Ð�Œz–ÝºŽ”³Ëçj¿ß#åÌ•Y‰rŸÍ?.ŸÎ?¦¢âŒb9‰rûÎg;æ‚Ct“J¬ž˜€ IDATâ†(1�àççSÃK�EnE9ˆ]èô¢�N9Ä$| N £�ˆ0-6áûð­1JôÁú¼›bÓãSKçñ”ȶ4¼2‚6á£ç®Ã°M1:B ÂÉ¡øU'êÆ�L=§Ä+u³pž:í••C'!à@x4 ZZ¨é%Ο“n‰ ˆ.:›Q)À@€‚¨�¢T-RhÛ\‰ri´è AÄ*òÈJÈxe”Gá/øu¢t�Æ%ü Q LE'c¬C°BÛ �Íû¬¾»å^œw\E^öžRYìÓ‚#ÚÔ�óF�FQ牨Á™Õy¼³ü¤˜ôœrfQ™� ä¡}pÝÅÕÕi–”§Úõ€ÃI{âÕ¹Û]+®D9DH‚ÿá[bÓhÍs]GÊ}¿%¦šˆhØE7çåsÅ3ø£F hbˆ;¶…„¦HtZ�bm…s6“¶bíøìœpÅ1Ž��ùzHåõOQ®æTø0H“2@È d€ 4TЗ×b†©"2¢ÛÞ}·„0+AÎ*RΧD/ÿ@ÐÓbœ^Úy2R |Zú?ÙO¥g<%ÇŽW¥éŽ(§…8gK³&f÷½ND9+!N rþåv�ËTQH2fìkÌ�‚Î0„/c>½nåÄå8DìGÔ>Z”{=$BEAtÃ~Dú :ë˜WNG:á;„ˆeX¯ o(ß‘p,D¬#jÆ8¯ÝÄÝqQ6`¿qÎ:D¢-»9dÎO—kµÄ|o¬’qþ.wóëÀ0N|Œbq:Î Q†<¿ÙT}î7W¢ÜÊ·DŽ jê²±´2öÄdËŒýÖ/ð0‹uœ7×Ý粌 ¡UGYb¨'„FmÞ¨Å4.8Æ\&¾»åž›S)Cp�(h<mêÎyã£(?C°1¶˜6Šrð8@{ é¨+ˆrgÒoE²¡lgZìÆ÷/7œU¾ÆºÝµâJ”CTÄ>”cNîˆrîrên>£ ° ¸Æm¸wàšÓÛœñ æÀŒÎ‡ern™òÖ!HC$6î7¯[±l΃{–G)Êñ±¡> ò¼È6 d€ �2@jžôå�bœŽ‚ÓsÈa¿ñåz¿Y”3 rX÷åã�(‡ú´0çL�Cž!Ê‹1YEÊ8«u«B9Æ‹QWÃW14 Qkà ’è¡rÀ0üÌØ‘Å‹ðBã6½nå�öéÚJ¡ û»M¬„I‹rر u!² óqÁˆtø Š û‘ÐÇ0VDÄÀ&ºN,µh�²ñ1FšA¬Ó‘r}ŒŽ…Ø ëp âË6¯£lDwY%£xén>cùv‘r:/†êeaN¾ªö»åp®º ,ÑÞFÛ¬„ L‘ŒÇZ­£!TáÜ!Ž¡]àS´ÊЖ1‰?ÊÀ°SD�ÁwD1ŒÓªlW¢ò»ùœœN¯j  dØŽúÝ9oä5Šr"jò‰hM£(w©ð²âÀÈÊ�(¡ ëHˆÅGÛ„m¥á¬Û]+šo]žqø*|f¹t,ÝåÜåÔÝ|Æúí"åt^+ž]EÊé{„]”¥ËFáO0ˆáñéÿ?{çeIQöaÿòrL¨˜#bŠˆAÄ€ Q‰ *¨ˆ¢(•œ“HÎ’„OrÜ%ç´d—e‰‹K\` õ�§–÷RÓÓ7ôÞ™�pŸ{ÎLßÛ]]ÝýÔ¯»«~ýVutã×”ýŠJy_ò»¼Õ€Pj@ ¨5 &“hó•FßÃ�#B."æêŒ¹Ü`|î_˜r1V\?ÝWÏ>ûìV¤Üi§�–øëõsù—%þÚ}ð�J?«Û÷/~ñ‹‰¿né:-ñH¹êÆFÓ”#²„q¦¢!̸qÑ�yL‰6zê™g³ÙÐo¤\ù&Ëïî3¯ÛiiÊíyέy|7¢°h(Ç~°¯kïIëwÌgÚÉ”c9�l"ëb¢²Â”ë%Rn§.¦ãÕѲî�qÚb»½¦‹ôLcL¹0¯˜WíæËñЭ’7ZÒµ²\Ÿï�L¹2bŒréH9¸câ†YˆyÂv—Lÿß�1ÐxClåtèÅ3ÒÍ÷>š�’ˆš«QW'_;ol=–aò‰1å"=æ]¥�~.*°)×î¸Y¿4å0+‰‚‹|™bö•¦ÆN¹<¾cÊ•cÿ1]vŠ”ët®5F÷îÈ2Æ”ë)÷çwûj¯:í5]ì#SŽ—q"Ë2Â�1åHÓNÏDÍ–Ý«1àÐ+åÎzó)G™Á/4Ê8qÔ”³R8™*…‹zVj@ ¨5 ÔÀ‚ÕíÓÒ”+ ¹˜ßΘ+�¯0ãê¦1>\Ý4òàE×_ý03®©)ùµ› )wQCŽh¹xÉC“î«F¼•�-Yt·‹Æè¶Õ…3Œ¨:Ì 0ÂCD>ÑM�ˆµ+ë'‡^‘•'OþÊH¹?�x}6âAΘZ|JSŽq¿ˆ�#â¨|ác¾•/" ‚ŽqÍØF7SŽ}`[¤ÅÂ� Sކ8/+ØoÊíùxè"[š%8ÝL9¸`ÞÔý•†R¯é‚]L‰zâØ‰Lb¢äãØéR‰a´ÚÞå2,#Ý`M4 Ø`OÞ‘Y“tߥË.Ý~c»”/é1Ljpâ;n,g¼4Œ´èRŒ1¾ĺ1%=Ñee·C"âø°ýH‡a† c€¡GLN ›˜icÊ‹%0Tâ¥D­ña?11ùèjÊq`Þ•]’;7Z ·4å8öçÇ_—÷Þ¼`~M9Ê•cÆ4EÏpÞõ¹1åº�+˜¯˜b°@Ó²aÊŘrM”+ù‡&(7Ž¡ì®DèEylÐfäÅ€ýh›ã€#L$Öévܼ)óŠ´¥)Ço^põ�fó‡âÝW«;ÝÉ”Ûë¤rT‘e|c®b�)�Y§ Þ˜�¹ÌÕÀø×€¦œ•®&•.Óª5 Ô€Pj@ ¨�Rx3»í¾s˘ ƒ®Ût÷ÝwbëéÆ[Ý´jÂÅïªùV÷»ßG”;:0¦Üîÿ¾>írÂuiΓO·ŽŸïÌcYÝGSnüš4–‘_Д³RUVªü®Ô€Pj@ ¨5 šhoææ[nndÌaÈÝrë¼^`áíÜwß}iÊ”)ÃŒ¹0ߪÓ:ó­n†Üý÷ß›é{:)L¹‡z(•GqDš:uêˆÀ)Åcã|5þ-ËC Œ? hÊYé*ï›~Wj@ ¨5 Ô€PM4з‘3�2À4<ì°Ã†øY¥·5ZßG¼ûjuGÏ=÷Ü´Å[¤gŸ}¶¯â¨FÊ5’i½ð¨5 Ô€Pj@ ¨5 Ô€Pj w ôeâL •1ä6ÝtÓtá…N>SŽPÂ}÷Ý7aªù'5 Ô€Pj@ ¨5 Ô€Pj@ ¨�ñ¢"äÆÂ�#¨mÄ#å|ðÁäŸ Ô€Pj@ ¨5 Ô€Pj@ ¨5 Ô@{ hÊi"j¢ª5 Ô€Pj@ ¨5 Ô€Pj@ ,` hÊ-`à:ÄíbÙÈF ¨5 Ô€Pj@ ¨5 Ô€ Œ¸)7{öìäŸ Ô€Pj@ ¨5 Ô€Pj@ ¨5 Ô@{ Œ¸)wòÉ''ÿd Ô€Pj@ ¨5 Ô€Pj@ ¨5 Úk`ÄM¹ÿû¿ÿKþÉ@ ¨5 Ô€Pj@ ¨5 Ô€Pj@ ´×À¨˜rO=õTÔ¿k®¹f`�}¼–¹e2¸çãxÕä ï—ç£çãhéP´5‘Žs"íëhéÒ|½æ©5 Ô€Pí4€Y©)7¢ÐñwÂY&ã¯LÚ]”œ?ùËÊóqò—ñX�ǃ¢­‰tœi_ÇJ·n×k¢Pj@ ¨�ÁÕÀ¨™rsçÎMƒøÇÉtõÕWä±�×ò¶Ló\¯zôýò|ô|­s`P´5‘Žs"íëhéÒ|½æ©5 Ô€P�40j¦Ü“O>™ñØW]uÕ@ûx-oËd0ÏÅñªÇAß/ÏGÏÇÑ:E[é8'Ò¾Ž–.Í×kžPj@ ¨5ÐIšr#l6©€Þzë­é%/y‰Þ—AUðMʤº®¿½€ª�‘ÕÀXŸ�ûí·_ZqÅGåº;šy«Ãî:km�DõR/¯Ç¹Ç{¤/ùËCέ~÷õæ›oNùÈGÒ«^õª´í¶ÛÉ{$x›G÷óJF2Rj@ ¨50º5Sî‰'žHñ·ä’K¦E]4͘1£5ï�CIÌ�4“eŠ`¯¼òÊ|\�>ú(öµýÛu×]Ó.»ì2錷²,Ë$öí¼óÎKŸøÄ'².©ì/»ì²é?ÿù�eQœ·ÁÊéó×2YôÏ¢î|ä^Àµò…/|azå+_™–Yf™´Í6Û$®¡ý0Ÿ6mZ~ðQæÁðG}t_ù’ßhæ]î¯ß{×\'m¡¯×¼æ5iÕUWMwÞyç|•ÿ[ßúÖtÎ9çÌ׺½–ã-·Ü2L³ÕuÛçßÿþ÷QÝ·ê~Ty„)W¦ëw_þóŸ§ÿøÇ ô¸Êý÷{ï矬d¥Ô€Pj`þ4°ÀL¹W¿úÕià 7lU¬Á”C”>ø`ëïu¯{]n ƼÇ{¬ÅCÏŸ€{áVm<üðùq¶Ùf›¥{î¹'Ýu×]é¸ãŽK§Ÿ~úˆ—G¿¦B/ÇgšÑÓŽlGžmõ|„1¦Ü^{í•M8L î‹/¾xZe•Uú:'댳‘*ÓÑÌ{¤öqÐò馭뮻.-½ôÒi­µÖ¦«^®ÕUj4øjÊ ½æ`¢úðr(“ÑÐ�yÊX ¨5 ÔÀØi`ÔL¹Ç<Å . ¢åèšÁü0å"͉'ž˜fDIµtÁ´Ö�4aŠ˜¯¸âŠÚ}Ç”Ãü‰ã [ÝWã÷·¿ýíÄSáO}êSé¥/}iúìg?›î¸ãŽ´Î:ëdvïÿûÓe—]ÖJ?uêÔôñ�ÝçbY·¼I×é¾ö¦7½)ýùÏÎ]óÞùÎw¦ï|ç;‰‘¿ÓæçA/Úúë_ÿš¸fÃ7Ê€²§ ˜×îÚ¿þúëg=¾þõ¯ÏZÚsÏ=;¦'¯N×þvÛ©Ö êtÐËqÆzhêW¿úU>g8wÖ^{ítÿý÷ç}ï¦ÿ»ï¾;ßÿ8G¨cl¾ùæ-vu<¸ÿ­¼òÊéG?úQzÅ+^‘ï•Ýö5¯¾z>×Þýîw'*¦ì?æéË^ö²Ä9ç/÷íï}ï{ù~Jùýò—¿L�<òHNÇì´ù¹#3™©5 Ô€; Œš)7gΜüàÓ?ÿùÏ\ÁZo½õòüƒ>81Ÿ4D¼üå/OGuTz衇Ò;ì�¨øRùŠ<&Ê1_~ùåµû¦\ËM7Ý”M¹ø�)G%C’cÇp#Zä€ÈÑvm´Qú¾�óƬÃ0‚+ÒÓN;-ÿæ){äçtž«eB¤"�ú¯ýëÙL£+SÉêÀLo~ó›sžÆ åÜ10åÊôaÊ1�ÆB -”N:餜†è‹�~ô£¹A‡mŸzê©y™eøü5¢äé÷ÉÍ¥z>RÞÜ ˆ”«–= t 3æs=üÉO~’fÍš•n¼ñÆôž÷¼'qÄyãXa}Ì9FCÖ¹þúë‡\c™÷�ü#ç|§++=æ¿yh„AD¿1Õ.½ôÒÁG—w–a̳¬[ÞÝîk\ë¿øÅ/æ{÷=FÑý�¼ý›?Ý´Å}•‡]ßúÖ·2cÊ€‡(³gÏÎÚétí§L0†¸DùtJ�Û]û;­W­ĶÊi·ã,Ón²É&铟üd6¹Ÿ}ãßÈçiºé�s‹õâœã~ùWypÿ[d‘EÒ>ûì“u½ÓN;e³¬Z'*ÏwÖÁ|?ãŒ3r¾ÇsL®÷Ä6¾úÕ¯¦�wÞ¹µMê�Ë/¿|š9sf‚ÕûÞ÷¾lÐGz§ówîÈMnj@ ¨5 ÆN£fÊñt6þ¨€�píµ×fó�§³MÌ'  ¼é™eD4]9o"|Ç„¹ä’Kj÷SŽ gG4êâ7 Œ·ø½õÖ[ç(Šø=eÊ”lÚñ›ˆ *¦±Œ)&Ý<Êy~87¨«eB£û?øAzÇ;Þ‘^ô¢¥Ï}îsYŸðâI? ü`GÅŸ†;&]\‰¦‰eL‰²ˆr…?Ý£b9‘pÎ÷Þ{ok^,³ Ÿ¿F§“ŸIÝ5’{ãQUËÿÓŸþt޾ð sÄÌ<ÐJ³ýöÛgs…uˆf%ª†óºÌƒ{ ÑÈå<Œ/Îwæa‡!€éi0ÿÚÝ{Ö\sÍ´å–[æ´Ýòîv_Ã:þøã[Ûýõ¯�ˆ>ŠýpÚü\h§-¢¶¸ÿ¢Ê7tBð00Xwºö“†‡9ÜzIßéÚßi;ÕzAl«œ¶;κsˆqôxhë_|ñÅ­zD7ýÓ»3:ÖåžÅý.~WyTïèÝö•uˆr�<1Hy°Åý–ytaçAm,Ç?óÌ3[¿©[F]2Ò8m~îÈLfj@ ¨5 ÆN£fÊñä?þèþCʼnßë®»n)Ç|æ1ÖÝ"=SMTËyá;QkTzëö•FŒÇ²¨|ÇoL9rñ›§Ãe$O›©�²üg?ûYþŽy40þô§?µÖ�|}Ú©L`CD ¦0݆ùM$oQ,¹Ñ˜#‚‘Æ ¦\¹ŒFJ”+eFƒ+–y䑹|âw9µ Ÿ¿F”\ü>¹¹Ô��Ü ˆ˜©–=×6 rΣ¿øÅ­kóßö¶·åVÖáZJ÷O "èè Ë|"�8wË|YÆý…yå55Ò°,Ö'z‡‡˜üaîðग¼»Ý׸^cxÄvÿøÇ?&L¿øí´ùyÐN[tYåá ‘r%WÊàÜsÏmÍëtíg=4À= ò蔾ӵ¿ÓzÕzAl«œ¶;Îê9Dt6”ˆîŽzÝtéÆŠùÕIÿD¢±.]pcÛ˜ÕÜïâw•GµÎBºnûZ·ç,Xÿ+_ùJ6åøÎø¯ìeû@ypÞÇo§ÍÏ™ÉL ¨5 ÔÀØj`ÔL¹x™S\tâû 7Ü�#‡~ÿûßçùÌÛj«­²)R®C’.®å¼‰ð‡™±�êöSާò±Œ§õT>ãw˜rñ; žøÍxH˜rüf<š/}éK­u#�Óç_¬,:•I¤9è ƒrÅžßtUÅÜŒetÛ¡!ðßÿþ7E´b,cJž(×j™‘žH9^(Q®ÃwËpxYUù{ò1ª;Ô+Ë›s‡(6º{ó�îúDÊ•iªß1Ž=öØÜ…³=¢ÙÊtt“Åxc^yM�4,# ¿1ˆ>"â‡ßDãaÊñ½[ÞÝîko|ã³!ÛeÜUÆÂ‹ßN›k¿WmÛjtºö³F0zŒõ;¥ïtíï´^µ^Û*§MŽ“ñØÎ?ÿüÖ>—ùtÓ?‘r˜–±Ñû˜rñ»Ê£zÿ#]·}­[‡zXSŽ¨ØØ&Æ8ÑŠñ›º%×�øí´ùy#3™©5 Ô€[ ,pSŽß`ƒ òÀ½Q‘"š�0¨6݈‹±¾H¿ë®»æ±ƒ&‚Xê* ±ß#iÊañ´›±[xú�ésòÉ'çÈ�ØžÓy'WµLhL3ð5]âˆ$  ã ­´ÒJYoTòiŒñÈ“yÆ”‹eüÆ¥k|1Ž1ìÚ™r˜Ë,³LŽ�1cFîÆJ9±®e8¶?Ï�±á_=)î\ç¹þ!Ø[D¤ÆƒΣ�}ìcùÞÁy„9ÇùK” ë3¶&Ñ3|Ç€ QÏøpœ¯t…‹>Ë›˜r¼˜…1äX�ë×Ü0åºåÝí¾V5„4åú×c;mAFVÿªeÐéÚϺùÈGZ†-¿;¥ïtíï´^?¦c¸qO‹?ê¿øÅ/r8ǰÏ<%Š�ïÝL9^¾@´>Zg}Æx,M¹*�:ƒ­[™Ô­ÓÉ”ãÅWç<$ãZÁ (’ãñOj@ ¨5 ÔÀDÔÀ¨™rTHã�•ÐøMã‰7j1?æaj0`/OA©è1fH,ûüç?ŸBñ{² Ã.L9–W¯©Ì‹H9¾sß"j›ë,oPÆ Ç”ë%oÒtº¯añBŠÈ+L¹øí´ùyÐN[»í¶[‹sɵZÝ®ýDTó ´ÄÃÃnéÛ]û;­W­”ûßÛgœC1¥NÁx¦ŒWHTQÛè™.áäÕMÿ·ß~{¾ÿq¼ï}ï{Ó¦›nš_^ûQåQwÿk·¯Q&uëp_†Û‰H¹Ø&cÍar¾¿á oÈCypŒ±ÜióóFf2Sj@ ¨50¶X ¦Ü r]t�Ž<«e2¶™ñ¨ ÷iì4áù8vì'»îE[cuœŒÍÇKUšèh¬öµÉ>šÖk’Pj@ ¨50–5SŽ'ÁƒøG¸$ݪñØÇë1[&ƒy.ŽW=ú~y>z>ŽÖ90(ÚZPÇÉ[ËSŽòb8‡Å_<™Ñ¤üÔ¾6Ù'Óz Rj@ ¨5 Æ“FÍ”c`ìAüÃaå-�ƒxìãõ˜-“Á<Ç«}¿<=Gëm-¨ãdÆv¤û*Ã9l²É&¹Ky“ò[PûÚdŸLë5H ¨5 Ô€O5SŽ��ñ�±Mx²<ˆÇ>^�Ù2Ìsq¼êqÐ÷ËóÑóq´Î�AÑÖD:Ή´¯£¥Kóõš§Ô€Pj@ tÒÀ¨™r¼ÝË?¨5 Ô€Pj@ ¨5 Ô€Pj@ ¨�á5Sî3Ûœ�Úý=ûì³m—µ[ÇùíyÊF6j@ ¨5 Ô€Pj@ ¨5 Ô€˜XxSn‡ÓoN7ÝûH[“p÷³oM|ªÂþüŽç¦{z"ýæ_× [VMËïU÷º0]~Çìôè“O§ÿÎz,ýøÐ+zZ�íœ|íÝiöœ¹éþGžHÿ8ÿö!ëíyέ龇ŸHΙ›N¿áÞ´òÎçµ–?›RžÏ2þN»þÞÖ2ö©î¾°ÓyCÖa½§Ÿy6ýâÈ«†¬ËúSo} ]vÇìaóëŽ<Ï;kÚýéðKfô|0¢LxôÉÌ~«“§õ¼îFG\™¦?0'ëà’éÿK_ßcjÏëŽg†îÛĺð�Çòšõè“iõ\<âç×Þ3§Ý7âùŽG†îÓðóM=ùô3CÊÿâÿþ/myÒ y×äïy$¡¿»z"ízæ-­´×Ì|(=õ̳éɧžÉ×úC/ž‘>»íðm ÷}Ï¿=Íøßœ4söãéÿ®½'qŒãþåQWçzÍÃO<•®œñ`ZsßKZË"MuúÍ=§¦ n{ ³…ûßþsc^gÅÎÍu®ê¿ÍN¸>×Cªóã÷òÛ�Óq›Ôaø<ólJ÷>üD¾ç³-ö+–E^1ýêîSòòNùÜv礣.»3=ôøÜüwÄ%hdÞ¾xÁôô̳Ïfý=>÷™tí]¥tyÎs“£¯Ž—b¿+ IDATÍ´¦ûO�ÞÚêoè–õn¸ûáô“çêŒäY÷�;ÇÂ1�|ÍÝiÎÜg²¦w:ãæ<Ÿe-=?ýLz䉧ҹ7ÏJqŒÕò)Ã'ö‡sÄùS¦›Ì߃;×êðÛœ2O¯s,+Ë…4+íxnzâ©g†Ý×(®A¬KÙV?¡åNÚ¢,«Ÿ]1³UÖ“¹,<¶Á¼Yî–ûd×ÀÀšr˜Wrÿ›ód[Sî›{]�—qã !P!ÿÞ?/ÍO*5½šrÝþ¿´Ïy·åÊØY�<™+O‘o»éS§§ónž•Ó~m÷©¹BÛæÆO¥ŠŠØ97ÞŸ¹è޼¯•�º|›¦0*e^¿;îÚ<"›r4 Ž»bf®œ61厼ôÎtæ´ûÓ ÛŸ“ÖÙÿÒ¼þw÷¹hŸ’U|_iÇó²¹úó#¯Ê:øçÔé¹RË�zÃd Œ–)ÇõVSnpÏ­N¦�_îã?;üÊ|ýþÎ>%Œ¥tYþM×{ç%æî�³ç¤ÍOœgæ Ò¹ºé±×¤›ï}4?È£þÀ¾ƒ.œW×øÒ.çç‡LaívÖ-ÙüéÆçŠæ‡[_Üùü\§¢.ö£ƒ/Ïuê\_ÞõüŽ÷Tê;ÛŸvSÇ4å>PoºõþGe¾öþ—䇤§^wO^?–•éã{7�P¯£öí¿_”¨£a¼íqέ9_Ì ;òÂ`ÙåÌ[ÒÝ>>dŸ1�«×§rXïÏÿ¾!~°ŠýbŠv×Úo¨ŠqŒn©®{Àey=LEÒ—zÆT¥Oºæî!y–ùÇ÷r˜ÇCeê—s¤™ìÓ(KfS‡ÃØÝú9#9–Õ18ûÆû÷Ëe—NŸ=ÄÔc&jµ,;i«,Ë2o¿î½Î²·ìÕÀÄÖÀÀšrWÝù`ú÷Õwç w»H9n¦Ü|KSî÷Ç]›ŸlýéÄëó“®^L9*RT`VØþyc‹Š�n'Û+oÔDhíüÜ“Ï ¹�9Ò±.‘)Áù¯ÿ7mX$J,sZ_“‰K'SŽãÄD ’#£^6|1†ïzðñ´Þ�ó¢è&£nÇB�ƒ:Ì*»MÉâDï—F\¹> ©w”óªßyØùàãskÓ,(SŽ}"òñWG_ÝÑ”#];�ð s±�Ñ_š5D¼Q×àZVòèÕ”£.f_¬_5å(>ôˆ49yZk›¥žéMA9rq÷¡;ª¦‘w ÅÆÆTØ&æ*uO–ð›h¼0â¸fó 7º€Ÿzý½yßèuÀµ›ýã¡1ëq>bzEt஽§�É9M·àH‹¹xõ�Ï_ÜK0]ɇ¨¾ÒHï´¯¤o÷W–%i`̇kFuY™F"壛0,êêÍUS®›¶Ê²,·ç÷öe(Ù¨50ž5 )WcÊQ™àÆÍ­‘0å¨Ü|ߣ¹ÉMœÊÆñWÞÕêâЋ@¨Ð1þG4>ËuhPð!Ï˄Ɔ`T©àDe(ÖïdÊ}Ù�éïç � Àì›rë¬V¥©®ryO”iSSS’ˆDT@©,uÙíxÙ]_éÅmñ$”.;ÝÖu¹7’É®Rå¹Ào6©BD ×±`Àøœ¿=vÞxžŒ5…QÎu¶ú�ôšrƒ}ît3åhôqCT ãevñŒ–Žhø2¦ª”: =”WDøÀ‚è$Œ”êq!E¤VÝÀ2-318™ÇwÎuþxP¦Ñ­å_¹>ßç·ûj™Ïuw=”£i1�Zc¦=·Ý oŸ7æéÛi„:"Ÿoí}á0¬‡Y3Ì3"2©ÃÑ‹¡Ü‡n¦æ QÃ<�-{[�GÕ”c?ø„‘EŒ+´Í÷RÏh�2-£öÊý*¿Ã‡ýg{c0FdF ã—×^®Ï¬C<°$’¹nœAL¹rœä²×Åé¾ûÁö¨Gó›sšó2–ñ»ìBu×2“´Ýö5ò«›V�7Ú |0&Yc†fK#°4±a±Ý©Ã»]WM¹nÚ¢,óx—ÅyÂ=°nß�7Ø÷@ËßòWCšr5¦7XBÎñH˜rcT@y¢F•^ÊÐk¤1nê¬SV|Ê“ì{NMTp0æÊùå÷Çæ>=$‚„eíL9¶C¬Z�$}D¡`.¢)Ç“ÏS®»'G bPb^Ò�+Y×}ß匛³y‡‘‡hÔ0ŽŽ‘rãbYW¦Î¹²£QNã*˜ÒåwD^Ä|¦t�‹È9~ÓÈ!…:"?âáË4åF®ŒÊ2˜(ßÑFB¹¿tµ+»Æ2º=Ú*£Q¸îóP….w‘~P¦ ê�ÑBtç¦N¬<ˆ"ú�±r{1ˆ¼Ã܃¦QDDT1öV˜r ÛŽñH˜rÔË0�ø£;d»m•óK�`ÐbVq�*ÓÄ÷ÒÈ¡îTvÉ�4íL¹0 ‰²¢ûcÝ6ª¦Ìø”õ¶¿üß´V=-ôL9bž–Ý:cê¦%̦&…´ð€,ã�zMôÚ }ðEwäeŒ§·Ås/Xa]ê¬e=1ÆÛˆó�´<æÁwÎéøÎoº¤V‘G4&ÝWð\tk·}%¯veY’Æ”z­.«æÁ1ÓE—º<ºçAS5MՔ릭(Ëj>þn_†²‘�PãYšr5¦QÜàù# Ÿß«7Òv†VµÀ©ÌóT’i,£Oc^Ý” 0†Ü¼(¸¡'‘"edIYi!t¿ìæJ>ìCj±­vÇ@·^¢¸"Sò¤Blhó¤®/£L?Q¾7�”ã¸ÊˆCž~÷ò&2ºÉP‘ .<µ¥L¢›GÌw:Tçò \WêL¹ºH9‰¯:€Èαx¨‚v4åC?í®aT”]So £�dqë󃜿ÚðEŸ\³#í L1Ì¢{"ÇŒÉQ¾°#½Î8ªcãj•/H"Ú|Ašr«í}QŽðúÊ®S:šrÝ4‚–âͱ+ÑjÑ%´4kxé&Ç^2igÊõbVM9ò¥ÎZ^1’cx�RÏl—ˆÇr_Ú}/M9Î#®Õ1nçÑae�¨]>tý†‘Iƒ)WöÆ€W<ଋ”‹¡fº™r±}ê½ÔÍ¢.Ûd_#�˜–eɼ­NžÖŠÜ«.‹ubJä"ugÊs;æ—Óª)DzNÚ*˲ÌÇïƒ}¿³ü-50q5 )WcÊ•‚‰H9òã)oÛäéÝ K¬ìþAE�ŠN¼%+ö��nÛUœv<ýæÜÍ–Š•žFÒ••u1ëxZIå…etàùÆ´�)Ǹ0ñf²H[�NöH¹veÂ@òDÇÁƒÊ*•಻óyknu\Ì7ÒbÎQöt¡±Såêï‰{Aµìæ¿ìÚ™r0e8�ˆš`ü¦çÌm�s BϸIÁž7#—¦ã qíãÚËõ¼z®ÆzNç¿ìÆ;;åÜÓˆTapzÀÜ7yp5ïm«ó†ÀÔE+EW6|¹~s�eÞx?Þ‘Þ?\q?‹î“t3äa!Ûá|"B®—‡Œå~ñÒ hQŒÏÅýeÊñp’(ÿˆÊ*M§rùÞM#DzÍœýxî²Ë±P§ £©jÖÐu±:~íH›rh”n¹åÛWcÄRÏDxQ- ¼ê±Çï*Ž™qöˆÃhŠ.™ö‡â¿=vÞ˜r¼5›!WæEgΛnßóoÏùt2åØ>e;¹_„)Ç>tÚ×8Þºi”%½Hxh� �1GÚXV·^Ìãü!š»4·cÓ:S®“¶Ê²,óñûä½�Y¶–­˜ÜXS£‹†O ‚ï1^E)úª)G…ž´ü%ÆÓ/¾G¨~¹nù�'ƒl“q0¨ôG8}¤¡2Ç£+æ1¥;7ëØ&Sž|² ³ ƒˆ 1O¥Œ„ÛöÔ›rˆ}¤»N¼¾¾—c bO,Ëý)¿OdSލÅ`J™ýÀï]þü‹Ú• •>xÒ˜cì’ºî:DZTt†O—©h²M*i<¥/™ú}r_p-ßöåÛÉ”cl9S 6_ŽgO®y,ã\ä�¯pm Ö4ꮜñ`¾Žr­, »Hã´}¹L6<¤B7\wÑHG×2æQà~[ŽEÃ7ÆmâzÏpq� \z= ÆÓÃ|Âà€C+ð£_ÜOcËÛmÓ�î™p'ºŒyl‹õ²ò/„E~óÓ}5ò}èñ¹ùE^aÜ`:Ųr›8þº|é¤ö“’î häˆKžï>_5k0“8^®g˜Nó¶•2?¾‡éT5Á☫ӺH9øa6RoäšfëV�¢ˆ¹¦òÀ¢šwù»º?¤G ÑC€®œÔ?™GY–]R9N"Ü×Ó­|A¦õL Y Bz„”C´”o_eY”W'SŽýÆÜåœf›”˜hq<�ö5ÒÔM)KtN9a,bòGºrY©ŸxéxpÄúÕqî(Ö)õWÞ¿ÚikÞzCÏ“^¢+cŸ�Nî{žåkùª�‰§��5åëÄ«ef™©5 Ô€Pj`âkS®4é,Ó‰_¦–¡e¨Ô€˜? hÊuØUQÍŸ¨ä&75 Ô€Pj@ ¨�vÀ”‹a Ú¥q¾úQj@ ¨�AЀ¦œ¦\+ï1zaWj@ ¨5 ÔÀØj@Snlù«ù«5 Æ�4å4å4åÔ€Pj@ ¨5 Ô€Pj@ ¨5 °F͔ˣ–¶ù·Ùf›µYâl H@�€$  H@�€$  L~oÊí´ÓNéCúÐ�’þío›^óš×´þ^ùÊW¦�}ìc­4ÿþ÷¿Ó{ÞóžôªW½*}üãO×\sMkY»/·ß~{úÔ§>•^ñŠWäuÏ9çœvI‡Ìì±ÇÒꫯž^ûÚצ7¾ñ�©jhn¹å–éMozSÞ×UW]5=øàƒyýgŸ}6½ð…/lÇó­o}kXÞoyË[Ò¿þõ¯Öü‡zhÈ:¬÷¢½(!>lÿe/{Ù�4—\rIký‰øåk_ûZúÙÏ~Öó®Ãˆ2yÝë^—Ùï»ï¾=¯{ê©§¦w½ë]YŸýìgÓ�wÞÙóº&”Àd&ðú׿>]ýõ#~ˆ\{¿ñ�oŒx¾f81 ©—¼ä%CvösŸû\Úo¿ýò<®ÉÔÐ÷Ãm¶Ù¦•vÙe—M‹,²HzéK_š¯õm´Qzæ™gZËéËþð‡ôŽw¼#½ýíoOßýîwÓÃ?Ü:üù©MŸ>=}þóŸÏlá¾÷Þ{çüüñô‚¼`Øß¡‡šN>ùäaó#íSO=ÕÚŸº/±îB -”Þüæ7ç{þœ9srÒXyÅô®»îÊË;idîܹéÇ?þqZl±Åò߆n˜ž~úé¼Þ&›l’^xá¬?êMýèGÓÔ©Só²N8aرP÷äÃþPC·¬·ôÒK§³Î:«•gì_9¥.ʇcZc�5ÒË_þò¬évØ!Ïç_è™|©×~å+_IqŒ­D5_Êýá\@qþÔ$Ÿ”³(Kxs= þ¿ûî»·Ž3–•åñîw¿;=úè£Yß7ÜpC+-_(“å—_>Ïûð‡?3ÄÔc!&jµ,;i«,Ë!™ûC�€&$��5åxª¸ÖZkå w'SŽ =‘MO<ñD.`"›âFÌŒ›o¾9Wê;•>)*0‘i©¸EôY§u�8âˆ!7j"´¶ß~û¼Ê¹çž›Î8ãŒÖêTP©¨ò!:„ººyòäõ ƒJD t2åx"¾×^{µ²Y{íµ[O´[3'àÊ‘§½Dþýþ÷¿o)÷Þ÷¾7Á>>Tj{1*�;î¸ôéO:VK˜t<±fêGƒNSŽ%4œù^Fx`zÓ�áZü�| eI4j‰L`9&h8ò9ì°Ãòõ™óŒ<ùÃH÷38:™r˜(DNEÄTˆ|�(°jפÍ7ß|pà=w¤[l±EúÁ~Ð:n¢„ˆ0ç3?u¢ÿþ÷¿9Œ‡~ñÁ˜£®‘r£eÊÅöØ¢žØ‡ÒtŠå1í¦ê˜fñÁX‰zYÕ¬¹ûî»stS©·n¦\äûÎw¾3�vÚiñ3OëL9zU”×G8RoäSÕ3×Gê¢Ý>u|0"O:餼*æ‘ÿ\—Zj©tæ™g¶²äü£¾M½‰¿8 µì›ßüfúå/™¾ð…/$"ÆÖYg�lšFÌMòä�cˆó’s”ûõ·¸/”l¨ÓrŸ`{ùÈGRÙ›£Ó¾Ævë¦Õ²<øàƒó~‘¶º¬\ŸzvÙÓûÅ/~qB å§Î”뤭jY–yù]�€&��5墨0W:™rßùÎwÒ{ìɇM1ÈVZi¥aóËT¨T”*;ï¼s9«ëwÌžÎE÷‡ržðsñŸ'ÁDÒ=„n¯„Ê_{íµå*ù{'SŽÊÝJ"”ž¨ˆ“'Dº±Ð@‰ð°Ì'ÈŒ?ÿùÏ�L¹÷½ï}­®$âúë¯ßS·ž’™W~à{ÕUW•³ü.��$€a†ÁMׯ뮻.?ÈÀpãCƒ-º Ñ cè€h´3ÿ{ßû^NǺD¦ð°$>ÿû߇E¢Ä2§“Ÿ@'SŽ{&‘ìTʆ/ÆðÛÞö¶tÑEÅâ�™Rç sÏ=÷äq¢÷ˇ“%ˆ^êDD½úÕ¯.Wk}_P¦$òñÄOìhÊuÒZéfÚÎè/Í"Þ¨/ñ@´üôjÊQW³/Ö¯šr”Q†ôˆÏ?þñ�Ö6K=Ó›‚rüùÏIÛNKSDÞ±í0–0öx Â‡^Ô=ãÚM4^q÷ßîú]ÀW[mµ¼oô:àÚÍþñИç#šÃ¨e›ÔÅ#:“sšnÁ‘sq¹å–Ëëñ�{ ¦+¢ú¨ãŧӾFšºiY–,‡1¬¹fT—•ë‘ÈCùè& ‹òál¤­šrÝ´U–eäáT�€&.M¹¦O€S­]$Oy*Ygv•’ RðÁ~07"¹‰SÙXwÝu[]Ê´í¾S¡£«c4>Ët4(È÷ûßÿ~®Ø°ŒÆß¥—^š»MP)¡‚•¡X¿“)·Á¤?ýéO‘4OÃî/ùKŽ, á;ºó45åèÂKD"O»yºOe™¨Ën*ät}¥;å…®07é²ãGƒN€†ÔùçŸßÂÀo6©BD ×ÀøÐõìè£�Î?k £üì³Ïò!ÒjʉÁœv2å B£Ÿˆ¢jhŒsF$sÝØË˜rœ{ñ){-™I÷Íø°=êÑ|8§9/ãØmeÏ¢¦©»R‡/?ÝöµL[ý^5Þ0a�1ɲ;0ôS�˜ŸÑã»îºk5ûaÝW»i‹²ä¾ÛcÊ=Ð�$  LLšrL¹­·Þº­Ù“^Æ…ëå… cT@y¢F•^ÊÐk¤1nê¬SV|JÉÝqlj Æ\݇'�‹.ºè�Òµ3娰j²š7Œ¢kDuÙDùÝÔ”ãÉ'Om‰@\y啿% ¹nÆ%ļÃÈC4jx¢l¤\7r.4ÊilŇF(¿c¼©˜Ï”ˆÝ2‚™FÑtDÐù­“VS®$7xßi°c$”ºÚ•]c]yÐQ™e4 ×ýŸüä'‰.wƒöaPŒ¢«8·¸ß1”EùiR'"òŽúL8¢ˆˆ¨â�_˜r [n£ü>¦Üâ‹/ž‡)#ÁÊmÔ}/5‚A‹YEtXݧ4r¨k•]ò#};S.LBÌ3º?r¬~ª¦Ì0о$>ûì³O+2+ôL9ò@™ºi/Ÿ’õ¥&…uáê¸ñG½&zmððqã�7N°f<½ý÷ß¿µIê¬e=DKóaqò›ÞÜ#øp_ˆïü¦Kjõ7C¯�I÷Õ /¼0¯×m_s¢6ÿʲ$ Œ)#LÍê²j3]t©ËSfñÑ” ƒ9 £¢ìšÊxST~x@—A‡1®bpþjÃ3€kö }0Ì¢{"ÇŽÉQ¾° i�(ÆÕ*_�Ä«iÊÝrË-9ÂëÞ{ïíØ}µ›FÐR¼96D«E—ÐҬᥠ˜D{ùigÊQGìö©šr¤Ç#ú0>ÉñVÎRÏl—ˆÇ^>¥)Çyĵ:Æ�ãü"J«¬µË“®ß0à!2L¹²7ƯýëÖÎj¤õåj¦›)Û§ÞKÝŒ |šìkäÓ²,™·ï¾û¶"÷ªËb�˜¹H´-åB”wݧjÊ‘¦“¶Ê²¬ËÏy�€$0±Œ‰)7žu2å¨ðT_eÎÍ•¹ÝïõXxJÆÛ6yúEwº<–Ý?¨¨QÑ9õÔS‡dÉ@·Tœˆt«~vÜqÇÜ##Ò‡cÿÝï~—ò}~ëD¼4ƒZ”ãs ¶ L9N2®WDe•¦Sµl»i„.·Œ¯Ë0& ã÷†ÑT5kèºÈ}¿üŒ´)‡Fé–[¾}5ÆA,õLD"õк‡åþñ½Ê‡cf,Æ0â0š¢K&éI@÷K>tÙ%B�×_ÌÜóS£ £�ˆ3†!8ꨣrZÞšÍ�+Dõ±êJøÃò²N¦Û§ âa'÷‹0åX¹Ó¾æÌÛü‹²¤ íîOs|bY›UólÎÆ,Íí2}�)×I[eY–ùø] Wbö IDAT�€&&��5å0ºhØa¼1ßc¼ Š’Jݨ”ÂÐ Y'}ù•Œ2mù�'ƒl“q0¨ôG8}¤¡2ÇöÊ·f±Œ�nÖå¶xòÉc ƒ“�§�Œ�RFÂí¶Ûn¹Ä1Ò]'^_O£$òcL žàñ»Œ ¤bW×%“ãÄl¢!ý¼u4Žq›šþaÈ5]ÇôÍ9ËLfj@ ¨5 Ô€Pj@ ¨5 ÔÀHkàôÓOO3gθ¿ùõ³FÍ”{æ™gRÓ¿sÏ=·ñ:M·aúæå"3™©5 Ô€Pj@ ¨5 Ô€PÝ40¨¦ÜüúY£fÊ=ýôÓ©ÝßÑG]»Œƒh·ŽóÛó”�lÔ€Pj@ ¨5 Ô€Pj@ ¨�±ÖÀ ›rUöí¼¯2ݨ™rO=õTªû;ꨣҚk®Y» S®nçÕ³”‹\Ô€Pj@ ¨5 Ô€Pj@ ¨�ñ¢�A6åªe€÷…V�_þ5SnîܹéÉ'Ÿòwä‘G¦5ÖX#ÿU—‘þœsÎIuëUÓú{(WyÈC ¨5 Ô€Pj@ ¨5 Ô€K àç ª)Wçg…ÿ…VW.ðZ`¦\iȱcÕÒ”óâQÕ„¿Õ„Pj@ ¨5 Ô€Pj@ ¨�‰¡M¹¡ÁiaÊ1­3æFÕ”ã¤yâ‰'ZGqDZ}õÕ[å2¾“g±º^5�¿Ÿg* Y¨5 Ô€Pj@ ¨5 Ô€PãAø9ƒ)Wõ³J O¬ZF¤µH¹Ç<Í™3gÈßá‡Þ2åªËHöÙg§ºõªiý=”«<ä¡Ô€Pj@ ¨5 Ô€Pj@ Œ¥ðsÕ”«ó³Â”à «+x-PSŽ�c®ºCšr^<ªšð·šPj@ ¨5 Ô€Pj@ ¨5014 )748 S®�!‡¦GÕ”c�=öXíßa‡6l>éq;­×.?ç×s–‹\Ô€Pj@ ¨5 Ô€Pj@ ¨�¡üœAŽ”«úYuÞWY¤µH¹G}4=òÈ#=ÿ‘þ¬³ÎJM×k² Óö^²’•Pj@ ¨5 Ô€Pj@ ¨5ЫðsÕ”›? ^šr ŒÃ^…h:/Zj@ ¨5 Ô€Pj@ ¨5 ÔÀ i“é´ÓNK3f̸¿qiÊQ Mþâ š¬cÚfŒå%/5 Ô€Pj@ ¨5 Ô€Pj`44pê©§¦éÓ§ÜßüúY£)GÆþÉ@ ¨5 Ô€Pj@ ¨5 Ô€Pj@ Ôkà/xÁ²/Áϲ³gÏNþÉ@ ¨5 Ô€Pj@ ¨5 Ô€Pj@ ´×€¦œ&¢&ªPj@ ¨50I4@·ÞìEå·ŸïVžÛWže#5 Ô€Pj`¤4 )7I*á#%óñâ¢Ô€Pj`âjC.L¹~¾«�‰«ËβSj@ ¨50q4 )§)gt„Pj@ ¨5 Ô€Pj@ ¨5 ÔÀÖÀˆ›rÞW?xŸ\ä¢Ô€Pj@ ¨5 Ô€Pj@ ¨5S.�ðÇÐˉziYYVj@ ¨5 Ô€Pj@ ¨5 Ô€è¬Œ¹ iʽë]ïbLJüí¶Ûnã:ÌòK_úRúÑ�~ÔvWXa…ôñ�|ØòsÏ=7-´ÐBéöÛo¶l~>uêÔ´ì²Ë¦%–X"½ç=ïI‡rH+ß™3g¦o}ë[é5¯yMzýë_Ÿ6Ùd“Ö²NÛÚ~ûíÓ׿þõžÒÖåó�ï|'M™2e¾×¯Ës<Î;ì°ÃÒ[Þò–zœÿýïÓÛÞö¶tþùçÙîN;í”Þð†7ä²þá˜xà�¼ü„NH‹,²Hzõ«_Ýúûë_ÿÚZwÚ´iésŸû\zå+_™Þ÷¾÷¥3Î8£µ¬ó×½îu颋.ê˜ö'?ùIB Õ|®ºêªô•¯|eØüjºêï;î¸#-¾øâéÌ3Ïl¼n5¯ò÷¯~õ«ôö·¿=s]uÕUÛ‰å›m¶Y>w8‡8'¦OŸÞZiꦽð©[�y»ï¾{Úzë­{ÚN»<ÆËü¥–ZjÌŽ†uúëÄæOúSúÆ7¾1dŸï¿ÿþ´Þzë¥Å[,½éMoJ彉kêK_úÒÖ¹ÅyVê³ÝyÙi8¯ÐO§4,ûЇ>4d_"ýü^ÙoίRÿ‘çXMç÷;ºã~ºòÊ+§W¼â¹Ì¿ýíow-£±âÖn»½j«ÝúýÌéºOìK»ó –3å~Sž·å²ºï£µ¯uÛr^ç†�|ä£Ô€PMÚ”û׿þÕS7̆±*œk®¹&­µÖZÙÄhgÊí¿ÿþÙ$+M¹»ï¾;~øá ò…/|ሙrïÿûÓ^{í•Ù�wÞyée/{Yºí¶Ûòï�6Ú(­´ÒJé®»îJ7ÜpC6Ž:ꨮœû5å–^zé�0å0VÏ>ûì®âˆ#æË”cû4Ò?øÁ¶LÇrŸæçû�˜8‡hpÏš5+}ík_K?ûÙÏò>}ôÑ™ëu×]—Ï¡/~ñ‹‰sª—íô§]>n¸á¤0åÐâk_ûÚžxµcÁüù=ššr˜Å”ÛÍ7ߎ¥Óyiꦽ'<ø¸é¦›†m»Ÿë/F:¦~Ý~�ż^¯±å¾�”îȳÔ÷u|ñ`¤ÜÞDúÞ«¶Fò˜F«îûØî<ˆåL{5åF{_Ë}ò»�L5 Ô€P“ScfÊa¨5ùTˆQÕΔûÝï~—M>4˜ˆú¡aD·ÜrKn,ñtŸH—¿ÿýï­Ê2L4®ßúÖ·&¢>ò‘� ‰þœ¢1þÎw¾3}æ3ŸIÕýªþ¾þúëóvˆŽøå/Y)7cÆŒÁ€QVšrl°AZ~ùå µ…^¸Ö”[wÝuóºÕívú  ·H#Ì9~ï·ß~CÌ1¢æ¶ÜrËVÚX§:Å”#�?"ì8"ªHG´Ñ$å:Ñ=Ì#B�H@"Fضi)·O~ò“™ù’K.™ˆâŠe˜"TœÑÂ;ÞñŽDã°lEºº)&Q^¬Ç¾^|ñÅ9_¢iDQ^ŸøÄ'òòc�=¶µÍº¼˜‡nˆžª.'"‘õÙWŽ�c¬FÊanaŒ^xá…YsDU” æGw±”Á«^õª¬û˜Çôûßÿ~Ú|ó͇í/Ë(—o~ó›µËn¼ñÆ| ÷ÜsOíòrÕï?fåE„Þ6ÛlÓʃs™å‹.ºè°H%Œ?˜¼ä%/ÉiHGTBäÐA¥÷¾÷½9_´TFEš|à‰2�ßýL¹¾¬½öÚ­¼¶Ûn»¬{ò<õÔS‡lgç�wN_øÂZi;m·Å”!�¿Xÿ”SNÉFzÇ� ìȃk[¤cJäÌùãá†{,ï…]¤-§˜¹DK¾ùÍoÎÂä'M§k,e¾Ê*«d}}ìcËç^\‹xxAt! 8þ`KžUc€ëËcŸ:]ó¹¾ ƹþîw¿;ýå/i­wß}÷¥ÕW_=ÇG?úÑôƒü`˜þbuS²„![.g;í"HÙ—wܱµåz�ÎË2]õ;|¸îb–s}áX¹¹Gºßüæ7™:©Fÿtºþör�åCÔlÕ˜Œm×MÛ]I‹¸Ÿp� š»��YÍ·Ó5ÝÁ�ëê2Ë,“ï9×^{mæÓIwl£Ó=Æèæ˜cŽÉç#�ÔX T¯[”Ëâ¼%‚™òúñ�Ü*+–wÜqùAQ–¦å5­Óþ°n»?îÃp�åDø–¿Ñu®ŸÿüçÓ­·ÞšÓvÒ<×Yg�¼Î[l‘è±~ÐÜWã>Ê5š$±}®›nºiÞõ*~ó�ƒå½Ô}"Ÿ&ÓNçסå–[.—ã—¿üå´âŠ+;Wê¶5ZûZ·-çµ×·ld£Ô€PYcfÊÑ8lbÌU!SñkgÊí»ï¾¹2ÿÝï~77@©‡YCjÍ5×Ì¿³Î:+w)¹÷Þ{óo*ǘR4¨Ó`{ùË_ž 4õƒ1ëqŒUSŽeè™}Àláw4N‚ÕüêŽc#²-¶SÌBD4È1qÐQœ#ð¦{&(åB—«è:MYbVÓ5�ã SíÛ¨N);‚�5ôÆFr—^ IDATm¤m©DC·]÷Uò ƒü¤“NJœg‘_Lÿûß'®ñ»Ÿ)Ʀ:â¼�oÙ¸-óÆ�Ã+çµûÞ‰åuÀ´òÁˆ+»–õ®ûê‘G™¯…ep§á[îO/ìêö#"LÕK.¹$‚LIÛé׉(¯Ÿþô§Ù Žm`8`\Çï˜v3å:]ó1;úÕ¯ækç&c(CòæüFçž\�0¸vÅv»M1—KÄôh‚kȶÛn›MLþ¸ž°œa8aÊpƹ×é¼ì´/ðáaKh€ëÛ­®Ó.ú§Ýõ·×kìg?ûÙ´Ç{ Û^uûüîtýe9šÄå;§‰D²ÕåU7¯î‹î0È0“Y#©Œ`m§;Òvºq,˜áÜSã:×nÖmwÝbÈL;´‚�…ŽÂDå\åˆ{éÞ{ï�¯µ¡‘NûSÇ#æu2åx Ä=(êBœÛ1¬E'mq®`$ŸvÚiéÅ/~q¾O`ÖGt=÷‘0ÖyàUš·ìõ,pÿF¯DÇþÆ´]Ý'–ÏÏ´î<@D•“Ç\g`wÛÖhìk·mºÜF¨Pj@ ¨�‰¯�15åšsU±u2卨Ñà�§µåºme¤é¢�ˆÉ@eŒÍj«­–+gÌ£²M£¯4̨LÓ*ó*·S÷½Î”Ãâ‰,éyŠ\n£Ìc$+{# *þT<£ò]n�Ê9†B˜^岺ï4zhPÆ2Ê€.ƒü¦1Ç0Á¨¤WÇÖ©kÒàyÑ‹^”ÍÑÈ>Qá§AMÃæßÿþ÷�4‘¶Ý”§÷±œc…/‘°A±Œß4˜âw»éþóŸlV±mI…‘EC°\§®ÁÈrŒ?Œ±2-ßûÕÝk¬QkRÑ¢¼0ý0ÆØgl“è)L7æs¡òaݱ(ÒÒ�œ&º¢lˆV�!~£¹ÒHç˜é*Ë™Î�)Ǿ�â2¿ø~üñÇך±¼é”)¡”/ZâzPÍó “§×kD'>»ì²K+ÖhòòË/om³�)G#³4ïà€©ûÚ »HStÁ±s-�yh=4ÐéËu¢¼ÆDcäÓΉkV™^ñ»Ó5Ÿc,#l‰h C#¿Œp%š¹WSŽH+8ÄqǾpN퇱DÙcX`Ü\qÅy1ˆÑËxˆ€)‘†�ÎËÈ¿n ®aMÉ”1W«Ý&ëÌò«»þ2¿×k, ã!LÝþ•ó:]IG¹Â,Öáw¾1¯Ó´î‹îÊ.ùü.£�Ûé®Û=ˆóÎí¢©Û™rܡRÔÂÔ„ù§>õ©Öñ“6†—è¶?�¸t2åÐ2×2î7ÕzS'mq®Àm5Ëö¹·Ó�È3êHaô±Œ‡8ñp�ý)£ ù]A:’uŸàSwpîq}Œ4ìk5ª4–µ›ŽÆ¾¶Û–ó'~Ì2´ Õ€Pj 40æ¦\¯Æ\ìpLihU_ôpòÉ'ç  *X‘¶œÒ¥ˆÊ9OhiœR‰Š§çG|§"&ó¨°b`Öð;þèRë–Ûh÷½jÊQÙ¦òÑ] ”£A”ãb±ŸD,Ñ ‹î›Ì£AGôÑ%eûÝq1ŸŠ9]>"MŒ�¿éCT ¿©ì–•_æÕ5 i\Ñ­5x3%ò,°¬Ç}žÆóž.@E±ÍvÓ­¶Ú*�V.§,i|tkü—ë”ß1ô09‰8`Ðw´E4NDàEÚº#Ë0È0¼"]LûÕåX×Ða{eƒƒîÅíÌÊ’nTìçåû‡†‰&el­˜×nJ㺌ª£!Š^¦ŸSŽ5¦ƒêùW6è#ï .¸`DÆ*#?¸a,ax 7"êì8×1Œ£kfìG§i'>4àÑ�sŒ¬ÒØ"Ïv¦�O¸Ä9Dù¼6ö®ºÏçœsN6Nªóãw§klõ:AÚROíÌ‘nçe§k>Ü01ƒÝ<‰Ša9W¹ľA\-ËXV�!WgØcB`Ê•÷´Ýõ«ùpîEwõ&çe™|(çr÷«0c~�Á²ºëo¬ÓË5–¨@î±N§i§ë/ëqp<‘ûVþŽùí¦u×Xt‡éë`–•¿Ûé®Û=ˆû#õŒØÈ»œ¶3å×�\¯¸Wpÿ‰ëqŸÈ³ÛþDºº)Ç ‡XÆ5£üM\"8¹žó &Æì¤-Îö­�JÞÌã]w� J4¶Ùmb?GÃèª;¸.°Ï±]D™Ä¼nÓÑØ×nÛt¹ :5 Ô€P_Ú”+£nJ12£¦œß1óˆîá7�'"Å¢ñD£�ïTΦ† ãÈE>ó3­šrDèñtšFKÈê´?QÎuS ç«�û>‘•q-À�k3ëò2”Ò”k§­N¦ù)ÛàÚ̵!®Ýý˜r”а©;ÖnóêÎÄÆ1s}à:¥)gƒ«›–\®FÔ€Pj`$40¦¦ �^?Õƒ¥ÁúÕùüîÔ@À¡›�[¨t!¡!Æ@Ò�L9ò¥�ËøG¤cZŽST·Ì#R�Š(Tò0ù èr½ª)GÃ.Ö¥J%šße—$Ì’vQ�eÞå÷à8Æ@̤¡ò�YÛeZ6šË|ÊïpåÉ?¦y  èHGšã(£°bæÛb쥲Ë'‘‹˜y ˆN¾Ñpa=LÌ4Ž�?yù¶›òö?LºòLû1å¨Ô!Å619Öˆ  œhlrŒ4pøÎ�#Ò·‹”cÙüè.Ž›QF1/¦4 ‰î£ ^i”b|¡O–Ñ8ÄØ+#AèêŒ)ƒÑÀ”¼#ÏNSž¼}c‰—PDz¢*áAùsŽð�¼c9]Ea„6YV¾5ã34@tC˜î±.SŒÆº=pîs(ÓvûŽáE´šä" ƒ†õh¤bÔ”çO1Ú)ïN|b=Ž3¢ªbSöŒMÆ5†}*M ÞžÌz”3fbì+ëõ®ÜN|ÇLâ¼äZˆ z衇¶vºÆ¢G®+¯¼r>Ÿ9Ãx‹¼1JéB‡ö»/æ3n å…©E>0ŽeqM‹ßåÃ�ò‚ ]Ô¸N„¡ŠiO´Žv0—êø–ù•ßÑbõE,g›˜œ#ð‰q´XÊ�e”I9®ËÛ�—åv«ß99>^j#Ê;^fÁ5”ýä�s+¢³Ë7~¶»þöz�¥LbL´ê¾Õýnwý%-ûYê·×H¹N×XôByľT»¯2¿�î:݃æ×”£âE9-ŒQÆþqÜaÓ•4êÜËá%:íO_Ý”{F-/i!²–kUÜO¹¦¡{î‡h}Æ��´ÕÍ”Ã|ç'_¶]޽×É”ëV÷Á|æÚÓëýÝÎÎKʃrà…8ì_/÷†nûZWγ§Ô€Pj@ ”3SŽFT“O¹Ó~Ÿ˜"Æ,á)¿å·àÊÓsƒH©AæNƒððÃÂ3ˆX4�ϧ?ýé!]¬&Â>—ûX5GÊeñ;,â¥qÿGbŸ9�0‰ð‰üÌcÁÝ&*k Ôr�‰zî·ZWj@ ¨5 ÐÀ˜™rM 9Ò*؉-XŒ ÞîfY.ز$ê�§ùƒÊ3ލ“jU"7yæDáBôL¯]…Çë1M6S.¢oÙô¦;ðøÃ s�×sÃýêý¾H5½dÖ;3YÉJ ¨5 ÔÀøÕ€¦Üìñ[8“åÄ¡Iå˜5“åØ&Âq0†]-c ½‰°Ï#µ�ŒEF·Î3q¤ò]ÐùÐ5œn�u]%ô¾ô³½ÉfÊÁ‚—¤”]#ûá3ÑÖE�\[ª/”˜hÇáþZRj@ ¨5 Ô€+ hÊiÊù´Y ¨5 Ô€Pj@ ¨5 Ô€Pj`k@Sn+÷Õíêü«5 Ô€Pj@ ¨5 Ô€Pj`üh`Bšr¼™�·È•Bb¼²x}=/‘``wºLò–ÇÍ7ß¼•–±HYd‘¼>o¾Û`ƒ Ò¬Y³ZËË<Ëït»â�då¼…^8¿Ñ먣ŽJ/|á sžìoÁ‹}á­f¼…“ù¼‘7®íºë®Cò)óôûø99, ËB ¨5 Ô€Pj@ ¨5 Ô€- L:Sî¾ûîËo‚;î¸ã²ñuÉ%—äߌkDL¹ý÷ß?g�nÆ›Úk¯½ºšdÝL¹÷¼ç=9“?餓²w饗¦0åx3ËN8á„ôâ¿8]uÕU]·9Z…n¾^PÔ€Pj@ ¨5 Ô€Pj@ ¨50¶3SŽh¶&ŸR(�"ån¸á†´ÐB e3,Ö™:ujbÀw~—¦¿W[mµ´é¦›v5Èz5åb›ïz×»Ò‘G9Ä”‹eDïaÜÅo§c{È_þj@ ¨5 Ô€Pj@ ¨5 ÔÀ‚ÖÀ˜™rk­µVjbÌ•`:™rD£-¹ä’é3ŸùL:ì°ÃÒ�wÞ9Äü*M¹‹/¾8½å-oI§Ÿ~ú�4å¶â{¯¦Û?æ˜cÒ+^ñŠ4mÚ´!¦Ë?üðô¦7½iØ~ÅvœzPj@ ¨5 Ô€Pj@ ¨5 ÔÀä×À˜šrMŒ¹RŒ�L9ÒÝ~ûíi“M6ID«1–Ûú믟èÖÊ2L9Æv[tÑEóXoìý÷ÞÛ·)GtÞ+_ùÊÜ5•ñì¢ûlt_Ťc»t]Åà+�Çï“ÿD³Œ-c5 Ô€Pj@ ¨5 Ô€Pj ÔÀ˜›r½såNcÊan•ó>ùÉO¦=öØcÈ<–O™2%�·ÝvÛåee¤ÜôéÓÓzë­—VYe•aë•yó#mùå—’#îꫯN¼è!Æ”ûío›V^yåVº0åSŽ|Kn¹å–KÛl³M+Mu[þö$Uj@ ¨5 Ô€Pj@ ¨5 ÔÀäÖÀ„4å0¸x£iÙ5õ½ï}o6Ç?î€bxm¸á†iÝu×ÍóJSq×EÝÕ‰ž—C,µÔR­|o¹å–¼˜n¥)Ç>ñÖW^è@>USŽyu]aë¶é¼É}òY¾–¯Pj@ ¨5 Ô€Pj@ ¨�ÁÕÀ˜›r½Ž+WéK,‘¶ÜrËt÷Ýwç*¼ìe/K˜u¼e•n¤ñ¶Õë®».aØE]iÊÍœ93ýô§?Í]Z«ùWáFWØSN9%mo¼qZz饳ñVšr¬·õÖ[çqífÍš5Ì”cœ¹O}êSi£�6j|Õmù{pOHËÞ²Wj@ ¨5 Ô€Pj@ ¨50SS®WCŽ·´V‰9ÆØmŒÓÆØqetÜî»ïžçaÎñ"‡òíª˜r‹,²H6ØX¾âŠ+¦K/½tXþÕíñ{ÇwLo}ë[à²Ë.›»Æ2¿jÊ1FÝÛÞö¶´Ûn»µL9 =þˆ¢[g�uòüºm8o0N<ËÙrVj@ ¨5 Ô€Pj@ ¨50Ø3S®‰!WgÊ)ÜÁ®åoù«5 Ô€Pj@ ¨5 Ô€PYcfÊa´5ùLdÈî» 5 Ô€Pj@ ¨5 Ô€Pj@ ¨�Ršr³D)¿«5 Ô€Pj@ ¨5 Ô€Pj@ Œ¾4å4åzOÏ“qôOFËX ¨5 Ô€Pj@ ¨5 ÔÀàh`ÔL¹ÏlsvòOj@ ¨5 Ô€Pj@ ¨5 Ô€Pj`¸&¤)·â綆£{ø‰§Ò™ÓîK«îua6Ëe­D)¥ÍN¸>í7åötêu÷ 1 ?»í9éÁ9sÓ�½"mrôÕå*ùûþS§·ÒopÈåé¦{IO>ýLºñžGÒ�¾±¯O=ólk½£/»3‘_ä9lÅ”R¬ £éÌÉ벯Õòj·?í¸9øÉ,™¨5 Ô€Pj@ ¨5 Ô€˜8˜Ð¦Ü—w=?›;˜CwΞ3Ä bYUˆëìizôÉ§Ó ÛŸÓZö“C¯H³y²eJ±Î®gÞ’�¾rý/î|~zèñ¹i—3oI+íxnÚêäiiöœ¹é ;�—0œn½ÿÑVžåzݾctýî¸kû»Í)7¦Çæ>�ÖÞï’œ¦ÜQ—ÝY›ïngÝ’.¸í�|ÌjG\2#ÿf{�ö5 ´àƒ9†ÑÇñ”ûzþ-³Òö§Ý4d^ì+é¾±çÔtÍÌÓ>çÝ6$ÍNgÜ<Œæäœ¹Ï¤Íÿ}CZyçóÒ¿.Ÿ™®ºóÁ¼^¯ûSî›ß'ÎƲ²¬Ô€Pj@ ¨5 Ô€Pj@ Ôk`ÌL¹÷¯½å3§IU�L)Œ¥?žp}+j+L§j¾w<0'›h1ÿЋg 3¾êL¹ÍO¼!±Ó??g2�„)ùwÅÌtì33›N¦i(¢ø0âVÿÇÅy½NûZeÇv1ɺðŽ!åÑÍ”ûöî;ÚŽªîÿ8¹–K] RQÀúà}(>ˆ(D:Ò‚Eàyè])!´¡„&D$´ !…4RHïH/”ïo}vÜþsæ|Ϲ'÷Ü›É}Ÿµ’™3{öž=¯½ïÜ™ïÝ3£|ùç{}ÆÚàZ¬QPNÁ½±s–då«mÞÿà;ø¶A…íUTŸX>Óâd\p¡Ðèôú}€>@ Ðèôú@¹ú@‡å¾ðý}­ÑÀ\Q`éɳ­Ç é…Až´S*Ð¥ O\¦v§>ðzö]Ë‹‚r €½4~A‹õbm”Óh²1s‡íxA¹sFýÝüÒ¤,ëãÕ5owð­ƒlö;+íœ^#[ì[=A¹Ëþ5ΆM»E¾¢ \¯a³Líë§éœÅ«Â6ë­Oš—ùrdh/Ú‹>@ Ðèôú}€>@ Ðè•} Cƒr�æò�5¬Fz)ØÓâ3Êâ46þ±w±ùKV…ё݇gªÅç©ÅuŠ‚rº=ôéQsZ–âú Ê}`ž—·7pÊ[…ëÆ¼]TÏk{qÜ‚pkè„ùËì÷÷ Ûôê}tïÊ5ïÛ‚¥«ìªg[Þ¦ªm× Êi”›nÙÍç- ÊÉ­çà-<&/Xn<ñFÖ^µê½˜Vþc‚ }€>@ Ðèôú}€>@ ÐÊ×:<(×H`.–Ò[Tÿ9rNb¥å;欷WÚ ÷ µ[úNj1j.®W”ÓK"úMXØ"°×oË‘r{zlxV›ÊöFÊÅmkª}¾cÀ”`S€Ñ«k꣗AèEû\Û¯b¿ªåâ‹ÞZ±ÚîzeZ‹gñ©.EA9=Oí“ÖyîâUa„b½õIó2_¾ mF›Ñèôú}€>@ Ðèôú} eØ ‚r DéÌó•�¼JvùF×m®z«ªÞvzzÏßv×+ Ê�÷ØèÀŠëhz[ÿÉvÌ]CÚäE±\�*{hÈÚ—;xA¹ËŸo¿ºé÷»*°¦�öÛ«kÓ6|ë6`J‹€Y\î½è!Ö7?- Êéz[m\Wu|ïýì7¥¢½ªÕ'æeÚò<èôú}€>@ Ðèôú}€>PÎ>ÐáA¹Fž+—–~yãËáÖH½Àaï«ûUyŠ:¦nóÔힺ�u¯+?|k\·((§mjt—q?½¶|-\¶Úö»a@›åT»äé±áí«ñ… ^PNo^ÕsÚô&X%@Óóñ´^]S;­{Ô�ƒÃ³é ‹û¯iµ‘rzSlº^~¾((÷ë›^û¥Q€áí«¯Ï å+o½õÉo‡ïå<àÐn´}€>@ Ðèôú}€>@ ÐÖö� Ê5�SÃÅ@Žž·¶êÝ÷M*½° Ÿ¦ôøï‘¡kGŸÅ†ŸóÎJÓ›NãwMõ<·µë[xFœæu[h\ç¨îƒÃ­¥z¶›F~Åg¸éöU}â¶âTÏL‹y«MõL¹÷?0Óm¡oÎ[jzN\\WA9=«.–§ réß ãæÛ;+Ö„¯M}ËT¿˜·Z]£]:’ð_£çÚSÿ¹½TÏæÓvÖnwí¶ãhÂüóïâ¶ÒiQPNé2RàtÍ{˜êƒ€µê“–Í<nú}€>@ Ðèôú}€>@ Ð6”>ÐaA¹Fr <ûÁA„>@ Ðèôú}€>@ Ðèôú@ç픣ÓuÞNGÛÓöôú}€>@ Ðèôú}€>@ tö>@Pî ~:ûûÏÏ}€>@ Ðèôú}€>@ ÐèíÝʔ˞C×Þ��íqÀ£Ðèôú}€>@ Ðèôú} ³ö�¦å›ø@@@@*ÊU�°@@@@�æ ”k®/¥#€ € € € P!@P®‚„ € € € €4W€ \s})@@@@� ‚r$,@@@@@ ¹åšëKé € € € €T”« a € € € €Í (×\_JG@@@@ B€ \ @@@@h®A¹æúR: € € € €å*HX€ € € € €@sÊ5×—Ò@@@@¨ (WAÂ@@@@š+@P®¹¾”Ž € € € €@…A¹  € € € € Ð\‚rÍõ¥t@@@@*ÊU�°@@@@�æ ”k®/¥#€ € € € P!@P®‚„ € € € €4W€ \s})@@@@� ‚r$,@@@@@ ¹åšëKé € € € €T”« a € € € €Í (×\_JG@@@@ B€ \ @ÌõkJ IDAT@@@h®A¹æúR: € € € €å*HX€ € € € €@sÊ5×—Ò@@@@¨ (WAÂ@@@@š+@P®¹¾”Ž € € € €@…A¹  € € € € Ð\‚rÍõ¥t@@@@*ÊU�°@@@@�æ ”k®/¥#€ € € € P!@P®‚„ € € € €4W€ \s})@@@@� ‚r$,@@@@@ ¹åšëKé € € € €T”« a € € € €Í (×\_JG@@@@ B€ \ @@@@h®A¹æúR: € € € €å*HX€ € € € €@sÊ5×—Ò@@@@¨ (WAÂ@@@@š+@P®¹¾”Ž € € € €@…A¹  € € € € Ð\‚rÍõ¥t@@@@*ÊU�°@@@@�æ ”k®/¥#€ € € € P!@P®‚„ € € € €4W€ \s})@@@@� ‚r$,@@@@@ ¹åšëKé € € € €T”« a € € € €Í (×\_JG@@@@ B€ \ @@@@h®A¹æúR: € € € €å*HX€ € € € €@sÊ5×—Ò@@@@¨ (WAÂ@@@@š+@P®¹¾”Ž € € € €@…A¹  € € € € Ð\‚rÍõ¥t@@@@*ÊU�°@@@@�æ ”k®/¥#€ € € € P!@P®‚„ € € € €4W€ \s})@@@@� ‚r$,@@@@@ ¹åšëKé € € € €T”« a € € € €Í (×\_JG@@@@ B€ \ @@@@h®A¹æúR: € € € €å*HX€ € € € €@sÊ5×—Ò@@@@¨ (WAÂ@@@@š+@P®¹¾”Ž € € € €@…A¹  € € € € Ð\‚rÍõ¥t@@@@*ÊU�°@@@@�æ 4-(§‚ù‡}€>@ Ðèôú}€>@ Ðèôú} ¸l´ÑF?ب ??xûí·�Ðèôú}€>@ Ðèôú}€>@ Ðª÷‚r ¢Òèôú}€>°�ô�gŸ}Ö–/_Ús]æ9y®~òŒ 6ôú}€>@ ´U (·�œ„·U‡ .ôú}€>@(oP@.åÖež>PÞ>@ÛÑvôú}€>@(O (GPŽÑôú}€>@ Ðèôú}€>@ ÐèíÜÚ<(ÇÃûŠÞ‡ .ôú}€>@ Ðèôú}€>@ Ðè±4%(W–¡’Í}¹-¥#€”] oß¾Ö­[·²ïõG@@�õL@�¹ ÊÍœ9Ó}ôQëÞ½»=ðÀöæ›ofC$›‘V-HX«=¦L™b»ï¾»m¶Ùf¶ãŽ;š.ÎâÇK‹ëxÓý÷ßßN?ýô«|á _°1cÆ´XVëËâÅ‹mË-·lñïãÿ¸©q×åóÞ{ïÙ)§œbŸýìgmë­·mËÛc�=lóÍ7϶ùå/9&¹S¯ÌF=G�e?üámûí··�vÚÉüñªu�ÓäÉ“«¦§ o¼ñ†}ÿûß·�7Þ8´ÿ-·Ü’%{iÙJ3^>/­ ¨º½óÎ;¶ÕV[Ù…^˜åQS¿Þb‹-l‡v°‡z(Kóf¼6?~¼©_Ä2{õêå•¥yíçm/+ `ÆË÷ý3ŸùŒí¼óÎ6hР‚*yeƵ‹~¦cZÑÔ+ÓK+*+.kM;ÔûóàÕÅK‹u*ûTÇ­sÎ9Ç.½ôÒÝýnüÙÏ~ŽI_ùÊWìöÛoïÐú°q@@X7� Ê=ñÄ6`À[´hQBÝ}÷ݶ`Á‚˜kFZ£A¹½÷ÞÛ.ºè"ÓEÙSO=‚+W® ê^š×,Ó¦M³ã�?>µÚ"(—ßÖŒ3l»í¶³eË–å“ZõýÊ+¯´}÷Ý7”£ é¶ÛnkK–, e|ûÛß¶�¶ª<­ì•٨緾õ-»çž{B]†nŸþô§C¿*ª\½AåíÒ¥‹uÔQöî»ïVå¥U¬œ,ðòyiI­žU¹ X¦A9µßu×]g|ð�õïßß6Ùd“ðóW«p¯�vÛm7»ä’KB™ýúõ³M7Ý´j;¤ÛñÚÏÛ^ZF~Þ˧í]uÕU¡žý´Í6Û„Ÿï|ùï^™ÞÏt¾œô»W¦—––‘ŸoM;ÔûóàÕÅKË×�ïë&°çž{ÚAd . ÁdµŸ~�òA@@�r tHPnÞ¼yvÇwdA8Ìy䑜kFZµ€œ–{¥k”ÔªU«²ÕvÝu×0ÍKËV.˜ÑHÌ 9ÿüó GÊ)p¥Qy_úÒ—ìÆo,(Å_tØa‡Y:ªKµ½öÚ+ŒˆúÎw¾c/¼ð‚_ÀR¿ùÍoÚk¯½V¸îW¿úUÓˆœÖ~ª•Ù¨§¶ÿ‰O|ÂfÍš•UåóŸÿ¼)8§�‚C ¦ò®'1vìXÓˆÅ8BNóú÷ì³Ïš—–U `ÆËç¥ÕªEƒ�Õ³Î:+ Ê)Èxùå—·6~îsŸ³aƹe{m¤àžÊ\ºtiV†FW:4û^m¦ZûyÛ«V––{ùæÎ�kŸüä'[á4â¨V€Ù+³ÖÏtµºzeziÕÊÓòZíÐÈσW/Í«çú–Öè1²=÷C�ß�|ä#¦‘‰ñÓ»wï0Ê<~gŠ € €åè� Ü¤I“Â-«º ‹ÿžyæ™jFZÜFÑÔk.4ÌI?‡~¸]ýõ楥ë{ó_|qaPNAµ÷ß߯�C³gÏöŠi‘¦[ó IGw)�¨QQú(H¢ ÕòåË[äËY½zµ}ìc³›nº)è¶Ð|0[M·þýæ7¿ ÛÒÈ£Ç{,K«6㕹.žͧ‘OúhÔ—†Ú–>ßøÆ7¬gÏža^£¢tQ[ïí«j‡n¸!äÍÿç¥å×M¿{ù¼´´ŒzçÕ‡þû¿ÿÛ&NœhiP.Í¿bÅŠ°�rZ³fMšT1ßš62dH€ÖêgÚHµökÍöÒÊzùôW0ýùоßÿýió^™éÊE?Óiz:ï•饥eԚϷC#?^]¼´Zu[ŸÒ9F¶wýõ;R·†óA@@� G C‚r• Ïœ9sì¶Ûn3=K«OŸ>öꫯ†¿ú·uZQ0..óšRÏ�Ûe—]lþüùzðž=ùä“vÜqÇ…ç yi^™iZÑ|‘×Ó­hõ¼âú'Ÿ|²ýå/‰_M#ƒô|¹4¡g‰i„…÷Ñ>+€uê©§šn×ÕH"=WOAS}@ÒsÈTî¿ÿýïp«¢‚?ÞÇ+s]<5ÒL�F�‚Óè¶øL9mO�Ÿï :}ô£í4A9�²Ôí¤úå^zé¥à¡çͽòÊ+^Ó…´zÛ(Þ>­[ÒëùTk¿z·—ßF­|-zÙe—… ¤‚qê3z¶¥÷©UfÌ[ô3ÓòS¯L/-_NµïùvhôçÁ«‹—V­^m±\£—ï»ï>Ó(Åü§(M£zõÜIì�>úèÐßõG+=FÆímo]Óbþtªg4jT§÷iF]-³ÑzzùHC@@`Cè� œ;=zô·¯>ÿüó6uêÔ$Ò­’ÍH‹¸¢©× e¢çMéÙlz.—Hà�†‘r^šWfšVt¯ Üˆ#²ÕôPoÝê[ÏGÁ'½|! 6räÈxÑ~Ä `Åg°U+W¬ü¨2ÕåÎ;ï,Ì¢´Z÷ÊlÔS#â4š1¾T@Úz鄦ú'�ô£Àbꓦå网k^Z¾œô»—ÏKK˨g^o!âè·¢ œÊQÀUÏpÔ­Òòò>õ´‘n­Óó뮹毨,Ík¿z¶—”ÌÔʧѤ?úÑ�ì‹_ü¢�vÚiá…µߵʌ›/ú™Žiù©W¦—–/§è{Q;4úóàÕÅK+ªW[-S¿Õtô»#ÿ)JÓaýnÑÈпÿýï¦À¬Žº%½ÑcdÜnÑöÖ5-æO§úÃUþx–¦k¾ui¤LòôG’øO#˜Ó�Wfºó € €lè”Óˆ ÝJ¨i ”éC]46#-n£hê5°ÞjªQ4ñåZW·qêâÈKóÊLÓŠ.à”Óè“øÑH¹8ò+.«6Õó¢ô¼ºô#ÏO}êSávØty=ó•‘>gL�·{ï½7<7L/½H?zØ{­ œÖ¯Vf£že©[iÓ�n‡T S#`4R.¦\ÕˆÇΔS;ÉEýIÿô"½ãÌ3Ï ?c)–~ôÖP+¼O­6ÒmÖ ÈÕu–nÃk¿ZÛKËIçkåÓm½ñ£¾¡ÀA—秵ʌëýLÇ´üÔ+ÓKË—“ÿ^­ýyðêâ¥åëµ¾~_—cd{î“n½ÖHß4xþðÇcr{Ö£Þm©Æñqõæe=@@:‹@‡åÓ­  "é-r©  ‚曕V�Ó²Zxºví;º­VÏk‹^Z­r•^t¯ÊI'�²O˜0!Rt1]Ïçꫯ¶C9¤bU=W,¾0Bezè¡u½ó¼óγ8 ì¯FšèyFÓ§O£MðÑ¡>zÖ‘Þ´©‘×úT+SùñÔ3Ë4zäÅ_ ›Ö 40¾ BAÊ8*P/"ÐóÄ:CP.ßéH9¢ÒÑ’ºµOßó£YòeÔj£}öÙÇ.¸à‚¢lU—Õj¿FúD­z~ï{ß Ï´Ô•õfe½¥žO=u)ú™öÊöÊôÒ¼2½vhôçÁ«‹—æÕs}JkôÙÞû ãñ~ûíg Ðé÷¦~Åc_{×…í!€ € €Àº tXPNÁÝ2¦M%§ç‘ÅÀY3ÒbÙùi-B¡öÜsÏ0Òhç�wnñ–F/­Z¹YoéÑè%�ÄÓ÷O<1dÑ[0õöU=ËN\é[T«•—Ÿ}öÙvÆgįÙTA¨Ÿüä'¶í¶Û†g*U{yA–á?3 ˜(ȧ —F@é ¹ñ£ ÁoûÛá9s=øôÓOÇ$wê•Ùˆ§6¦[оûÝï†Q‚_ÿú×íæ›oÎêðÜsÏÙ×¾öµpK륗^Lì¬çãÝNê¥ye{ù¼4¯ÌzÒÒ œÖ×óðƒ„@«F/* [ϧZévI�BTà6öoMk½@AÛôÚ¯ÚöjÕÕË7`À€ðõëÿøÇ¦g¯Õó©Vf­Ÿi¯ìje*�—V­ÌZíÐèσW/­Z=×·å�#Û{?ôûë ƒ ¿�ôû¡ÞG´w=Ù € €Ô'ÐaA¹|p¬£¾×ÇÄZ € € € €´�A¹¶³¤$@@@@ê (W+!€ € € € ÐvåÚÎ’’@@@@¨K€ \]L¬„ °! ôíÛ׺uë¶!ï"û† € €ë™@‡åfΜi�>ú¨uïÞÝxà{óÍ7³·¯ziñ…zÛ§Þ¿kZO¾t}Í×úèm†»ï¾{xËèŽ;îhºpK?o¼ñ†}ÿûßoQÝl³ÍZõ¶Ô´œ8?f̘°½Ï|æ3¦·½4(&Õ5ÝÿýíôÓO¯kÝZ+½÷Þ{vÊ)§Øg?ûÙðÖRµUüÔr‰ëå§^>/-_NúÝË祥eäç½|^Z¾œô»—ÏKKËhí|µþù…/|ÁÔ×Úòãõo;Þ¾�5Ê~øÃ†·ÿê-¿�?þ¸WT–æ•é¥eÌxù¼´‚¢²E^>/-+ `ÆË祕-òòyiY%˜Qÿ=çœsLoiæƒ € €´‡@‡åžxâ 0`€-Z´(î¾ûn[°`A²yi³fͲçž{Îî¼óΊ œ—/Œ‹ßk!ï½÷ÞvÑE™.Øžzê)Ûj«­låÊ•Y¶.]ºØQGeï¾ûn¶l]f¾õ­oÙUW]e|ðAµ±Í6Û„m×*sÚ´ivüñÇÛæ›oÞfA¹+¯¼ÒöÝw_[¶lYšn»í¶¶dÉ’P•Z.ÕêëåóÒª•§å^>/mC(ÓÛ¥UëŸÍÊyýÅ«§×Fúy¸çž{BöáÇۧ?ýépÌðÊSšW¦—æ•ëåóÒ(Ó @@è¼”›7ožÝqÇYN²Gy$ç¼´Ù³gÛý÷ß‚yýû÷o”óòÅ\ÑÔkz­¿ñÆÛªU«²ÕvÝuWÚØ±cM� ¥k„œæõïÙgŸÍÖ­63pà@ûîw¿k_ûÚ×ì;ßùŽ 6,¬:wî\ûä'?Ù"÷•¯|Å´¾÷ÑÁí¶ÛÎ.¼ðB;ÿüó+‚r…¸×^{Ù;ì¶÷ /xÅeißüæ7íµ×^˾ÇÏ%®S4õòyiEeÅe^>/-æ/šzù¼´¢²â2/Ÿ—ó·vZ«ª¯*ˆ¦ÑŸ_úÒ—ìÆo¬k^_ªÖ_¼‚kíû'>ñ S >~>ÿùÏ›‚sÞÇ+ÓK£ÌbÏÌK+.�¥ € € €Q C‚r“&M ·¬ê‚.þ{æ™gBÈK‹ëjúòË/·ÊÕ›/-CóÞgðàÁ!�•®søá‡Ûõ×_Ÿ-:ì°Ãì†nȾ×3£@ܽ÷ÞVÕ¨8�²ÑG�E!ÒQwßøÆ7B ²žrµÎÅ_\”S ñºë® E :ÔØX¾|¹[äêÕ«ícû˜ÝtÓMÁ@·>øàƒ!O=.E…{ù¼´¢²â2/Ÿ—óM½|^ZQYq™—ÏK‹ù�VëŸ Ê)íý÷ß·qãÆ…à²‚Þµ>Õú’×_¼2kí»FjêgDâ¿úÕ¯š¶å}¼2½4Ê,ð̼´âÒXŠ € € :$(§Ñ6 ðÌ™3Çn»í6Ós¯úôéc¯¾új¸M²ZZPËå¼2Ó|ùùQ4ÕóãvÙe›?¾m´ÑFöä“OÚqÇ×â™CÕ‚EåÅe+V¬Èozfœn �ì.»ì2[³fMÆi$^ú,·¸^µi>(§ÑwÿøÇ³í)Ÿž‘×»wïjE„åÚç�|ä#vê©§†Ûu5ZO#ü¬Ç¥¨p/Ÿ—VTV\æåóÒbþ¢©—ÏK+*+.óòyi1£Ójý3?ªs·Ýv³Ç{Ì݌ח¼þâZkß5âOAä-·Ü2ëy¦œW¦—Öh=)Ó?Fz®�¦iôò}÷Ýž#š/£Ñ´|9é÷FËl4_ºíü|£e–%_~ùŽ € €À†,Ð!A9vzôèn_}þùçmêÔ©!H¤[%½´4 –ÊÕ›/-CóÞgÈ�!¦gºé™jz6—:à�®óH9]Lêáõu¤ Ÿ¶?zøþ�~ô#ûâ¿h§�vZ Õ –ļšæƒr#GŽ´�~ô£aÚŽþ)ÈŸÓ•æMçTPnòäÉÙâŸýìgáY~õ¸d™’/Ÿ—–Q1ëåóÒ* Jxù¼´¤ˆŠY/Ÿ—VQP+xA¹#Fd¥©muK¹÷ñú’×_¼2½}׈8ÝrÝ«W¯P„Fô}ùË_#û-ÓÛe xf^Zqim³TÏõÔtô»#ÿi4-_Nú½Ñ2Í—n;?ßh™eÉ—ß_¾#€ € °! tHPN£jºuëF Å YÏž=ÃŶ—×Õ4”«7_Z†æ½ÏâÅ‹Ãèœør­«Û85ª/~ª=bz~:cÆŒp‹ê믿’4Ê& ÊévÂøQ C#„p¬÷“ÊÉåSŸúT¸M±Þ2âzzž]|Þ�–)p£Ûnëq‰e¤S/Ÿ—––‘Ÿ÷òyiùrÒï^>/--#?ïåóÒòå´ö{µþ©‘rê{ñ£‘rµF¡ÕêKÕúKÜFÑÔÛw� Õ[ˆÓ�ng­<ôÊôÒÒíäç½|^Z¾œô»—ÏKKËÈÏ{ù¼´|9éw/Ÿ—––Á< € € €@¥@‡å Ó­ ýúõ³… šFà(Ø£ùZi1¨–ÊÕ›/æ�ÓJ’–KèÚµk¸�T·Õn½õÖ-žiU-èѲ”¿i_õIÝJ¤ÜÑGoq�ï}ï{áy{zÛ«Þúª4´æ“Ê)ïÿ÷gò×-ˆ‡zh]o°<ï¼óì€û«gÑm±Å6}úôP�Z.ÕêìåóÒª•§å^>/mC(ÓÛ¥UëŸ Ê�tÒI!û„ BŸTߨõñú’×_¼r«µ‘ž{¨· ¿øâ‹!»^ø QžE/É—_­L­ç¥åËI¿{ù¼´´Œü¼—ÏKË—“~÷òyiiùy/Ÿ—–/‡ï € € € tXPNغ-S£^4JnâĉÙKª¥i¤Î]wÝþ)ŸFÛéûsÏ=òVËpEÓ)Šç„ÚsÏ=m“M6±�wÞ¹âM¨Õ‚Å¥­]zÄG„wz¶›F+é=Êô0`€éå FüøÇ?6�¬«õÑh�¨Ó?ÕSÏ¡Óü‰'ž²êÔŸüä'áÙuzP~½/¦PPä�C uÙ~ûíÃrc]j¹ÄõòS/Ÿ—–/'ýîåóÒÒ2òó^>/-_NúÝË祥e´v¾ZÿüÜç>Þ¾ªÛ§h¾å–[ê*ÚëK^ñ ÷ö]o3Ö›Šõvá¯ýëvóÍ7{Eei^™^ZV@ÁŒ—ÏK+(*[äåóÒ² f¼|^ZAQÙ"/Ÿ—–À  € € €@…@‡åŠd±¬B„ € € € €4Y€ \“�)@@@@�¼A¹¼ß@@@@h²A¹&S< € € € €y‚ry¾#€ € € € Ðd� ÊÍœ9Ó}ôQëÞ½»=ðÀöæ›ofo_õÒ¦M›ÞÚzç�w†|£F�ª+_µ—HÔë»ÿþûÛé§ŸÞbõñãÇÛ{ìa[l±Exƒj¯^½Z¤Wû2eÊÓ›W7Ûl3ÛqÇÃXãº^Z\§hêåóҊʊ˼|^ZÌïMñl›v÷Œ½6òÒ(³XÀ3óÒŠK[»ÔËç¥mezû@ € € Ð:,(÷ÄOØ€lÑ¢E6fÌ»ûî»mÁ‚!Àæ¥=òÈ#öÊ+¯„õÈSPoîܹ5ó5”Sðøã�·Í7ß¼"(·Ûn»Ù%—\b|ð�õë×Ï6ÝtÓ°?µ:ÎÞ{ïm]t‘½÷Þ{öÔSOÙV[me+W® Ù¼4¯\/Ÿ—ÖÞeâÙ¶íÞÞíçõ%/�z xf^Zqik—zù¼´ö.ÓÛi € € €@gè� Ü¼yM3³J IDATóìŽ;îÈ‚p ˜)Ø¦àœ—¦õ^}õU›?~6:îÞ{ïµÉ“'×Ì×HPN#ö¶Ûn;»ð íüóÏo”S îòË/·¥K—fýdë­·¶¡C‡fß‹fT��7ÞØV­Z•%ïºë®¦†ðÒ²• f¼|^ZAQÙ"/Ÿ—–P0ƒgÛ¶{q¶Èk#/-+ `ÆË祕-òòyiY3^>/­ ¨l‘—ÏKË (˜ñòyiEe‹¼|^ZV@ÁŒ—ÏK+(ŠE € € €‰@‡å&Mšn=Õ]ü÷Ì3ÏØk¯½f^Z\7Nµî]wÝ‚{­ÉókZïçâ‹/n”Ëç2dˆm¹å–¶|ùò|R‹ïƒ·º¦ ?üp»þúëÍKK×ÏÏ{ù¼´|9éw/Ÿ—––áÍãi¶®íîùzmä¥Qf±€g楗¶v©—ÏKÛÊôö�4@@@ ³tHPN·�>øàƒ6gλí¶Ûì�7Þ°>}ú„Qp^ZL›5k–Ýÿý6|øðØ«7_ZF[åf̘FÔéÜZŸ¾}ûÚ.»ìFûm´ÑFöä“OÚqÇg—^zix¶\µ4¯Ü²”™îƒ”ÃóÃ>‘šµf¾,}‚zr,hM¿Žëj¤ñ}÷Ýg}›ÿliù}J¿oûçíCº¯Ì#€ € °¡ tHPN£ÚzôèF¸=ÿüó6uêTëÝ»w6R®ZZ ¨éBL¹Aƒe#í¼2c¾¢i½ \-ˆ¤‡±o¿ýövÍ5×ÔU”FÔm³Í6¶lÙ2ëÒ¥‹éEx`)ç¥y…{ù¼´ö.3ÝžëÞî©g~Þkw/-_NúÝË祥eäç½|^Z¾œô»—ÏKKËÈÏ{ù¼´|9éw/Ÿ—––‘Ÿ÷òyiùrÒï^>/--£­çõ NýAG¿;òŸ !-¿Oé÷ aÿ¼}H÷•y@@6t� Êé™pݺukñl¸ž={Ú¸qã²ji ªit�rÆ ËrZî•YŒ‹ËêmࢠÒìÙ³C@N/›¨÷³xñâðL¹%K–dYvÚi§0RÐKËV.˜ñòyiEe‹¼|^ZV@�<ÍÖµÝ=b¯�¼4Ê,ð̼´âÒÖ.õòyiB™Þ>�† € €t� Ê) ¦Û6õÆÒ… ÚÈ‘#M/lÐ|­4½™µÿþ-r1Àæ•×ÉOëmè¢ Ò>ûìc\pA½Edëí»ï¾ÖµkW[³fM¸�W/ˆX½zuH÷Ò² f¼|^ZAQÙ"/Ÿ—–àÌàù µE»;Äæµ‘—F™Åž™—V\ÚÚ¥^>/mC(ÓÛÒ@@@�Î ÐaA9=î±Ç oaÕ(¹‰'f�¶jiºmU·,Ýyç�ázɃþ�1"ä­–/ˆK¿{�¬Ñ*zyƒþm²É&a„›æO<ñDÓm«z&Ü[l‘­£4�â«õ™>}ºí¹çž¡Ì�wÞÙ˜eñÒ²• f¼|^ZAQÙ"/Ÿ—–�›Á³íÛ=GÜâ«×F^Z‹Br_¼|^Z®˜_½|^Z‹Br_¼|^Z®˜_½|^Z‹Br_¼|^Z®˜_½|^Z‹Br_¼|^Z®¾"€ € €$”Kc9ŸX0‹ € € € €@»”kf6‚ € € € €À‡å>´`@@@@�v (×.Ìl@@@@�Ê}hÁ € € € €í"ÐaA9½IõÑGµîÝ»Û<`o¾ùfööU/mÚ´i!ŸÞÀª|#Gެ+_µ—IÔRÖ[Vwß}wÛl³ÍlÇw´¾}ûfY¼´l¥‚/Ÿ—VPT¶ÈËç¥eÌxù¼´‚¢²E^>/-+ `ÆË祕-òòyiY3^>/­ ¨ºyezi^á^¾ñãÇÛ{ìÞH¼Ã;X¯^½¼¢²4¯L/-+ `ÆË祕-òòyiY3^>/­ ¨l‘—ÏKË (˜ñòyiE±@@@à?”{â‰'lÀ€¶hÑ"3fŒÝ}÷ݶ`Á‚`óÒzè!{íµ×Âz&L°;î¸ÃæÎ�[3_£A¹½÷ÞÛ.ºè"{ï½÷ì©§ž²­¶ÚÊV®\ø¼4¯‡yù¼4Ê,ð̼´âÒÖ.õòyií]f{oÏÛ÷ÝvÛÍ.¹äûàƒ¬_¿~¶é¦›†Ÿo¯ŽJóÊôÒ¼r½|^e xf^Zqi,E@@�@‡åæÍ›‚i1§€Ù#�<‚s^ÚÂ… íÕW_5Mc�MÁ¼É“'›—/®[4õº�Ößxã�mÕªUÙj»îºk@óÒ²• f¼|^ZAQÙ"/Ÿ—–P0ãåóÒ ŠÊyù¼´¬€‚/Ÿ—VPT¶ÈËç¥eÌxù¼´‚¢êZä•é¥y…{ùˆ»üòËméÒ¥Y[o½µ :4û^4ã•饕—yù¼´˜¿hêåóҊʊ˼|^ZÌ_4õòyiEeÅe^>/-ægŠ € € P,Ð!A¹I“&…[OuAÿ=óÌ3aœ—×ÕT½Áƒ‡r¤«7_Z†æ½�Ê×mxéçð÷믿>l»ZZº~~ž2ñŒ}b]ûR,§hÚÞý,_‡!C†Ø–[niË—/Ï'µøÞÞõô¶×¢b¹/^>/-WL‹¯^>/­E!¹/^>/-WL‹¯^>/­E!|A@@¨è� œž÷àƒÚœ9sì¶Ûn³7ÞxÃúôéFÁyi1 ¦un¿ýöpËëĉC`¯ž|1:­Ièùq»ì²‹ÍŸ?ß6Úh#{òÉ'í¸ã޳K/½4<[®ZZRDÅ,eâÙV}©¢s% Ú»Ÿ%›¶3fØvÛm~>ÓåEóí]Oo{Eõ‹Ë¼|^ZÌ_4õòyiEeÅe^>/-æ/šzù¼´¢²Új™F/ßwß}¦ç�æ?BZ~ŸÒïÂþyû�î+ó € €lè”Ó¨¶=z„ÑnÏ?ÿ¼M�:Õz÷î��”«––Ó4RNÁ¼{î¹Çôò¯Ì4_~Þk`�öÙf›mlÙ²eÖ¥K5j”xà�a¤œ—F™Åž™—V\ÚÚ¥^>/mC(s}Ú‡X=ôûí··k®¹&.r§^yi^¡^>/�2‹<3/­¸´¶Yªçzê:úÝ‘ÿliù}J¿oûçíCº¯Ì#€ € °¡ tHPN#ϺuëF Å YÏž=mܸqaYµ4�¬Ó3åbMŸ~úiÓ…¡Wfº~~ÞkàÅ‹‡gÊ-Y²$[m§�v £ú¼´lå‚/Ÿ—VPT¶ÈËç¥eÌxù¼´‚¢²E^>/-+ `ÆË祕-òòyiY3^>/­ ¨ºyezi^áµòÍž=;äôFåz?^™^šW¾—ÏK£ÌbÏÌK+.�¥ € € €Q C‚r ŒéVP½¡Qσ9r¤Ý{ï½Ù ª¥i]�Œ>|xÌi„œ^ô ·°Ö*3Œ‹ß#Dµé¾ûîk]»vµ5kÖ„[nõðúÕ«W‡Õ½´jåi¹—ÏK£ÌbÏÌK+.míR/Ÿ—ÖÞe¶÷ö¼}ßgŸ}ì‚ .ðªT˜æ•é¥öŸ…^>/�2‹<3/­¸4–"€ € €H Ã‚r³fͲÇ{,¼…U£äâ³á,óÒ€ëÕ«—Ýyç�áØAƒe#ç¼|1—ŸÖêÓ§O·=÷ÜÓ6ÙdÛyç�màÀ�Y/-[©`ÆË祕-òòyiY3^>/­ ¨l‘—ÏKË (˜ñòyiEe‹¼|^ZV@ÁŒ—ÏK+(ª®E^™^šWxµ|ºmUÏÊÛb‹- ô’ý»ÿþû½âBZµ2•è¥y{ù¼4Ê,ð̼´âÒXŠ € € � Êåƒcõ�n€ € € € €@{ ”koq¶‡ € € € ÐéÊuú. € € € €@{ ”koq¶‡ € € € ÐéÊ9]`Ï+^2þa@ ÐZßœCkÃI´CëÛ¡,f w 2"€ € Pb� Êé-ªçž{®vØaÖ¥KKߢê¥ÅBèM«G}´Ýu×]ÙÛWëÉóÇ©×véÅÌ‹ãXÏÁ3Zé½}� �þ¶-Yõ®M[´Âº>6ªEzš?�?ð–�6lúÛ¶lõ{6uárërÿëùж—–‘Ÿ÷ÊôÒòå¤ß½|ÍØwo{i½òó^>/-_NúÝË祥eT›ÿÙõýmáÒÕÖmÀ”¬Ý×µÌjÛÒòÖö%¯¬˜VTæÂe«íðn¯eû×­wZTf½yóë5ÃÓ+Sû­ŸéÅ+רÄùËìø{†Öåà•é¥å÷7ý^O¾ÖZ{eV;xÇÖFÓÒý,óüÿ\Õ×î4=ô™3߱˟_W)ó>ת{£}‚| € €”Y Ã‚rçŸ~¨-\¸ÐúöílóæÍ 6/-Ón¼ñF;餓ZåêÉóÇ©×xºˆøí?^±Ç_ŸeKW½[”9óûGßIábêäû†Ùò5ïÙ~7 ¨yq5hÊ[v{ÿɶו}í� šŸ\Ó/äó¶ç]Ôxezi�–ÙŒ}oF=×§2£õÃCgÚŒ·V´Ê5ZÏXfѴѾTTV\æ•ÙhPÎ+3n·µÓfxzeN˜·Ìnx~Bø¾¬÷8›ýÎÊðó]«Þ^™^šW®—¯Qk¯ÌjÇïØÚhš·ßeJë5l–ýßq{]ù’õ5ÇNï9¼æïŽ2íckëÚhŸ  € €eè� ÜÌ™3í�C±„S€ìì³Ï¶~ýú™—i¯¿þº]xá…vë­·fA¹zòÅüéÔk¼ßüý•,xÒýå)A¹›^œh?½¶v!5wñ*;æ®!Ù÷¢‹’Ÿ_?ÀV½û¾í}õÚ œÖ={±�õЫµ½¢ò´Ì+ÓK«V^­2•ÞÖûÞŒz®OeFëcïb¯LZFÉÄ‘r�Ö3–Y4­Õ—4òéÕÉ‹lÎâU¡�ÿõŸcÝ~«mÔ*SA¹^˜FÎ_²Ê®zöÍu.ó„{†ÚØ9KlæÛ+lÜÜ%5¾TÏZž�ì»Wæ¯nzÙÖ¼÷A‹ ÜœwVšê^Ô6q™W¦—óM½|µÚ¯¨<-óÊTzµc�wlm4­ZË´\ýO#õ‡ý ÞõÊ45ëë3fžÛ_Ê´��ÔµÑ>A>@@Ê,Ð!A9ÕN>ùäì¶SÉ®¸â {øá‡ÍKÓz‹-²sÎ9ÇÆ�ß"(W+_ˆKç½ÆK/,ní7¹"(—¦+ØòΊ5¶ÏµÛÒô8¯õ¦/ZÑââ«÷è9vuŸ–ŒZÛ‹åiê•饥eäç[“Oë®ë¾·f{i]½|^ZZF~ÞËç¥åËÉ׈Ýâxð­ƒZåÖ¥Ìü6оõ%Ý2ƒfºýP·RkZ”¿hYQ™ Êýkô\Ó~vû |þõÍ/¯S™ ÄýåŸcB‰¦[EõI—Õòldß½2yãËöîûØ�¯ê›ÕmÊÂåvá“kë�Ö-�÷ÊôÒÒ2òóõæ+j¿|Yñ{½ej}­�Þ±µÑ´X§2Ou¬?ÿñÑ6dÚÛ¦Òw¾2-æÖѷ˼ߵêÞhŸ  € €eè� œžwÚi§ÙôéÓ퀰—^zÉ®½öZëÑ£Gx¶\µ4ÓzõêÖÓ|:RÎ+3 Âåç½ÆK/"¼‹Ø8å¯OÕm¤çÇM˜¿Ì~q〰é?=2Òž>ÛþþŸÛ`ã6½íÅuâÔ+ÓK‹ù‹¦õæk«}¯w{ùºzù¼´|9éw/Ÿ—––Q4¯ X¼ÝYÏ“Š#å̢֥íä—åûÒ¯ÿ3²+ "i4”‚iù¼Õ¾çËÔz Ê�ñà‡·àé¶Æs­ï9‹Ê_T¦‚±žzNÛ¬·WÖ¬£çÙè¾{eªî ÞüÒ$ӳŒ[ýîûvÉÓþñÀ+ÓK«Ö&Z^o¾"ëjåÖ[fþXà[M‹uÔcæ-YUxËçúžöäˆÙvöÃ#Â-«Ú�4ÔHÕ—'-¬Ù·µþú¾�¶Q£}‚| € €”Y C‚rÕv 'ØÜ¹sMφ=z´]vÙeÙH¹jiS¦L±?þñ�¶`Á‚0Ê. Êyeæqéw¯ñâÅ…¦Õ.bu+’žvÝž'•æ)š×H=oê§×ö3=[ìww ¶çÆÎ[ç‘rÕʬw{ùºÖ“¯-÷½žíåë¨ï^>/­¨¬¸ÌËç¥ÅüESƒ4BKA¥§A¹FË,ÚNѲ|ßÕ-Ö‹–­®+PTž–åËÔ2åŽê>8+WA†K{�˾W++./*ó¢'Ç7Ýâ­`¶úy\¿ÚÔóltß½2U½èáõïØ‚¥«ìÁÁ3ˆÈZI¯L/­Ú~ky½ùЬ«•[O™EÇïØÚhZ¬cúG�¸,N×÷´¾ã„ÑŸz$‚ê¬ß2Öò¸Þt}ß¿X÷ÖÖ³Ñ>A>@@Ê,Ð!A¹Ù³gÛÁlšÆÙ©§žj/¿ürXV-M•=âˆ#ì˜cŽ ÿ=ôPÓ¿[n¹ÅÍ·Q4õ/^\hZt«[ó�«5"&-gßëú‡Q4šÆå“,«ñQ´½¸~~ê•é¥åËI¿×Ê×Öû^k{iÝÒy/Ÿ—––‘Ÿ÷òyiùrÒïºSoæTàJÿV®yßV¬yßî{m†5ZfZ¾7ŸïKûßüJ¸Ý2•W·Ôª^9iZ¾L¥i¿4ª*®§‘rçô™}�Ë«Móejä•n =úεÏiTÙõå<ÏF÷Ý+Sû“Ž2”«ná<èÖ�î¾{eziÕü´¼Þ|yëu)³Ú±À;¶6šæÕ³,i/�_Þ¶zã Cÿ5kqh7-/Ë>4£ž�ö ò!€ € Pf� Ê)8¦5tëÖ-Œz{öÙgí¸ã޳ùóç‡ �—–ÖÒ‘rµÊLó¥ó^ã¥E±zH÷ÖŽvH×­5¯ýëáÞºx׳…ô‚ˆ½¯þðyTÊ_´=¯\¯L/­Ñ2›±ïͨçúTfj�Ž”ÓòFë™–Ym¾¨/éÁòñ9†‡Ü6(¼]øàÛÖý™rz«¤ê¡²tÔKªÕ+¿<_Ï#»eè¥( zé¶?»òùо{ž�î»W¦^Fqáo„—=èÍʃ§Õ~ö�êí•é¥ís\VO¾¼uÌ[mê•YíXà[M«V¿2-hÈLÓz:ÓÔÇõ²�´¼wàôºúv™öµ5um´O�@@�2 tXPnÒ¤IÖµk×0ÒMÏ�:th6jÎKKjù \½ùÒ2¼ÆÓ¨ôO#›ôœ(Í?:l–év-}–¬z7[Giµ”þñJxÈ·Êœ8Yö–Fo{µ.nª•ém¯Ñ2›±ïͨçúVfê�Êyí—æ«w¾V_ÒÈ8=X^#Ï4Ú³žmµÊ|{ÅšðöUÝfª@ÃåÏŒ¯d¨UfïQsL#Iõ‚ �”›¶h…ýû�¹5Ëõ<Ù÷Z}éÄÃL/wXºê]{mê[áMµõ´•WO/Í+»Z¾ZÖ�”é ¼ck£i^Ë’vÞc£Âó$õ{D#e5ÒZ£äZÀ.˾¶¦ž�ö ò!€ € Pf� Ê¥�±Žœ÷¯5¬[ÿK°ÂŠ>°á÷ïØÚhÚ†Ðoöº²o2ëÅ%ÚŸŸ^Û?ŒZ�/4Ùö±‘}h´O�@@�2 ”sZ¯‘ òløÁÚ˜6¦ÔîΡµá¤ Å]ÏKì=zNU©ý¤ÏbÜPö±µûÑp§ # € €% (ç4^k/*X¿ö…:FÑ:Gp­ 'Ñw6ܾÓp§ # € €% (ç4€î mKÛÒšÛœCkÃI´YsÛ¬#}îdD@@ ÄåœÆëÈ ”ü¶�j’„t �üq±Þï�‡�D@@�Ò tXPn„ vî¹çÚa‡f]ºt±Aƒeo_õÒ”çð÷#�<2ü;öØcëÊWíe^‹é‚OoÔ›—­~Ϧ.\ÞâÙ?‡w{-¤é ¬Ó­°??>ºæ[!k•/2_·Àzž‘•çÕ“4@ 3Äãck§�Á†}D@@�ò tXPîüóÏ·»îºË.\h}ûöµ£�>ÚæÍ›l^ÚgœaC‡Íqi°ÍË—®—Î{M¦ ¿ASÞ²ÛûO6½1ï�´…KWÛO®é‚eãç.µkž›æOºo˜­\ó¾ýâÆY ­Ú…£WæoÿñŠ=þú,[ºê]‚r^ã�†�N Ú1µÖòNÅ#€ € €@):$(7sæL;ä�C² œ‚dgŸ}¶õë×ϼ4­÷ûßÿÞÆŽ[”«•/ Ä¥ó^+ýüú¶êÝ÷mï«×átá7zöb;ë¡öã«úÚM/N ÓxAøöŠ5vÌ]CÜ œW¦ÞÈ7ã­ÖmÀëþò‚r^ã�†�N k[;ítPì0 € €”B C‚r¯¿þº�|òÉ-kW\q…=üðÃæ¥)˜vÄGØ%—\bÇwœ�~úéö /„rjåKqé¼×JÇÞ=$Ü–š^ö=Ç®îóf‹À›FÎiÙ”…Ëí®êÛ"-Í«ùz˼µßd‚r^ã�†�N <­÷{§ƒb‡@@@ ”ÓóãN;í4›>}ºpÀöÒK/Ùµ×^k=zôÏ–«–¦`Úå—_nÏ>û¬-X°Àú÷ïo‡z¨�?¾f¾4—Î{­Ôåþ×mÂüeá–T­÷§GFÚÃgÛßûNÊoZçý,ÜÖúû{‡eË«],ÖS¦ò”óZ†4èŒñ¸ºß lÞ’UvzÏáÇÜ¢´ÎhÅ>#€ € €Àú/Ð!A9�j;á„lîܹvã�7ÚèÑ£í²Ë.ËFÊUKKƒiqþ¢‹.²'žx"Œ°kM¾˜ßk"�j›ýÎJûéµýìá¡3íww ¶çÆÎ+)wN¯‘6É*;ìöA‰ñBRÓzË$(çµ i Ðâ±TÏîÔG(‰Ëâ´(­3Z±Ï € € °þ tHPnöìÙvðÁ›¦18vê©§ÚË/¿–UK›3gNx)DÌ£©^î  œWfº~~Þk¢}¯ëo«ß}ß4�|“, £3táwóKŽ˜SºÞ˜zÅ¿ÇgëÆ<éÔ+3]� œ×2¤!€@gH�‘­™ïŒVì3 € €¬ÿ”S`ì /´nݺ…ÛPu;ªž7þü¤«–¦·³ê™r}úô ëÅÛW'NœèæËâÒï^é¢ï•I‹ì®W¦…gÅ�ÿøh›»x•í}ußð}ѲÕö׎ A¸Codo­Xmz k­‹Åje¦ùÊy-CtF�ôÙšùÎhÅ>#€ € €Àú/ÐaA¹I“&Y×®]Ã3áô ¹¡C‡f£æ¼´�Úgœa‡v˜it�ÞØƒl^¾¸N~ê5‘.úøÇ+6dÚÛ¶rÍû6qþ2;áž¡YÐí÷÷µQ³Û’UïÚœwVÚõÏOÈÒ¼ ÆjejÝ;+Ö„ÚžFééû£ÃfyÕ$ èÞqÕKë8ì$ € €”N Ã‚rùàXG}÷ZÌ»Èkï4¯ž¤!€�A Ñãng°a@@@ |åœ6kô°ùœj’„t �F�­�‡�D@@�Ò ”sš¬Ñ ÀfäsªI Ð)=¶v v@@J'@PÎi²F/›‘Ï©&I €@§hôØÚ)pØI@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹ÒßÜ IDAT5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�A¹Ò5F@@@(»A¹²· õG@@@(�@Ó‚r*˜Ðèôú}€>@ Ðèôú}€>@ ÐŠûÀFmôƒ�Úðóƒ·ß~Ûø‡}€>@ Ðèôú}€>@ Ðèôú} z (G‘ *}€>@ Ðèôú}€>@ Ðèôú@;÷‚rí N„¸z„lèôú}€>@ Ðèôú}€>@è,}€ A9"áôú}€>@ Ðèôú}€>@ ÐèíÜÖ‹ ÜÌiÓ¬Ûå—ÛùGm§ìûÓðOóZ¦´ÖFH k§>ðª�Øãe;úîvX÷v`·öëÛûÛ~ÿègW=1À-ZÊ}úé§í̳ϰ‡~¨ÕÛim½XŸh?}€>@ Ðèôú}€>@ Ðèôú€ú@‡å^zêi;c¿ýìžã޵þçþÉÆ^òWó— ìÅ3O³;wxHÓ:­é°}_k'?6ÚŽyd´�ñÔ8;o±�øÄxûI÷¶g·áö‹›Ÿµ1cß°GyØ|ÕÎízŽ�yÖ­ÚFkêúü°Ñèôú}€>@ ¬/}àÙgŸµåË—sîÛΣ!Ö—ö§‹èëGàX¼~´CGÿ@ ¬KP@n}Êq~Õ¶ýøˆ#ް /¼p�ÎWo¹åûŸÿùŸu*£‘¾ùýïßxà�¦lwÚ´i¶ýöÛ›¦�Ô­­òLš4)ÔcÖ¬YZ�¶ÚŸÖ–3{öl�²3f4eÿËØÎëñxÔ¨QöÝï~×6ß|óp­}à�Ú_ÿú×ÐFu<¨Ö·.ºè"ûüç?þU[§žå£G�¶O}êSMé‡õl?¿N‡åt[ªFȽò§?ØÔ«.·i7\g3n¹9Lõ}òe³I¹À&ž÷'{餺õÞÊ:rüDë3a¾õ™°ÀV­Zn«V-³Þo.´#çÙ]ÃçÙŸoér ÊéŸFÌåaZû}þüùá £MÑ¿›nº©ÕÛPžZ¿õƒ2nܸPö¡‡ºÎ¿ˆ[³ß dþà?Èö«žúÖ[~QYo¾ù¦}á _0Ðë)gìØ±öÓŸþ4üЪMô׿4h�í¾ûîöéO:¬sòÉ'Û‚ Z¬×_—“Æön—Xg¦m{¢‹'žôú}€>ÐÙûÀÎ;ïœ�çn¹å–ö›ßüÆ&L˜PxîT�U£çWEç‰õl¯Ú:Ï?ÿ¼ý¿ÿ÷ÿÂEš.ø®¾úêlŸt¡šžÛï³Ï>YÚ /¼`ßûÞ÷l³Í6 ÿtÞþÚk¯…t]üñöÕ¯~Õ6Þxcûæ7¿i÷ÜsO–·Z]ª-�öùÈG¶´]ý±ZÛ‰yžxâ {ñųïqyk¦uÞš ÜW\a»ì²KpÝzë­­k×®Ù£‰ŠöõÜsϵ³Î:«…‹ò|îsŸ³M7ÝÔŽ>úh›7o^‹ô´]3ìºë®¡ì¸ãŽöÔSOeëÞ}÷ݶÓN;Ù·¾õ­Ëèøö·¿msçÎÍÖU™'žx¢ýå/i±,Ý–7?eÊ”¬/~ìc3ý j€Ä}÷Ý×PyÞ¶š‘ÖÚ œ‚wp@hg]ªÝ½z­k;ËQ^¬Ùk¯½ì�7ÞȶמíìícL‹Ç›ÖõX|úé§Ûïÿûl_~øáì8ҖǃXgï÷¯hª «Ž¥ãÇ�ÏêZ´^=ËòA9G:r S‡åô¼¸;�ü�M¾ìb›zåÿٴ믱é7^¦ú®å)7á¼?Ùø?œn·ôÛðŒ¹z�'Ožqkr Ê­ Ì)8÷Øc�´È]Ãuëܨ±N:ÐÄú…~ÿý÷gß«{bÞ¢ikO8Ú;øóÛßþ¶ÅIKkë[´ÏqYµ²t"¤ƒC\Ï›*X©“*� åô™Íœ9Ó†Nš®ºêªÂ²=iTýÚ»]<Ò¸ ¤Ðèôú} Ñ[¦tQuà 7„@�Î�t8üðà Ï�êég�ž_U;O¬g›ùut�·Å[Ø%—\.ÂlÏ=÷\¶O ʽúê«Ù9}¼ÑE»ÖÕŽõÇàSN9%Œ8Ñ6tMpì±Ç†tmCûúÉO~ÒàÉסžï©½.(ï¼óNÛf›ml¿ýök¨¼jÛlË‹ðjÛ(ZÞš œl�<òH˜ ™‚kê—Eå.\¸Ð¾ô¥/µpïÖ­[øƒ|ÿþýÃí0ýÓŸþT5ÿ׿þuëÒ¥Ki§kõ È´=•­ö0`@øyˆuøÅ/~a�?þxE™ +ð×kÍ4åô³7gÎS_½øâ‹m“M6±ÿýßÿ-,3 Ú¶f[ÍX·µA9KøÃßýë_!€úä“Oî纶óÈ‘#CÀG}Cκ~Ó¶£C³Ú¹ÙÇâzÚ_\Iÿ÷YÓ¶<¬ë1LÇNÅXÒú5:OPî?ÏnЋ^8í›ô·‹lòÿ^FËM½úŠ0Õw-ŸxÁy6áÜ?Øø³O³gŽ92¼¢xåV¬\j#F ³I“&ØÌÓlĈ×íŽ;nk�{ðÁlàÀ�mÒ°ùz©Ã(ʬåúå}æ™gš"°ú¥¡¡å i¹Nft õt0Ùm·ÝìøC}ö³Ÿ ‘zåÓ/‹ü6ô=Þ¾zë­·†²~Ihý#�<2¬¯“ý i»Z‡¢*¯†¦*2þ£ý(„öØc�pÐûÝï~F�}ãß'!EÛÕ‹2tO,ôË¡¨¾m½ïúÅ£ý)ªSµeñX~¤œþª�þ²Ô�ÿ¸ãŽ+,['R?ùÉOÂZÆúåüÏþ3¬ûÒK/…¿P¤'i=zô0ý%­‘vQ^ ±×vôW¡+¯¼²°NÕö—å\lÑèôú}€>àõ�Fo™ÒE•b±l�—é\Vçƒ:‡Õ¹‹Î��:ꨔŠë)`¥ó7¥éüñ�C e¤A9ý[¾½÷Þ;ä­v[íœS£dtÞ¤:l·Ývöïÿ;lCÁ¥Åºä§§�vZ8'Î/�ßUÞ�!Cªæ�ëizùå—‡ýK—¥ó;ì°ƒÝvÛmu••æÓ|Þ^ËTÒˆ©¸¯éí«ºÖ�¹ÎÏe®vš>}zØö¿øE;çœsL�0�¯êÜ_A•™^„ë‚^A?]GÈA#‡ÖóÎUNµk¥éß½÷Þ®cT7Ý­’åjµY,#N�9æ˜ìÚ'.‹Ó¾}ûV\È«�éz+®£@Œ®“â÷tÚ§OŸp=&ϸ\í¨Ÿ-ûò—¿–ëÚHÖZG×€á×O§ZO#+ã5TšVk>^ÓÄ6ˆëk™ÊŒm¨öÕmÌjsý,h½^½z…>¤õþë¿þËÔ~1¿×Ô÷Õöê/�©}¿ì²Ë²¼^;k_ìÔϽœôó®�ñöU¯�u<Ð(Æüµš‚e±Þét]ÛY·EêË3fŒiD—¬›ÙÎm},Vý‹Úÿoû[â«�þêW¿ÊF8똫ÑgŸùÌgÂÏ€~ä�1ƒôx ²5W£ŠÕ'+P¿Šf^{j�zŽaÕú“ÊÞj«­ì£ýh¨§bÞñIÛÓñJõ�õÓíñ:Îè{”ÓˆfGÕOµÿÕü±œfL;l¤œÞ²:ò�g†Ñp!0wÙÅá–Õ0Bîo…åÿ|ŽMøÓ™6þŒSlè‰Ç†·²Öƒ0iò$[ºì=z¤M˜0Þ&MzÓ{´å¹»ïîFÓµGPNÍQ¤]#·ô �ý÷ßßN:é¤Ð!´}uê—_~9<¿ó�ïdÃÐëù+` ÊÉ¥hD–.Ú–þ2¡aÔ:�*è£õ”Ó­b:Øh]ýÅM¿˜4ÔZ')ºý³È\MÐ�*XTß¶Þ÷|0ìCQ�ª-‹¿ÀòA¹óÏ??˜ißu‚'Ëž={î¯~‰è‡Uû¨}–‘ÚMek» šjdd¬ƒvñ™­m�œÄ“+•¯¾ËeÊE}€>@ ÐèÕÒ‹*�?éº >è|Vw&è‚J8�Ïê"WõÔ…¹.„¨ÓíG:ÇŒÏrŽA9-Ó¹Ó¯ýëP†òyç°ùsÎ~ýú…‹~ò”WÒ:ïÕ¼F”ébKóEÿ´�‚Ò¹œÎítW†ÎsãºZ¦sD݆ªsø|€Nû¤òõ8]0V»5QuÓmqº¸Œe§S�§j¤]µ‘-©}šOçöÑ: Ê)p²ï¾û†kýá_·Ú¦AÝö¨öÒy­Ö‹#ÅÒ‹p¥ß|óÍ!ˆ¢k ïЊÛ÷νk€#F„@À£�>ö÷Ïþs8ÏŽÏ”«ÕfqûšªéÖÑÿû¿ÿËꕦÿýïo1âIiºðÖíˆq=ÈÒ`Q\®é�7ÞX18BÁÎSO=5äÿÚ×¾ú›Fré±>rR}ôs�–“Îën�;0]ô¯¶/ñš&”Ó5¦ê¯¢¶£ë;$ÔÞòQV E×*jSñÔgõ3ׯÖÔßUv lëvuùÅk^;ß~ûíö•¯|% léùÜ©³×ί¿þzXWÏá‹vÍ¥cKüžN×µ�õ‡‚N8¡EÙ2Š×†mÝÎiÝ™O�é±XeåÛ_}M#ýtœV,B1€ôÿ—¿üe‹‘rÕž)§¶WPO×Á:nè¹òú®¦¶ëµ§ÒÓ:§ûœüþ¤kâôX^ëøToPNuQŸnïÛWÓQ’”qÖi¦À›FÄéùq“þzÁÚçÈ]p^X>ᜳmüY§Ù¸ÓN²!ÇUPnÒ$[²ä-[ºôm[¾b‰ 2Ю¹æ*»ùæÂH¹ž=ﳕ+—ÚÊ•ËÚe¤œFdÅ ‹]?úa‰�Q¿4ãȨô¯&ùޏ~:õ‚r¯¼òJ8§¿Ü5äZ?h*CS½�^ ´ÆMUi£ #˜ôGçüJËQ`'^ô)¥€•‚é:š×ù•žÝ¤‹'�ØPðHËk�+åÏ9µ¾Î95j#ÿ ¯ü6óßõiåUÐJ#xtÞ¦ç‡Åõ4²Mçîú#öA‚ 1˜¡uôPPDçÍñ•މe¨N `ꮌ¸,?Õm�:-rÒºÕ.hõ|äx>Ÿåt§…ÎëUoÕ1ÝžÎïÓ?&?öØcáZDë¤A¹4�æun«¶ŒË½ó_ï@£vbÿPYºVÑH�”‹å×3Õˆ7=_®š›®³ÒçªLmKÁX¾h²W;ÆeqªYú m-W€9¶¥ú9Pûª(¸©mê¶fµÍž{î®›byšjù5×\S±-¥i„Rz=–æ‹×4ù œÖùøÇ?žÝ¥¥öÕ@†˜Wwe¥ÁT-×5�F+jÞë1(§às,ïì³Ïúîµ³‚½ê#1ŸFçÉ9Ž”‹Ë‹¦:nhÝô:V×]ªwÑúëÚκÝX¡´l]Ÿ+¥emÝÎq;Í8çÛ_í÷Ún âÆkÍzƒr æ*x뮩®uO—U›¯çæõ§|P.¿�üñi}Ê¥£$;,(§ÛWŸ=þ˜0N·¨ê…!@wÞŸÂ-«a„œr§ŸlcO>Þz~HÝ·¯Nš4ÑÞyg� ôŠ�=ÂÎ>û¬0ªëôÓO³^½Ë´\;ý’Í7h[|×ÉŠ†.+­Š¢ë:ˆèŸ~Àx‰'ú €NlbP'n?—§S/(§ƒ±ž]·«©N<ôƒ©2”KßfÿZË�Õã÷tZÏH¹fì{[�”Ó/nµ�þê£y=DCqã_ Ó}Õ¼lôƒ�.×_tã/Üt’¢_XZW¿lãºù \­vQWÛRyú%¯“´XÓú/8°ÂŠ>@ ÐèÅ} ½h�‘.ªtñ«óž4ø¥ï Xé¼T·©é<8¼s7�3é"LèÕȘX—ZçJEçÈÑ_º Ñ{ªS,Ï›ê‘$º})®£Q\:w×Yã²8ÕètÄŠËÒ©F’è–»4è  ‚nÕ¿4À�æ«g¾Ú­Îïãè¼4(§QR ž¨MÔ Ü©þÚ–.Úã¨*}WP3ÛÒ œÖ×#x´ �´ÑhÙÄwÕÎk]hD`~T’k­ Êé<\×U^[¯ëªZ#åÒ¶Ó�7ê÷rÓ(B]gj€þ�Ÿ®ç�”K×ËÏW ÊiÿÕ.ñYˆjßôöT�ê‹AÄX¦®5⋼þ ëA]§Æ|š*Ÿ‚ªµÚY·Ï¦#õ3¥z¦?i¹éüú6R.­[[¶s[‹UÏ|ûkta .ÆýP›êç^ßë Êé.:�Nc :.Ä»ÃbÙÕ¦µŽaµúS>(Wëø´¾åR§ ÊéEzyƒnMÕ3ãÞüãöæÏ S}×r��S@nÌï�±[öÿUÝ/zPPîíEslܸQ6iòxûùÏf]ºœd�özÐÆ¿ùFX6yÊ[²ô­¦å„­_ÞúËI ŸÎk´~Që¤$>§Léú%’¥ù4Ÿå;ì°?ú ƒ†”Æà_>ïºåô7Ýf™Žì+ªo[ï»~ùÊ+¿/Þ÷ø ,Ž\Óºú “~)Ä¿h™F§ÅÈ|y:iÌ�”Ó‰_)§õõÌ9ýâV M'‹±ŒÖ¶Ķ ç×Éb\Æ´øâ\èôú}€>Ðü>Pí¢J€ÔE¿.ªÔ]Ï©âH¹ÈIÛIçWº¥M£ºô‡ã8ê®Ö9lÑ9g,wâĉ¡L½d!.ó¦:¯LD1(—ž#Æü:ÿÕuõ’�¸,�*(§óË`ÔE£nÉÕ9bÄLóÔ;_d/'=^%Þv•åÒrõFX]3tïÞ=Ô[íéEºFÍ)¸¥u»·F ª|¯�5$}‰žúa½A9ýì(Ào“Õ¶tŒÑ±&îW:]×vÖH2]ÃÅ2µ¿º=o­ôf·s¬ƒ7-:Äõõó�¶[�”Ó¨QÅ,âvZ;-ªsþæõ§|P®ÖñI£¯¿þú¬¾úÃMü½¤ãFlÖ±$G[»_­Y?™ÎwXPnæ´ivÆ~ûÙóÇ‚o—ýS0®Ë 6ö¤ãlÌ G[ŸÃë*O=;­ Ü[ gÚ´©oÚÜ9ÓlÁ¼6cÆD›:uœÍ˜>!,›;w†-^¼°]‚rú “FNÅ ýB{衇¾Ä_a¥û½õ !ÖH;ôu¿tµýNƒrú ˜~ÇuuÐ×pk ¥×ƒ]œÓ_lb‡[— œ¶¡¿B¦C¯‹êÛÖû®ƒŠNÄâ>*PVím1ZG¿@ã_�ôW�ø UzÝ«çÊé$Iëè@ÁÄòãT'�:éùÇ?þuR£_¨“'OÎꢶÔ/õ×Þø ]åoM»èdV÷ãÇ“Zý"Ó,Öƒió/80Ƙ>@ Ð6ô>�^ ´f_‹.ª”ÿç?ÿ¹)Тy�ké%bñâG磚×µÎ�tÞ•¦œòéî ÝY¢»j�ÃæÏ9u~«gzi$šÊר½O<1ÔG}ñyXEûª›(úºê®siÝ=¡uU®nGU°MõRðN£Îâ(:�ÒÛ?u׋ބ©‹@�›«þ:ïþíoÎ/LQÙú§sТzÔZ&ûøæ[ÕEÛÖ¶Ò‹ä4(§gü)¢º(P©kŠôvE�ÖR°MuWûĤA9�ŠŒwب~:§Íåª�ÿz× t(P5lذ`¡k •ƒrµÚLçþ:�W`+ºV»^R;(H!‹h¬:+¿ÚW×z\¤SÝcÐLùõrí»ÎÏu‘Ÿ¿P¹wÝuW‹7ë„j'µÒ?°käœÒb]Z3�A9]Ó(È­©~n¼Jß¾šÊÄgøéùhúÑõ…úq±¦õ«õÕ_Á©ø2µ�'ñ ^;ë…w-§6Ò~êQAiP®V;똡khõQ�”{¤KíÖµ�£Ñ=÷Ü\ô³”éâ¶Úº�ÛúX¬zæÛ?ÆÔ§Õ‡>øà·t×;RN?+ú£„¥èçM}PÇrÙi»µÚ³žc˜×ŸòA¹Zǧ®]»fÁí·K/åƒrZ®c_lçfMÓ‘‘é|‡å´£/=õ´]°ßÏí¹#8á¿� Á¸1ÇiÏz��ÿóŸ‡cB:W IDATuëÅQPnÁüé6tè«6jÔP›>}‚�1؆͆ Ó/í§mÄðÁa4�Æõ–Ûšõt Ó ƒò¨Óê�5ŠÀjh¸~)êy:Pk$›~™Ç²õË;þ@'ŠÄë—Vµ¿Þ¤A9ý²Qg×Kå¨Lý²Õžê£åÝëµ®A9�ê‹'-ÚVQ}ÛrßuB¤ýˆv|õK!ýK@tŒSøóÿâ/ ÜUý"ÓɘÌÒ [,CSåÔjý%JmÅõT¯Ô>.oM»è%úå£rÔîz;’žqËbÊ…"}€>@ ÐèëÚÒ‹�Ö”U-(§‹1]|ë�Á:_ŠoöŒeë™]zì‡Î{uîÏuãH¹¸žnÃŒ·#zç°ùsN=êC�•xN§à˜Q*·ÖÃǵŽÞšª‘Z:ÇÓmyñé*Wû¬‘R:7ÓóïÒóN�Ô9¡F\èbUÁÉüÑE_þTßã[ ã>×;U=byÚO�`Ó¨ô–Ø4(§»7t� uµo *)@§íé¢]Á½™Sç›zž_<¿Nƒr ¢êylºµTwïhD–ê×UYÕΫ]ÄýUpC·x*€«ªö'åjµ™ö+ZÄiþ¹qq;šª?êVÞt™µê�òÑåUߘ®?°Çë%-S0CçäjgØÒk7¥ëü]íóÿÛ»»Õ¨�0ã½.ï@OÄé‰àýx½ƒöÔª [ðб_°X ~€—ù†ÐMö+mvý¦Ùl2óÌ“ÙÌ›7ÙŒUÊ6R—8™©~~]’%êç{•õ—y-A¹Ô9�²”?N–ñ+Ûèe²<õ ï8žD=¾èó!A¹¸ŸHÆaq)Þ•}õµs| ÷$QäÙz9ÎRö2j笗LÖÙw¹Ý¶ì»ûºi;µÓ´sÊÛÍ£�·Ý‡I·ýÓé[OHÿ› \É~ÍúËå²nn‹ÎX5ýFÆÏéJp}¨=—éÃú|êå†ú§/ù>JÒLžù˜€ß¢ \.XäÑ q½Îîì:6Öÿ”köø¤Í‚Ëí©'‡/šÏ¯ÛéøåóæÍ³§í{ Þ­àêê¢ùùcÞÌççm†Ü|~Ñ\_m./¿´ºÛÛëæææªùýëûh™r«”w—×ÍA|yuÈ�T®Âf9)ª¯ÞÝG†ö‘ÉúK|h}ïXq€à8ÀܧÝAû¦ûžúùoîBJËÝH›ÖwÝÏ'ã+å¨(dÝmmós}>” Ü6÷7Ö¶´³~t,·6Ùn� ¹hþÁƒr©`nKÍ3æò㯟Ç?p€àÆv Œ½/ÛŸžÏ}A˜UÛËùïôÚwÕ6ìóa—‚r«Ö{ ëë‹wÿøò¨Î†\4?‰ ÜPE¼¿ÿ²îz'%6)¼ùµ°]¯‹ò;Þ8Àp€ûí@=0ÐÖûÝÖwµo_æ®õ-sþ»îôù (7në‹Ç廨ïšÚrA¹?D˜š”ÊÃIp€à8Àp€àvÍ�:r™yA9A9™]à8Àp€à8Àp€:Pg@.3/(·!ð]‹Ú*¯+ à8Àp€à8ÀpàáØzPîßy=ÀàÇ8Àp€à8Àp€èqàÀ € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € €ÿ=�¿ÌgH_œP׌IEND®B`‚liquidctl-1.16.0/docs/developer/images/wireshark_3.png000066400000000000000000010530061515166127400227170ustar00rootroot00000000000000‰PNG  IHDRîYÈ8X IDATx콉SSI»?>ÿ­[uëÖ}ï­rFY„Y^u„„%ì�@aQpWÜÄQÇmÜuÜwTöÙ÷-aMÙ:êý~«¾¿ª_u÷9�CXDÇ™wt:uŠêôé~ºÏç$äóéçyú|ié'µô‹°ô�°ô ‡O¸…·ØÂGláfáÊ8D枌Ã=ÄÜ#Äýõ Ëø­»Èœ'2çÁît3÷Pƒ*Q_w°À<(S°žÍR-Q™aÕ£6ÈwÁ–ñ)0+‘…G¸µÌ’�Ø¥¡qàQ…e¡qË` *à¿Ka=~ Úˆb—†�^TdA»‹ M|Š., …£ˆâ–Â[3 �…3AÍb—‚öT8"”1´`œ6HO LW.…s3¾cÅ-Åü38êû i‡0ê{æ�#¿<‹+qŸš”~/”~<½W$¨§zA³ØÔl`·Œ¤Ê¦ó¡'9›‘ úê@ƒhx0&Œ¯7C—c: £Ë¬E¿ÛÙ: #\à, ÑŒ·i¶îÔÌiÌMo‡ÉÌ#¾„Yù‡Yñ?úOë.¶òŸ^‰íÏq ·™£jÅ�u¶`ܲ?g{ÉìÖà(FÜ$³€Àœ ‹Y3ý2ÅV|Ú”ÿôû"¶S¢{}èÅÎz9sBúñ zž”tùpþø>Ò¸xÖ?l¦[ÛèÏÍ?ÔÒ'ÄÜ“þ=B?RøWÆý®Ñ¿MÆ_C‘9ówµŸÞÛ¿†ÌDúGýŠ›Ñ¿§tcæO­qtæ+Ýýã¿"ð#Ž~”=‚ÍÁÁì5µŒ-ãS£º%³ u¥ºþE¦Z2@äÎ_/šî‚ ˜B Ù2çj;e8ã é‰á¢.ÑtwÐM™Fo0Â}ß[`BÍœæHÌ AŸ tÊx»!zøшlÓÈÊà]˜r™4Æ64zøS nÊô#Ôb†Jf³0 �÷¶a¶oy&k# µðÄG˜…—˜>$^–Þá–Þ–>RxDYúFYúF/ö�^ìÿèÅþ1VüX«xâ¬â­â¬â¬ãÁ!ÀG‚µ �ñ6Ðm@cºF€ ¸o¼µI%Ó2Ô$Ð#šŒO1G§º3›1Ëp\0zÂxzÆ‹¢O³¸üá–¾K‰…�ÄÂ;ÌÂSdîdÆ,r,r,r Xä°È…¿Îü…àð_èìÿ >¸þßp�oÁ)TìÇ5øì,ݱYæ(̲I4Pɘà oÁ´¼Ðoý$ßóG€ø{�äûXƒþòá[PfœšÞ×ÐÝqGlǤ ³>@L ŠÚ0�à^ø° 'ƒO™´Ÿí-UÇÂmÀ4¾õYû†ÀCdí‹�kß`k¿kp–y„L}Ë<5Gyº}Üœ>nÃ,àöpÚ~Ì·Ìf¿³ŒÌÎ1íßo?À;Ûm¢9̧%³;j�îàô¾&5ÂÅÞ Ïx,b o‘¹¡³§•£Ç\�%\÷¥ðXâäÎ8xKœÐá¶Ä‘yð–81ßþÉåyŽÎ[âä±ÌÅÛÆÝdžÇ8ܽmÀáCýåÑoAT¦»;Ò5TS›LûÆ2Ó2Žž‰Ñ8]CuÄs˜6(¶LÍߤ#ž?. ËDC{/wóZîæù#ÏóGž,㿞Sßâú?¨0}Ð@³še àù#€å=fÄ|úˆ~·œv-&P{þèê¾ÔË\<–Qe\ù¡…�°à±ÌÅów�;Ç<™×Å,ã«v_ .|ú̧×0G™û,³%³<ã@Tƒe.îL˜e8C¦�OR—0u”ÙÌÎx±3VÎfaŽz€ ý!œ£Ùï?õ;&ì<ÏŸ˜?ú‡ïƒ¦ñA�ÿè™ûóDàO¾kïS¾?¨€èålÆg;Ë$¥ ¼”ë¾ÄÉc)>¸žK¹žK¸žßs½-¹�‹\Å^áÞ¾RKä(`HÿX €£8ÐA-ê#&Mý¥×þgä÷¦‚AÓQ{#_�þ„ šý�cMÖMlÂÆöt3£}Ú&�X-@YB™b4 ¤2’`-ø*ÜÂ'zÂ,¼ƒÍ=¼Ì�\ÿÉá²¹ŽŽNä ‚A€ @ |np¹G;G×ï8~fÎaæ^áÀQà �(K?, ¢­¢AÔ� Ö*0ÎÁ¨!çƒh=ZìÇëýŒ!ÄÎ1qG¤Spö56›úÔCŽg…œ Èj�ÿbûhJÌ–8 J}¦`ˆ` ’xྠ,ÇY~%¡ô€wÜeNööl¶�­-ËÆ†‚A€ @ �Ï ;6‹eÏf;±¸ß³ùfÎb oà%é0pˆŽŠ^ ¢†b­c€$€z€"ÍÆ°Èã…(þ‡þkÂÝǼ¥…&ë¨wDì\@‹ÜëÜ‘xPe‰‘ÊCNolFÓ}ÔÒØkꜧ8�¼ù … …Zxñ¹8gϱw JàóúēقA€ @ ̈€�­­“½ƒ³9;ÄÜ]bá%±;è@/?Ò’½Ø?zq- QCpí<ÎZ� :XÈ”ô#B‚µ ñ[*7Åç]SÐßiYÅÔÂ<^¡G:¶åÌÐé8%£@3¤… �qÖÂ0J{Ài=ƒ¼è/=:0õ•$ç€çb.Ç–¸ˆK„ @ ‚AàËA€mkë¸ÜÁßÌE ôðH-}¥`ƒMÿ((€*°D[ �‹ Ö*ÅÑ4-·Sœ^¤`µÀØÈHÓ¡aœu²f’[Ìdä ±1ƒ ç„�ü =@«@³AX´ÀAÑ[04ÔÈ)ÞÒ^f Ä …Yx‡Zx ÍÜÝ,ííYv3J+RI ‚A€ @øLp°³÷\äˆö$•ZzÃMH�$ˆ´äCI¶Ž2d�r 0¹‡Ú ô3Y5ƒ S~È­Q0X¡g4F´0uHÊ1ï‡ €¸ã±¨@#˜Ï@5£ÝAŒ JЙŸÂ�ñ`äë &Õ4û =a Ȍǵ Î�/G ¦_W2m‚A€ @ Ÿ6‹Å[èjá ]àé0‹Àê*j(j± z1õ8è( 8:MÇ)=€˜4þK¯ÖcN�™=fáÆ `Z! È~ÄÑ•GÆQ_Pk ôŠ>–”—‰ 81Äï±@"„)$€Í8ëÀX+£$ ý ج葹gà"7GsÖ'GŸ$‚A€ @ |Blmœíl�íl9¬ù®äÚÙÚº~Ù{†�çízÇøF€�!~¤e@Ô
Å € †  í4ÝGá7ˆôƒÊ«ÀhÀ°ÁAÇ1ÛS§èUycJjO×c6O%* 4d–ö0 rŒÇÂáP=l#¤þ1×Çãe L•PðZð@”Ø@×ô@ˆ¹‡`‘«£9ÙPh¾ŸªOø™&¦‚A€ @ Þ‹€½­MÇ6Þ�µÕ›½—ŽtvœËÏÁÖÞöýÎå;‘¹ˆ‹1÷[øJ,üÂ-An1Ì"bê°ËP Øk-¨ã¨}&�¹Âô~DÓ‰8–ÃdítTµψò§búirO­å#7]‰æ ¤F¤$ŠG¢f…ôC¬u HW ¿±ÖAðr(m(¦©0èW"sÏ`s�€E.D¼÷ƒH‚A€ @ üù¸ÚÙ®ñ°»êPÍmIpiKGk¢Ky4÷¢Èa�§�ýžum—oìBÌÜEæ@„YøH€$ð…’À/Šä€YÅ`5ÆåÄû)ÿbê4­Ç’ùŒt¨+ }Q„” Â'–±]‰R™wšÇù0ôs è7 g‹F„£ GüE¡GÌH!G„lî)4sç/$zàýÊòÏÿô“ ‚A€ @ üÍà±m÷ðÙ%ÑN­P 1€ÿ¶&º”Es³ýìÜìæ’Î_Û›yŠÌ½Dæ d» € B†˜QCˆ—#r�¢ó�’Ä÷Sëôˆv5:E“x h]�ø‘Æ¢z°lOKZ3à€P€•¸ Lb íC=@y ÐSÕ`63R5q Æ(`3*šOï+¡™ÔÎÄ?ð7ÿ²‘Ë'üØÚû…­HZèÆþ3†ûôU´u亇FÆD†º:|9Wvö<a\lT �=‡û w ÜSñФ•×Ïôž’Å ‚Aà/�‡e“æmWËÅ`ÆBu w›·�ãìÎ_Û ÍRÂ+a4EÊ™‹÷€÷Ó}A= ÝQL´vµÃŠ�  4ô ]P‘>¡ÔB<’´ €}ñ@LµÀÔ0 j(ŠÊ*FqJ‚8Ú±ðU°¹‡ÐŒÇ_èìhþ—þ4Ìð#ôéé ‚À‹€­}ÈÙ²¦‘¡¦b—ÏòKmË%d•õô<>»'˜gÿY^ÂÔÿœn'žÈÚ w¯‘8~”°µ¹PÕ:<Ð�öyÞÓ©€|÷”\Aà C@àhSó1€BU Wè4«‹€ûµ]à"rÐ!C …€Þul.µ�ï+A”UP” ÐLÒ�ôƒß é¬b  h�¥¦v¤*©ð!*Ð_H;ŒgÑÎBÐo¨<ŠŠZ, C�Œ�9‹…äžž!•ç@û%Læ€B• Az×QZ¨ ÷BÐWÁæîAf<¿oœ9D�_‚A`~pü“n—¶t=8àîôaœØÖA|«cäÝkùÞ·?áËž+Øs¾ gpTÞQuz×ç›í 3´u”¬>Ô¦Õ”_Ë uÿÝÖæ…6Ë=dí­ŠÎ±ž;aœOÿˆŽ{ОËՆї9륩8’{=co }»%¼°uO=ø¤²mT©”wԜ߿žïÆ™á6Í Ø?Vú’YþÎfzñ\]?“ãAlì½´_y=¯s­/ªé\㣼vXq%78,`Ïæêä~Í 2ó6s1÷ C†|$>”$`¤ÀÜâ h ÐCÇàš=šÂ³c­…ÑV@0t‚iº "÷ oàú`s!”šL7ƒ>�ÍŒx?ÅüD[1Ã��¯€r) ÁHf0™J26�9#< Øz p‘›ï7ÎfäŸ#A€ @xl^↬ÃGN=®i)ùõ§£Wòs“|Øv®n®®NŽl[¶=ÇÕÕÍÍÉÁp2[GWWž›«› ×ÑÞŽEé��œž««›3¨„-YŽ£«‹ ÏÕ�çêêâäääè:ºº¸8:°m©õ;[;GG®›+¨w6Ö³�¸°±Õž۳ݲît¿~ój\1¬Pi'Õ]ç²V¹ÏäckçèäÌssqdƒ G'ž« ×�o;;¶““³œ•+ב͢ô@Õ­c1�ž`8'úí±c¡–àby.\'GGg® ÏÍÍÍ…ëD]#ÄÞÞÁÙÖ¯�ªtsuuws}©ö¶Nîö]j–�½y÷îÕÐÉ\zÀÖÑÑZP;Ù³íÀb?ËÑ‘K£êââäh�ƒk)$ݼ¥9×ë¦ë6ÛxOíÑ=…¿åSï)ÛŽõÀÛÉþƒñÔ=åï©ct“{J}Òf¾§àŽÌpOÝ"sútZ•rxpH¥5ü¦ï>“¹Âí}I„GAH/‚Aà£4éÛÚÒòqz€mkSã„é~_Vô›žõ£ó�k|:’½Tù§ÞÊZûwÇãµ±N³mBê´€hæ.zÀSdî wYÅ0d(€‘R 6…b¥ó‚½†è톘+ú”ë Ö:úCÿ¨D‘?˜ÊÓ9¾ÀfÔÈK€UD,ð-cI@Ÿ� @\�BO$`N†îÒ @/cöóÔiX cö¡† Æ®‰X+pQ_™¹ ˆ ‹I‚Àü°w ÌÙ:¨|¼ŸkoçÀõÙöÓíVÙ¨z|l°»ì`j¤³“äVÇÈÿ¾3 ËäãjÍ`{ùɬվ.,;ß�gó[û†µ:½^£h,šÿ°¨gH¥U ×><èngccDzçKÖþ’_9 Ôh²²»'“ÂüX¶v¢3Ï_ö*4�fl°êÁ™ÕbPï’Õmx=ÒQ°Vè%]—S;¨ï.8)åϰ†mç(úùQ�n²77ÞßÎÎaÇÍž‰ÑÎ Û#ÙvaüÖ›…�Šqõ¸b¸½òb„› ðè^iUÊQ…J«yùäìŠ 7;[¶wÐêëe̓£ãz½~´¯áÞõ[eM½Zý„¢¿ñâ�T'6ËÆÖÑÕ?e÷™Šö½^?ÒS{~ߺW‹åš°5¯¸©gT©Öëõcò¦«‡Öƒö¶ák÷¾hèíéÐN¼š[ØsÜv^ªUiµšážú+9›Ü8,¶à§GU½#ãj�n|´±ðÚÖø`.`Ïvî¤sOêG5úq•btL÷ÊÄ?`ËÄèœÐT瓸;H¶þÒ>¬x¸‡ÃbqœýÒŽÝm“+À=í*Ý·&ÜÉ)ü^ÏØ»·†aÙÀ¸Z=ÐVöóŽUÀcç—}áa{?¸§:õhCÙ“üGŽÃ*­j¨æþ‰h>pÙÙÙ„§œ}P5îiéíŸW…úÚ³lÙNag_Ôˆà=UTÞ?µJäcϲe±\VoßµBèÉqòÝ’wotRýäø6?g’·ð>?¿o· �#o �À'ÔŽ6˜ë£Bÿ®Ø7½�êGç‘�íM4ià8sÈ­<` Ö~ðð)x×Q°å(Í¿aQm¸¨O3é)‹ýÑ ÔPÊi€×æ)f ¤¤ï´·�Þ Ô¸¨OÕÀdâ+“u} *à@Ø2pPÄ‚f8m€Ú’9â ˆ¶2 äjÀgÑå|%Xä.Xäêû —ø>úsO:þFز=Ñ/´wö�·Ý:–èæÈŸE¸KvwLL*eÍ®_¾våxjTÇÄ ýï[CkÅ“û�^´ÉUã=e»“C9ÑÅšî׿M´?xZÒ8þêíÄØ`MÉóê–þ‰É‰âckìl¹žáÊdºñáú²ç/*GƵ]ÏOˆÜ�XÜÄ2õ« Õ`å³G¥uê ]ùù~®‚­·'{Ýöä�7›å%^{«rP×þ Yì ÝSøÓlzÀÞE”w³L=9^ÿìî…‹Wo\Üåïà„ôÀ˜¼­ðñÃ5:Ã+Ù³Þö‚¨��ÚWc²öâg…mråë·oGÚÊïÝÖ;69ÖS³7ÑÏÎÞueöùÎõpgÝ“‡�ªÚGu*Ùµ«œ¼¶½34ièk(½ÿ  ctÒ0Þ{tu€��­“G@Ll\DҞꮑÉ9ýl{§Õ{/Ý»s;ÿá‹–Þ½¢6;1ØÁ)²@1ùÚ ª{ñðyYèVßpïX¸/×ÎIpüy÷Û7ú¶Êg÷=o‘�Ï_xK÷uNL*úï_»ríÊñµŽ#Ò­åO<.jP�wg%‰8œÐ+õýoÞL4?((mR¿~;¡”W?¯i•OLNYÍfÙºøH/•Ëuª¡—eÏ +šjm׳cAn¶ËÊ õ+ý˜¼âÙ£²—�ê ]é/éÞ8ÜË–åâž{µdTÙ~:#ÑÍþ‹Hì&”� ð!ð õ@×Ö„î·%º YÿÿÞýöÿýßwƒ?mœ~Vâ<³p\À XäC†¨]†D>¡þ ðSɨ]†kGq;pݤ •{´üVúa<dö1ÖÁh žÖF~O¯â£àDÖ�lžö'ÛÇ€8%ê-Ô$ÆSPoტ)Éô@ \ã¦h™d€•¦@0}ÔŒÏX€í�@°È�¿ÐÕç®=‰ú‚¾Š#zJîÚŸ�Ë#xÅ/÷^Ü>yìZaUÕÝC|GûÙõ@V³J/o+>’¹.Bèëì`ŒÚÉspñÏ8ñLm¼™»ÑÛ% è�×C9Qî^!©Årƒ¼öÁÆpŸØç;G'†ŸåpÙv¾ G º¶’Kñ~.®‚Õ7Ê: ú¶=Q~@ŒšŸ¦¹…®ÙWÑ«U”�ùº†ïyöÛ›WM·³ÜX¶nÂUW »'úŸo�ò§‡–ήBýZ2¦zzáÈú•‘~nŽvT¼�¶âzn˜Ç]²½v`ü�¾6Õ×ê]݃S‘þÙ •“…¹ñl{·œ'E×ŬXއôÔýZ½¾çÌæHG;vК_'õ-Å神~@”·v¯rut͸ÕóÚ ~öS’=%Åm­è|Ÿ`sÃâSwîÙŸwìܳêý¤üìÖ.7ª@1©S4e„¹ñ¥ë6©Æø:g4+´¯UÕƒ\8½WjMã…f÷xGînQédÍ…y©B®ƒ�-•?пWêÆqì8ýBm¸vp½§³è�׃£Ü}Ã6”Ê ²ª{ëÄ>ñY—{”ÃO8²lù+4èš_œ�÷4ùve·Aßšî õÀ¤¬áÑš@Wqê¡ê>íhÉi¡—3øÏfËrñ Ùùó�v™¼ìf^d€Ût�GþÿZ>¡:™ê�®��ê'—^·W¿n«Ò\éÞl" ‚gI)æPz‡ y…Zø„YøŠ-ü¤`‹!¬ €—€ö€% ¨­�¨˜¸›�É>Bø-jl²®?…©#k(/™²Ooû÷ 22x:E�–�åCa¢-€Ôg‰dmtÄYE=úð”ÐîF@u ™D[%XăzÀ‰è�í—‡ŒNø\°sp‡‡øyEÄFy±míü¥{Ú'´/�’zr¦Æ ù§å]­lîê¯y~#se×Ä QùÄö¯ MŽ=ú9Ãß]LëÏ/òV£v°þñ–HoaÊ‘&¹f¼ì˜‹½]Ðæ“ªŠ»ø,'äøƒÝë‘ÓkƒŒz �ë“VÐ4ªyyEâÿê·×­÷{²Yžakn”Ëu��ÖHüf �Ž¢ãkõ¯ú�¬à3ã…ìXN! [.ä—ö�(ä�õùJ¼Ü˜ùÄvî‰O»Gß½êÞ!âõ€7/õȃAÍdù±Ul;ûÍš_�õ^Û—è°êÚ‹öWã•[Å~l'ß-M“=µ÷’F=ÀaÇýTýzR[öË:‡Ñž™E�}ƒým…O êÚe“CÓã¸Î´uqN¼R"×µ?J�ôw�>(Ÿ˜¼'áØÍœOlËDïïœÐÖÜÿ9܃35^( ýȯU-=Cƒ}Õϯ§'Šœ¸À?@å;x¬Ýóëð¤òÁ±4?ž„Ò‘<�€˜;ÍÚ�º#¼‚×oÔŽ—qb±DÛnNLŽ•ÞÜëoÏbqD'Ÿ¼Ô¿9¹:À¨\ÿ¸í/ZšÚ‹!> ÖË‘'Úái—\^zûX¢ÈÇaö½?—/™'Aà_‚ÀêÕ«™öÚºeË'™Ì'Ô®lÛæxgÌø»7 5O/^öïŠëÛ5QûLûâz÷–Ü !Îy¶œ"ÎO°ˆD§ §’EXúI-ý¥–RÊK €Q= ^(òì(”?` h7ðD”:‚`,>jƒÉ7Hë÷ð/\û7ž‚Îðí ¼Æ ØP´p`'bù(j(%À‰1¨? æ? tgÐò~0 œ x‹üH=¸È-`‘«Ï7DL‰ø$ßb„ ð÷@€åš^¯6t•Ý\ìÆÔvlGž§OhTRîù‡ý*mõ¯{}¢±àz¸R©��]ÝŸêÁ 5ê߈ Ú¡úÇ[£|׿5Ê4j¨|âòä}GÙ¯+\Ý‚ÖÜ®èšÔ·î’ú2õ€oÔ¶§�#š—W%þn.á^½l¾·ÂŸ'Y³·¢OÛ_x6jÆådû€Ü;åšWêÛ;#ÙÌüÛÑÉÅW Z‘ºãIëøkÝàé âpãþBN‚U9-#Ú7ã¥+=¹ =à–’wP3YñsÛÎ~ã¹F öˆà~ IDAT¯pt?q¯Z7Ñ~[Œ£;dýÅ‘I}Kѹ†€ÃŽ9\õÀúж¶‘{Ÿ&T7„†ïùåш~ÐDð„ —‹úuí�S£øŽA[ë‡5¿iÛvGû8º gØ_È–í/ÙÞ 1t”\[%t gä {½úðÅÇý*mÕå]|ïhJ„»r½B]«Öéû/íYËã†a=àÎ�¾Ý¨¬{°Iê”r´e@;^ú“‹åŸð“Ü k-¾”Àwå Só«{^é[vн˜zÀ/6ãyÓ¨¦îRˆ�+‹ÅÝøó³…¢üv^t ‡ýGm�ú÷øV’_4‚À{ ݼq£ÉùI¾ ƒááÔ—Z­þè|â_C9˜îŸÌÔÞ€ Ä®m‰®ýÙ1Ú¢›Ã¿ìÄ ®‡9ÌöŸ�³€å¿�°È]hæbæ%2>¥ØŸN!@QC`“~£oÔ€—#2 ½qR´~�Öà1­¾èU EÌ€æS©Ã”N˜²gÎ@”�JH@Úª°*LZéXr ŧs£@Jƒ0Ú*% É�Ã|4ÜàÆ ¹Ñþ�åŸäC@Œ3lÝ|¥—«G ZEKmYuS�Öðå{Ef?//ytÿ~aUËøÄD-ÐQ( ½º¨¤²qH¥l|´56€íó@¼�7‹pr=SÔ?¡ëh¬­mêTéôÝÇ‚y0Å r™zÀΑÿsÑÀ䄺³±¶©C¦U÷ýz`�_àŠ‹� ë*n­ôfìSië”tà¦l|R%k*,xÖ:¨7À|b/tï‰_Ÿ<º}çqÇèÄë‰ÑÓëC�н“wV”–5v ½z=Qwq“‹Ê€ñBÞ3ë{¶sü޳íÃê1y{yiy‹L¥Wõÿº/‘kóP¼Ð{õÛIœ¼ÿyeÑ/û6ú;·nº¦yýj¸«æöÕë…µ�:ƒ©€©ØÞ»n6¾yûz¨óeIIY»l|Ò$ŸØÆ–çõkͨA3ÚRSZÓÜ«›|=ó‰}£w£{Z\Ó:n˜¨¾œàôÀ»7mUÅ%Uàž¼ÌßÍg£ü�׃#y³ég/ÉÙbÙ„VÙÑPSÛÜ5®×w=ýIàŠò`¼�€ËÔö^k+F&›Ôõ4–?yôðáÃWo ðpú›}ãÞÃó�91QQÓ{;㿬ša�ÕD»º6vo j_áF €®]ƒº6¡·- Î <Ö N`Xë¸À–¿È n1ä)4ó 6÷�x!ÿ0 ~¸%?Â<| �‘‹½F±û˜ëÓù€dãÕú«`D»Q HÕ¥ù=.#]ÁèÎØJˆnŒºÇZƒðÔå! ÄZ1€Vú1õ‡í)j�`‡öÐsFÏUF;!ËÀ?°ˆÇ_äæý5×ÞŒèòO– @øìØŽ!‰™ù•*ÝÄ„N=ÐÓrïp ÇÎÖoEN}ï°N?¡U Õ=½˜* à8ð÷üZÐ-Wè' úñѺgW·%Џö,[û�÷úX¶lïàÄ“w*UZ­R^zëh¼Ð Ùãü�©z€ecëÆ�=u¿vD­S ´Þ8šìÉul¬ê{g¨Kõaè[/xçÉ{�ÃêW¯_idžKîn_!pòϽülP©1LLŒ ´Þ>¶ÅÏÉ) |Ã�ÊÖ‘1­Á0¡èoºytߕòe¿×?`okëàä•´ýçŠöäa¤§öÌ®ÕÞ\{–Ýè;{çøí¿*_)žžË0ôÇ% ë—'=#ãÚqeOsᮕ"G'c¼SØÙØ:ºí<õ }pÌ`˜ÔŒ�4_Û-p`,·Û±�BWî|PÕ9®3À{Ú|7'Ùže+H:Ü€îéØPÍ“ókÂý9üý7^ôÈ•ðžŽÔ\Ùè½þ;–½¯håé{•CàžÊŠoþèɶµ�Í?Àøííÿ¾{÷ö zý6Pt6nUôAô‚4&>#\ìl�A€]Ó ?Ù»á]•§%×Á|b ‚Ì<„f^B3ïsŸP ?±_b ± ˆ°H-��ZF-F¼YÂuƒ‡¡;ƈ|ä ˆµ«ïˆÄ£¿X-ÐLÝÈþQLýáÊ=)„C†¨Š``GiU@ͦ Sšë cál1ׇ¢‚Ê{Æmh�5±è@€z`¡«÷×NìED| úŒ¾Qdª‚€[Ô¾Žaµ¡çšpÆLûýø«!ÆvtK9üL¯î¾¼­zÌÂ_~Î5 É|�Ïo{›‹"ûé€Ys[ÌásfÞY]/ò𹂧’y†˜{‹Ì}Ã,üÂ-ùRèbù‚¢E‚0rDÄQx^n§ãø)¾Žê§8¬‘N@ÛQ�û"jŽ’’‘ؘæí‘ÒÀ–ÑL� @ idéÔöEû ñs¨i`5B‡!Á#¤ô€××\¢>»¯™0A€ ðaز¶ží)>’ˆŸqöaþÕäÛÑÕg÷µúîÚ'éqþ³ùÄ?¯+"³%óAÀÇÁæX�}u,—™^ÜšèÒï\Ãý9ÈÞ×á=«ºL=€Afá#¶ð ÉÄ ^(Ü?• ø`D>~¤Xȇ¬� ǧ—çñú=¨Ç;ПÀ” ÁQŒ8~SEèH{¨ph t�å@•´¡ÂŠèl p2–ر€¥– x÷!41¤Ü<‰øWÿÌÏçË@Ú¿[7ÑÚ�ëÃÜ~Ÿ�÷üêüqÆÙöŽA‰«£<çzVñ¿lzÜ…Ë‚AÀ‰e“Àc�ÚçKG8=‰pº+qÌ ´�s³ušÇVc˜? €ùÄÁf^Ð?ö•X€|b Ð)$ˆZLé�Xj!°ˆ³r)ŽÎ|Ü/dØÆzHÁ)~ÏäåÈö $ä`,ðSv0}‡` Õ0R ¨­E‘cm6Ê\ûGCÓ{�b==0èW|øü¢È׌ @ ‚Aà/ŽÛÖÆ�mãë`ãϱqž=[`úU8,°å/tãƒçðz™yƒü_øü¾Øˆ�pKÄ‚ùÄè‘d˜4£U|ÈË�F›ýca@“l*Fˆ1áF´]�C€¹ê�bý•G:]xЪ?_ºÇÀ0$¤:À–Gô[4"ÎZ¦õ�1Èqk�Þ Ôs_ñ‚ç�x¡éŸRC ‚A€ ðe à°ÀÖo!æ€ý…p>q˜¥P>1p€€çyEÓþ:Äâø@¬Ñš=Zƒ§I¿1àuA½ˆ‹Cm\ °/ û(¸ß$XȘ±€c�ãÇq>´}** m? “ OQ©Æ´žAAG”`\¥ €ð§ôq1‚A€ @ ¾@ þ� �O ÷5ùb ä õx>1zâ/&Ó˜|²N/ÒãµyDñQv/díˆvSä/ÌS ÿ`E?˜/�ÔFÔr>ZþÇQC�¾£e~J„ÐCo‘$O.£s @4í² Òð$© c˜A· fê²¿Ðøéÿ24=¹ ‚A€ @ ¿Î[è˜Áx!°¿�O(2�’Â�…hÎ=ee¹è¨!j±Smôä/FGJ Ü¼i¬5âë˜Íc–ÏLAÆ<,áCíarÖDu¡ìaäO@Ú€1ä€@ª4xþÎ=ˆ²"=àFâ…~Ï'Œô%‚A€ @ø+#àŸOÌ_ä@çˆÌ}DæFÿÌ”.’.F­ÓãÐ H¯ §Ù9àñ´6T›‘s ØÚ_Hjaˆü(ü†&∎cªÍ,b= ¡G͘ËùX'÷0¥Y;Ó&³ŒEˆ�Îj Ø?S! 5BOs}Ô—²@·g§Ê@ø/ñBv‹~\þ#9‚A€ @ _tþ#^ÈWdáfÁ�°¤ôT¼ZŸºê?�IOá÷tcÌàQ{ÌÎq÷é5øµÞO›bÖÏXfŽ…Í2 3ö2­ù~ ÁóÈ<–¸„K$ä ‚A€ @ |a8/²GùÄH„˜y‹Ì}Eæ@0ž?(þ� ÈÅLJ�ʘC›Pp\� &íq=æúL ̳ I=–×ãÆ¨€'fÒ€Y�»€6´Ó·G…)mÀóÈ�عÎ@^‚A€ @ �/þRo¬áóÈDæ¾!æþ¡¬LˆõüßN¡àÓ<3žE•˜ë3ßRãFR¤�qVSõjfšœ@í/äù5—è�/î“O.ˆ @ ‚A 0›0õ€ý…Œþs�Ù3"Ù3�r¹Ÿ‘Ö3;âò-�lZžÂõMð-fù&§¿Å¦°³´1î7Jôùº‚A€ @ |‘0õÚ_î7êgê ÷Å[Ñ\ßDÌÆæ™Ô´¡×ïg¤æ3V2);³®gÁl€Ể1»à³3t§â…<¾vþ = ×ëKJJÒÓÓ ãG�~úé§þþþ?îÓSRR’““ÓÓÓS^^ž‘‘¡P(>áXíÙ¾¾>©TúA6ÃÃÃÿ‚˜ïرãéÓ§z½~îk8yòäíÛ·çnö¯:ûìÙ³ÜÜÜ���?z¹¹¹eeeô@Ä>A€ @ø¼˜IøŠÌ)= ± ˜ñù´˜›vcªmÒŒIÍMNá·Â©ëýL�ËØA�kfàô3M·Ç3¤:25Æ|â¹õÀ¹sçlll,éWEEEccãÙ³g Ã… RSSÛÛÛ?úc166–””DÛ¶üç?ÿY^^δv÷îݤ¤¤–––æææóçÏ«TªÆÆÆ€€f›÷–£¢¢>Œ›Õ××K¥ÒÚÚÚ7n<}ú×òBuuõêÕ«ííííììÂÂÂnݺ¥Õjç(Ož< ¶±±quuÍÈȘ?ø�æøñã{öìù�˜g÷ÆÆÆˆˆˆmÛ¶ γ jVZZYùA½>¢qggçÖ­[9Ž���H$*++ëëëÛ»wï•+Wf³644”””„ùÖÕ«Wq™Ùe||\(666 †žžžk×®uuu1|tY§Ó¥¤¤àï *øøø˜L£½½ýûï¿ÿ Q¬¬¬þÌ™SÌÌÌ<{ö¬N§3 G£Ñ †âââõë×—””\¼x±¶¶ö½z ··wëÖ­ÇŽcÚÿ„e�Fc‚¹¥¥åÎ�;GGGç3ÊÕ«W“““{zzæÓxz›£G�¦¤¤ z�FsêÔ©mÛ¶)•Êé-_¾|™œœ|ÿþýé§H A€ @ø;#À_ê ž?°�7}¡0 ¾Ä2@b)ˆ°ÁBôóÈÀMHöÔÅ~æÙ¹ :ó,³ hz¤U= 6Ú @ ig™mŒ¢ZÀ½°M<îºÐAPXf€ç¸û-ä½7 ///11±ººZ_�F¯×£Ÿð߯ E\\\FF2>00€þÔb=€­©©±±±Á æS8uê‡ÃAs6 Ç��ŠŠêèèÐÁ×|,|D›ÒÒR//¯U«V•””ôõõݸqcÍš5r¹ü#Lá.·nÝúþûïwïÞÝØØX__àÀ�óçÏã³sÔjõîÝ»7lØ0w3tÖä.̧‹I›»wïZXX¸¹¹™PU“fÓßþ9z@«ÕnÚ´)<<¼²²²««ëêÕ«………ÝÝÝ7n|ø0‹ÅZºtiJJ n̼3– E||üÞ½{™gu:ÝÏ?ÿ¼lÙ2{{û°°°•+W¶´´>>È200àååUXX8O¢|áÂ…øøøúúúþþþåË—§§§44T"‘xxx¬[·®¦¦&==ÝÖÖvÙ²eÛ¶mS«ÕXèõúòòòÐÐÐï¾ûŽËåÞ¾}[«Õ>þœÏç÷ÝwË—/¿víš^¯?|øðòåË¿ûî»°°°ŠŠŠ÷B� ÿBèb Ãøøxzzú�?þ¸|ùò-[¶Èd2½^_PPðí·ßººº>þ\¯×c=ÐÐÐòÝwßýóŸÿܶm6;wa6=0::º}ûv„Cjjêàà Sp8œ””77·={ö|ÚH˹'LÎ�¿XðyÒù(^ÈÊ~£0Ÿ˜‘RŒÉ4"ÐL*�ʸf6¶MóûÅB¸�©‰ÁéfqƒÙ ¢LB?GK¦}mâ˜Q¤¦¦úûû766êõúµk׆……Éåòššš¸¸¸‹/šŒ;ÇÛúúú���3gÎdff®^½1ΜœœþóŸ���½½½«W¯>uê”^¯úôiooïØØØ¡C‡BBB ÖOžX¹råîÝ»Õjõç´Zí�Á®]»òóóÕjµ‰ ¼¼Õ_¿~�Ïç×ÕÕ™ø�¨¯¯_µjÕ/¿ü¢R©ššš”J%Ó?PQQ�ôÀØØ˜½½ýÎ�; …L&koo?qâÄÊ•+ÆÇÇ?"Vé�öööˆˆˆœœœááácÇŽI¥R¹\Žô€N§»~ýzXXXaa¡L&ÃÈ´´4.—ÛÒÒÒÓÓ#•J/\¸ V«­¬¬"""úúúnÞ¼QVVÖÚÚêæævéÒ%µZ�››ëãã388˜““ÃãñŠ‹‹Õjµ@ ÈËËëïï_»v-ŠÕ¹zõjdddww7ÆyîBQQQxxxAAÁµk×bcc?~,‘H:;;“““sss ÖAAA���ƒƒƒ�&;;{ÅŠ­­­½½½\.÷üùóXôööÿôÓO*•ª  ÀÙÙ¹ººzçÎ�[·néïïïîîÖëõVVV/^¼ïééù x6=pêÔ)[[ÛÖÖÖÆÆF©Tºoß¾ŽŽ¡PxôèQ…Bqúôi6›-“ɰHKKKII«¯¯Ÿ|6;;›Ïç£ÿ�¥¥¥©©©È?°oß¾ÐÐÐŽŽŽ���„„„Ý»w›è‘H¤V«¢¢¢._¾Œ ’A€ @ø»!€õ@À"¨|BÌýBÌù&ùÄ(d(’âîˆgO§Ñ€OGZ… �ÛƒýSæ1óž±`bÙ”ÖÓCûÒKSZÒ•¸Ù”³t0Òô³`ôH«éâ*Àã}û�æååÙÚÚúúú …Â+V̨ÂÃÃ###óá+##cåÊ•ó\¹W(‰ÄÆÆ­%'$$´¶¶îÛ·/((- _¹rE*•þN=`0?~ìîîÞÙÙyøðaìî@z ½½�Ïçgff¢ùóx¼[·néõz.—{éÒ¥¬¬,©Tš••uôèÑèèèyütttˆÅâãÇ�£…Ò-[¶q8œçÏŸŸîÜ9ä¢9}úôÓ§O‡‡‡ ƒ@ ÈÌÌüõ×_kkkU*sJs—Mô€D"A 9Z­öĉ111èÿâú�ÆÅÅåÞ½{Xœ9s&&&æØ±c>œ:Avvö?ü€þCýøã�‰‰‰ÃÃÃ�`Ó¦MwïÞ½wïÞŽ;$‰‰¸qã†Á`ÙµkWFFÆÜ—FÎ�/¦4óšù„ÐϳÉÄÌ|béb¡tñ”GƒAÎ�ŽÎÇ ù˜j›¬ÜÏ&'p=5‰ì3ɽ‰@oég¥Qƒâ.X� Ð¦Ÿ¯<]« î kjj†‡‡gÔ!!!¾¾¾ðµmÛ¶³gÏÎ3 ålß¾}¾†††´ZmvvvDDú\Þ¸q#66–©jkk?4À`0ô÷÷‹D¢½{÷&''9re¤ÚÚÚx<^dd$šÿæÍ›KKKõz}JJJLLLrròÙ³gÓÒÒBBBvíÚ5O·ûÐÐЪU«¶lÙ‚ø‡B¡hmmuqqyüøñÞ½{×­[722b0>|hee5Ïo`oo¯££ãÅ‹M‚1*++×­[—ššºeË–ÀÀÀ€€¥R¹{÷îÔÔTt™yyy!!!jµzÏž=8:Še IDAT ..îÂ… ¨A||<ŽB¬K­V›™™­Zµ a²uëÖ»w;Û´GFF¢££9Α#G²²²~øá‡ÜÜ\´Æ�zeeeíÞ½[.—oÚ´)%%eóæÍ+W®tww¯®®ÆzÀ`08p ""âöíÛ‰mcU[[+‹�=j0ÆÆÆ8ÀápÒÓÓ322¶mÛvèСyú˜“NJJòõõíîîÞ´iÎ8xð`bbâæÍ›“““===¯\¹200‚ó�@§ÓÕ××çææ&''‡„„”””̨ŠŠŠ¬­­™ åccc÷ïßOOO���Ÿ?�F“Gz ¸¸øÛo¿MMMÍÈÈHOOß´iÓÀÀÒCCCiiiîîîŸÜÜ\�F“•••””„ŒìÚµkË–-ƒƒƒ8Ÿ¸¾¾>%%åÖ­[çÏŸ�ˆˆ@¸··7 àáÇ999H? †Ý»wÇÆÆ †òòò„„„'NH¥Ò‚‚‚y~N ƒN§Û¸qcZZš‹‹ ò †‡‡gff†††"JÍÔ§N�2 ���áááb±ÿ·9sæ Öׯ_www_»v-:»cÇŽ’’’ÞÞÞsçέ_¿>44ôÔ©S:�®®®nÏž= +V¬(,,d~æ.›è‘H„¾/:�îìÙ³ÑÑÑçÎ�‹ŠŠBE�ÆÃÃãæÍ›XŒŽŽ^¹reãÆ�±±±6l˜§ÉÎÎ Eÿ!ûúúvîÜ™˜˜844äãã#‹ÑÍMKK;qâD]]Î'æp8·nÝBz ;;{þáIs#@Î�Ï*Ÿx‘{À"O=jÄ€Ä20Ü2ú@`Ïlz’rœÌTï/3);sÙ’òDÖ™ö™eF{¸®ž  FÄ}™Â`:ïÇ-v(í òÎëùÄyyyxAý„OÏÈÍÍ���Z­¶¯¯¯««kžœåìÚµKM¿ôzý£G�–/_>00 P(²³³Mâ…ÚÛÛ—,YòAáìˆ;¿¯¯oË–-‡FF¸\î•+W´Zmii©��Ï•+W …H$ºsçÂé�ÑÑѶ¶6¥RÙßßïããóóÏ?«T*$p¼�\._ºtéåË—ÇÇÇGFFd2Y7|i4š’’’ÿø�ÿ˜§K ê�hjj »zõªJ¥R*•MMM�éµZýË/¿ÄÆÆÖ××kµZ¹\ÞÖÖ¦ÑhÒÓÓ=<<šššººº¢¢¢Ž;¦R©¦ë�ŠŠ //¯Ç�#‡�··w{{ûŒz@.—gff:;;§¤¤|¨£ãĉþþþöööèÛ·}ûv‡‡ÔSœ>}Ú`0(•Ê­[·¦¥¥õööêtºÞÞÞÎÎN¬êëëî]»6_­­­2™¬³³s``@©TnÚ´)66V©TVWW«Õ꺺:©TzâÄ é{ &z`Ïž=|>¿¿¿¿««+%%%--­¦¦&$$äêÕ«ããã�?¶··onnÆz ¹¹Y.—£%•åË—Ï3Ti¶ü�Í›7¯[·®··W¯×Ëd²ŽŽÿ@llìÈÈH]]]LLÌ]æ{q ‚Àç…€ÿRoß…î|¨ŒùàùÄ¡�Kp0õÀÔ�!ãb¼tñŒÄ‡3×ïGGÁEô²ýŒ²ÉjIS|d“ÒLŠ0ôC§�+q™Åoi…TÁ§Ô}}}ëÖ­‹ŒŒ”J¥ ׯ_Ÿ'-S(b±xÉ’%|úURR2::š’’’˜˜¸uëV‰Äô(•ÊÀÀ@‰DrðàÁyz!PœÉóçÏ­­­QV%ú#= Ñh “’’"##£¢¢p¼{[[ÛâÅ‹·nݪÓé²²²ðæ'óüÈåòcÇŽEDD…ÂÐÐÐèè茌Œ¾¾¾ÎÎNäÜ�ˆˆ‹ÅUUUó4h0ººº233CàK*•nܸ±¸¸¸´´tÅŠk×®MKK‹��Ez`ß¾}<oÕªUb±8""¢µµU§ÓxyyÅÄÄܾ}ûÉ“'111k׮ݲe‹§§çt=PYY _ëׯŸÿ2êO?ýäíí-“ÉÆà«²²’ÃáO×ýýýIII+V¬ÈÌÌLIIñöö6ñ òüm;sþüùeË–ÄÇÇ'&&Þ¾}»¯¯oß¾}R©4222>>þòåËól …âøñãè„…… …B€túôi>ŸW[[‹BÅÒÒÒÖ¯_xåÊ�N·gÏ‘HÙÚÚŠô@[[ÛöíÛ¥ð%‹ëêê4ÍÆ�ÒÓÓ/]º„òôzýåË—E"‘T*MLL¼qãÆ½{÷з&))‰J4Ÿ�ÒJ¥òòåË111‘‘‘111»víEzÀ`0´··gee¡›˜��pãÆ �F³cÇ�—˜˜š””T__�BêQö¨TªÃ‡K$©T*‹Ïž=«ÕjgÔ:�îÂ… ?üðÑ#G>ô*ŠŠŠX,–D"A‰Ý7oÞüú믳³³Óõ€Á`¨¬¬Ü°aº¨+V ´ß¨Z­¾|ù2B5***--íåË—§N�BŸÄÔGFF¢¢¢"àkÍš5&Ï�¼‰èì쌉‰‘Àך5kª««ÇÇÇOŸ>-•J#""BBBŽ=ªÕj±8}úttttTT”T*ݱcÇ<}Y³é�ÆÆÆõë×#k«W¯¾yó¦‰X¹relllXXØúõëç™ø4÷哳‚Aà3Eùüzà|b/fÁ³ˆ¡`î7 bëçž‹)5^V‰ÛøP¬óuFRPÈ'0Ý3@w!FÐ!D›!ŸêÈèN‰Ìæé™ë5`†Ì–XŠL�¤Q™PÏ'†û Í•ÒÚÓÓÓÒÒÂü™DÞ|™LÖÖÖ†Nõ÷÷———UTTÌ-ÅZ0^h¹«¢¢¢¶¶¶¾¾¾¥¥E¥R ¡eN½^ßÜÜ\TTÔÐÐ0ÏTôñU(íííX«477£­�Ôju[[[IIIqqqmm-º"�FS^^޶¬éîî®®®þЈŽÑÑÑúúú¢¢¢/^TUUÉår´#P___EEEqqqss3žÌ<¿cƒƒƒUUU………¥¥¥µZ�ò•kkkÛÛÛëêê”Jå�RSSkkk‹‹‹ÛÚÚÐzöØØXUUUqqqOO�J¥jhh¨¬¬¬««khhèîîÖjµ8¬Y¯×#LŠŠŠjkkQàÓ|&ÙÞÞÎÌ•Ôh4UUUCCC===MMMÈB|étº®®®òòòÚÚÚ¦¦¦úúz¥R©P(PV.j¹oß>¡PˆîHOOOiiiqqq |¡ÜÐ���ªªª¢¢¢òòò¾¾¾y≖–+++ ‹‹‹QÞ°Á`,///))¨¨¨¨©©©¯¯ojjB‘32™¬¢¢¢¨¨ͳ¯¯¥ÃWcc£V«Õëõ===%%%555½½½ÍÍÍÈ¡�Ö¤ñTåryeeeQQQYYÙü¿2ø”––"=¬T*ëëë‘2lmmÕjµãããˆæêtºþþ~4JEE…\.×h4»víJNN®®®.))éèè@1c¥¥¥(nll¬µµ-]�ŒŒTWW£ršõôôttt ÑÕÕÕ…oèÇÃÃÃ?âiJ¥²¢¢¢¹¹}DGFFÐç]fCC‚½¡¡C¤Õj;;;ËÊÊŠŠŠÐGK­V···£´u”ª‹o‡R©ìêê*---**B_a­V‹>0%%%mmmô?ýbÆùtvv–”””––bX Emm-š‚t`` µµU­V÷ôô i———Ïÿñd]]]xG#½^ßÝÝ�àBeŒRà­­­èSÁápòóóKKKËÊÊÐ7rH� @ üÝ@ùHèü‘…?Úo”Ö�ðùAH À�!ÓÐ Ì×áÆ´¿…œ›JÕÅ�1×g43®åGZK#ÏÝÅx6Ê*˜¹(Ý „YI;@r0Rx IÃp €KCÊa^ùçÎ�[0õõi?CSmƒwEEEŸvƒÁ0}” TWWò�°ÁÓ§OÏ8(΋À-ç_X¹råt››6mšnéô éégÿèšé“\°`A__ßGŒ;66æããƒ~÷Ýçè’››k2O‡9Ú1§�˜ñcóרT*ŒÿøÇ?þýßÿý¿ÿû¿,X€EÂÜ/]ºdr LÞÎÿÙsôIΚÌmÁ‚h�²Ob|#‘‘‘Ó‡^°`Îr™­/‡Ãù#þ—Î6©'eüÁóÈ@¼æ™ù›û!=j!³‚Ï# Œ° ŠÉ €1iÄ¿iÞo\�gnä1 ˆ8nÏ$î�»×ãñ)ÚK@ecU€ø=v§)v~ ‘¸ ²É °Æ$ÅÌÖ­EZ…|å·ÐÝ÷7�¯�7D®û+ßE2·Eé�Ï}G‘'Ožüãÿ‹Å´‚û¡XýÝÚk4šÝ»woÞ¼ùS]xxx8‡Ãyøðá§²Iìü~P�Þï·C,�/”?à¿Ð?Ÿí7*²µÄû EX…[G, íÌ•uÄÂÇÑ8ôZ;Zh4x‘w¤‰8ŽäÁ‰ Šä™¾¯¢ûô¸”ä@íá_@îa°s(žcÔ(L;x84%©•=À�è�/àƒN.� @ ‚A`Fü—zû/äùÁü�@3¯`z¿Ñ Ò(ŸÅ EÀèéb´�—ÿ§pkݧó~´£?”h1uÄÑt¦Š Ev;€\h“ZÈgt¡Ú ;´ Àê­ú–hžp J® OùŒz`}ÄZ´ùK ‚A€ @ø’ð_â…üyø/ò˜y™ùÃç‘!ÿ€Ø2Pl!�ç‚zô£¥tDúæ£óAÄ?ô ÐšaÊNñ~¸ ͹™ºwª1æ÷´J~ ÑéQŒfA=eÜh�îKÇ!Ox„ÕÙ¡­w>àóȹû.twÿÚ9E’ øÁ�á4°ÌûÑTÂ1åÐ0Ú¤]Ø¿®ä{=à²%fÓÿ!/‚A€ @ ‚À‡)ÔÐ? 0ó4ê�OŒõ€ÄR÷2ý3Ù¹‘÷ù:{Wñ�»Syc�®DL�^×§;.ã`Zoâ:@oáà(”_‚6B»°<À£¿§ÚùÊw¡‡÷7 ^hKÌÆ/îÖ“ "‚A€ @ üþRß…î~ Qþ€�QÀ|b¦’ÆäÐ<sk“‚‘»¿¯%EîQ3øö¥Öûáš=•ì;¥%­:и”f •€Q0УcQa2OcKÚ ¥+ÐÛÅ`¿Q¬6ü/y�¿=¯_¿njj*--e<#ñã‹5552™l6PµZmCCCqqñÇ@÷|þüy]]Ýðððlc‘z‚A€ ðwF`>z† �ü�yê�é´{®šµÏÕ†æëÓÛ0sšg: ÓëçYò|¿qƒþ¢þÎ_rí‚@àÝ»w/_¾¬ªªêûD/ôøí%�Á`¨©©©««ûDCõµ¶¶VVVŽŽŽ’{I &| €i¿�ÁÏ“‹ÿšã…6Ç|=ðîÝ»·oß¾yóæ7øzûö­ÉÍø«½}_o¯š¡Éõ¾yóæíÛ·ïÞ½û #rãwïÞ½žßëCoß›7oæcø·ß^(Dó1ûúõë7oÞüÉ`þ­†ûí·ßÞ¼yó¡÷èÝ»wEEE2øú$4].—···777O‡B«ÕVTTÈd²þþþO5Vcccooïô±H A€ @ø›#ðIô€1Ègö…ü1¿G¹Î8=/äó6ÇlüèÊ»wï&''U*UwwwuuuAAÁǯ]»VQQ1999›ÙÉÉIýǾf³9ÿú7oÞ †±±±¾¾¾–––¦¦¦ÚÚÚ–––9&Ì4þîÝ;½^/—Ë‘¯???ÿæÍ›�?®¨¨hmm}õê³ý_§¬P*ÎÍÊÉÛ™“·ãPÞöCy™óvæÉÊ=’q0/ý:ÈË+-/5 óŸùãÇ�vçÞɰ¼ýP^VŽd@³iò2æž8sª»§ëƒ¸{n^Δ ÊÛ‘s$;÷H&cÂ{r?zòx|\õ «Á`èèèhmmíììúËÞÖùߦ�k©PŒ^¹réáƒüžžîßÂää¤rL©øÐ—R¡×ë?hæƒA9}¥B«ÕÌ-tß½{—ŸŸ/—ËAY__RZúqGwww___kkkUUÕôù���Èd24VuuõÇ TRZŠ,ô÷÷×ÖÖ¶¶¶N‹Ô̈ÀÛ·o»º{ð184ØÛׇߢ‚\.—Éå&•]Ý=Ä3#¤¤’ ð—Eàéc”ÿ¿˜÷ ã7Îï”ʰ@åð8oŽÞˆË?èïÛ·o-®©©yòäIqqqEU]}c×ÐÐpyyy{{;Z/ŸÑf}}}MMMý¾êêꊊŠf48ÏÊß~ûM­VËd²¶¶¶ŽŽŽžžžþþ~�FÓßßßÓÓ3Ç„±ýׯ_ >xð ¢¢¢½½}xxxllL&“555åççWWW+•Êß~û ÷ú‹FF†wützí�®UwúâoöF_շóÅÈþReØå^þ/]þgºg[öÞ¯:õrEeÙäää¿S§ÓÍΔñ¯ßápðx©TàëóÒFn¢œ9’·®©´2‰¡M(g£««Nž>¹÷À�ÓgÏA à>¿ËKôˆÁTIvkFB£Qrs³!%�d2³žÙl6Žº.F«¢°0O§ÓùÑÐÛÛ çZ­Æb6ÏNÀ…È? j2™ûúú¼ø€A¯ŸÝ@÷o!�{€þh,£ÑŽ•À3.—«³³óþýû kÖ¬ �‹‹;uêTMM�Ùl†7žQÞd2ÕÖÖž—Ë |-`ò  …"--m×®]‘‘‘ÁÁÁaaaëׯ?räHQQQ ¿À½KZ°÷[RRÈçóà%³™@¨'7½ -f³ÿßí^!�ÿçøáëüó�Æÿ!,þø…1ñ gãÁ�Zñîâ“3äf³™N§777ó:T†êIA÷±ÄöõÇš¢“ò«„‡Åbù·r HjNB¡Ðn·Ïޏ\.‰D"”J¥Z­æp8D"�F³X,­VÛÕÕåÂ`X‰D"jµº··—L&ß»wïĉÛ¶m‹‹‹Û³gÏùóçŸ>}ÚÙÙ þ¡Åáp�Œºöù“ “Ɇ‡‡½ªN—\odz w*å¹d]A ixuVƒªE`âÉ-~¤[õÂj÷ç”P©”W¦}WÛ}#:‰å²ô²½£c£è.óÆA\`[o,Ýnàv)e"1/??‹Hl´Ù¦§(Tù•Òy¬äxµèNÚ(±XzÖþëe|¾`}ž &G°½L\Dç¨5òæfBEEIw·Àåò7[™ëwî\ÄÎÔŠOÖˆž¶ªùFçÐË‘guÁ—ÑQ©í±¹‚¸‚î‹X~›H,‘u•—b±‹Åâ…*ôèt:årùË—/¡¯ŒF£¹|ùò¶mÛ<àÀ�cÇŽ¥¥¥q8œòòòM›6=}úÔ?åðR8ùÑf³1™í8�®"“IßÇðš¬,a2ÛËJKðMM$�F=U³Éå6›­ƒÃn$4àñu�¤hâOî /éè訫«3›Í&“)--mûöíaaaëÖ­Û³gÏÚµkƒ‚‚Àõª#GŽ`0«ÕÊãñêëëµZ-\ ‹�k€çÈà…ð<�ß´iÓ©S§¢££Ÿ�Çÿ}òäÉÖ­[;::à]f”7™LB®®V"Ke’ÚZŒJ­š‘†@ççåtòyZ�–F£`±±Xìt:é¨V«KK‹™¬vø>¯“Kîξ‹Ýp·)·ù4CRÃìh)))|øèáé³ç¼¤³“È@P™LŠÅÖÖ7à Ī¢³ˆ3üžÉÐê¦üy�C€û„Ân¡°kvÙèà±?Ð'ù@oo¯^¯‡ïPÖÕ¨* g'ÐXà>(h,�@�ðŒÕjݱcÇ–-[ŠŠŠ‰Djr'2™ÜØØøðáÃ�7Á»’w¹\(*66öÚµkX,–H$’ÉdP3‰DB¡P‡Ú¿¿F£ D¼�ÓéáÄk ÙMÚÙ°jGÊíõ'ï´ Æúúz‹Åâ_á?Œ8ŽÎÎN‘Hd±Xèt:�.))É@qqq]]Ýðð0�N·Z­þ'¬T*kkke2ÙÐÐÐÍ›7£¢¢‚‚‚V¬XqçΉDrýúõ¥K—ž?þòåË¡¡¡[·nÅ`0.—«©©©¹¹Ùf³ùTî“È´ÖìF9ºUƒgêp€hqí hêÚ5u MC�…®®DH›²¶M™T)d‰M>Ç •JeFN¶Øh—˜{/úœƒÃ£c£cc#/ú†øF'Ïàäè]}/Gïäêí�» ÇÖÎaååçøÑ VU Ê¨,®ÔÜ·mÇâA÷Rôöº^ލ¬ý<ƒƒgÔ;Õk¶í[¼2øzÊ�Z[TRØÕ5½íx/ùžHo•š{å–>±îÅãBBô¡G_D_ýSØù¿F^Þú]^5CÎÑ»<¶ ¤¢û)÷¦š°>àp8ÒÓÓwìØ‘���››Ëb±ø¯¦æææ¨¨¨ºº:ð8©©F™ª\­¬m™ Óð[Å¥9©¦¦J.—MÕ~Öå�?�k…$Ás�ª¹ƒÃªDUp¹‡Ã1­B¹\VZZÜ­k)j½ IqÛåTâÞ;ظ;ظ»Ø ©Ä½$A®@ÄM~�üàaJëÉž<ºJ¥Ä`j˜Ìv©†'ÓvH$b`ônÁä–3*ù8aè_Ð?àz.— Î^W¼•J…æ?x]ñBp²ê‡TTT,Y²¤´´”@ 455Q©ÔTUUÑh4 …ÒÐÐpóæÍƒ‚¡ùÐä§ÍˆÅâ#GŽœ8q¢¶¶–D"Q(�ÖìNT*•L&£Ñ訨¨²²²iUy5hhhøòË/ ™L¦R© fpÂ$)###&&†Íf{uôóèr¹,fs=�·jﳈ#Ï]Lævvz¹¼êêö\x¼?#h†R­ƒjm¶iþdø©B@øÇ#0-ˆý`ͤýQ_uÌÈ^¥ñd£|²)ÿ‡)®7žd¾¿¢yr­GsüÂuãÞ OÉTaç�ƬVkUUUgg§Bc;}—º‡Ð€ Ë·×/K¨_²ÿ0¯K&“‰Äi­¥ p:�<O*•¶´´”••ALÌ´¶¶:�Nƒáÿ«ép8šššZ[[ûûû1Ìš5kBCC׬YE ÆÆÆl6›L&³Z­F£1!!!88øèÑ£|>ß`0TTT(•¾WÁ}ò‰Úr1‡¹7™ºÿmBR¨ûa²/…êS¶Ý&3ºõ~>‹R©,(ÈhÀèÈKw}ùòåàèÈÐÈèÐË—C##/Ý222:62:*“ugçdùÑ VU ÊD¢î‘Ñ‘.AWHxÄ’+S>t:í#/GG‡^Ž šÍ¦í»÷|õÍ·‡ŽÕhµ½}ŽŠŠ>¿sZÍÉ)Iƒ£c£¦Ž+�Ñ‹¹ºdSâú#O¾ÞpãnVk0õ @³˜õw“§RëŸôôôÜ»wïØ±c ƒËå¾Ê€'�·y󿢢"»Ý>ÕS•‹ÄÂŒŒg.[¦g¶^xX¿ÃN)*ÏJM}üìYª—df¦×»÷BL¥­···�Þ–••ñ,#m²ÜO¾Û.­y€ßšE9Ò&©Jøee%ííŒi½2¹¬´¬˜)Ç$bbýH2nsç¡Ñ¤OOMÖvÝÐMHŸ=PkÞ`0àpØ–Öf¦“ÙtäIÃ.Š0W,•”)Ó8ýÀÒÛÛ ò¯ùw(ë ógÄèŒV©av"èž8_(>p:½þtÞìdþ�ÈÈÈÓ§O766’Éd�ÖÚÚúõ×_·µµ577S(”âââ½{÷–––ú‡Ú«‹ÅnÙ²%##ƒH$R(”æææ¶¶6º;µ¶¶Òh42™|ãÆ�M›6Mû7ÂKó¾}û<ØÐÐ@"‘¨Tjkk+¨–N§·´´P©T,{ðàÁ¤¤$¯Ž~ݨ Oóª–ìL]²#5dߣür´×ë¾�Z¼jÏ“ow¤.Ý™Z‹ÃCµ�|®ÍH‚‚À� �„¼·2ìýUáó|ßO<‰ø¸á+~á:ßVõd‹²¥>E ¤sÓ܉)šùwêÆn>0Ål_í5Áô455‘ÉdgïÐÉÛÌU ؆_¼ÿÍfüß7á0D•P(¤ÓéÓ~þ1|@"‘ðx¼���––¸[bÝÝÝ===àQH~æl0är¹^¯ßºukhhèõë×ûûû�N§^¯/..¾}ûvmm-¸uoÕªUK–, MKKs¹\õõõÇç?Ÿ| [ѳç~SÐilðÌeÅ •ìm˜*yø@ÿØØË��^¹\ªÓ‡0J¥"§Ãj1 ©©Ç¨Ñ¨ŒFãðððØØ˜J!œŒŽ�Ž·3+‚B/]~#1Q¡�¹\6�³qËÖÏþöÕ¦­ÛdrÙÈÈÈ@¿«²²40>pop°ïåÈPqmë¢ØkŽ>ieóë›Z¥ ¥õ…Y*õ z�V§Ó Œ��Ù­=³æ&“)))éðáÃl6{2àóù���ñññeee�¬µÃß—ËÉÌHW*]ZâÃúmwj×ß®]_B¿¬{!v7sõö¾"V«µ¸¸@î×,NºÇlòí 2o»GIÆmjä?SiÅùy9MM$ø¬&çA>À�Uߨ‰ñ/·0ë$†‹Ž*¾<¤=I¿- ; ˆý#q8,OAN'Ǻƒ�cH«ØlfEE™^ï�ÙNž¹Ãáèè`¤¦>IN¹×××ç5ÿU}YYÉ£G)ÙÙYà&“ÉJ¼ü�ÚÔcœ�H$À­à~â@ø€F£ÕŒ³“Yð�ùóç—””€V{kkk{{û¢E‹JKK™L&x#[}}ý‘#Gf�“››»eËðØ�F§Ó™L&Ë�ÚÛÛ[[[)JUUÕ§Ÿ~:-5õz;‹/~þü9�@ÈËË›;wîÏ`iáÂ…4�H$Þ¹sg÷îÝ^ý<º\.S�ÛÔ±tWÚ²]iá¶²ø^¯;¿Šºïñ’�iËv¥Ë•¨Öjõ™égP¤ AAàÿ�¿·2ô½ Õ™9?,zþêè"Ö}ìX¿�¸‘DzÝO í€ ÷iMóÀ[N«j¼À7fÎ|y6~ƒWxÂ+|À5]‰Dh4º·oà꓎¥ õK¶ÕC4`ÑFÜWñuÛPÇâ÷…B‹5�2×÷áÓ*èõúŽŽ»ÝÞÕÕ…Ãá(J{{{WW—Ë­­­)�J¥2 à®_?jA§‡^¯'‘H±±±ÁÁÁ�=»víú“öíÛçt:+**ÂÃÃ/\¸ P( @¢Ü×9y ò¯Ân¥éhký­Ö ‰m3•µWiÍ|�—Bø£B©pûúFGººx%ÅÅL&ƒNo­ªBéuj¡‹Åp8,<¾ŽÃa ôŽ��)Ý|®Äg¾¢¢L$ŒŽ¾|ÙߨXŸxûvÈꈿ/^rÿAr}~}|üç_ý}ý†øÒ’•J122 ò�ÎNžOmðÂä”{ƒƒ½b…fû¹ÌE±Wr˰ííôòò²cs3UQÞÑÁ$“ˆmm-‡mttÔn5ÞMJ„k€çív»\.†Âó¹¹¹›7o&‘H�¾Rcccdd$™L†wñŸw:�íÌö¢¢¥FFå%Ö®»…‰¹…‰¹^u¥rÍTÒ&©*-+–ɤ~”'Þ¹Ñ;`ŸJP^µ+³ͺ£5KŠŠ êêjÁëÛ|j–ɤ¥eÅt)ú:Ê¿ÜÂÄJ t£¥ª,qP{’^ß§fx¡Ýng²ÚQ•åB%3¿å<| |_Ei¢ëëqf³ ÞËžÏï,++áur•:q»´†Ð•W{ UØúMT$ÕpÔ5‡­DULVèt:áñBj•Ò`ÐÍNÀ[Æ >�Æ ¹\.�Nß? ÒJµFÙìÄ‹@c�ñBÐ#<óöÛo×ÕÕ„Û·oÏŸ?ÿ÷¿ÿý›o¾ù›ßüæ÷¿ÿýßÿþwм>vìØ­[·à½¦Ígff&$$Ô×דÉäU«V½õÖ[¿÷¤÷ßÿâÅ‹ �Çøá‡~¾„>GùüóÏ+++Á�uuux<ž@ ‰ÄÆÆÆ†††ææf2™œ’’²eËŸÝ}º�ƒÓa›Ø«ö= ÞÿìÈww9œ¯×�Ããvž}°rOzð�L©|âû`1›}êD ~œÀã…Üþ�Щù@T<¸Øï1¦_±ž=…p;" `áT ó ¯Zß›€_]¿‡ÔÂ…ò¯LÏÓ^ÏoüCLüÂu^”`‚ßrÌÿûëé驯¯×h4õTÍ’­€7àëM8 À~WûÙzÌ_ckÚyF¡PÈårýks¹~p>`³Ù�V«5 ‡c –´Z­ …þ'ÜÕÕE"÷s=þ<22rùòåZ­655ÕÃÆÿ/..“H$ܵk‡Ãéîî®®®öùÇÏ'ª,gr»w=áïKíš©Ä'q[=~>‹›ä ¹†"‘ ¹™ÚÑÁ4èµ55h­FÑÞÞJ§7+â¶¶£Õå²���*¢ìœ,?:Á*7à�Žöõº^0mTjSAaADTô·ËV,_ü·¯oÞ– WHðø:‘¨kxx`†|ÀÙÚ!X¹íή3OM�FY]�6õh™Lz[M(äóx�b1GGG¾'hkkÛ±cGrr2‹Åòb,ëÊ•+‡šö ‡K©TVUUŠeÝ8î£ÕÑ×Б \©\s¡bõTÒ"FȦÒp¡bõET84Ü5tdQë…NCvvf'8Ëgù@›¤Êͨ\s»6¾ŽûH­Qܾ›ˆÅb[[[ 1 >5à ÅbQYi _ĪéH¹†Ž|e¬ªµY”ãB³®K§·Ùl6xG?y‘Hˆ««Õé´ ü´›Õë^Ñ ã]ÏÈ^Ž Q(ä†üdm^| �I§P‰³“îWã… ±¦â(Nb6ëÈìd|à£�>cñ݇CŒûÊËËY,èÀb±HII�fH¦   !!�F“H$Ð?Àb±:Ü ò~þùç>%úbåÊ•���%%%‹-úðÃ?ò¤%K–Ðh4�påÊ•ýû÷ûQâUe³Ù(TbQ%n÷Õâ»ÕŸ<Á`ª¼^waanfNî¹”Š½×Š¨–ß5ýZ†×pÈ#‚‚Àÿ!p>Ä …FÎ_=… jŒxÓ�d<ÜÀmÓO¬¸ûëâ¶×½(¤Çm¬†B&Ûîð xñx•ÿü7%€Ú€|`Åòw¾õÏèö•(^Ä%ƒ4àË °®æÓ˜êÿ�FUÕÌÒ …BðÀMÿoýõ8�N¥R) M&‰D"‰pJ P(jjjÐhtii©B¡Ðëõ"‘ÈÿlÙl6¸$œ˜˜áNÉÉÉ:�îäÉ“^|àÌ™3àƒ­[·®_¿¾¹¹Y£Ñùüã瓈Ô/.—HOäJÎäKg*;Ÿv· ý-©zø€sdÄ¥Õ*˜LºÁ ‘ËÅMd‚©GÃçs„Ý�z½º­­™ÍfôöÚÆÆF” áŒøÀË—N�€Çá°Ôjùý”äE‹—üõË¿-]¹ŠÑÞªRÉH¤F©T8<Ü?Ð館, Ø?à ´r¾ˆ¾r61[")•R2©ÑjÑ …�\.ÓhÔ0YŒì"t™Ñ×?`·û¦z¡Óú¬Vë³gÏâããÓÒÒèt:H x<^ssóýû÷ãããkjjìvûTú'—·Ñ[ R '—pµ’ïÊÃÏ–†N%Í¢Š@ø€kÀ6•†³¥¡çË á.£_„ÄÐÆb3ËÊJ&Ï,ø@i±@Ó\Ð|iBZ.§à·_¬¿X~ ‘‚ßNêÊí°óòrï'ßßè0\::€è8?Éh4–•–°8ôVIÙ­šXP-üß«UQhÖ½.1»º-v;�?Ú *³ÙL&››i|åaýÎK¨¸N0M)UŠü¼\µZõ…2^|à5î'††˜Š¼ÆýÄÐX~ü»wï>vìXcc#xæ�N_²dIYYƒÁ£zòòò¶mÛ†B¡ m�dˆDâîÝ»ÓÓÓ‰D"åÏ`0˜Lf{{;xD5™L>yòdBB‚O—©Ÿ!.\¸°{÷nhÃC[[[{{;“É'L¥R1ÌÖ­[=zäG‰W•Ó鴘ͣQ®Ò F?÷hu¹J ?`×f³ziC~ÌÀùÀ´þ� ÀAþã§÷€¶;dy{ÇCnÀr�@F‰¬üÓZÔ×V|¼¦œÔÜðÕÑÑ1íwâå‹E h4�@€B¡ÊÊ€XdÈC ‘Hh4šD"Ááp2™L§ÓuwwûŸ0—Ë%‘Hv»ýñãÇk׮ݷoßðð°Ùl¾yó¦xøð¡F£‰ŽŽ^ºté–-[ÚÛÛ¥RiEE…O Ò'«_Ü®”_-WÞ¬TÍTŽ>3„þ¼Ø …¼  ghÈ16Öçrš¥’n°Z#ñz�=ƒ¢Ç¨ìuY$’.�€ëtXÆÆ^*ä�ó�ÎÑÑÞ±±~³I# x�¬§N.^¶üë%K¿]¾"#ó™^¯âñXr¹hhÐÕßoG¡çvJ;÷› 7ÎÞÉWªåf“V(äöõö˜M�ZÜßgåðù[O>‰Øs_£7Ù^|/>àr¹4Í£G�¶lÙrüøñäää§OŸÞ»wo×®]þóŸOœ8¡Ñhü[¼jùüN,¶VªêÊ¥žý®,âBéjP·�* žJ¨ÂòÒ²bétñB®ÛTNŸ. �†»Pº:·CgÕÕÕI¯IB�*•²´´¸µ­¥�Þ ‹ÕÞÈÏ8_°‹tÒ¡6º­ˆÔb1Û¡ãV ŒOê éw¹\D‡Ãl²4Ò�óåa>%©n OÝØÞΨ¯Ç™Lþ(.\³B!¯ÅÔp;9”UQ^š/V„—3nÈ5¢¢6ÛwL£Ãá€Ç uwwuuñf'"ÑÄýT*šçT|ÕÀÈ®j™�Àýl6Ë P(+W®ÌË˃6þ^¹r‹Å‚{sëêê:´gϱX i $£R©.^¼xôèÑššð –––Vw·)gee-[¶ …BÍ”0™Ìo¾ù&33“H$655Ñh4PsKK ¸MùÒ¥K«W¯Ä; }w4éÄûÍÉÉ¢RÉ^¯»ªª¢¦¦Ê«°«‹§TÊ!=HAAàÇ�@ØŸƒƒç.}o¸Ÿ8b^èÚy«£Üûb¼÷þˆ€Kéî›ñ«¾ÀÀ¾Õ?Â�å~Ø`�{”xÛúžr�HxÑ èÑÃOü]C†$A®%óîpó�ÅÇ7sN‘Ü»ô:X,–HfŠ>LøëºêOcÐŽªú$Ѐ5 ø8¢ìãˆÒ�ÃKh >ŸÏ`ǘøO߇ø×ìt:µZmww·Ùlnjj*))!‘H/_¾6™L/_¾ìêê …/_¾2™L¯×wvvú×)‹‰D¢Ñh¬­­�‰‰‰��-**b2™D"qíÚµ%ˆ‰‰‘H$===‡^¹rå‰'Äb1‹Åjhh°Û퓇ù€W¹Dó"¹F‘T£~€ÕÌTÎJ™"“—Bø£|œØG^:¤RA=ÛÙÉ‹ù¸ºj‹IÙÙÉäw¶«Tb2©�«5TccÃr™ ;; ®ÄgÞ/Ô9:ê²µµÑòós9üÍ’¥‡Žzô$%"*êÛå+n&ÞªD•·¶Pz]/úúl¨Šb^'pY©ÿäÞ?`ã Åë?Z½#±×(ubkѶ*‘ˆ×ΠèõòÌBô²M×·œJ3˜,³önRâT:m6¸`ª`yOO�¿uëÖéÓ§Oœ8qæÌ™�;w¾óÎ;‹-º}û6xµ P­¸â´‘Hlì’Ór›ÎŸ- ;Sz¦ ôT^ð±œUS ¥ËͤHÏäLâ�®~ÛTŽå¬:‘Žu¶0ì1~?KVGg´ä úÉÚÀ‹ÅÂåqš(ÀÍ{�¤\WW7­*x‡Ã‘œœšžž9ÚÔÔj&‘HW¯^ýÃþðé§Ÿ&''ƒW ÃûN•·Ûmð—›�“E¡’à%|>·Òͼ ù|®B!›J-RŽ € ð#D ô“ Us—{Î Zð�0€Ì�ˆ~…DmXìðØÐÀ�¿n›ÌÀ�!ØBþxhÖC|Ö}< ÈcÁ¿Ò®j‚¼J Æ™ƒ»Tëkb'€ç¤Q÷ ãÆ€|ü ž^€‹,ß?°ì|@¯×Óh4¹\žW%þzæ“HÀðÇ5å\ãæ%‡^ôqxáÇ« k R¹\ÿã7Õwâ‡ã6›M,+•J•J…Á`Š‹‹»ººÆÆÆ´Z-‘H”Ëå çº¯¯ÏjµÊår»ÝÎb±¦š'X®ÑhU*•X,Ž�� >}ú´N§kll¼xñâ¾}ûnݺE§Óûûûívû�;w‚ƒƒ“’’, ‰Db0>íŸ|@ª}‘ŠS?©×=#g*×ÊlÉ´| {hÈ64øBÐÕÑØ€c³[ qQa¾^':ج‘�K$Ö£«ÊuZÙØØ€LÚ0à�Ž:z�ÆjtÕÆÍ[¾YºlãæÍÕÕeJEWzúÓÐp`{ñ¡Ã‡quÕ.‡©¯÷EÅ ø€ÕòBýIÙQ—ŽßÈdó: � r�Jhc1N=þ<òbZAmoŸÝlR>¾w³Ù,‹ù|¾T*E£Ñï¾ûîüÇÌ�;·°°Ðb±øÿÎÀkµZm#¡SS-VqÐôäsy«Of‡œx|·j;±³�-oœ,úòÒÒ"©ÌŸ)vûî­¾þÞÉ}Á’Œ†SÇŸ�Ì9“šÑpŠ+%øêêª@Ì;›Í­÷[Ìæôô§*­\b`ˆx|‹©««C¡*+*P“E¡PÀ?ûä|G»]U]]UZ‘Oeàò©WNCr«j_ÒVTž�®®¬©F·¶¶Ìj›ÍÆbµWT”É5Ýy´ �Ú¤ÚíL ®�ilnG™<+°Ä‹¼®x!ø¯Ä©øÀëŠb³ÙЧóÜN§D"¹rå xðhnnnMMMeeåýû÷7lØðå—_¾ûøÅ/,Xpþüù`‹Å‚Åb7mÚ´qãÆ¤¤$ …Á`òóóÏœ9ò§?ýé׿þõ/ù˯¾úª¬¬ šj ƒÁ�œœ¼zõêC‡eddTWWWUU=~ü8!!aÑ¢EóçÏÿùÏþî»ïîÙ³§££#…‡þ=÷/oæ­Vk C m~$„þ9hÕÜeAsW„¾·2|^x¾PÔüp€Ì_óAd삵± "cD­_·0&Î}xÿ¸ÀC@€Çćìi;àm&­å¿«·ì'˜€‡i€ä´ÚA>c F1ÎÆÕz94Üúz§nÚ0±«ŠòÇ„B!•JÕêÌû®P?Y[þLjÒ�_å¯.øxuþGay…å=Îë�æ´Ùlþ¿?Ï5›Íl6»´´´¸¸X(Ž��ÉåòÒÒR SSSC£Ñ\.—Ãáàñxà}d>×ï¡�`6›Y,VooojjjXXXPPСC‡†††ŒF£wçŒ IDATZ­¶X,4mçÎ�'NœX·n]BBBSS“ÅbA¡P"‘RÏøär틬FM&±'·É4S¹ƒVq¤�ðëè¨M«•²X­¦…LÖMh¬3èÅ›Ïg‚å<Ýi×��õɤü€ùwtÔf1+6oKøûâ%{÷ï¯FWtòè�°¹™ØÐX»*$ô›%K/_½d³jûzÍE�ú,##6z7öЃ¿E_Þq.-éi®PÒÙÆ¤'¥m9ùô³ÈK{/¤ ÄÝ##N³Iõºøüe‰Ä?ÿùÏ?ùÉOþã?þcÑ¢E‰¿•{xG0o4i4JaAžDÙEí*¿TsìÙʬús|Innvvvæ$É*).Òj5“UA%•(TvN֤ހªÒÒ¢öócÏVžÉ/¡Ü*˜µØj<§V«¡î~2^| ¤¸ˆl=gU”—’›ˆ*•Híe*ùÿQr:�v»]­VÉå2™@$J›ïÏ]É­Ê­‰¸¬¬D&“©TJ?¶ûTó·Z­--ÍEE“(­áÐñÜU7*⨂2 �Ãau:íT�N§`²TivÒÝÝ �7x–”}ódÒìdþðÃ*•JðÎà+Vüå/ùòË/ÃÃï_¿ŽB¡–-[~ÛçÎ�{öìÙÀ½4N§Ójµr8œ”””˜˜˜E‹}úé§ß~ûíöíÛóòò.^¼øÎ;ï¼ñÆ?ýéO?ÿüó’’?¯cr•Á`¨¯¯?uêTppðgŸ}öù矟;wŽL&GFFþô§?}ã�7Þ~ûí]»vuMç§ç ¹Ïž=­­EÃK¨4RaQ^II�W!•FêêâMžR‚ € ð£Eä ‹`õû÷DÍ�ˆš¿&úƒÈ˜"×-ˆZ· ÊM b6kênÚ}Ð'è1ùÀF€Æ4$€µíæ Âàðñà"=hÄ»¸·(@ªàdn¯{“ !Æg¹ Cß3zLܸC`œ0@dÀk Q‰_3îXêÞ?àð•Ü‹m,&“InÓ†ìÂxü øxuÞÇa¹‡å~šã–ì=€µ7"‘¨Õj}é›(£Óé===r¹üvÀ‰J¥g–“HZ|åÔj5�Ç3™L¿=(4lÙÊUYÙÏú\=…<×§6xarÊÝÁóؘuhÈBicÄ}ô—µ¿ˆºô͆k_õóÈKŸG]Ú9³•ÙÞë2ŒŽºÌ=Š»I‰p ð<膒×h4gÏžýÅ/~1gΜßþö·wïÞµÛí�t„ÚX_¼`³YiœN–HCO«=^G^‰.ãò8:àþ/Ñõôýa2™t@òê<¦+--�Ü×O‰ÍfÓétR©œ0ói·Û±XìÛo¿ýæ›o¾ñÆ¿ûÝïvîÜ)‘Hüèq8v»þr‹Šò9¼D¯×âñubƒW¡^¯5™€¿HB@øgA ˆZæ  ?tíüÕ‘óã?ü±¬ýqÀ-Q묋[h—»¯#ˆ£n¼¬v0>"Pj™ûžà7—ÿÝLcÃÂè8µ€÷‚ü€™ÄlXí¦(�0ú!ûÞÔº�@•'0iü€Qˆ6€Už™GǽÂ6óùFõz}KK‹T*»—ÉþKTñÇ«ó!ðqØ8ø(ôùG!Ï? Éú($sÙæb“ÙÚÜÜÜÝÝíS!Tøñ›Í&‰ …L&«¨¨ù@yyyo/p”þÐÐ�Á`°Ûí£î+yÉdrYYÙàà`ww·T*…ææ3ã¾É’ÔØØ800 —ËAJ´|ùòÅ‹oݺõøñãAAA‰‰‰&“I.—WUá>:Ž)ø€5¯É˜GµµØg*ê \©yªáÜWóºùÀ ytÔÒÕÅ*.*èè ±X4teI�¡»™F`¶7Éå�õø.§yp glÌ((ù€åèñ#±âòó²;;Û�X.‡*±ë°U&£�á§>}´yÛæÜ¼¬>—±¢¢�0µ(•]¨ŠRw'µ8zoâ×®/Þpmë‰Ùeµõõuô6¢Ó¡sþ@|Àáp466.^¼øg?ûÙœ9sÞzë-…BáꩪdrYvv•Jyùò¥Íf­««•ÉdS5žuyVæ3­V322"“É òš[h‹%pm6›ÕkÕ?ðG»Ýà@ ($Ý>˜º ’«Å›¾?'PS�ÎÈHçr;p8l^^ŽX,švb^|@«ÑLõÁ’ƒög|»#u²ÄœÊcuJ$ Ü? =0赓ivò}ø41¯ŒÁ`¸uëÖ[o½õ“ŸüdΜ9¿ùÍoΜ9ãÕfv�b±øóÏ?©5è%¨¬¬œ�*x/«ÕZZZúŸÿùŸo¾ùæœ9s~õ«_íܹݸqcLLLxxxhhèš5kbccÀ‹Š�F#�okkóc‡MÅrÈ=94Ga«s¦’Œí � E".�F`1)æYYi¡É(”KylV“í…‚ÞFf´\õؘ]*áäø@Çè¨ÙåÐ2´fZcww;³� ­9•R¯ÓòíVu=-2†‡L½.CEEA | ß4<Ô£T ZšI :I§–•õ]= �‚·Z¤üNF3µÞb’ŒŽÚÌ=²Â?„[,W®\ùíoûÆoüú׿޼y³Í¨í ÿvi4šJT]I"±XŒZ­†×¾–|-¦¦®®–D"æs8À­|3R«Õj}^ÏH!èC d8�nï{¼’Ëùñ3åv»8$K£ö•ZEk¦¦§§¢PåBa·W­F£Öét/^µê¼ø�ÑB$ÖûtmÝþë…+ö¤ÃùÀ’�©á‡3“2*ñ x�@0#>ÐZ}ª© nvòCðð7Þ¥K—þë¿þ ¤¿ûÝïù=È«‡(Áo¼ñ³Ÿýl×®]¯å§Àd2eeeÍ›7ï§?ý)ÈaÈd²Ÿù¸½Ùï7-ý1]áõºóò³ ‹r½ ‰Äz.¯Ã�f¤ AAàdž@È'Á+Þ…ü«ÂÞ\î+ÿ/» Æ€MºqàÁ£îµvÈÚ†Ú=¦ÿÄNbÏ’<À<µãaúP•[�÷ P¨�§´º?•4Î%Ü!F°þ‰�@ª±ÈÖƒ…Ü£�ûܰ#Àd6,\7'Ø}¾ÐÒw¾=æ‹Øívð\&O·ãþ«ØÂ¯b þ¶®àoëòÿ¶.ï˘\@¢s¾ŒÎþ2ú¹[²¾�Ë}VÌ–J¥T*Õ� ^h`0úúúÔ'ÐöòÏÌf3ƒÁ°X,t:½òÕT[[ÛÑÑ! ù|>™LF£Ñ`=‡Ãq8l6ÛjµNûõ‰Dà™F£Ñår‰Åb,ûäÉ“;wîäää455 †ÞÞ^‘H„Á`H$’N§ó£Ó'�j^<#˜ž‘Ù4×L%±ÚÄ–ø[–�ñB=##&•RÐÖJÖë _W­Óvñ¸t6‹ªQwѨ�lVS¯S=6öB*fÊ„£#€áÎåÐYLª^×Í 7q;šUJ>™„×iù2Ygc=F&e {�ÚŠò.ßâ…ú{FGLFƒ¤�AQȹrY'[mÐu‰„Í´�VÐÞN¥·­éè¨Åd”ܽ÷úã…ÀI2™ÌðððŸÿüçsæÌùÝï~7;�Ãáèééa0Úª««ººø³#þAëééA£+ „•Jé¿¥ÏZtuͦ­ ³:cšµhD7h¨cäÝ-Û Iö¢H$œQ¼�ÑhD¡Ê³³3ssŸ.9¹Ï rYl&40€/ä?±H¦:“R³bOú·—`é®´˜“¹ù5mZ�Þb6ÏÜ?ôš�ü@|ÀáphµÚsçÎÍ�;÷g?ûÙ_|¡R©àp}Ÿ¼X,^ºté¯~õ«·ß~ûòåË�ÓHÿƒ�ƧOŸþÏÿüÏ/~ñ‹O>ù„Çãùio·Oï ÿ€‘*�BÜþ�Unÿ@è{Xý~Èàˆ!�¬�ù`­gó@ôúÀ~b0Œ Å�ÖÔ'VèÝ$Üv ZáPÐŽûqÜÔöØ÷› @>à!ã´Á£ÜÕ y !JF�Çÿ@”ÃÓ 89Ô«£g‡À+älïþ °OJV«µ³³³¥¥E­w¢p¢¬R^f)7³NF '£¤#£øÉ,åZäF£‘J¥‚G÷LÒ:^Þô$Ÿa‰Da*�v»]§Ó±ÙìÁÁA•J% ,)•Ê���®®.¥RéG3T¥ÓéH$ƒa2™J¥R¯×ƒDÂd2iµZ©TJ¡PjkkÙl¶Éd‚zų̀Õjð<"x­Rg- ôý訩¿Wç°)‡úµ.»ª×©ì×;íj—CùrÈ06öB&a?ÏÎôÒ3ù±¼¼T,b�Ž˜ÆÆÌCÆÁ~ýËá—CÓïR¸4«|h@ß׫³Û”ý½ê‘SŸË͸œÉª¼J’Sî‘K¦‘—¦Á~ýÈËž�>½Ã¦Ðõ:TN»rpÀàrhœvåР~lÔbîø€—èÑjµjµÚɰC ¦Í<~üxÁ‚¿úÕ¯V­Z¥V«§mÿÏØÀj�}¼�Íf ð#syœêê*§ƒ×É…„ËãI„FpDo€I§Ó0ÚÛ %�d86_×D!ÃG±Ùlp>@ Jü¦Œçy«6_X²õÞ· �–n¾¹ïì½ÜüB°ŸÏ‡û QÔj5è`T«ÕðýµX¬ß¡üUÂù‹Å‚ÆR(ƒƒƒÐãì2�&111!!�J¥ÎNÃT½8Îþýû¯\¹ÒÝÝ=U›Y”ëõúÌÌÌ�;w¢Ñh‹ÅßïC“ɇ5åarNN¼¤¤¤$-=5==Í«°¤¤„ÖÜ<‹¹!]þ¯Ï]5wxä(à˜ºf^°…`üˆ¡5ëÜ[Šc�x!À3·²Î½¬yà4ôÝœaÜ@÷ØåàÒûøÞ¨²Â¡¾^U`Ü¿§ÜÐ 1�uàiå ýW5¼Òò@%ð ÈyÆùÀ2·`ò×Ú±X,xÛ|àÿ¶µµÕÔÔðx¼É:¡‰DHì�Ï6�’ɹ\N§Ó3L2™ŒÍf ‚É }–Øl6>ŸßØØØÐÐÐØØH ˆD"øØÐÐÐÔÔ$“ɷм†°X¬…….4·Í\Xs�Éê¥þ(—ËÒÓS)x­Þ#x �†sçëi´OmCmMY^~\‰Ï|ee¦¦ÜÓTW × ŒN&a³2Sy�þ¾$à@É)wÝž0^¤AAAŽ@ÈŸ€ýÄãñBïƒû@>°:rà"pï*Žõø€x!(øn=ƒæ5´œ¯‚òp>5ðœ4áj€WùÌ{qx¯¸ p‡¼�ÿ<Ü?pÔ†$�o¬V+‡“H$ài¡ßßF—H$\.·­­m2®à ‰¯w¬ööv�7y,¤AAAàß�Wø€gÿ€Û?ðpxÁ«|`œ€g}‚V5x�;°gbÍÞ�Áí±µ„Û÷~`{�~À»@zÀ |?œlx5ó©mœ¸÷#|àßü'ùø6«ÕJ£ÑZ[[¥¯) …B …ÒÙÙ9\ƒÁ@¥R™LækJÚÙÙI¡PÄbñä±��sàÐEÅ€‹À/4Á?Ù^÷iå»�$uà>¯=¾�ùYêî±ÆÏ-… =†ûø@ò4ü¸ Æî øÎî»GøÀʹË>ðoþC‚||½^O¡P0LùëH ‹Òe¬V«R©$“ÉÕÕÕß( E ººº¬V+4’A@@@�DÏv¯wo)^¿ n�ûŒ¼‡ln¨%H Tî?3Y�ÿö^µ>ý�N(´iªY!|ù1A@@@@@@@øG`^ýþÄþw¼èX» ~ި׼×⺗!™à~ìu¯.^-ý?B–½W3P§WÈ4UÐÿàÕþ8/ttãQ+’þåx•…½?Á¢æGÀø@$xê(H àF3˜‡ŒìÉU?DI€äj\›à;ôšžW(Ô+÷‘ˆ= C‚‚‚‚‚‚‚‚‚À¿Aò^÷‘½ºŸxüb²èÖÆ| î*†lh0™Ý^åðGÿmüÔzÅ#M¶Ú%naÌúã—©Á»@yÈ]·pÝúÀþ„ ÿÀž¨Ý�_/€´D@@@@@@@@øgA`åG+&Îõœ/þ~Øšy«×Î �®$só�ùk@>à>kØU ™Ñ^�C^UP³õ c¡|€™©TÁ»Òl?ṲÍsTp3X8ÁNn=1ˆ$�9B? žŠ¬™¾Ö½�Ñ ®¦Ã¡¼ÇVå½ ½ªÀµy¯6`/è_Èp÷b P9¼ûìâ—¼>Ë8±õÄ’þåñæÀþ�ðyaóV¯™7± îø 2fAÌzàìQ`)݈ö2ÖýDíƒ<ëÆzÈÀÄÂùÀºQë€KÊ€ ¸“ù€W(‘O»ßg!d‘’�˜¨ nî{ÈÀ„•E�³…[ÿàG€—ÀýÇû<©Ô�ÆÜidd´o`ØÕ?—þÁ—`-øo^^^Uw1µ�‚‚‚‚‚‚‚‚À��žÝÈÈH¿Çúëëëëííë…§¾¾¾—/ÇM¾ÑÑÑááá¡™$hOòÐÐÐÈÈÜtôŸ—H$ééé©©©°¹}ß,œ„¸ù@èû¡>ø€gÿäXçq€±CàQž�iÙñ“Wô§"pC|ÂŽw3 HÛT_㮋]çYì‡h€{ôq€×Lâ]<û<ç�®œ»|É{|˸wïžËå_•ÖìzŠæÞ.f&1o¶ß,l¿Q@ÏÆuÁ_$Â~ü?öÈ  zFtb‰¨ ?75õñÓ§�Ÿ\Fó£JY!µñS!     Lƒ@ψƒ©NM}\X˜Ÿ——óðÑ8¸çfiéO23Óo&^ËÎÎM>•Jå‡ @D€ìN"üOt§¦¦&¸éHþ‡àÐ}d¡žû‰Áû<”`bÿ@ 8† ­[ R÷cTìÏqCž#zÆ nÏ"=hÍC6:ÌŽv@r@L2Ùa]€õ{/òñOà°ŸŠ‚Ú@ª *(MäË—¼óíñÍÇ!ÑÝ»w!ÿ€\︞O¿žO¿êfWrÚ.e·Þ*l‡¿È™ò�ZmÙêÍÁqw¦²ù¾Ë<}.ý$¼–ìÄFl»”}&¥6ñqÃ=¨ ßS™\›XÀɤÎ�'ä2Ӄׯ,äNi¹BC¼Þ FSv½ð»“�Ž$U߬3TøTN´cžîŸK?qèΈ±¤`oo8².�õ ÞgD%–_9ùèð�ÊkR…FkõCüÝSOŽ^È8UÌφøU“«.�õì\ú‰3O�¥S4Z«áž�ݵÿ殩ÚWÉ‹Voöª=pkwÜÁè¦ÞºÌ–Çoï>|oß™§Çžî7¼@{µôóHvbC7]/úŽÒ[ç§T…3¢7&󳡒וÁQ7K.O9t½ð»š©Io½ý¸1éô“£ŸŸ©˜šè¦5¥\È<}øÞÞbª¯ë##zþéèÑ¡På�? ÒšD"ann6Ènß½•þ,•ÃeÓš©×o^yšú4ù …OǀๅB)‘H$xÜt $õêUÈ4�œq8¥¥¥D"qr•ÏÐ?°âÝîý«Àýáï‡…Ï �˜9îX�/ýA”›D{(à+ù€;‚(&v0hX{™àðXí€Y·ì!>à¶øO‚—w{`ýÞKÔÎÜQCÞ-á> pèqv±p<^Tì'^ñîrÀ?0�éíWsÛ®ä´^Îi½”ÝzñyË…¬–ëùtø‹|í|­,F+Šà?Z8zÿÀ7!‹ +6«åqø–�»Uסx/?ùù¥7SÍ~%ØjŽ&í�Úq~Kئà«ù|šÝuFÔñäƒÇüìçÿ_…¤Œlm® IDATTè“TJ ¶žŽÿ&ìïá[Cʺsý VQúpÙŒÔåÑKw]ܶïÚŽtʃ&׸õŒ3¢"w®Ž;sàÖî›%—ë ¨iµùlàŸí˜|ö+žj?ä$Gíá»ûþøù‡{¯ïØt|ýʘeOˆ÷›`ƽÿ1S>P"ȉ?{³ø’ÏO1ûÂ>üѤýAëWì½¶#b[ØÞ«Û‰vÌdmM®º‡ø»a›‚·žŽ_»=lëéxœÑ7àÇSm>÷_sÿëõOÙðƒ € € € ðoŒ@ψ®¬¬$åAR~~®T*évggg%Þ¹‘þì)‡Û!“Ió rýðˆ455Á}}}}ýýýr¹¼¥¥ÅCÆÿ‡›Ž�äýó‹ÅvæÌŸÖÿäÂàO‚—¿»lù»+V�ï' }?4ÌÃÖŽ_AøÀx!7ˆô¸ÿ¸ÚNëÞ^ Yêð@ ¸ñ«Æíû‰6îS}#~ÜÄ�òqÓØæ ”C§šŽ_ ž4¡P^eþ Œ²~á¸Nˆ*€Ú<œdb·€§ï8s”CñBKÞYrlóq—'ÁýR�¤ß=o9ŸÕr.³ùlfóÕÜ6ø‹„ó�ZmyÂÙMxÖ’Ö”r>ãT­®¼RV´õt|ÄÖÐõ¢’kAÿÀÞk;6މÚžT}ÓË`ºQtñjþj?¾Þ\uòёȫ&îù{èW—²Ï”‹ò|üAN{:µß䪻øüLÔΈâ®ìäÚÄ ‡×­Ýv&õÑŽ!Øjn]Üc×¾ë;c÷G]É;OíÇSúpÅ]Ù g7EïŠØseû҈Š%ÉO8»qíöÕ‡ïì+æQûñ7Š.žz|dÇ…-�Æ¢$ù^Ó›õ#FSúŲÏË®àM•G“öÇìYS!οôüÌþë;©ýøUɉ‡’1·HŽÚ IAIWöÿûõÿƒó�è][OÇGíŒØvfcµØÀM°Õ”vçžxphÝÞµ ôáîV^�ݹvÇêsé'°ºrh”^\RõÍoBaõåxSe½¥ 2²kÔ¥Ÿ-þK*9™`«Áõ ÈN,Ô Ì”‹ò.dœ[MІ$G-Έ:‘rhÍö°¨�á·J/7Xбû£¶œÜ°åT|ÔÎðï2O×›_‰ÈªV•l8CíÇ7XзJ.Gï^³õT|ì¾È¸ƒÑ$Gí±û·†4õÖa4¥«Ö-?zÿÀ}Ì­]—¶º½7áìætʃ Ú£­§ã#w†Ÿ|p¸Þxð¦ÊEîX}èÎÞ¿­úôì»±ëIcµ_g¨¸’wþ!þ.µ_!)Øwmø%|€»s³äò?ûèë�¯âFWˆ_Û+®”þõ›¿$Uß Ú1ñwÿüUN{ZVËãÃwö– Âv9çÜÞ«;jµåÛÏoÞ|"«/Ïj}ò—¯ÿ÷9=˜°±ø8;Ãcö¬}Pw‡ìÄ–‹óÑŠâ?~öÄ*$Gï0ßq«ô²×kBA gDWRRúró²ÅbQ— «¢¢¬ƒÃ–HÄù¹7¯ùäMMMr¹¼çÕdô$Ð>6 ííí  Ñ�à¦#˜ïíí­«Ã–”ƒRZZB§· ‚µW¯^õX¦>þ7›Í ðQç«(ä“�>âÙ?ñ�5ó"¢çG€d j~dÔü¨è"Ý÷C4 :æ@`| Ê‹@¶8hÁƒ‡A…ðMàR=`Ä»íxpiÆÆã‘à}!רŒù€W¡A â@µåã“ñ„6� ÁÓqü¬¤9+ç®XþîŠ%ÿýí”|@k»�Õr>«`´3´ÓÏhWr¦ä’‚¿|ó)F[ZÕެ«”l>·éxÜ3êÃGõw³ZŸÔjËVÅ.[ºvqRÍ�kþòͧ^a0»/'ì8¿…Ú�¿’{nYä·IÕ7�§œ÷áû—²Ï��Øð-!›Ž¯§öã«•%›OÄLÜ“T}3lcÐÕü OIÁq+Ï?;Yo®Úvv㢠¿ÝCßxˆ¿û×oþR)-ÀQ�Ån<›‚MŒÝõÉÿÏÞ{¸µq¬oÃç/x¿ë;¿ó&ç=I¾œØÆvœÄÁ%Ž{£÷Ž ÕôŽLG¦c:¦wÛcŠÁ`º1¦›^E•iDÕ+ D×w펴,ÅNΉã¸ì^ºÄhvvfö–�ž{žç~æœpF÷½Úå2q5='­»ÅÚ¶Oý’™\SOá³?‡ÞIi‰ÿ�¢VÞþx¿9ö‡ÓÇŠ&!áDDY�$^<­=ñåþÏ¿xìí“æ"¯-ýˆrtR6—÷�/wð�s¢¿ê“µ#˃ˆVjŠz²ÈXî÷œ ªˆª¹ qÖ÷¡[tEhLeX1šÀ2ŒS—Nz§¹Ö.íPb”Lç^S¸¢OÖ~¶°”NJK¼¦ >Žòª üÏÿþŸ zAxI€¬†dTEHdyprCTÅÿ}J°T;vâû;™žþ9^Š7d½R\�yÖq˳úS~éni퉱UwÕM•­üMC ïHàD£lj—Ê<î“%qb¡…wlB-;ø€ˆÒUÏ·ê¸åc™†.º®‰ŽåóO” åõÉÚ±Ua‘åA µ÷cäud¬Ì4Ç=ÿ¿ÿepúÖ@9êYðÙëgÀ[œ7œ!…—¸ýÈ£h2[v¼$ÕGýüëOQÏ‚SÓ•ôåÜ’œê¸åÕì’+²—Pæ¾FòÚÒá%aEþZ⪋A·Âg�#|àå~@ŽwtEˆOº«ðÙãi;BÈöN «ÁÀÀÀÀØ‹ÀÜ&-ãQzPˆ@�Ÿàíû’YÃïÒ¦úܾ}Ç{@|ˆÉ¾×ÄGj677™Lf[[[…à@N!…���—�/�L unhëÞÐvswéëëE2½‰øûû“àC^^�ǃruuõ~,`»Ä ‰ÃñBr¥äa=1¼?1/$à|Çß�ŒOÔ�¨ƒð€MÊ�®€Ÿ„,Ò#v6_°+pÓ˜ì ¿²Þ  Á¶ ö$ ¯BÚƒ6àx@–!@€i€¸/øb=,åo’°žø-|àÕóVr Ήø/ø€‚®Œº©RþØ£Ú¥²jNiñTŽˆêU—‡¬¢jv‰º‰’¹¯ú“Šði‚„s¬] §ôñPÚUÅKžÈ5K¥QÏ‚=ðœñôÞËh9M©È² m;")Ь|îIírÙÝ"Q¥kÏò \uŒ=ô^°Šj–ÊD¯äxç gœ9“Ú–P³T˜çsEöRF÷½Ôö„‡¿+�É­Y*½[ f¢”Teêi j¬°7˜Ç9ÆîÌÕ_~þõ'äñëõ3^)�éi—ôË•ÓHýÏ¿þtNôW¿GèûŠ( úá—c`é=©>JLåúƒæ¸Úå²�‚Û‡º"s1$ÿ6b¦ïårZRQÏ‚k—Ê Æ}ù¯/žNd�ÎwñY Is£ªÅâÚå²jN Òa·ü9㩊‘‚¬†¤4Q20×·v¹Ìýž³}©f©Ô!âæ%© ªÆ –~&ÿ÷éƒæ8]MtË^>ðŒ^�ã}IúBZGb»¤†SZ»\F°TSЕ©Z,~Á*r޳ÅY¨€…|0UÀž-ä[Ý15tÑ­dV-+È,U«‹IAæ_ýÿç§_~øþç£ò:2Y})î÷ÈÇý„Üæú@aQƒ©5œÒÛçD­f—H%]j–J³R/Ë^x/�PÉêO©].«Y*­f—¼)^èaW²¸š(ú}üùן” äë¸å)-ñ¢*×w�R7SF¿Å��¡ÏUÉ4¤ )ËTÒ—J˜Ôö„kr—�ÿòƒµ¿i š­œ–Ô�,~´’4AÂ!âf·üø/?ÄTBQR5è�ôŒæÕœðæV-ËëÈ8DBb     �ÿ�¹MZzz pܾãy·¯¿—Çã �¼Š‹�dàM|1ÙË~ßÂÊÊJWW—€TìÛf}}½®¾NCƒ`eeÑÕÕ‰¤7åñxoâò{ŽÂÂÂmۿ¤HÊÂ|@á�,ØŸXUHQYHIR@ÁBp¼�àêGp°O€OpG íŠa2À—ãŽâpGqˆCÙ§ 1ÊO@< |,Òƒ6IÄö@™v=øA°3Yï&>Â@ð\¢’€8™_» ‡ �Äï “< %ðر:^ˆ:É@hRøOýOF2ä4¥¾ú÷UÙK1ÏC‹¦rd4%ÃKÁ×êŽ)ÁBý!FøÀ9Ñ_#J¡f•ÌB=YÀê¸å?žúÁ;ÕÕýYN[ºh*GZCüÛCß~/|ô˜ð÷ßÿ|ô’Ôùòù'¦^¶¡V [à4HëHüùÜO –é~S¬^<£û^H�ßÏ¿þšÝoŒÁ™©„—šz˜xêï�™)Ÿòd$#oø!òx2’BbÊæòv�Ê}TÇ´ ·–PùýÉ£åpŽ ˜Ê0 5ÑT8ð©š]"|ög1U´ ¸—­Ô�<<ÿ>ôïûM± ç]|àäaÿ¬ýÃH´Ä;u´t67à±·¨òµÈ² UcE߇nµKe?ýòCDyPzG’¬†”Ý]+Ǩ›zÎZ+0JJK¼–À?ðŒžÿ?ÿûž3ž–Lç¹éûùèÉ 'üs¼^°Š–j&žúà’ÀÇ>ªF ph¨| h2ÛÈõòî˜y‚x!Û0+i‚ÄÓ×Yó¸O¾®pŠ [*uMtP2”F‡�4ÇùéHÕbñ‰s ¨’Y(£%)à×vù<î“U�‹&!·2“}õU‹ÅOÇ3‘÷@.¬¬¢‚½§`oÒmX‘ÿyñ³ FëÉÈ#YM)°ð_»\†·P=xô  X�‡Òte¼SùÎ¥k�S‹žÿÕ¿ÿ…ž$Ò-šä½J×u þpò˜Ð±C_}ý•¡‹.Ò +`````üNæ6i)©÷�ÝØÙÕ>3;ó¢êùë×ãýý}‘aûú€J˜N§o½á@Œþ¥¥¥žžžçÏŸWTT”Ãrjo¡½£­`G.{À–é>çççåääœ��÷9·_Õý€Œü!9…CòJ0€øÀaeÀT«©AÞ5h ‚£ê¸£8õ#8Ä? ‡ áøîPãŽBòbÈRˆŒ÷ò°T�ð¼ÀèG[ð  ®Eìþ]ÜÔƒÞvñ °ö�´LÐ I‚7WFNíõ¼>ðd$ã‚ä¹ÇCiµKeÎ1¶ê¦ÊO†VÐ j8¥Ïò-ýMä´¥sÓDT¯’ã¡@ÿªÅb5cEK?“š%¨X Fø€¬¦”[’SírYþè#QÕk°¼crQòÎLÅî®u·\ÇžhfìT³Kž3ž>[ÈßËò†3.Hœƒr–Ë ý¯É_Éè¾—Ö‘xàð�⩜NiX¡¿º‰Rrä0õ2ØËœcl¹úËñ3?"�_¯ýLO»»Ö§¯œBê�Ÿùñ¬È™ÛîèËÂ×Y§/ŸŒ­ «f—¸%9)Èg÷§T³KŒ=ôÏŠþ*…wMtªæ@�ûµËe¥³¹ÿøòSù)VÃKe5$#Ë‚j–JŸŒdüó«/Aîh�?Ùo¡š-ÐËiI›z¼`AÞöÿÀýƘç…Ëf!y9Þþ×k¿œ¾|*o8Z™>óctEHírYì‹»"J×ÿ(Qˆ–ó>ìJÖ¶%„øÕqËvßûû?þþœñ¼ƒ•ÌBç[y™Œî{K5ymi ápеÁ[ªTÐ ž-ä?g"ñBÏòI�榞Â5œRœ™ ÁR /„€æqŸ,¢ñ�:nyP®¯â Ùìþ”N©OºÛyñ³ÕìY-)�û·j—ËžŒd\U¸ø´j/·gõ¥àÌT\#JÅÕD@>¥š¥ÒªÅâì�Tm;âíŒèÖº’ÅTEÐïãñ3?*éËA$¤%^TùÚ®Sê&JÈlÁ ž¼ œÚ–P»T–Ú–pYæB|MxÍR)DÀT®_“¿L´R{Á**œÈÖ±'šyCjãÜWO_9‘PQÇ-ÿù×£žçôñ[†> µËeÂg�û=òb�›ÁD+õ¼áŒjv‰‚ŽŒÆýF`e    �·#€ð��°ÀŽŽ¶™Ù™G�Þ¾ã�’rïõÄxo/P$¿Ðèè(:‹(H$ºK1\YY¹¹¹¹±±A§Ó›››+**ž={È@yyù^ðöŸý {~Ýʤ!=±„Äw2¡ý‰eîÐ+ )#|@ €ò áŽâðGùÎ4%€ËI€S‘âÀ¾pŒÌ `›±ËAa{�çYÄ?€¬ôƒ0!dñ^ý(A&P=¼oXìþ¤dPþÙ�c¡Y <¤HþH? úï붺¿Á<î¿ôImº•Üðöx¡bÚc5cE‡ˆ›1/ÂT åe5¥ž ?tMt οõ,ØÌÛð†“æ“‘ )¢˜¸Úõà'¾^).¿^?“ÖžX0öÈ)Ú&ê”Ká>énŠz² µ÷ÉÇN}�ð�œÁÔoþýõEÉó`}=¢4HI_Î=Ù9¦2,è‰ohá�}ù@ÙlžYÛÜÇ(©>JŸ¬}êâIH?°T&‰ÓsÒ )¸­mK0ó2(™†ôûò�gôü‰짯³�GáDv}þlaÏ©Éld�üO>£ÜpÒT7Qº�ᮤ/çeól!?¬Èÿø/?<ìN+¼#«)uïe4ØláN¶çßÿñÿz> ÇT†Ö,•†—ž;«GÖº[ìO°TS†#XžÑóc«Âtˆ"JWÝ’�r!SvQê¼wªKDi`ôó´~ b¡@VSÊÂ×8©>Ê?Ûëºò•óâg!Kt¹‘RŒy]B´R;qîgÏ·*™�%´Ç¦^æ¾FÉ Q&žúÿëÿù_Ïè µÞi®Ñ!–~&º�©éKµO»�áÝ£žœw*¤ä¶ ± ο ¢t€~ ²,ˆ`©”ç Ô»ôÈ h>ð°3g®bégôÄW /îc[»Tæ•â¢b(ŸPá–ätTøà. R‰¤ú(·d§s¢¿Bú�…|X‡­õ,øn±R}TÑdޱ»ž‰‡~\õ]´è¹š]RLËAÞ_Pñ?U‹ÅÅS{NíL[»\¦cGT6�-¼£eCÀ›«é®/XE9ÞR ÷{ÎzdHj_ Kn,ï˜(èÊ„øçß~ÐWÍ.IëH +ò?ü£�¡‹N\õÝòù|r¬�ž“fì‹°¨ŠàŸNÿ€ñäÓ‚0000~?¨®©š™�ÉÌÌ@b„RÓLL¼~ÙØ€ŽBótQ„€¸ ×¯_���UWW£™Àoúö%oçt:ÝÖÖ6::ú-œ} æââßIHÂù…`> /HäURF6#CB†àC�€ȈaŸðð=hm1ì(À!æøÛ ˆ­¿+F‘‹YÚW?JÀC›é„IŠ@›]¡èÁî #Ð9hØ4:ÜÛ¶~ÀVÇnQpì�r¿ÿ2§šZßK Íîx;¨f—$ÔF蓵M½ lB-]Kh�½R\pæ*ê&Ê–~&�zî—ÃYƒ\�t4–ja…P~¡‚±Lrœ=H ãŸã"ïŸÑ nÅÛÜÒ¹goè¦[–H¡5u·¤@s°„‹ B Ô�F 7œ´¢*B*™…þÙ^a…þàÃ>‚]Z»\–ÕŸbqÛØÈí9ÎÞÒÏ$ÊjšKM7v×٩؆Z=‚ò ùg{ùg{¡£w~ÿ?Ø[ZÖ.—å½J7õ4P3V²'ŒeÖ.•Aù=ᬗ%Ó¹îÉÎAy¾5K¥~Æ’1ðи©þ‚U”ÖžH޵#š,ÔŒ\o€ œ'#Úv¤e`®ˆ,Î÷Ó¼‰Ç™©¸ßs¶,˜UírÙ£Þû·�u4L<ôƒŸÜ¶ºcâïËæòœblu4 néx¥ÜrMt4ó6,™ÞÎMTÇ-Om�7÷12tѽ�á.«#UÉ,LjˆÒ¶#ª+ÜÒ¹×SÃ)uOvvOv6tÑ%X¨z>¸Lm‡ˆ›¡OïT³K ' 8È/˜ëcäzÃꎉCÉ=ÙøgœblÑÆ¾#š�šNirC”¡‹.ÞBÕ)Úô\>ÿ„kgpKÇ%ÁÁÀE'±.²v¹¬‚^`qÛXÏYëf�…CÄM°aEVþ¦ªÆŠÚv„øêðÚå²øšp{ ‚…ê;Ì/ç‰Ê†“�Ê™z@Ž²å²ˆ² çX»§ã�Þ#²,ÈÐõF5»¤t&×ódXJkO®˜ÒÙ\§h¼¹Š& URÍ.q޵•Ñ”o±Ž1g0-—šnw×ÚØí†Mˆ¥Ci¯‹ VÆÀÀÀÀØ�¹MÚÇ©~w|rr²2`ÏÂnßñNKOÉÉɺ}Ç;))ëcccûú@î D$ð >ŸRxþüù¾Fÿ[*}||–é;ø ó1‰R¤`ÿ´?1àp°Øœ˜¿™:¼à@0‡ ARPP?"…€œ@ Ö¨©�‚‹äùA^ò qTX?.H�±Î-òîkIEÁÒ>hÏ÷üÈ%€ QI Ha„Ä5!îø·ˆ­Ž=6š€ýÈÒ*¦éK›[[íÔ¹;­a9è÷�otßÏV‰!€!€!€!€!€!€!€!ðá 0·IkxY7<Mv•CB««_“onn®©© íø�L ¼¼üùóç===hÓñ÷”ÿ> .y€¿™ìA˜)( )) )ý€Úaeà€ó�BñB�‰[ù�nXPàsø:ˆˆ %@¯ôó™l÷#ö:RQ@ð‚=´¢�‡ÈYäZt XÝ¡>(±Ã!��þ0í‘k¡—°žX’/¤cÇééé}}|U‡»Ö3º0M_ÚÚ‚Þ»�Í-ʽÿ5ýFb|àÃù÷Æf‚!€!€!€!€!€!€!ð›ÌmÒ8No¥­½õM ¥›Í^&ßúúúÂÂÂ$ê˜Øy¼~ó155µ¼¼Œ6³<11/°LßÁ_D? çÚ£zbUÕÃj�žÚ<øù… a± ¹�ÀE€$R‡k æè_^ŒZøG[ó{Ë€< «õèE}„ g��¸�Þøª�`ÝiƒÐg·ó Aú¨««‹‹‹Û à7ß1ã¿ù_‡5ÀÀÀÀÀÀÀøp˜Û¤ýï¯i211‘œœ\ZZúx€  aHO ïO,%sPFö zâ�ùF¡üB ÅÐ ÃÚÈW xàðGñ8�÷ �S|n ‘÷ÉŠXäèâ@W‚òŽ5~ØÖäAóûÝ�£5 {û5ˆ i\P¼�Äwâ"ßîàSSSIIIÁ¿ûpuuu÷uó ôÀ>þÁw~·¡÷¾>x𠸸xbbB`Ì¿ƒ¿Ò> édåvó•Ã*p¾QhK²|`›[§éÏ×#jcØ“]¼ >±¿÷-€¥ý}O!•Àp/÷m�^òG®ÚUxS´~Àމ:æææ¦±CCCCCCCCCàý"0;;»°°€2KßAÅ$eÊÈ�|£ÛúÀ€~ðЬ~Pê%¨ÙVƒ8"œ�”Ñòâ]¦ù›^¾ÉdaB¸}Õ‚ÍŒßÔ'º'Ø÷]ù7É�ëDäß"6:;øÀ;ëCCCCCCCCCà@Å$Pû zbxÿˆ€ýÈÐñB;݈»vðUÅ+€õÇPd‘Àom` ©„Ñö÷QÞWg ú�cŠv‡¡‡ÀÅ#@ è>Å Ù~o6         �wŒŠ€ýÈääÉË’‡÷PV|@Eð~ÈÐö¶Ä謣h²?1œŠ”Ov* v$!E[á Œ?J@¯Ùã ÝÇð¸�<Ø�lïµèš} }tty׈H¼�¨Ár;000000000>9$�K=1¼™Ì®ýÈà|£|2€øÔkü€8¶yÐ ö%@ÜPV"�‹º 'Ð#á@{ÍwÄ€‡7${�¶°Ë|G_ ®‚Yß jö¶A+v¹,þ&yBGäß"º²7аCCCCCCCCCà“C@ô˜˜øw»ö'–“?$¯ ¤¨$¤¤,¤¬yùF!=1NÀø‘?0+ØE Чv4eÜQØ7PÄj‡-~"°û‘Ju�Ó:Œ{ä¶æ¡ ]°}°õwò"B@=î¹|;^HWöFCCÃàGrÔ××$3}Óì„�÷16ÆgŒÀË—/?ã»ÿ@o½¹¹¹··÷Ü\sss__ßûœ[SSÓû CCàcA ²²Rô˜èø€’´%™Š2œ_ˆ¿ÿœ_– Äíz¹CK°— ükqP ߈¹úQÈÛÀ˜ IDATRG*AHð ­Ì à–P{Ààf[@®¤\„Ô€QÐ ú�zðØ?ÐÛÛ»þ‘ å#™éû˜æ |¼�‘°1>cúûû?ã»ÿ@o}xx˜Ãá|˜“^ZZzŸs[^^¦R©ïsDl,  ���úúz”ì? +wHNî�‚<b!eUxb˜@ûüØß9 v¯ù g€C•GñÀ^‡Íq¢ÀÐÇƒÍ �H!`¸þ[ÿDõ£Dµ#µ#|ò¨Õ@¼¸£ÐYБ XÿjGêG‰ IæÀ;±ƒP(”µ�áX__ïééùfúžæ8333==ýžÆù,X__ïëëû,oýýéõõõááa6›ýNÌ�Ãá¼Ï¹-// ½Ï±±00>|@Lü; ÉÒð~d²r‡äå)()))ÃñBʪ�‹€¿?1ÌoÀvÙ„x_‹_à"Ø;tpƒíN íÌ`ó]`šóI~§»˜ì  °õ�A�¦ (_Ÿ¨%> ð@˜ðC�pÐ(Á²à�Dô eõc8ÖÖÖº»»?†™¾§9NOOÓh´÷46Ìg‰ÀÚÚZooïgyëîM¯­­½zõjqqñœ"˜›Í~Ÿs[ZZ|Ÿ#bca`|,> íO, ïGö'–—RT„ü�~@Y艷ó�îð›²ã·Íz”õ¿“ð…ÈPKµ#xX‡€n ¼èH!`�« â‚`»²ï�¹�¬ý«Áv<ð ¾@à—0Í8ª!ðl÷÷ñ¸±x àRâßI=ñ§ÁÚÚÚDEE?–è;™'ÆÞ ŒX'oAàÏàžžž‰‰‰o÷-§ž?®­­ý93á�LMM]½zujjj×;µ¶¶F¥Rÿl>PWWgnnÞÕÕFÿý|`bbBMMíàÁƒQQQ»f޽ÄÀø$ø=±€BöPVRS>¬ŽøàÍÈÔPbÈ ‡�{¼À3°— aBH¤ÐÞ6|b€dBGÿ«%Â?”r�Äô‡}PÈp,{¾xq¨ ¢†m1ܧ†L~È?; øñEH¾Q]Y½žžžø ‰ß|óÍàààÊÊÊøø¸““Sxx88õ!<¯®®vuuq¹Ü’’’¯áãïÿû?þñ�¯¾úê믿NHHÈÉÉùæùÞæ@£Ñ¦¦¦Àpeeebbb?üðéS§¬¬¬úúúÞÛ4°�>aVWW) ¸Á„„„|óÍ7ÇŽ»~ýº��Ïôôôï¼÷‘‘‘cÇŽ�ÆL&³±±±»»ûw^»´´”››K$Aû±±±²²2‹õ;/ÿôš­®®R©T€Àüü¼°°ð—_~yèСëׯgdd0™Ì·ß2›Í¾xñb{{ûÛ›½ýìäääÅ‹'&&v5[]]Z\\\YY™››“��(**ÚÕæ¿{9==-""ÒÕÕµ²²R[[kllÜÑѺâp8 ìëëëììŒ|1î+""ÂÊÊŠÍfïªÇ^b`|ªÔÕÕÁzb/$%Ø�L^âŠJ°s@ù°ª Ÿ¨«Æ¡ö#Û Ã|^tßNEÊ·ø÷œ”`@º‚êwí^¬vT „ñÙ0ë‘`!Ä?¬y˜¢ðmzÄK vd{ï3pòäI]]]6›�æ ÝÝÝà'ü7lþ¼�ÔêêjggçÊÊÊòò2 >¬¬¬|}}i4‹ÅZXXgggg)JSSSgg'›ÍîëëÙ'ÀÏ‹Å5íííóóóÞ„ÿìž>@§Ó�?577722R]]=22²²²2==ÝÑÑÑÔÔÔ××Çáp–––FGG_¿~ &F¡Pfff–——GGG)Jwww__ßüü<•Jmiiijj¢R©+++gtt´>&''¹\îŸ}_Xÿ«««ÈzABB‚¥¥eÿäädii©”””––ƒÁX^^ž˜˜hooonn~õê>fffÚÛÛ;;;jkk:ÔÒÒÒÑѱ°°022299Éf³) •JíèèhmmÆ%‹Åj†�ááa.—»¸¸.--ÝÒÒ222233>Ï\.wjjª­­­¥¥èkWVVzzz†‡‡;::ÚÛÛGGG?Õ�ëÐÐàsssâââsssÁÁÁJJJ���###ííí===L&³¿¿¿¹¹¹««kaa�Ëåöööž:u*++‹B¡ÐéôÙÙÙ®®®¦¦& …ÂápÀ,�F_===àksxx¸¥¥¥­­íõë×ËËËoâ+++è¹íâ\.wtt´>FFF–——9ÎàààÀÀ@wwwkkëøøøÊÊ —ËŸŸ–––¡¡¡®®®ååå–––sçÎåääôöö–••—––677·¶¶îå“ðÑÝÝÝÛÛÛÖÖÖßßÏb±&&&¬­­I$Rcc#ƒÁ`2™ ¥¹¹àðáüÓa3ÁÀx‡øðý¼™�’ ^HEå°Š $PW= ÄÄè|£;Z¶G‹ÐQ@À{@à놑BH{AÓ—à`y10Ö�ÕŽÖ€ ¢m2³ؾ‡ÖûùüÖ œ|­0â@’!~¤F 0†ÛzbÀÀO8‘Hôôô´–––úûû8ÎôôôÅ‹­­­ïÞ½k``póæÍ¡¡¡K—.‘H$‹500`aaD£Ñrss¯]»F¥R Æ… ZZZ8Nii©¶¶öÓ§Oçææ¢¢¢Î�;777—™™I  0î]\\ˆDâØØX{{»žž^LLÌÈÈÈÅ‹ÇÆÆv�æF§Ó9�F¾ ¤���‰Dšššzýúµ³³3øªÑÔÔ>4MXXøåË—uuu¡¸¸xzzúÖ­[/^œŸŸŸœœŸ‡SUU%--???_ZZÊb±z{{Á(ÞÞÞŽŽŽãããñññ?üðÃÀÀÀÌÌŒ¯¯¯§§çâ⢋‹‹¯¯/“Éœšš’——OHH˜žžNHHÐÕÕíêêBæ‰00>`> .ú�„ø)‰2RÛ|`[O¬rÉ/ÄO6 Ì}x]r �Œ2îÑ”4€CÿÑ>„½!C8Á’?ßÛ Åàœ?|> hä¿p%Ÿ@ú˜0@Ù�øÍøAAü¸ >�€Û5L6ø|œÃ�„ÚQâß$HÃù…Dueõ:;;Aø ��ˆˆ‘““‹ŒŒ´·· ÉÈÈÐÑÑþV™üü|Ðþ=?³Ùì––ô VVV>>> ^¨¾¾þòåË,+//ÏÜܼ±±‘ÅbÅÆÆŠ‰‰±X¬éééÀÀ@WWלœ111///wwwqqñ´´4tŸKyqqqlllttLxjjª   ""‚D"ijjûùù999�CCCÂÂÂ---îîî!!!àyyùÌÌÌééiwwwggg‹ÕÙÙ©¬¬\UU…€ÐÓÓ£­­­®®îâââ^^^ÈY¬ðÉ#Àf³ÛÛÛÁmÆÄĘ››S(ðrffæÚµkööö222žžž^^^D"QIIinn.$$DOOÏÁÁ!--mlll``àØ±càB*•J&“£¢¢^½z%##S__Ïb±fff””” Á'Ù×××ÍÍíúõë #++ �ǃˋ‹‹ñxüÈȈ£££©©)¨Œ‹‹#‘H½½½’’’Ož€æH„$>€´œ‰eØŽçw_¨Õý D��p „'J<‚dAÛ{ÀŽ¢ºÀÀw>À*�¤E “8 #È/ñ&|àp¸ððp:�ž˜˜(&&fll’™™©©©Ù××Çd2ÇÇÇ¥¤¤ Aû÷ü¼¸¸ØÜÜŒÔÒÒÒÇÇgjjŠÉd>œ$©¥¥…Éd&$$ÈÉÉ1™Ìééé   2™œ››«¤¤û>òòò( ºÏ�¥Ìb±FGGGFFÐf0íííÀ8ð÷÷·³³a²?ýôSgg§§§g`` ¸D\\<##ƒF£yzzzxx0™Ìîîn%%¥çÏŸ#}öôôݼyÀ•��ÝØØˆœÅ Ÿ<‹‹‹mmmà6£££ÍÍÍAH:“ÉlnnÎÉÉ!“Ézzz999�?ÎÉÉ)))a2™###ÅÅű±±ššš½½½ÇŽý ‘ÉäÈÈH*•*//ÿòåK𪢢òäÉ“‚‚SSÓ˜˜˜¬¬,uuukkk:�ø¸¼¨¨�Ç»¸¸ s#‘H}}}`ÃÃÃvvv111 Á§ôÌb±(Êìì,“Éœ˜˜ÉÌÌœ››1ñL&óÒ¥K•••L&ðÈÔÔÔ™3gêêêæçç/^¼`1`à=ÿ׿þÕÝÝH"‘èt:š„„Ddd$“Éœ››sqq¹uëVooï… ^½z…´…]s¾e&“I§Ó%$$ÜÝÝÁ—INNNUUÕè訡¡avv6¸\ZZ:---??_]]|wegg‹ŠŠNOO���]¿~üTTT455�«ètzWW({zzÚÛÛÇÄÄ(++ƒÊ¸¸¸›7oNMM§ÄüüüÐÐÐéÓ§»»»™LæË—/�±g  �O À x¡�|@Î7ª ¤¬(¤ª鉡C�ªæ*‡áõ{8ÕdÐÃâÕ#„Àœ�€®Qç ¨&„ð ”“î á pWð>´®;à\C@@,à»=°ŠhÀ–�¼ïê,´‹Â7pˆÈXPø›øñR×¾…â…vñ`>ÊÉÉ�ðâÅ‹S§NÕÖÖvuuLOO#|àÕ«WŸ6˜™™|msƒ�­¬¬nݺÖË%$$¨Têüü¼¨¨èÓ§O™LæóçÏñx|zzúÄÄ„³³³„„ÄÜÜ\^^ž²²raaáÌÌLKKËììl`` ””T___UU‘HLNN¦R©oâ===€«¼~ýZTT4++ ì¤>;;ëî©900@§Ó{zzZZZöåuuu8.==}ttÔÌÌììÙ³ÓÓÓ`5 pÀ�µ‰………ßϼ¼¼æççAâQ??¿ÑÑÑ€€===¤‡�èß›*††Ào"P[[+rL/ûå„åáýÈ`>mF§âÇ ÁY†«ø|ó8  Ê½UhQíUàS�“ "Úb´MTøÊ(Ñ l;€€^ò4I@\¨ö�¢ìF,F‚øÆ¶g€¯N†èˆ’�õÀå ü cvv6))éàÁƒÁÁÁ ùùù222?ÿü³””TYY�NÏÎÎ600¨­­¾ŸgàþF�eii øƒÁ¨««»|ù2ƒÁxüø1‰Djnnf0ñññrrr ƒF£’Éd:�^]]­©©yòäÉS§Nôõõ¡ûüXÊ` vxx˜Á`Œ��™™™�9sæØ±cçÏŸwss£R©333ÑÑÑ×®]Æãñ��� £¡¡áÆ�gÏžÍÈȘššòððpww7ÞÓÓcnn~úôé“'OÚÛÛ3Œ¾¾>WW× .œ8qBFFD,(aóüƒ°X¬ÖÖVÐITTÔ�¾úê«ï¿ÿþÊ•+nnnàã7::výúuaaa‘G�MLLèêêž>Q4MEE%//¯±±Q___ZZ(\­­­ Fww7‡öôôÌÈÈÀãñ¯^½š›› =wîÜéÓ§�8•Á`ˆ‹‹A‚��]ttôD༜ÉdöôôÌÌÌ0 `sçææ¢ç øƒÁXXXxñâ�@8uꔸ¸ø“'Oæççüýý………UUU+**ð�¿ñ{ùÀ>á?uzh>ð§„uþ9#€æŸ3Ô½›{zzúƒš˜ šü‘éÑétpùƒ444Þ~³óóóø#ƒb×b`|z>€Ä I”CëPâH? «TãÁš½ÀèGlzÈî&>°¿UŽ@5à¯ÁCqA‚kIà‡©}n ŽQTéʺýìK™õèzP aשmª€¢Û•þj¶÷øöº®¬^{{ûÂÇp€mŒ>†™¾�9Òéôááa*•ú>ÃÆø\`2™---ŸëÝ ÷ &SSSàüÀÜh4Ú™ÛÄÄD¥àPSS Ÿ��}K‡sss`_‹·´ÁNa`|žÀ|@Î7*!yÊ7 ø€œ�",P�õÄÛ|bðC`ï0ßaoTƒð5ØÊßéL€Ɉ­ë ÄP©Háv%)ÚEÀB>Øp€¿Ò¿ÓK hŸZ”̧ €À[ž!g�ëæÛùFÛÚÚæ>†caa„& “}s¤R©ƒƒƒïc$lŒÏ�………¦¦¦Ïõî?ÐûžŸŸïì윘˜øçæ699ùGæ666–�� îîîCCC³³³oépffæcù{Ë]`§00þ ª««E�> )q@Fú œ,œ_Hî�¢$&VQ‚ÄÄ�žXÖ«†d°ž˜Äχ!Ñ>°5Ï—ƒH!Ð  ì°û�Θ¯8‚ìl€W…½ "AK!FÐ^Å|Ÿ(l? èÁ[‰ Bhƒ€*ð¥¨-Ì�®àS“€ö'–¼ö­˜Ž¬^uuuÇÇptuu•••} 3}sìììlhh¨¯¯ƒac|®tuu={öìs½ûô¾;;;_¼x6{þЦæÖÚÚú>'ÖÞÞþüùó÷9"6††ÀÇ‚@EE…ŸH‰ƒýAùFPRVRUˆ‰U JYù }�ÀÐßN $XÔ‡¬y%€¢€Ð/aÇÂn=ñNÕä@©�Ë�æö |€oÐ ‚ ú7÷p*!%¡DÈ%{_%òó ]ÿ7Äjjjºv���iii;ë°W oàP~!9!e P‚’ ©V‡SŽâ[ìÎ.ŠD!L`g�÷�â�¡/Ðlë†á«à 7@»ø5Û¼€@d`7aEÄ‘àÀ¥€®Dʃó�‚ý‰ûûûy;�ùùù{÷îí¬{—¯üüüvõØÙÙéìì¼°°ê·¶¶Z[[âââ@³ÍÍÍšššG�1 Ðhààà`kk›””„Ì–Çã…‡‡ÿ© ½éÑõ,+!!áåË—èJtycc£±±Ñ×××ÙÙ¹¼¼|ss}]îééqss#“É\.} +¶''§ÐÐÐ���———¶¾uëVQQÑÖö’× IDATÖÖ¾~P•AAA®®® +++<ì8 ¶ëèèØØØØ;a6›�ššjkkëêêÚÒÒ²µµU]]m‚:êëë›››QPqpppoWSSSwîܱ°°pvvÎÉÉY[[c³Ù™™™èkççç766êëë===���i4�ÇÛØØxøð¡½½½§§g}}ýÖÖVGG‡‡‡‰DºyófPPÐøøøââbFFÒ[ZZÚÆÆFss³……‰D"“ÉOŸ>]\\|ñâ…µµ5ÒÌÖÖ¶ººzcc£¬¬ŒL&;::VVVòx¼‘‘777‰dccüúõë½wÄãñ^½zeooš…††î{ãû^ø—Tö÷÷{{{[ZZº¹¹={öŒÇã1™ÌØØX 2™<33ccc3;; f866–’’244tÿþ}sssÐ288xssskk«±±ÑÛÛÛÞÞ>==}ss¤ÁEz‹ŠŠb³ÙÉ�bƒþI444ðó�~'ð@ñB»ù€L|ŠØè »(9_P Là%€Ê ìyŽ´Î8 P9I·;î4‹¨“rà+Ø~Þ¶æw›þü "�aÛ3€PPئ°à;©÷ÏVVVª««Ïœ9ƒ~ïÙl¶§§ç?ÿùϱ±1�·¶¶VSS£ªªª­­ýêÕ+tK¤\RRbmm�––¡¨¨ø&%!!AKK«°°Ð×××ÝÝ}ff¦¯¯O[[;--­  @KK«  `}}ìÑ[mmm<�Ëå–••ÉÉÉ™››ƒ/ÖõõuР¤¤ÄÉɉL&#_ gΜÑÑÑA¦÷þ ÓÓÓÞÞÞ/^LIIyÓè===666©©©222###û¶är¹²²²iiiÖÖÖ¥¥¥û6Ã*?7ÈdrRRÒÇÔÕÕ?7ÄþìûÝØØ(((Àáp` ?ø`2™ÒÒÒ111%%% ›ð‚“““µµuaaaZZH-úgÏíö?>>îèè÷üùs--­û÷ïollTTT>zô(00ÐÔÔ½"ƒ G$322bccÁVÖ111***¹¹¹…ðñúõë©©©ÂÂÂ��yyù°°°ÂÂÂ}»¢P(ŠŠŠ±±±ÉÉÉ 077wëÖ-sssÐUaaáÒÒ�NWWW¿ÿ>ØMïÞ½{ËËË999×®]KII 733ëèèÈÍÍÕÐÐHOO/..¾y󦕕Õêê*…B �‘‘‰ŒŒìîîÞÚÚÊÌÌ)--½wïÞ�7JKK_½zUZZúôéS!!¡ÄÄÄòòò±±±êêj--­èèèØØX …6VKHH(,,´´´tuuÝ—/Õ×ן9s¦¬¬¬°°ÐÍÍÍÁÁ�Åb!è}h…ŠŠ --­ˆˆˆÈÈH�ñœF£™™™ÙÛÛƒ· ²²’Ãለˆddd€ÉƒÛ§P(���ÅÅÅ_~ùe\\ÜË—/·¶¶ºººŒ��}||222rrr¨TªœœÜÝ»wAo---`‰ðCÛÏ�@CCƒ(Øà;Iñ2’e¥ÊËÂ|@öäP„jh>ôÄÀô‡Ÿ·)� 4hÛš¡-x„€Æà%bî#Ö?Ò?ÒÝ• =. ÖþÑöý¶0`g€¿ bñò°“ Úƒ#È? ö�мOÿ@BB‚¡¡a@@ÀùóçÑïnnnnppð±cÇÈÊÊÒÑѱµµ%‘Hûò�µµ5Ÿ¨¨(.—Ëáp.]ºÔÐЀî)ß»w¯ººzss³²²’D"WFF‡ÃYYYqssóööæp8nnn�=B®Z]]MII100°´´$“É»Z†‡‡�œœ***À—ËÅápwîÜù ùÀÜÜœ´´´£££¹¹ù[øX#Y111‰ˆˆ@n]¨®®¾zõ*‡ÃY^^ŽŠŠòöö^__G7ÀÊŸ'd2ÙÎÎîÆ�’’’ééé<oyy977—H$ª¨¨¤¦¦.//óx¼ùùysss%%%SSÓ¦¦&�×ÐÐpýúõHHHONN~ž¾ó»Þ—ŒŒŒ|ñÅt:}kkkll¬¹¹yyyÙÉÉ)<<œËå.--«ô�OæÝvXWWgmmÝÙÙ¹µµbhh¸¶¶V__ÿäÉ“µµµááa ‰‰‰‰]ƒ2™L•‡®¬¬p8œâââùùù˜˜[[Û½<¶±±Ñ¢µµuW'ÈK …B$ûúú¸\nEEÅ¥K—===£££‘6<¯¿¿ÿüùó‹‹‹]]]}}}kkk ���«««³³³EEE½½½¹¹¹VVV¯_¿ÞÚÚjkk;qâXƪ­­511éêê}fee°&åáἸ¸Èãñ677Oœ8�ü zzz‚¥ñååe]]]Ÿ—/_Q(”ÍÍÍ‚‚99¹}—Éêëë¯\¹:»ñ -,,ܹsGUU�Ç·´´€m0•ØØX‡Ããñììì||| LMMkjjÀ/`jjª¢¢¢ººzttôÊÊ �Nððð°°°PVVßóóówïÞý››B¡èêꪨ¨øûû§ UP®¨¨°¶¶îîîæp8áááÒÒÒ4ÍÆÆæáÇèÆQQQD",&†„„x{{Ðx<Þ7ß|ƒ9IIIfffkkkååå%%%T*UCCã-Ÿô(XùcD`›€ü€ÈR”;¤(ઠB`sbðŒCò í²ÔQÁ?�xmÐ#â`ÁVeÐò?š€¨!P‰¦ 0Ð- üx@p‘Ú´}/Xþ“´`G¼ÐN&Nms 8^Hì;©«°žùWAÞé?/^heeeii©±±ñÂ… Èp£££þþþ•••çÏŸ|`uu•Ãá”——ƒ�e�–Ha~~8pA�®®nBBr]X[[ÛÜÜÜØØÈÊʲ²²šššÚÜÜÖmOO�´´tIIÉ‚½½ýÕ«WÏ�;'##¾—WWW—––²³³]]]Ñ|`mmíñãÇÖÖÖÈWmhhhBBBvvö_ȶ¶¶§§§]\\Þ²³³�œœ¦§§y<ž‹‹‹©©)+¤cdd^æääØÛÛï»x†´Ç Ÿ d2YNNŽB¡´¶¶9r„Ëå677ëèèTWW ÈÉɵ¶¶nmmEEE¹ºº...eff²Ùìõõõ¤¤$eeåÅÅE‡ó–@µÏÉwu›ûò&“yöìY"‘X[[ËårÚèíí½zõjOOÏ»šÃŸÔÏØØ˜±±qQQ—Ë% &jcc|{—””€=×w�Þßß/##ÓÑÑê7àã�ó�·´´tùò墢¢½|`aaáÂ… $©³³suuukkkmmíèÑ£À°ÞÚÚÚØØØÜÜDøÀúúº———ªª*˜ä›ø�Çóõõõóóc2™»øÀÒÒÒ�7€aI >°¼¼L&“ÍÌÌö]ÇAøÀòòrddä�7X,Vhh¨��ÝèèhCCéS§¸\nWW—ƒƒÃË—/i4š»»;°×ÕÕÕµµµ ƃÈdòÄÄèmbbbxxX__?++knnNGGÇÉÉijj 8£x<^UU•……Åääd[[[xx8�Nçñx222÷ïßýúµ››[llì¾Þ ÀÀÇuddäŸÿüçððð^>°°°ðã�?.,,Œ��;88 W÷>°¹¹éíííââü!ÀÀøÀ®ÿ Oï%ÂÄñB2åe 2ÀçJ°žXQH¸�|£°Õ¶†¼ˆ™TU˜ò�ªXPÞnŒä,°ò‘—Hì^Œ¦ !Ù€À¾GÙô|…1dëïû@kv7ø›Äñ¿‚€�ZKKËÅ‹Aymm-55511‘Åb]¸pðpêùóçoâ4ÍÑÑ1%%ELL,66ÖÈÈ($$äMŸãÍÍͦ¦&��››‹´ÑÒÒúòË/���¹\.“ÉLNN~øð!ƒÁˆ‹‹F¾Fssswñ�ùùyKK˼¼<ÐÕÀÀ€‰‰ ›ÍÎÉÉù ù˜ ƒÁx;›¿æççwtt\¾|Y[[]¶´´ŒŠŠÛÍÚÚÚ �nƒ•?CÈdòÝ»wÁJá±cdž††=zdff,Λ7oÆÇÇollÜ¿_AA¡±±¬˜ ÒÒÒ°x¡wþ™Ù—,..2™L—_~ùåܹs™™™ëëëNNN‡áãË/¿trrZZZzç“y·nll¤¦¦ž>}úðáÃbbbÈrïææfoo/�ÏÎÎFe�¡»ºº{zzJKKüñÇÓ§OgggÇÄÄ|ñÅâ(øýþ°Z/--���mccó¯ý t&-- ÀÐÐ�¥¥¥°°°””T}}=ƒÁøî»ï¨T*21�—››ûË/¿ }ñÅñ’íåjjjL&³ªª ‡Ã€ex´€Á`hjj¦§§:%%EIIéåË—'Ož µ‡(©!|$…X*bµ£ À²ßkñ£Û€2:hïYØuma¶ëHŠŠ Ìz´N`ÙýêÐc—¤xwø¤øKüàS…æ���ŽŽŽ………]]]§N�ª¬¬Dlñ·ð:�îää”’’òàÁƒ¶¶655µ7iy·¶¶šššˆDbJJ °Z–––8ÎÖÖÖøø¸©©©��Ïææ&—Ëãnmm8p`xxLu/èëë“––ëåëëëvvv)))½½½áá᪪ªSSSáÎoò�µµµ‚‚<ãÆ ###‡}g›˜˜¨¡¡ÑÒÒrÿþý´´4;;;ð…»oc¬òóA­øé§Ÿ(Jrr²�� @ÀÅÅ%$$dcccee%**JQQQAA!//,ab|àÏøœlnn©ªªsÍÛÛ; `aa¬€r¹Ü””MMͶ¶6Ä?Àb±ÿŒù¼Ã>MLLêêêÖ××½½½õôô€H·££ÃÌÌ,66‘o¡WPPhiiYYY™œœÔÑÑIMM}'þ&“yéÒ¥ŠŠŠ½þ¶Êãñ †»»»µµõøøøñãÇkkky<ÞÖÖ›Í^\\DüÆÆÆnnnÈrø.>�‘‘ñõ×__¼xQZZ:99 îGó.—khhdÖ!!!FFFÀ?ÐÞÞîèèx;P+ú[[[$ieee~~^[[ûüùó2ð!--]YY ”Ífffbbbvvv@­«¥¥•––ÆãñšššnÞ¼ÙÜÜìääòm¡¢¢’™™ ~/y<^eeeRRˆaHNNÖ××g2™EEEëëëÃÃÃBBBH,ã.>°µµ•ššŠÄÒ,..z{{kÁ‡ˆˆÈñãÇÿÚ *{ùÀúúzMM )ƒÁ P( ƒÉdâñøüü|õââbww7âhnn>{öìüü<ƒÁð÷÷G~º>±o ìvþ#vñ�ÁÁÁ‚‚###:� ”ìììÍÍM*•:33³ººúàÁ‡ÑÑQ�—‘‘!++ |ôØÇé?‚ý-�·¶¶^¾|)%%555Åf³­¬¬’““ÛÚÚ¼¼¼˜Læææf]]�……E]]ÂÖÖÖRRRðxü[ºýNåççÛØØ€ì7………W¯^ÝÚÚ²··���EÜ»¦Êår "##Ùl6‹ÅÒÔÔ|'|`ii)33SLLlttt/hllŒŽŽæp8iii$illLWW×ÉɉÍfOOO�/¨TêéÓ§;;;ÁäwñD?°ëÖÐ|€ÇãݹsÇÆÆfbb‚Édâp¸èèh$^¨±±‡Ãµ··#¿zè®�x¡ÑÑQUUÕgÏž­¬¬ØÚÚ¦§§¯ÂGWW×úú:‹Å¢R©«««“““²²² E‘HôóóÛØØ(--µ±±¡P(111¦¦¦ëëë‹‹‹wîÜñ÷÷ß˶¶¶æææ†‡‡�¯^FFf||œÉdž:ujrrrss“û†"ú&“éîîN$÷Õ€ôJ—.]rvv¾ÿ>ú~>¾…ŒŒŒ:::VVV ]]]1>€Æê“,ïÏnë> t BÇ !;»ìò]/!—Š< Ë¿³•#Ä} º+PV=ò‹±õÑ`»ŒÛÎ^º�¡Î7úÝ_À:::>|èååuìØ±ÔÔT�> |¹\./488˜’’B&“åå僂‚ûù¼ÖÔÔ�H$��ÎÐÐX«««ÁÁÁæææÈJƒ¶¶ö•+Wò›ÚÕÕ¥¥¥•••š­­­ikk»»»ݼy³¾¾�+|Îìâ¯^½tpp ‰‹‹355޵””�ÌÌL??¿¨¨(@G›››Ï�;—˜˜˜™™‰ üœñ|'÷>11abbâêêxãÆ�¦¦¦ÑÑQ%%%ÿääd777Ÿ©©)''']]Ý8ø022z“àê�Lé�tÒßßïä䜑‘annÒ\»v-444>�“è‹‹‹µµµƒ‚‚ÂÃÃ�¸%&&$\J„�êêjÐþ÷Ä ÉÉÉy{{«ªªfffÎÍÍ9;;kjj‚®»ººˆDbhhhbb"‰DJJJZ\\¬««“––ðõõµ³³Cë‰�0ÀÀÀ`~~¾¾¾ÞÉÉIDDÄÃã¶¶vssówò�––ooo%%¥‰‰ „lll¸¸¸ØØØì›*á\.7..ÎÜÜ|vvöéÓ§ŽŽŽÉÉÉqqqËËËžžžIIIéééÆÆÆ ©7�×ÑÑyøð!HáM§Ó©Tª¦¦æ½{÷’’’H$Rssó^>°¹¹ÙÐÐ@&“>|óæMðÆ¹ººº¹¹¥¤¤Ü¾}»¬¬ @¿›x<ÞÃÃÃ××ÄDÑh4cø@Þ‚™™�‡TCCCYYÑÆTUU%''ñž¾¾………[[[### ixxx8�@(..¦R©ÒÒÒ®®® 7�k=¬ü±#°P�9¨({H è‰ßÊ Ñð^£|g dÊ è2R¹£ð†ûBÁ„·R‚m믖@r#ì¦üüBïß?ðòÿgï;˜ÚHÖµ÷?ܪ[·Nݺ»`ƒÏñ9{¼áÛä]/Æ“£À€‚ØçŒs9˜œ 6ƒ1 ‘ƒÈ9' ‰ ��…sÚðÕÌ«i5’ÀÞà³»¦UÕêéîéy4#=O¿¡ë룣£CCC9NDDîÐÿúõkdíêê  +++ƒ¼%ø} ©K###ãââD"úá‡jkkóóóÓ�ŽŽ §_ééé"‘VÔ¢££ÃÃÃïÞ½ -'&&²³³ÃÃï^½*•Jøá‡æææððð���ààà°°°šššW¯^ýôÓO<&à“ùùçŸûúúòóóÕ*ÿco_¾|’žž”ëùóçAAAÈ�õõë×MMM1ô«¯¯­I$’Û·o£¯QXk‰‰‰‰ŠŠª©©Ñú£ò»4r¢?åååð³«P(^½zÕÞÞžœœœ��ÐÒÒžÁ‰äêÕ«qqq( ˜ BBBÒÒÒðý?ÏÕýEgòêÕ«¶¶¶˜˜˜ÈÈÈÊÊJð”èììŒ�� »~ý:ˆ´²²2ô�о÷þÌ—üã�?¶··§¤¤ÄÆÆÞ¸qãÑ£GÏž=ãr¹���ð}ŽÖ}ð yùò%—Ë �‰‰�ˆêÖÖÖ‹/r˜Waa!´Ÿ˜˜(**BÖ`|(K¥Ò”””Ë—/‡††½~ýúéÓ§%%%øh]]]¯_¿®««‹ŽŽŽˆˆ¸sçR)áááqqq�%©¿¿¿¸¸~qÀh ‘H¸\îåË—/]ºtùò墢¢ü±¯¯ÿeD³úé§ŸâããÁ×\§êë룢¢""" GöÄÄDaa!ìØ344”ššª_ñóÏ?���§¥¥Á°ããã7oÞœœœ|öì�Ç‹���ŽŽ†d;OŸ>­ªªJHHˆ��¯¨¨€%9777‡“”””––6<< ¿ ���qqq‰‰‰µµµ?üðógÏîß¿ɬåry\\ÜÏ?ÿ,—Ëóóóããã“’’ÐwˆD"IOO�‰‰¹}û6²N£ë…‚@ HJJº|ùrdddmmíÏ?ÿ Ñz—.]b>Oܯ^½ª¨¨ÈÎÎF«‡AAAçÏŸçp8™™™0Û���”””°°°û÷ïÿôÓO0C°lp8œ˜˜DÔfBÞþEЦ žxQ=@Sü¸û<~�hºFA�âSo‘û�Fã7Ž9o´_- 4E¦þ¢÷™6A€ @ –8›6mºuëÖ�\þ_ ZlX¯cb¬cfLçe≵ê:Ù(%æñïùô�ÍÕÒÆAÕQëQBC-®´4£$Áb¾C‹ 晈økÝÏd¶‚A€ @øƒ zàþÈé9¸}€Ñ6x¾ÑùþBŒ ó Í—š”§éÅwXÁÆô€Ööx%tGÚ?„—l@'8šGî•Ëÿ+ªÈhü�±Î™_è— ¤A€ @ $ÓÓÓZÓ:ý‘s"ç&,ЦÌ=0oÿ=G”oT-ž˜Ñ wÍz5î®ögùZËh@(@›Å4m%Xœý«U�9žg¸�VlÈÃÿv$ÖµŽJñR&‚A€ @ ü…H¹ußh¥‰6!å~d6zÖÌþz`/gä�’¦c^Cˆ÷kpÞOµ×ÇÇÄ�¢a5}Š4›©jP,Xo0àöʶ ¦Ь8\üo[|m›p¯ùˬàÒ°â¾�©9Ó+¾¶¨cB(},”>žyø¼S,·âpBÊbK†$¦æbxÎᕚp�ªÊ¨ŒÎ<˜š;}§C³Ô¸FU–÷JÒÇ�£²“·ÚlhåYÒ709'�>Îi¹DTXq¸×kF¥ŸÃ4 ÚÄV®5‡ëZW:p§Yä~¥ÊŠÃe…”Bƒ1ÙcéÃçÜ®I÷+U—îv eOÆdO„ÒÇ-‚Ù-±5 Íä]×Ûò¼âjË{§/çw-t.‡�Ò {Ý"ùèÌ㔪a» žÖ–Öîù¼ÎAÉÃÑ™Ç×jGÙ‘Zð×Ú‘T¾ßÜà ‚ {ìƒJÅenŽ©)ï�þI—E° ä�¼ÕV;4m’*ãËCËÎättŠŒL?âËŽg·Úònð3ŸO+ž�L?J«µþ5â"3ùÝÙòÎçv6ŒÈú&¼îI×(êKxstõ ¾pdæQ÷øƒ y]ZoÅ-1Õ÷ÚÇ'<”< ¼×cÄ‹(ê}þêù“ðw6·óä­6ù“sÏ^>õÃܳ—ò'/ö¦7j^¶„º.ñƒO_ ¤�o6޹DTºDTf7Ÿ¼x�FÛ]eTQÜÛ3®ž~ÄëžôI®·æp7†–å·�‹åOú&a÷{íƒJOÝj�y$}ø|êÁ³fáì¾kM.á×kG2ÓÈä mygs;Ÿ¿þQ¢x_¿›®Tt�ËŸÊŸ¼øáÇŸôd ºBË’*†Ò'BÙ“øòA» žZ£@úXöèùă§ÍÂYÿôëù¿ìp�{Òf¿�Ì=›|ð´~Xz,«Ek3M4þ�šCͽ ù“C’‡ ƒ¬àR·¨ª²ž©ÇÏ_ÁG085çW3÷ìåöD¾ò¯6Ümï»Ö˜Ó$š™{þÓO?+ž¾¬˜±æðìƒKƒ {z'bù“üV±Ch™g\íèÌc¸äO^uN¸„S”€üèoœ IDAT½7$«é]+&~@¥hû€“*ßè Ø� Ãà×GÄ-ç#vm¨zºª_$  ‹FÓ x jæŠô í8DÛV¸:¬puD’ÊÔ[Ü­3¬øãôÀÖØšÐ¢ÞÖ±ÙáéGjw›] /µr8ø^�‡»=±®zpfKL�O2¿¤kòpF³Zck7ü~oV½pstµOJ½XþÔ%B;gMªʨ°‚K/äv消¶ÆÖì¾ÚÀíšÜSíZv¿c"²¸Ï.¨4£v40¿�ÅšÃÝS}…Ûß=þ ‡Ñè¨chYDQï•’>›@^èýÞørêK ýC ¶�¼cYÍ…íã=ŠEôÀ¡Œæü¶ñ½é�›¢«{ÆZ­8\vdÕ¤â™OJý¦èê¬zaØýÞ?óÆøÒ<é ¾ ŠÛï“Ìß�RïJ«Dk×%¢rgß'‰ïUeH)LÛ@Þ¶øZŸdþ¶„:ÇÐ2+šö4 fw§ÔoO¨³ûUŠbib¾øUkÕ.•�^¼öI©· ¢(uzͨKDå ¾ ¢¤Ï>¨tStu‡H~,»uñ‘ÿð£;’êîµ�ï¿ÖhÍáæ4‹®× ly§n·ßn±#+f4Õ�ÈÜi‘€OÕ&�—Ó,Êi¡ÚlOâWöO{Æ×Fõf× í5–?ü¯6ÜiíJ­ÇGÀËÛêÊ{%;“ø[ckŠ:' ÛÇ]£ªRª†£Šûðf›®TIzÆ×G.ìq)M«iκ]©öKk¸Ó,Ú›ÞxêVÛÍÆ±ÍÑÕ6�¼�û½]¢ð½º7½1¯E쓬¤³§ïtTôMS¿A±5%]Á´¤�%*Ñì“­Ì’S`Awy¯Ä'…ï_'�>>žÝâŸÖ˜ß6¾-±Î.ˆ[:PÚ3iK?�øT­8Ü=i Ýã¬8\» § »¢ošYeÈÛSí“ÄߙćgÖšÃcGÒ�v2ßýŠòÑöŒ«ÝS³=¡n[B­S˜’7»FVù$S7]©²¦ÿ­1Õ[ck¼é/Í6�GýXÓã»DTÂ…³BÊv$Öù$ó·ÆT/´8u(£ùfã˜oJýÎd~ë˜<¾|Ð-ª*«^x1¯¿®‚¶ñ¤Ê!@‰“ß�U/Ü] ½xí_ åcY-•ýÓ'n¶ºDTuN„ÜïõŒ«åuOú¦,xàg!å¿"jzÀ„ÖæêùF7Úèm´ÕØ€¶ ¾Ž“{TÆ™:ªT+ �׫”ØPÐ? mÞÄÀqˆ§õ’ðvÞ†eŒ6 ÕÂf8{§#¶tàÔ�ö~Æ>€n¯=Wî·OÀ÷»kTåž« Vî¦èê‚¶ñc7ZP3(8„”fÖ ‚ ºák…?"=q«M­ ¼õOkp£W÷�Üh¾Ù(ôN¨Ý]½=±Î&�ç^q³q,ª¸Ï1´,³NpµjøDvË¡Œæ�a¶�¼ãÙ-±¥qeWkFÀ>Zs¸~Wn5ŽyÑ_1±¥u‚€[mdzZ=âþ0ãÀưŠÜfÑ¥»]éµ£‹è� ¹�™uXïÏä ®ÖŒhíÔ�öêAjÅњà ,è¾Á§•Ö–¤rI!pƒ/(옸٠,ë™ÊkÙp¸îQU åƒ÷ÚÆ ZÇoðn4?Û•Z_Ò5™Û$ºÓ$:–ÕbÈÛ™ÄçK'Ïî·�§U�,¤Þ—˜¿ËÅjÕîWª<}yàz“KD¥CH™KD%Ø@8…U”÷JNÜü³ë�])õ·›Æü®6Øp¸I•C7øB›@ÞÖØšm uV®WB]“`výÝŽ#éUÕ$˜=˜ÑdM}mŠ®f…”þF=°#‘:ã¦èêљǾ©õšzÀ#¶fpjÎ/­Á)¬Â)¼bcX…M oHòð$ý«dTêWëY…ô€5‡{ £©RúY«€‹J©J(ÜH3okéJö4‰bKB(½�^3šÓ,BzÀ&�w!¯³¢oÚnQ=`È;žÕÂëžÜ]íwµáf£ðn‹¸ M[ÚoÃáºFVÅ–´�絈’«†�éU󲞩»­ãé5£ù­âËùÝ!¥.•YõÂüÖñ»-âL¾À#®Æ%¢òn«øN³(µj¸²:¬¨—ú¼âk³ê…yÍ¢üVqà=ª£‡x¯§¨s"¯EœU/ôOÓnÍ=ÁÁÌfÑìÓMW´è�M�b¹]Ï1´ìjõH4·i!\Ä•dÕ áÐ=ºz[BÑøãó^–1=`n¬ki¢KíO¬ÒË)g!J èQ›‘iø á ^kYÅÔB¯ÙLÕ†ˆÓã�ñfx½¦ûÕRótó$�J¨Å`oiÍð‡é¸Û|Sëû'•þBPcÄË ˆl7nÿe—^ÎïÊnz3âݬìÈÊL¾àb^ç…ÜNŸd~A›8¬˜úÒYè�Y™R9œH[Ò¡MÀ­¶|·kÒ+¾Î)¬"¹r¨ M|­f¤ }<±‚Zf€¿3w:Ôô€CHÙnBù H‘ˆ¢¾ü¶ñôš‘솱;Í¢ÍÌšá?Yp «¸Z=²ˆ8žÝz»I´#‰ï^QÜ9YÐ>®uzÅ}9Í"Ÿdþ…\ áìÊP®µ%©\RÜà òZÅ®‘U.•³�_¸DTËj)éœØ]½‘f™Ç²)߃Т޻­b—ˆJ¯øZz•šúí?Ÿ×Iü…~÷»E«p)Kª,옸^;r¯Ç3ŽZ½Áðº'cy7ø‚òÞip¿ùÝçó;¸1¬"µj8»AËàËüÒ¨"øÛVžP>x­vt#m}Bõ`[n•QKα5E½AÝ^´} M8W:Ãí�Á˜â[Ú€Œ²‚KÛÇä'oµ]¯­ìŸ†¡.ävÚòXÁ¥En§U�\Èít�¬b—J>÷¢¥ šÞ©[mÕƒ3©•Cñ¥·›EQ%J#ƒV=`M3òœfQxQ/,ÇàzÀ!´ŒÛ5ÉÉïÖx¯§zpÆ?­±~Dv½v4®tàn«˜SÐ zM {Ò„²'WJúâx9Žæö;„”Þà ¢yý!enQUC’‡›cªw&ñï4‹Že·:†–Ïj¨K{¦nð)CÍÉ›­™|�W|íù\ê¹¶.u £|Ÿ®”ô;GTòº§¢ŠûXÁ¥û¯7õN(¬8ÜÃÍÜ®Ém‰unWªö]kb—²‚K‡§ù¦Ö³‚K£¹ýñeJm£6[\¸DT<}ùÚ+¾ön«¸¤s>‚£7ZìƒJí‚Jû&çv&ó·'Öe5�bkˆHØò®×Œ¦U�€ˆ‚yÆÕ6 f³ê…0šoJ½VÐÔfEÞþ…Àô€Z¾Q¥¿Ð¯Ööúˆ”/BåÕØ<Š˜·ºÏxþà• •q©€·¡êéìFêþBó<ˆ4tŸNlO¬ËoïÂlv¬àÒÓw:r[DG³Z4-‰ìÈÊõBN~WN³èä­¶û‹è§°Š„òÁ¬úyº"àVÛµš‘ÜñÁŒf» jýr{b�}P©O2zî¹3C5õ€û•*ÊJËØv½âk÷\m°*eGVvŒs TNGÿùæ�z`StuRÅPNÓXjÕpÕÀLn )¡ùQÜ—×*>u§#¯…²9Ü¢g5›‘š¥†À ¾ ¼ˆú™·âp'<õŒ¯ãäwç5‹@gÖ "Š)':Ÿ”ú¼qvƒ0†×�,õD¼‹»ô@Ý�OªŒ+t)³ *Ý­)‚fé5£îWª�H®Ên;þ§÷r¿ByædÔ�Fsû‹:'Ïå(ƒÄœÂ*Šzo7�ù$óáÆÃ�õНm‘ù&ó=ãkÊFeçr;#Šz= ’Ÿ¸Ùª©¬8\§°Š£7Zbxܮɰ¢^vdåÌÃçÞ´aMé�‘™Ç|‹^Ú·âpÕôÀ™œÑì“[ Ôjý­Fê2a\°BÊJ:' º=@ù�Èä :ÅòôšQäσ&¤øÃÒ»-b—ð §° ^÷di÷TZÕpZÕðÈÌ£Ã7ZØ•Å}¹Í¢ŒÚÑcYç¶âpKº&a½ÉïjCV½pwj}zÍh|ù ‡kTx¯ûvã˜sDåýމãY”Uß#®V<ûÄŠö}J«¹Ó4vµjxwj=åž[óøÅë´ê‘´ªá²ž©›�cîW”>ø„çë�Ê'/_{ÆiÑVîµZA\Ù ½æ5o(¤ly׈Ðö‹�þþ•µêóå¶–ÔŸ½•KK¾Q}g&~@3 @EÇ=€S|\YGÿw‡6è­j@&@j´6À#¥¡Ö’­t,�ºÀ£ hm Ò›,=.¤©Ço�©é›TTõOãøÊýo¼c4íàè‚Ürhw�ÖüVñ‘-Z=UXÁ”¿Pha�w|­KDeÛØ‚î°ÖÞÕê‘|!¸÷€árí/äZ^Üw·ElLùÔ:†–Ó2¼‡Ï_mf|45õÀ�Œ¦šÁä½5¶Œ¹vA¼Ôªáø²�ßÎoéþF=qÇn4ÊhÊo¿Âí×zº€Ûíõ#2—ˆÊí ua÷{²ê‰¿�Õ¤º÷»�'—SzàÒÝ®‚V1в¬zaÈý^›@žM o{b]À­¶ëµ£±¥`\"zà]ÜÖîáÌæÆðÂëµ£Q%ýqµ{èÕt›@Þ¡ŒæÜñÞôF?@{�÷”vO½‹ùüŽcÏjɪnO¬³æpOÞjkP).BË‚ {²„»S�C~R§ðŠúaÙÑ-¶�”ëHAÛø…»]¿‹¿Ð–˜šÑ™Ç;“ùšþB›cjv$Q>EvA¼ {=7ǶÄÔôN(NçP>î¶´BÞ�Ú€ü….Þíj΢Ÿ6M=Ð3®8w§ãäÍVïøZäóƒë›@Þ�Ʊ8fM=½v”v¹¡âv$Õöä4S82¨ŒâŽÞh®ìŸv¿RåZVÜ9‘^=ròfëÉìÖ€›­nQT$€KDåþkMA÷z*ú$p�%]“°æåŸÖ˜U/Ü•RŸZ5œT©ÔÔGS/tލD^¾[ckÆåO­8\:~àHfs ¯¿°}Ü-²Ê�öjCgÜM Ð$Q×G³ZÒÇîÚü…¬8Ü}ךš³Å}Iƒø?ÒVn4·?»a Œc.‘•òºˆ¿‚ú}-€0úÈÔX‡Ê7j¢keºÌæ-õ0~�È`%_gêÙöú5gxÔØ9bðx½VI€k Ô ‘~U Ò!ÈûHãÔŒ$а0¡Æt->0Ö±4Ö1[û¡±V=ëåþWð?Í•˜_}÷hê�«UÃÈ’ZTˆ­©˜9r£}ª�˚à »ß{³�úÚõOoÍ>ïFÛ@Þ…ÜÎ^?¼¥=»Ë{§ñ°³ãÙ­÷;&ܯTÙ•¦×ŽÂâwJÕ0§ ›\v.·C({‚辚°æp¯pû3ëh>1¼þ¤Ê!Vp™G\m“@v,[=Ôµü4õ+¤¬j`Ú— ˜Û™Ä�á ìH¬Û–X×3®@k·±5É•C‡3•qÛìÈÊÉOw]­ß[s³q ‚¼ÿó'§ø“# ¦¶ÆÖ¼ÞTÜ5±-¡ŽYU7$ÝGGr º÷_§¸OßîH«ÝC-ûÜnï�PØRÎeþä6òŸÞΤºÁ¬ZÃVúkóÌ�Ÿ”†ÉC¯„:[:· mÜ'™�ô€Cõ½w_A|ä?¶|8“J~Á¾Q%}Ut~˜£7Z ÛÇw_mÀ >Ok÷jÕpAÛ¸Û•ªMÑUuÃ3¿‹p»R]Ô9‘ß*¦\O5â‰d4WÎlŽ©a—Æ•Qe®Q”ó}—øÁæ˜jŸþífÑ‘-H°‚KëGdÁ…Tò MûÄãe\Xq¸œüîŠ>U<ñþëM(~À%¢²¢oú\n§Ö_m¤\"*n5�A´@J¥2PacXEJå+¤l[¥+œÂ+BËjfö¦SþZå½’üVjíÒÝ®lú÷÷hVK³` î4‰8ùÝšzÀ&�çŸÖp9¿Ë&�çW[7$ÝCUwˆä‡2)ûüáÌæCÍZè��I|¯„Ú¶1yLé€Öxb+ʽª²M$/îš8F›&€¸8p½©¼wúÔí§ðŠœQBŠѨ÷µ€ìëuÌ�u,èøu=€å¥÷#ÓwŠéAÞÔ\ù¯ÄËó×øU$¸;Óé�7Š¥Ò ;R�™æ%à(¦(Ç!%õWË8„)0€0_û¡ñfmö�ww[D÷õOÎM>xúòõ�éã{m”ÿºm ïvãXèýô^Ü÷ìÕâY*‰§Púø\N‡æ7;²òZí¨@ú¤orÅÆÙñË ÛÇ‘©A }<÷ìŒSC{X²‚K+§ e�‹:'=âj©è®ëM•ýÓ¢Ù'tš¶F»@*ñ¤@}ðô¥xöi4w€\jÍáfò…ø²:ä¶Êž NÍE–ôiº6½;0ñ‘!ªhö‰âéKÙÃçµô•Ry]ÂÊ=u”ù~t -‹áõJJâÞ¥¾Éõ}ӗ歹žÉé¢ó�^­Aâ ?#)/A4ôe /îm“wˆ\áöƒ“ñž´Æ&�¬Kô fpæÄM*ɯ‡ëQÑ5þ`âÁ3þ°²,AßÅ%;†RMÃÓ�FggÖ Ü£¨\1%}}“sBÙþ°ôä­6[”otî™höIQç„W<µžýgþc—†ßïmÊ{Ç5C3ÞtB›õÂGÏ_‰˜ŸŸ¥/ ~!ìÈÊÛM¢‰Oû'çR«GØ‘•E½Ï^þ {ôþnð• :o?@ç}1.’G‹È7úøÅk4ÚéœÇв”ê‘Á)*‡ui÷äîT*4–\šU/ÍRùFC™|£�_³§æ¶%֥׌*ž¾|öê‡O_\¯µ ä½¥Àó�Æ”ØRœ[™_ÈŠÃ=›ÓÑ>&G&¤(ãRe"ؙ̇Tr]bÅÀÔ\DI½U•Z=Ò!¢íŒ:dáäuO´�· g›FgOÝn§òwñâʺÇícòäÊ!ÇÐ2M=fùü¶ñNñƒVálXQ/Äï»ÖT?*럜ãR iÏðùF<}!˜yœV3ùFK{¦>…>_ú6 £ „üa)ä·âpo5ŽIÏ~üégù“UýÓÖµb˜×Ù)~ –?½Û*vdò�>xúFë›Tે8n¤üEéc:~@×Úl™ÚþÄŽ lõœìô�ìôéd£Êý‰Õ)8CÇ5y<¢þ”¡€¡æ¨%˜JÔ ª†aü¸•Ÿ?ˆRWÌïë oa;Ð ð2“wèc]KcJhµüE?u2m‚A€ @ ÞÅ�“§n/¸ÛÏ;:)– ð[@z€± =`o¹ÜÁJ�EÇCŠ!';° `ñó×ûq‚´^ÉÈç7Sò{†»#Š� j†ÂMª0, ÿؘÐS9=ÔFe%ÀôQà@ï?`i¤cnðá¢~Ë}Fú‚A`‰ PÜ9¹ÈîŸKr™-� ì: ~@¹ÿ Å[S)G©-ÉX”$ ü…0SZæG4Gå!Š”k *`†Å ªÑ*�j  68þ–*ãc‚q€NXDRJ´/# À›ô€­ˆ}àOm1ÿk=ud¶‚A€ ð#�T1´ÿzÓ{|�äÒÞ?æé:žØD×Fµÿ–_ü…@ P^C+”\cبREÓá(ö^/º~^cT]pÈm’ú¯�q4‚ê?6¾²™¥ è}‹i1€—)û€¥¾§ý…®Ý« *è&‚A€ @ �÷�Û…¥F+MŒ>2¡ü…È/¤Ü‚€Ú�ÌÉ^ßÙŽ2 †�|„”+ñˆpc!JÂ|B•ó©,qg$âñ*‡F�¸ØÓŸjÌØ´M�€¦­V 3Ñ1¸¿�ãß=`@ë�þþþŸÉ‹ @ ‚A€ ð!Àçó×­4Y÷‘©£”û/³ƒý¬–;X-wDþBŒ³�³Š‘Ï#î*Ê®Fèñöøª?Ô3H°Æ¯¤ï³WÕÌ JÙÀœKÕŒ…ªš© Ç!¥qK:DÙÖ3ñÄD¼Gw>¹‚A€ @  ¤À>@ÅÐþB”`Y.w°Ös°Ö=°ÑN#æ/¤4`vŠy3ü^ÅÅQ%VPõźƒPšÏÚç™p9�Q|ewF0 Ñ¨)Ùa¢…JéÂÌŠŠ%`­pe1b´�Ò_ò�=@‚A€ @ �÷ ¤Tñĺ6fËli= ÜŸØj9•_ÈŽò¢ô€�¾ í2¤äèà”ô±s†s#·•N@íñÆH JÆ×_uµŽó…ÕŒQè¤*iÁÌÇ´´ÄÏE×Sí•þB´*`¡øzÿ¢Þ³»Ÿ\A€ @ ‚ŸÏ7\i²^ÇöØ ke¢ÒÊüB˜ ö Å€ó|2=Ïo‡áåÈD€ óš!~ÏPyÄãÕ›1Køt½*ÆiJl0ŒßMS(mXc¼#ô¥¬´q€Ò¬§ã‰IüyT‚A€ @ ÞK@¬ûÈô€ í/„ìÔtð€�ž“�ž�bÈ…v¢â�$P(°@AIDZ%yõ=p«ÝW©ÔGÖ§†Ò<#tÁ;jN€i#+õMÍ.�Þ¢p‚yù…ˆ}à½|ÈE‚A€ @XÊ =°žÞÀD×Êl•oü…èøG°0z€Ú|€Î7:o­�bðeŸG¸Õ<°pÔFÍiGó-® è¾*�Ae ¡–L3J«¨ND7©€·„6¨Ì–� [=°”Ÿrí‚A€ @ Þ0=`ŽïG†â‰­–Sz€Î/[’¡àWÄ­QqkT£V¶�*ߨµ¤ ŒØPVÒòcñ?:op¥ ‚1#Pƒ»:¬`#=@íOLìïÿA®� @ ‚ÀCéc c]K,~Àœ…h1@ÅÛê#=À†xb5>­ö7@zÄãQvQ¼Ë<î¾ÂU�ýkê:e>‚fs¡2šj€L,¢–Øã@.— @ ‚À’C€ÑfÔþ:êzI<~€ )†¥tUH"Öš¼j ïç°ô rÅ‚A€ @ –|>ÝJ#³õt<±‰®µé2f?2K:Ù(Ú’ ÷R#ß@£µV¢C”[F»59º²ûüH¨¤þ«yþ`C¡Sà€.x,~FÚÍIéì„N�Ø2&…ŒtÀ_ˆÄ,‰ç�\$A€ @ �¥†OlNëõø�Eì@�q& kí8ãWãâø†eˆÁãí•£­pµ[ᆼŒ ’j6ßõeE#¨ZΗ È s¦Þ®pU›9=UJ®@›yzÀPÇb É/´Ôž r½‚A€ @ –óý…(=ösÊ_ÈAC8ƒ³ø ¡ÕtûTH±¾iÀ|î®bÿ´›�qW»ÂÕV_© X™™ \†“Úè+ =Ym$´hI€$®dTE‹ Ê_Èð#O¼4žr•‚A€ @ –zÀÚt™­Ù2[óeöXü€•ž“•ž‹�Þ<= ¢Ú´'�’»Ã;Åé)…`Ke¢þpž�¸;Z†GCA3$-X+ØÈV½à,Èõ …F  ˜ÁÏˈ J½ÀêN¿÷!¶ uT!Mâ–Þ3A®˜ @ ‚ÀRB@MëZoе5]fo±Œe1Ï>àl­ç¬U J�±m¥€U|[}Šaƒ¿>ÎÚ¡†êŽ@c¤(6Ïøö@_F¸ÙÓætvœ÷³V¸²T&•ÑLJˆ¤ ìH¾Ñ¥ô,�k%‚A€ °PÓ”ùFí,—+ý…,—;Z.ßh­çù…léäBx~!Ê@3iàë` m€¼z`9_i%`vF:�vèW.ê#.ŽFÃ�yP¥­¾›­¾H¤(�6 º0gј› ‚Ô ê…T4¹ò�±Žå:‹ïÿ�ä]Š�¹f‚A€ @ ï=EjFÄ IDATóõ€2ß(•_ˆÑË7Z.w=`C™Ôó�â4Z“ñ¿§ÿSN88;GeÚ;È¢~Q%ðuê-ít„H¥Xhå€ÎŽ‚ ÀñÁz+OüÞ?ä ‚A€ @ ,Y@¬ýÈ|�Ž…1¶?1?àh¹Üa¾p±¡œ¨?¥Yâho{Æ“GEú™¥³>NÊq^þB°õБæúT`1rRŽ@‡/ÛÒb€n£Š-¦õƒˆM $B⨄X9èØ4™ÖÓö’_hÉ>!ä ‚A€ @ ¼ßÐzÀtÝG¦†:ëu,Œu­6èÚ˜)÷#£ò Q[èm´Ò£â¬õ\lõ]h?º¥×QÐ0Nña™-ö#'"´*OìR±ÂÌŽ4Åÿ";:ÞÄ€ªMÖ•ãP�Ý€²#©À¼¥6 £W%UNŒ zÆ­ 0C¨¡šaJF&zàý¾ÿÉÕ‚A€ @Xê =`DíGfñÄÌ~d,<`¥ç‚ôJ6 kó°ºO—•ü=MÐ)ÖŽTfP†cüÞö@öè®LcÊx 1T 4ïg¡Xa°!Àîô Êð(3#P6P2PcCï••(,â‰-Öé˜ûÀRPÈõ‚A€ @xO@þB¸0Yfo¶Œe¾ÜÑBLLÅ[SùF)û€m"@+ýˆO3T› ðCà_qÀPêO{ïPÁÁj~ÿȹü‚ "™ ›‡Á©f´A@i å�­>�_ˆ6ÐgT:Á¹�Ó(|(\3ÀøÔþĆ:ß“ýÈÞÓ€\A€ @ �%ŽÀ|=`iLç2YfoJëÚ_h£%µù€2ߨ�B@»ÖP»†!ÆÞ5Ø[Ú•ˆñüAõP~š|ƒr Ì” ™=´Á=yP/àëˆÁƒê`*•†º’PåbD…2à t*RêDv+˜Xdº§Câ�Q©ˆ}`‰?'äò ‚A€ @ ¼¯€0üÈ ìt­LtmL–ÙazÀ‘ÖÔ~dÖÔ›úSîçEé´Ø�üþQšQÚ!GÅÅÉÛZøGa ³W2u� Ð µaì ªlEÐ Y�i‚®§|ŠÐ8¶úlÈ#„ù8Ñó§%½¡8)uŽÝ W¢Þ×;Ÿ\A€ @ ‚…²Ðù…,7Pû‘QzÀŒÚ�Lé/d¹Ü ö'I`£OI:Ë�Ò�-®#îæ°@�ðr5ý€–í!a£” üyЉ`4JÐI�pÂÔP~Gô¨`2¨}jÚ Á„40½¨d(Sg¤‡¾¶ú®ÔþÄ$ß(yV‚A€ @ ÞWh=`ºö#s:¿�¥±®Í][ˆ° ’�:B¾QK=g+=ZPJ€ÖJ D !ͬÊ+y9³„O¹Aj …Ãèð_Š”+3�˜hÕ ˆî£‘™zåÒ>ªÇõ3=¥Þ@‡èºˆuV¾Åó yö÷÷¿¯÷¹.‚A€ @ �¥‰®Œt(=`Lé°`z`¹³%£Àeˆ&Üà/¤tÍÇ9:"ñ¨@+ ânÈV€X>ê˘”Ƙ’’è£. ¹w³aÂpZ¯Ölþ4� æƒÂ!T’É Ê_ˆÉ/DôÀÒ|FÈU‚A€ @xŸЦTñt~!'ËåΖËÕ툩uF„[³€¸>ÍÑ©­�–`jÀïˆÒøhÀï yqt3e"#FPo1$%¹×œ�Z�Ò¾A;1CQ}Á‰ÒF:$žø}~ȵ‚A€ @X¼Q(ý…h=  &¦CŠ«VË,„×£2ó�²»Ù­@ŽþZX;³“òüQYЀ Ð[Ðø[Tƪ\¨ f¸°ÕwûèbX ¹t‚A€ @ ï)´0ƒøÆ_ÈÆt™­é2{sjóËåNôŸº¿¢Ôš‰AÑ¡·/ #ÞöÀÍ 4ïW×oaТ(ði-C¨É/ôžÞøä²‚A€ @ h´Ù¨øÈ7Êø Q.CôL¾Q*¿�–¥}¨D®D‹´f¯µ(ƒ�ÖfP ¬}‘¿â.N¨xb’_ˆ<,‚A€ @ ï+¿D(ó �×γƒ·{ü*ã$U¾±°8ÝgÆÔ¾ü�ÏJóD´ÑBUõD¼¯w>¹.‚A€ @  �7é��Jg!mù…4I6ì6¿e‚paÕžßlAkÃ;j¶ˆZÀ�ˆ¿yN‚A€ @ Þgæë+”où ¡xbÍ|£ŒÏÏ<ŠoGïõûI<³ðÿëD¼ùüÒ™¨Å=ð>ßýäÚ‚A€ @ ´éÍ|£tÊÑùû ž½¸K4[d1�£­ð›˜½æ€¿Bfàz€ä"Ï A€ @ ‚Àû†À|=û‘iêåþ(ߨ&ÕÆk€ý«éúíbQÈøtù b¢�¡×¯Õ*ûƒÚlÑd(=°N¹ÿÑïÛÝO®‡ @ ‚Aà�z@Ó_ÈFŸm½h~!†£S„_’GeT€ø[DÄ.(‡ÕÜ‚`á.*Þ�·ÁÏ z@­ÆFß·xô÷÷“;† @ ‚A€ ð>!€ôÀ: ´ÿžoTShæÂIöïRÆy9Ò x%Nß7,$`4dÀ„K€D¼Ow;¹‚A€ @ u�0ÔÐfË-¨?&Å?ð«IÿâÜ}¡aÕX;âë¸B@²a¡A©ÇÇaÊJo%\!õ»‡¼'‚A€ @ø«#€ë�õ:�_H?`ºL»°ÑW†Xë/æâÏkí¾:‹°ó…è>büÌÈZ˜¾�Þ`º+'¦ù¯ù`½Ž³Ñõ»�ÌŸ @ ‚A@�Eô€ùÂö�·‰x#ã·ÑwµÖw³ÒÃÃbƒÑ TLÂ"¼ÑœþÍ£½q’éX‘xbõ»†¼'‚A€ @x_XD˜Ñö�…÷#[�m[ëã±²•¾›¥Þ‚㼉¬ÿ²Žø¬P´n Ðz:â/ô¾Üéä:‚A€ @ ´!@ë³µ™Óñóü…Ôô€?ÀØ”Œù÷Ûè»ÅÇWýq"®Æ¹­ôÝ�Ó‘5U¦ÄÃüöªS¨õ…·óãÚC]-,ÐR½™ÚYæé�êêêŽ7½š››{É‹ @ ‚À»G «««©©©�¼Úhoookkknn~{í(--5\i z`�*~ÀÞd‹Ž'V[,w±ÔSþiæBËí4™¦(>£(Š�ˆ8¾O×SGQ¥•¾-Tí5? ±vÍ3@ °‚Vêïf3? Í:~°NÇ’‰ðèèè˜{Ó‹ÏçÏÍÍ="/‚A€ @ ï�ñññºººaò",€@wwwggç›Øë\MMÍZFhË7º‘Î/äŒô€•žËBz4t†¦«–ÿá(²$à:lÖú®Vz”°¢º2BšÑõHZ@±ÊÀœ‹êK[T¼Õ0ŠE)?˜z•a‚•UÃ*õ€¦z{{xÓ«©©éÕ«WojEŽ‚A€ @ø­Èd²¦¦¦ ò",€ÀÐÐÐÀÀÀﳺº:d0Ò±\¯c³^×Öx²PùF-–;Y,wÑæ/4�=ÛÒÎ?óã� µö�ÄPmú?ÅÝÑ’<­ÔíZ�Ø0jиÍN�Ÿ—>—Ò¡15”Z¤2ã/ôÜ-=4õ€\.///ÇQnjjzùò%^CÊ‚A€ @ ÞD,@ƒIµ5=PXXøüùsÍ[×ë=°žÖæËM—m4£Ä€³årgK&~€bÞÚö'¶¥~ „Q|àÜðþ3 ߪµ|­ìœY¶Wʭê‘xœý3cRR„)ƒýA¥dÓ�ºÙÚ3zàà ›h=ð{ÍÎÎFGG_¼x«{ÝÔÔôâÅ ¼†” ‚A€ @ ¼ ¤R)±î¿CCCýýýèÞ;pà@rròÜܪ�®Œt¬Œ”ö;“e,ÓeŽfÊÍÈœ@ I`­ÇÆ6¢ÚP@‘jÁÁH ,Ô¼ƒÔF³Ñw¥m󽥕˜ì øI5û2®ATwK=Ê^ÁÔ�”æ 47p=¢âÖ~d±†¶ôôô¼d^“““QQQîîî.\`ê^¾zõª±±ñÅ‹¨†‚A€ @ ¼#fffˆX„ “CCCC}}}èöÛ¿¿»»{RRÒôô4ª|õê® Uz€ò2aö#!&ž˜m¥Ç=@Å cëîÀÅÁ›|‡(ò­‡ø·ÊŸGéÛCG ¨yÿ£QP2Æà©E}º=u^h‰¬{€Ï�Ìô¢¢ @@.#˜?=ŽJ¨…°NÇÊà#‹ï4ô@nn®;ý:þ<ôåË—���ÏŸ?ÇkH™ @ ‚À»@€èÂøG@«ðôô,..ÆoH\¬›¯èüBŽ´ â‰­èüBz´ ýì!Ì-É3+명|%ïW&U­Í£.La^†ÓSŒŸtÓHŠ0ÑTƒùµjÐètt*$æ, ˜))G£ü… û@ww÷sæÕÙÙyêÔ)77·óçÏ3uÏ_¼xÑÐÐðìÙ3TC ‚A€ @ ÞÓÓÓÄ>°8!^âG‡††z{{Ñí·oß>77·‹/öõõ¡Ê/^ÔÖÖ¢xbZXëÚš,³3]Æ2[æHoA°Ð&¥}˜:“Wس2w'e˜·ë0bêê±Âôb<ÅÎ16�ÊÊÑÀá‡^ÑG<^‚Œv-Ày¼•å„™¨ @ 0š­^(=®Gxw¼LéðÚdéÑÝÝý {õôôœ={öܹs¨îùóç OŸ>E5¤@ ‚Aà! ‘HˆXâŒñËêééA·ß¾}û._¾<88ˆj`é�µYéX­×µ1Öµ=`ºŒŠ'6_® °Ðc[ÒÎBTÊQšÄãù=‘û ÅÅÐ@µ¡/½ü¯JÿÌü‹ Œ˜Î: ¡ÀêyKѹ |1x“öVBº‚* ½6Z�P‚�úc̨ ÍFßU?€ôÀSìÕÝÝ}ëÖ-TñìÙ³†††'Ož R ‚A€ ðŽ z`q6LŽ"=wàÕ«WGFFÔîÆgÏž�0øÈœÖ–ƺ6ëum6ÐöóåŽfËÍ™|£z.´³�‹µ>›¡õMgþ¨8e˜/#ÀP€x6â媖LøRÀ×™Å{X×§4í÷O9�]N¹M1ŠOÍÞBK쿲Ø¿reÌSh!mðÁZ+Æ>àÙÕÕõäÉ“ÇØëáÇ333¨âÉ“'õõõ�=B5¤@ ‚Aà!099Iì„ô/‚ÀÐÐPww7¢¯‰DóV|òäImmíÚ•¦H`û8˜/w´ þ6š/w6_î[’Ñ»°-é(aDÊ�‚#–�Ö×ÁoBxÁ)Üx4ë©e~ÚÉ5†ö€FV;# x? bMç‚CJ§&š÷«f¥Š*¦ô>8X'P_[}7JPñt¾Ñ®®.Mñš'Ožðù|¢pLH™ @ �w„Àäädcc£˜¼ 000ÐÝݽøízÀ€ÙŸÅ¯×µ7^æ`ºÌÁ‚28™/§â‰-è�‰­(—!W †»#êL³€ÒJ@³p(ã‹ú`.Ðdÿj¼ÜëŽDmðs¡¡�¡µG¢ÄD<ãG¡VU¦m”¿�¡Ž2ßhGGÇ7|®««“ËåolF‚A€ @ø�ˆD">Ÿ?J^�èíííìì|ãmVSSc°Òô{¥¿�í/d zÀ„Ž@zÏ7j¥Çò 2-êïG«òÈu‘lÔ�9Q�Ú@�füT±ò-ÍÎÑÚ?.3 –f‚&€ÌJöO‡8ÃÙ™YQÏRŠ&]à?³ÙÿmØb³­’¼‚A€ @ ï†+;ÿÈÜà#‹u:J=`¼Ì~½ÿìOlÎìOlI‡XÐöå2?ãÙû@L0  I¹2g(�~:þ˜Ž`¸8¢ø�HMKàz”ŽþôyU]æû/¹Gºà‘ıÀ„PAPVåòÛtPA^‚A€ 𘞞–H$sssãããr¹\¡P…¹¹¹™™™ÉÉɹ¹¹‰‰ ™L¦P(ÁÇßÁÈ�‚A`I#°a••­ i=`L¥²ß°ÌA«}ÀB� z@˜Ëdö¤Ý©À_ Ñà‡C3oªH9­”ÙEÁS_ÓÕˆ8¢ì0³ê¯Œ Fªƒ©§ÂûG¼_ÍD€zQ3d¦�l Ø!BšÐò ÁþD,é§„\‚ó@ÜÔÔ”P(|ôèÑÈȈL&›››ƒ¼ïr.dl‚A€ °ذÊj-£ÖSù…Ôý…,èøóå.°ÿ<@o<¬±*�¨?žÆ_¡Çh7µE �¿�ª;“ù‡15(|ôè‘B¡xôèÑǵÖCƒÿȼÈI‚ÀRAÀ³àzÀ” )¦ö° ó Q)†èý¨äBTAµð�X8T€rõ £Œ$U* P`UÀ[By¡Ó!�m7¦m&Lp3òGB# ‘)“MË&º@·ð�!�_è»ÿÛàÅòi"/‚A€ @ ‚À{‡€Ñ?Uñ h!–é2H9:OÐ’ÀÕüm02­$Ù4 G®;jÞ" ¼w`1Â…øù �Ú@Š!œîã½à\ÈHs&T Àt‹ª@;Ñ&&ßèwÿ·a“•g{{»ü—¿¦¦¦DäE ‚A€ @øÏ"Ð×××ÚÚ*£_R©t†~AÈÖÔÔÔää$ì]PYYiÈì?€ò�nеƒxbØ@Ó>ùFUÔœ  7£vVò{*)�–Å{uâNíL³sm�‘é”ðxà÷xNRÔLmðÅß.Ò Œ}àC“MÖ^ýýý?ÿò׳gÏ�©ÉØØxób³Ù---èÐ;-ÄÆÆîÝ»wddD¡PˆÅb›¯è×çŸîééÙÛÛ«P(‚‚‚V¯^½nݺˆˆ‰Dò–ó‘ÉdwïÞµ´´\¿~}@@ÀÀÀ€B¡˜ššòññùúë¯-,,²³³µÕ××wþüù[·ni=ªV¹gÏž¶¶6µÊ?ÉÛ;wî8::þ^“ööö]]]0`iiéÆ�¿þúëýû÷ÏÎÎNNN†††~öÙgðñ?~\,+ŠÖÖV{{ûo¿ý6 `xxXëd®\¹199©v´¢¢bÿþý¨¾¡¡áÌ™3è­ÖÂôôt@@@JJÊÛß*hœøøxCCÃcÇŽMMM)в²2—¯¿þzÓ¦Mp—¢ÆxaõêÕx�Ör}}}|||__ŸÖ£ÿÉJø€~Ç“FEE-þé´··Ÿ8qâîÝ»pR™LvàÀ�¯¾úŠÅbñx<…B‘——gfföÅ_|õÕWkÖ¬ijj‚[hçÎ�ß|óÍöíÛúzzzLMMµ^ËöíÛãããÑ!.—›””466†j´êëë�ŒŒ&&&´ý]*«ªªlmm?Åè訟Ÿß¯8�L&ËÉÉ133ûì³ÏÜÝÝÁ¯ä7v‰DgÏžÍÌÌü�ã îl6ûË/¿Ü¶m›æ×j¶PÁÙÙ9==]óèáÇ“’’4ë¡&,,ì›o¾122JHH˜��]¨©'~ccc===?þøã?üðúõë—ôëŋϞ={úô)Ú§ ö'^û‘¹¡Ž…‘ŽÕzczb<¿ÄX,w±¢· €ýÐÂ|x``î"…B166pìØ±¡¡!ooï´´4Ío'…BÑÑÑñÙgŸi�aSSS?:týúõ€€¡Pˆj*øúú=zt¡£¿½^,×ÔÔ@b¢…Fkoo·°°Xè¨Özx´ûúúüýý9ŽD"ÑŠ˜Ö¾¿oåØØØ¾}û¡Ú¿ètƒƒƒ»wïa³Ù§OŸþEÝ ŸÏG?4xßíÛ·GDDà5¨\VV¶bÅŠÎÎN�çââRXXˆ‘A€ ðÛx£€]tÑþÄt¾QKØŸXsÿËåΰÿø ¡ýÈÀÇòŠ"ª�Ýa‰]�܃@©��®À½Œ`(\HÀPšqÃè¤Z 0µ h¶DsÐ<¤´|¯cæåà«UH$’ššš×¯_/d9Àí«V­ºwïþ馥¥íÞ½ûèÑ£ÿïÿý?CCÃþþ~±X´nݺիWŸ144Œ‰‰^²sçNCCC##£ŒŒ ¹\>==}ýúu333ƒÍ›7ãÔ?õììlZZÚZúåááÑÒÒ2<<¼sçN—o¾ù&##o�Ê>>Îf³7nÜ¿ßÿ}~~þììlII‰‰‰‰���»»{YY™\.?}ú´¯¯¯«««±±±§§§D"ár¹þþþðÉ}ûí·Z±ÕZ™‘‘±~ýú?üæ :óÂ… ßÿ=‹Å211 ×ÚñàÁƒ  …BáÙ³gµ6#•‚À¯C@S@ªdÀõì?`HÛ4ó ¡ý‰éd£Ê|£ˆ:Sœ›I߉*ßXкÆ�b‹5»ã94�"¢yH³fy ©I¨üBk?²0Ò³Þæ¸[«èéé9xð`MMÍ‹/´J‚Åõ@qqñš5köîÝ TC.—óùüÓ§OWWWwwwöÙgÀ-¾ÿþûÄÄÄmÛ¶%$$lÙ²%??¿½½}ùòå­­­ÃÃÃG� ZèGøÜîÝ»q= ‘HBBBÎ�;‡Ö …L&ËÏÏß²e üh)ŠÔÔÔEÖk Åøø¸··÷… nݺåíí�››‹¦!‘H’““=<<À‰Hí>îîîÞ²eËþýûÇÆÆBBB\]]¥Rinn®½½½D"~~~ׯ_Þ ¯¯�ì³³³G�=~ü¸P(liiùä“O†‡‡»»»:”��055•œœÜÐЀ¦�Ÿ·««ëóÏ?oiiræïï?44Äf³O�:5>>ž���˜=ÞK¡P$%%¹»»‹Åb.—Û××wèСÄÄDàÁUUUx¯ãÇ�äääÈd²ÙÙY�d^^^###\.—Åbõôô¨ ŽÞ;;;£·ÑÑÑNNN›6m²µµÝºuëðððèèèÁƒÍÍÍíìììíí333§§§oݺõÕW_íܹӯÆfß¾} ­ _ºtÉÒÒ²¾¾¾¯¯ïïÿ;Zׯ­­õ÷÷Gz@¡P\¾|Y�qš››çææ]@\S¡P\»v�ÍfƒÏšöâ…®®.‡ôôô{÷î9::âk�###®®® -"* ]]Ý#GŽLMMEFFúúú …ÂS§N�9sF"‘LOOoÞ¼l#ééé@ö�ééé‹/îÚµkbbâÚµkˆý/_¾¼ººZ(Þ½{T±ÚÌår9¬©wtt 9;;·´´LMM�;w.55U x{{'$$Èd²ØØX]]Ý¡¡¡îîn??¿ääd�ÖkÖ¬Aö­zæf``�••%•Ján÷óóÛ±c‡T*-..Þ²eKccãýû÷ÙlvccãäääÚµkÕ>4m¹\^^^Îb±Ð755¥¯¯æÌ‹åââríÚ5©Tíàà`oooaa±k×.¸3­¬¬<<<ìííÝÝÝИx¡££COO/%%®Å××ÑzP†¨qbbâ��²U(Çßßbb¢´´4779¢Èd2''§k×®¡¾xazz:..nÛ¶m£££eee��� …båÊ•àÖxæÌ™sçÎ�ÎÁ;¢rGGÇÚµkAŒŽŽîÞ½Û××W,ÇÇÇûøø€Ü-))177G]d2™££cdd¤\.ÏÏÏg±XB¡prrrË–-fff°=\xWW×�p÷˜ÂÂB///Xžðööîêêêïïß°a�Ç›��MNN>xð L& ö÷÷ïïïooo_µjþÍŒ¦¡P(4õ@oo¯©©iCCÃÌÌ̵k×jjjÆÆÆvíÚåíí=00�——÷¯ýkllÌÝÝýÂ… ‡:sæL@@@xx¸H$ZµjUvv¶D"‰ˆˆðóó;{ö¬¹¹ùÐÐÐÄÄ„©©iqqqNNŽ¿¿?�Ç«¯¯oiiÑÕÕÅçó6eWWW¤òóó½½½+**¾ùæ›°°0­#°ÙìÄÄͶ6>ŸrìØ1­ÍH%A€ ðëPÓ333 ÉÉɉü…p=`@ïO¼NÇ Ï/„öÀâ¨C°ÿ€&Ïþ¥5Zy9DñþÒ¡èÌEó4™=Ϋõì¨ *PþB†:–¦ÿ`m߸ ؼyó‘#Gjjjž?®) ÔôÀáÇSèWIIÉÔÔTeeåêÕ«Áƒ>é©©©ºººÜÜܼ¼¼�?þ¸±±Q(®_¿¾¤¤äرcÙÙÙ;wî¼uëVrrògŸ}–���••µwï^??¿E<¹333Õô@KK‹¿¿?Îí �ÇóôôŒŠŠZܼŽß‘çÎ�³³³c³ÙÞÞÞeeeÐW&“edd¸ººæääàíQ˜S\\œB¡ ¢X gffFGGKKK‹ŠŠöïßÏçó¡=®à×îÈ‘#ÙôkõêÕyyy� 88Ø××7..®¤¤d!(233­­­ÁþpïÞ=ggçöööÍ›7Ã$›››?þøc4C¼@ÙÑÖ®-++[·n]`` �š8{öìîÝ»‘¿P(<|øð–-[²³³333¿ùæ›êêj|d¼ìíí}öìYTinnÎår…B¡­­-‡Ã™œœÌÍÍÍÏϋŠàvýúõüãUUU½½½»wï Ѻ`éҥÇ=555E$æmôÀÉ“'}}}cbb qÏ">Ÿ¿víZÄíÐÌ) úûû;99¹¹¹¹»»£�¸¯¯ïäÉ“ÞÞÞšMh4]]]ð€¿{÷®��OKKKUU‹Åîìì466†«SÓããã®®®þþþÙÙÙQQQ666555 …bË–-þþþ‰‰‰Z/ajjêâÅ‹§N�m999 6���ðx²ÙìÐÐP‰Dkll ¢çÎ�»páÂ[ê�™™™ÐÐP6›�3Ú5kÖœ:u*;;;::zÓ¦MYYYñññ{÷îÖxøðá…ô€L&ËÌÌd³ÙH ‹Åb]]ÝÀÀ@ÐBl6»»»»ªªêÚµkÃÃÃfffQQQÅÅÅëÖ­KII …{öì9vì˜Öo€ŽŽŽ+VÌÌÌÈåò»wï²X,ôa½QܹsÇÅÅ%<<|ùÈ¡Ï �àĉV+LMMy<ž\.ÿä“O`� <<üäÉ“‹i¨é�#GŽ„„„@…‡‡ÌDM õÕWqqqÙÙÙqqq¶¶¶2™ÌÍÍíÒ¥K¸úÕÔSSS¹¹¹—.]òð𨯯ÏËËsrri¦žññqÿ�;wfeeegg¯^½z¡ +M= ‹·mÛvìØ±¤¤¤òòò™™™±±±Ý»wGEEÉår©Túßÿýß^^^ééé/^ áp8 ûÛßà›!??ßLJJ—wöìÙ£G�NMMÍÌ̸»»ß¸qãöíÛþþþ.\pqqáñx~ø¡Ú'òÆ·¸HKKóóóuêêêº�}ÀÙÙ911qïÞ½»ví >räÈÏBo�®$IbbâæÍ›ÁY,?yò郕¦`X«ce¤£eÿs&ß(Úù !Þü« oäåxpOB„^«ŸØ ´ú“¤õ€®µÅÇNÛÕàè2==ýF=Àb±vѯøøx‘HTUUennŽ/¤UWWûûû;vìÒ¥KzzzõõõB¡ÐØØ¸´´ôĉ·nÝÚ¹sçÍ›7þùÏЯ'Nܸqc!¬i�ËåyyyÛ¶mCk¨ 6oÞ¥•-tç566uvvNNNž£ .x{{K¥Ò¡¡!ø€ZZZLMM»»»ËÊʾüòKð> Ðú ^ºtéĉâinnžšš Óx=  ¯^½zèÐ!OOOpÙ‚¾���«W¯ÆML ]ªOLLôôôžžž>{ö,¸Tõööž>}zïÞ½���ˆË¢.¨ «« j š™™6›�““Ãáp�ÐÔ7ntvv†�àÌ™3à›4<<³wïÞ;vhU­° ~æÌ˜’H$Ÿƒúùù]¾|ÙÄÄ$88ô,0����;wîüùóZõÀ… À_¨££ã믿–H$333W®\ñõõEרP(¾ýö[//¯€€€“'O^¾|¹®®.66vß¾}oÔR©4))iË–-h4™Löïÿ¨s]]�§§gEEÅÈȈH$‚‹:~ü¸¿¿EE…——X“’’¶nݺ�X¹r%<Ñè>£˜™™¹sçN@@€‡‡Gdd$ 5ž��={öìáÇќñÂèèè±cÇÀivvÖÜÜÜÃ>ýôSpñŠˆˆøEzàøñã‘‘‘ …âîÝ» é����¯¾újÿþýðwttÌÎκ¹¹� š¡¦‹Ù¥K—|||Ølv}}ýíÛ·���ázÁùS$ùùùÙÛÛà yìØ1ðÏAÃ¢ÂÆ�£££ Eqqñ®]»ÀU¯³³3::ÚßßË–-………ccc~~~±±±r¹\&“ýíokmmõööÎÈȸ|ùrDDDHHÈåË—kkkÿ÷ÿ}v>>> gÏž=sæ è�M›6effîÙ³';;ûþýûŸ~ú)šÌ[p=�ššºgϸoѾ¾¾çÎ�«¬¬ÌÏÏ?{öì¹sçÞò\¤A€ ð6 =011‘””äéééîîîæææåå•””>>~ü¸¶¶V«PÛŸØ|¹ ÚàÙÞèɃÓ}­|�"ÀWýµny#h:#½ñ,ZOm©Gç5ÖcYþ›½¸8pà@iiéÓ§OߨÔ⪪ª,--q=�ššºuëÖŽŽŽšššÿûßUUUZõ@mmíªU«úúú$IEEÅ"«Îšz‚÷ìÙƒV%»ººÌÌÌ’’’Ô¼Û 2òÂ]ØÐаfÍšþþ~H8sêÔ)¡PXPP`ll|ÿþýE¸]ww·——8{$&&º¸¸H¥Rpx°±±Ù³gž1ãŸÿügaaáÌÌÌÄÄ„T*=tèP``àøø8,“OMM ß½{·§§gjj âá´ê�†††Õ«W÷õõMMM………íÞ½{``àmô€B¡øüóϽ¼¼233½½½7oÞŒÜè5õÀÅ‹‘’™ššŠ‰‰ñ÷÷‰D###7oÞDKªš�±‡‡,-á²²²mÛ¶‰Åb‡# ÃÂÂ222¦¦¦RRRÀ3dllì»ï¾+--Ú·oß"öWW׎Ž�@ðÉ'Ÿ ùkê�àà`�™™™©©)©T:99 ¹bd2YBB‚««+šyCCƒ��Ò½½½ááá¸ëj‰ ‘‘‘žžž�@&“�?~ÇŽb±800ðÀ��ϵÔ,èêêFDDH¥ÒÄÄÄ]»v�&==}ëÖ­ëÖ­C¦†ŒŒ °LLL€ÈÈ úNº8¬.*],«£K‰ZÉd…ÈöH‰ÅÚÔ7þÉp™ø77·¥È†aRþBoå¹¹¹$ÉÖÖöâÅ‹GŽ!‰ííí²ö�ÁÁÁÓ§O›˜˜˜››ƒ>Ù#266–––F"‘<¸eË===pÓF§Ó/\¸àçç§|ýõ×$ÉÒÒÚ¯A#&Û Óé'Nœ055µ´´´¶¶ÎÊÊ=zôèúõë�Cˆ‹‹K~~¾ìÄÆÆFGGG"‘hoo¯¥¥‚ F{{»©©)‘HŽÂ`"™L>tè�±±1ðL}õê•‹‹‹……‰DòóóŽFW®\133;~ü¸©©iaa¡\*222@"‘¬­­íííóóói4Ú ù€–––¡¡agg'™LÛ»w¥å‘#GÖ¬Ycjj:00pîÜ9<˜˜˜ R©®®®fff¦¦¦AAA�*ÈbrñâEcccØßßßF=ÆÆÆ€û%%%êëëß½{…ÂÃÃutt Èd2ˆ„B`#00ðèÑ£ÎÎÎFFF666CCCmmmvvvZZZ¿üò‹†††““ð·ÉÍÍÝ»w¯¡¡á™3gšššFFFΟ?occsüøq[[[èhÄ`0RRR  Evv¶¶¶vzz:\T¶Q__ïäädfffmmmnnž““STT¤ªªºgÏ###‰äää$; ô¬Y³ÆÓÓÓÖÖ–D"ݽ{(£½½½{÷î=|ø0ô’*//733ÓÒÒ211©©©§P(666æææ&&&111t:}xxØÞÞÞÚÚÚÖÖÖÅÅe©˜Ôºº:SSS‰äîîþúõë¾¾>p¹rúôikkk]]ݲ²²ÈÈÈ�;w’Éd°›122bee¥¥¥eddŒrÆÆÆd2ùÌ™3?ýôÓR| ´´ÔØØØÒÒ*:�ÞÕÕåêêjhhxüøq‰D&“åB411‘——§££ƒwÈ)--Á&&&±±±###%%%öööúúú¶¶¶ÃÃÃ<022"‰ÆÆÆ@y•]¢¶¶vË–->>>VVV$ééÓ§àˆšššnÙ²eÏž=  ??ŸH$jkkƒÈƒñðáC##£ãÇ�[XXÄÆÆB966F$¡µJjщ‰‰ŠŠ ðËnbbråÊ@§WÂ^½zåêêzìØ1###[[[ðÓ”µ´¶¶„£G�’Édp±òôéS333+++ssóˆˆ dllüV>I <<�611A£ÑJJJŠEOII P²ÇÆÆÚE\´¹¹¹¨¨¨Dô”––B}¢½½òÂÁøXn¨§T*µ¸¸Hñø) =<<ÜÒÒR[[[QQ%A?H©yúôixõÈ`0ºººJJJ( ðômnn.///--—Äããã4­²²²¼¼¼®®n©ÿe0oÞ¼)=MMM£¢§±±èèCCCðŽYvÃõõõ ããã­­­õõõ###ííí¥¥¥%%%EEE ¥±±q||äùÁo~tt´­­­¬¬¬¼¼¼«« ¿(µJUUÕ† ðÿ§ÛÛÛ[YYI¡P`òÀÀ@uuuIIIuu5¼Vìïﯨ¨(--mmm…j±”ðŽŽŽúúúêêêÒÒR`Á*//Ç£¤¤¤¢¢Ì®¨¨())©««?P�VQQB ¡öÏ`0@²E0kll,!!kJ-�ÿ811ÐçÜ�WVV‚Ó¶��oƒP^^^SSƒÿ=RWW¿sç922ÒØØXRRRZZ mjj*++«¨¨èéé\±­­ œ„ÆÆF¹¿>àf´££ï®®.�Ȩµµµ¼¼¼¡¡¡¥¥…J¥öõõEEEéêêVWW———·´´Àq[[8· áÕÀÀ@mm-HÍY^^rUÑh4øÃ_a||¼¡¡à ÖÞÞ^VVVYYÙÒÒ"5~qƒQWWgii™––;ÇÇÇëêêÀ�ZøØØXss3Eô€“À`0À" …ÒÐЀ?½PƒÁ®¬¬¿zµµµCCCcccMMM ü…)--WÈCCC`Qðç xÜQ©Tp„ð'Dšâ¨ð+‚4Ap*• þî1Œòòrð#ëêêÉͤf�X*•J¡PÀ¯gYYàÀ@ݤÓé���ðèÖÖÖS©Tð§`dd„·VTT@ãmCClƒå†‡‡[[[ñ�}}}à;¶´´Ô××·¶¶Ž��õõõQ©ÔÒÒÒšš°í±±1püà/£ìþàUUUõõõ------àÜ644ŒŽŽŽ��µ¶¶ÖÕÕx�A¦©©©···³³³KôtvvŽ�� �1 à÷º££¤��˜˜hhhNMýýýà/ ð’Ù�¤ ¶²»­««'¡¤¤¤¬¬ ü­ëèè(++«ªªª««ƒQU²Ó;::(JYY"²à „À{"ðž|@Yñ(Œ'&¬5P“ø áíx•\Õ|?hË:ðÈŽù½{VgLøBeýQíÍ&š›–´ðùüe’�JÙÞó‡úÙOŸ˜˜(//·°°a£Ÿý÷•ú‚ãããFFFÿ-éöÊËË�= ébooïõë×—JØ*õM?àÇ—/_‚¼¢Pæ»ŠŠŠŠú€5éÞuuüxà`ãîmøŸZÛÓÓÓÍÍM®5ïSÛêŸv?UUUŽŽŽxþ§…}q„À#�¨­3T¦É…¤ó ©¯#ýÞªü‡’OXo E^ÿöm«¯#}¡±ÁP÷gÓeø€lÀ€TÞ>ðßx’þÈ=?yòä—_~ÁÇÔþ‘« kuuu)))-sü)lÜ\º»»GDD|\½300pûöí–˜˜CCÃ�»¸ºÜÔaðí'Õ())Ù²eË2tŸÔnÑf„À#½½½MMM\.—Ãá°Ùl–號Ÿ‡Å‰§E�0³Ëù…T….Cx!"AÈ ¤ùÔ°A´þã‡m¿ÕMH}�ñ2cà+ÐP_Ì +‘Tã‹#IG· >ðßø+€öŒ@ „BàO�@OOOAAUôTŠž Ñ<Ë$ONNž(­9r@AKª>±šÐ_È@”_è-õ€2½¼^¾:’eª¯#AÍ/J4@ΫnIŠ@ç¢/t7›}(ûÀÀÀ &îéé¡R©ýýýt:½¤¤äÅ‹ c ð•ÏÎÎÎÈÈÈÊÊuˆåä¶¶6˜¥®££8×¾|ù2###333//¯³³”ÕLOOÏÌÌÌÎÎnllDvy¹`¢N„B!€@ Ÿt:½££ƒÏçƒxbŽèa³Ùóóó°D1“É”Ê7ª„«? "O¬!v2¥}»¿ ^_ÿPmH ðA§\ž€¶òöáõÆšë…ξÐÝb¡ý³Ù០­—¨O,å$ûú ÕÔÔ|õÕWਥ§§ÛÚÚ–••EGG[[[;88˜››;::¾~ý:%%eß¾}††† {‰ÜÓuèÐ!ðêöíÛ666¹¹¹ÊÊÊzzzVVVÆÆÆžžžt:=$$ä—_~177755577‡ÕRåÊD�„B!€@ Ÿ R|€-zX,$Ëç’Š'†õ-1 IDAT–÷Z¹Â­±¬o�\9ð _ö-ž €aË –7]Ìmdãž¿Ðù=ù@aa¡ŽŽNRRHøãããÓÚÚš’’âààPWWG§Ó ð éñ§S.ñ�•••¿ýö[YYYHHˆ³³óàà`[[Û¯¿þ*7õ'^,j#„B!€@||ú|`‘^¾Ø›¾Â+ú°s% !�È\µa=2À>H<±¬} ¨¨ÈÔÔÔÅÅ”øéíí…| §§G[[;..Nî‰\žîر£¶¶ò�ÚÚÚ]»vQ©T¹ÒP'B!€@ „Àg†ÀûóY¡ß±þ€Dw—Òõ¥Ty©�Rƒ¥?.!SzصÏÀ0±¿�°>±Œ¿ŸÏÏËË»´øÉÍÍåñxx¯¡eü…ÊËË‹‹‹=<<Ž9¢©©yëÖ­±±±”””�;wª©©íß¿_CCdÜ—=�rùÀÁƒUUU555õôôÂÃdž†BBB6lØ ©©¹ÿ~[[[�vZVêA „B!€øÌxW>°ç[õ}kÀÅàë¼Õ_¯©Ëuñ_F !ÂP»N_…ëÑ2›‘z%´èülªñQn=²���«W¯šJž+W®ô÷÷ ‚¥øÀÿýßÿ�sâ@¸pOOO]]]BB‚’’ÒÓ§OSRRÌÌÌž={êk?~\îÑŒŠŠRQQ¯âããAü€––ÖãÇ�Éd²¦¦æÀÀÀøøxHHˆ‰‰ …BÉÎÎ&‰‘‘‘r¥¡N„B!€@ �Ï �wå{ó�ƒŠGßÉ>€Wâñm)õZö# „%²‰týÕ./›ŒÈx%¿8*ŠÐø‰(7žX  „††ššš†„„È’|=2�öÿþßÿS?~lkk››››––Ê[ ÙÛÛC!ƒA¥R¿ýö[¹G399yûöí ~çÕ«Wííí‹‹‹AüÀëׯøá‡‚‚À@üÀÄÄÄÍ›7544äJC�„B!€@ Ÿ«ãJkŽ(­Ñ>  «¬xô ¢ÞâúÒõÈÔ׋ôx¡¾8þ_¨úËØ _8e=I}½ |»Ð/+æᤢ¢ÿx‚¤G¨âCá`ŒÜÕátØX{ö,%%ÅÚÚº¨¨¨½½ýÔ©SÊÊÊr�fKKË7ß|“žžþòåK“«W¯âëÅ^¾|˜BBBlmmÛÚÚêêê <==åJC�„B!€@ ŸïÃ@ýhP]¨?°¨ÙÒZøB]00ªéø†Dï_( 4~’”ÑïVõxÉ1!�j=˜+— @ö‚ß ¾?Kì/¤¹éäe0ÅÅźººû÷ï'“ÉÕÕÕ #??ßÌÌLIIICC„gff„]»víÝ»×Ì̬¦¦f©£yçÎ� ¬¬|îÜ9�V[[K&“AiÛ¾¾>CC쬬۷oÿç?ÿÙ½{÷�ÜÜÜPÍù¥ÀDý„B!€@ >3VÍ.®GvHX‰LXŒLT�LÈë„õ$ ô‚6/¥^ã?ª¯[¸ËÇ÷‹„,Hiüb€'`:àPY—Ð ±�ß/—$ÀuÕ×-0 ¼Âó 8x!žxû4ÈmàíŸÙ!C_!€@ „Bà“E`u|@*žø�¢žÚZ}< ¬#ª¯3",¸å€»ü¨IãËðJ`¼”Ó?UÈI$BĆ0²8QÒOÄCŠ`iÐ |Ç|�zdŸìYAC „B!€øüXPZsäÎ> ÅB〘H´mp×.ŸÀw\c�9 RÊú2%+ ¶*@n•{(V2~!ü@„{”@Æ%iA8ˆŽ€õ‰åÇË5Hu"ûÀç÷Û…¾B!€@ �O�wå{¾ÕØ·FSÄ´*èÀüBªk Dÿª ]†âpЏ÷‰..T¯Á�»Œš¾c´sÈy€aÊÄ \Ä D„wÿ@Ë—Œ_pU‚¤d.þ¬ …|£«öâñx :4ú!€@ „B!ð‡!0::ÚÑÑÁçóy<—Ëë²X¬¹¹¹ÙÙY&“9===33C¡PönPÝó-ð�ýBû€�(+UV<¦¢¨HL¬¶ÖPML„öIü€Ø,oÙ%º¸X¥÷ñ %X¬v‹ùÀ:ºØ¥Lwù@¿2A¿D²XwàfÀHÀ[à¿` žrHm®¦‹ë/•oTÊð;}œ››;s挖––‹‹Kuu5†a---...ººº¦¦¦999¿Óº«ÛÝÝ­¢¢Âd2—’Àáp ÍÍÍ  ª? ¹o�–Ò1PQ<¦,â ~@m-o�Ò¶�V-WA$�°8¤ªÝ ±àÃEA„d-±5~”,=‚ð– 1£€\²Ét1‹B$6‡c‚hé“àL&ÓÙÙùæÍ›CCCóóó|>ŸH$ÆÆÆöõõ=}úôðáÃ===«8îÑ³Š‰ËLár¹•••šššýë_§¦¦–ÙÛÛ«¯¯Ÿ’’òâÅ CCÃÊÊJ¹#Ÿ?nllL¥RKJJ8ÐÕÕ…aØÌÌL¿““Sll,‡Ã‘;u"„B!€@¬œHÙ �­O,�@]\ìô~ îƒkxœ~/ tx‘/ÑÅ…™‚@¯»Ã6^hK¤.§‹?âöÝŠ ó’�-€ ÀMJVN’ ëH0~`õùFßÿ,2™L2™üðáC jbbbÏž=†q8œööö¹¹96›·{÷îM›6ùøø`Æ`0.\¸póæM Ã^½zeoo?00€a˜––ÖÝ»wUUU£££1 £R©ÊÊÊßÿ½ººzkk+†açÎ�Û¶mÛþ󟌌 øRSSutt–Rß1 »s玎ŽNNNÎßþö·¥ø€@  P(:::|>Ã0�¸¸¸ùùy¸ lxyyÅÇdzX,>Ÿïáá_�|8!!�F£ÍÌÌ`–““ckk[[[;;;«¬¬œ––Æ`0dù€���²²òË—/ù|¾@ ×ÐÐ(((À0,>>þøñã� >>žL&÷öövvvþüóÏ l»  ÀÃã¹¹ù­ßby>P^^~äÈ‘ÙÙY‡ãéé0==-+ÓÂÂ"++khhhbbâúõë€ç€aˆÈÂ…z„B!€@àx>ðƒêîoÕ÷ÿù )ëT< ø€Š¢!À×ùFÁ%=¸ï—(Ù‹.é¡V-± ˆI$°ˆ’\ØC¼Âó É•¿˜`�?W–HÆ,øI¶*~€஀�¬%Î7ú>õÈð?•Õµ¥ø†a³³³÷îÝ#‘Hðóó�‰‰9sæÌøø8†aÁÁÁÎÎÎKñGGG¸“W¯^�ŒŒ`Æçó™Læì쬿¿¿··wUUUuuµ²²rff&¿ÂÆ2|ð¾¾>ss󈈈´´4 ¹Æ‰ôâÅ‹cÇŽ�>}úÆ�žžžpuÄ ¨�@ „B@.+ç¸ø�ÃJkŽ(‰ø€²âQÅc‡õTa~!�\ˆHÞè 5r îCSÔ§aN݇¦±fK´sa¿„, †ú=4 €‹|øQ´! �Á0\A"maEIT1-Çà—€»í\ø?•ø¼¿ÐìììÀÀ�ÇÃ0¬¶¶VGG'---22òܹs“““†]»vÍÆÆø ›‚‚;;;à/tòäÉàà`xhrrrÌÌÌFGG˜™™™ššòöö>tè�³è±··/))�ãWØXžp¹Üòòò'NÅÄÄÌÍÍÉJvppxðàÁ³gÏ***Μ9Ç >¡@ „B!€@ rx'>°û�_è0¾™²¢>žXX¢XTœ˜ ŒÖ'º¸Dɪ×"Ü»å^¬¦ƒ+| =+âà£Ì”…·P>Þ,Hdø1’-Á¥éý`мñ�Ûˆ9 nK>ð>õÈäþxÞ©SÊ>ÐÝÝíïïßÒÒ‚aØëׯÍÌÌRSS=zäææF£ÑØl¶¥¥eddäÔÔÔ¥K—BBBÁÝ»wI$ä¡¡¡pííí:::���†UUUÅÇÇs8œðððÀÀÀÉÉɹ¹¹ììlèÜO£Ñ²²²†‡‡áô¥R|`ddäÑ£GpâäädZZÚÀÀ@OO�µµunn. 7,+55Ä0`výúuooïñññ‘‘‘£G�fggÃå€P B!€@ ¹¼#På|@ì/tPÄT×êƒúB>°–H'Æ]Æ Õw dÃ%Êú€Z¸äÕÂ, ëð9¾!y }¼Þ/(iÀ‚�A"DÌUÀõ¿¨n¾Q)>À`0Ξ=ëèèèíííæææííÝ××÷úõ뀀//¯Ó§O[[[÷õõq8œôôtSSÓ°°0///"‘Øßß�aØÉ“'ñ|€Íf‡……yzz™III†ÕÕÕùúúž=ÞÞÞ, ²§OŸVUUÉ=s†UWWùøøüÏÿü�§§gdd$ ¨­­Ý»woEE…@ À0lllÌ×××ÞÞÞÁÁáÂ… €¨€8f•„„ ¿³³ÓÅÅ…L&;99yzzëx…øÀR?Ô�@ „B °r>°wƒêîoÔ÷|«±WR� Ä>pH? *ª? ¶ÖHÄŒ$ñ ?¸ìê8Tú�úŽ¿¶Çùð7¡þ-Ñòñ÷ô@;�Á]Øãõu1ËI���`E°¸=‰¥B(MfKpiá~>E! Ɔ†^½zõüù󂂂ׯ_WŸ×¯_¿zõ*??¿½½ …R\\\___]] ®ù›››AâNø«211QRR’““SVVüv@Ú¢‚‚‚ÜÜ\�È (//Ÿ˜˜€s¥t:½   ++ëÉ“'YYY¥¥¥€K0Œ—/_‚ð Ãx<Þëׯsrr úúú@¢! ÃØlvQQQoo/+ÚÛÛ³EO__~-Äðh 6B!€@ YÞ•ìþVCO,Ž8¨xð|<±„ã$šôBˆ0ôÿ‘ðx/6 àUsp7{_Õ/ÐŒÅj= x’ –ŒŸ¾x døY`c z?L4Ì�Ÿ¨¯ûdêàãdØÂÄþ„?tô•„B!€x'VÎöü ´Hø€Öþ5‹ü…@<±š°J1ðu‰Ë�ÄëF¨^C-†óâßJLb €äã‚?PÁñD¯”5]DÄCr©/fà⬈ÛÉ"¶ûq«ˆ‰‡d?09’x<øÈõŒ��7lØ ««[\\üNçàó|ÿþýÝ»w+((ܸqÕøü~¾è!„B!ð¡x> ,ªO,ᆪ‹ø€Ñâèá…HbPO¨æ�~Aíš½ä_è®#42ÀBx"œÍ’u…·û8Í^ö‹�ˆðKˆ6#^ Ï `Xr “Êü$ü…>Ô™@r„B!€@ þ<¼'PÕùF­5P]»ˆ€üBPGǹý@—üÝT›Íf�ŽŽÎÎήNàØØÌ•‚.ÆÇÇ»»»;;;ñý«Žf!„B!€ø¤x'>°ç[q¾ÑýkŽ@!eE½CŠzªkõ­58´˜€xb UÃÁ…=¼k‡×íp$°(ß8:±àw$!Â(Ú 8LŠ€00¼¢$×ÿbÖEIúŶ0å“°0™L333%%%ww÷šš‡³k×®;v>|ØÊʪ°°Æã®äŽ��J�œŸŸß¾}ûÐÐ�Tÿ[?VTTàË„�ñºººo�»Š'OžÌÉÉYÅ\ ü½½) œ;;;›��`ll¼fÍšòòr�û¾E „B!€@ ÿÕ¬œìÅ€|£°ˆ'VQ&U[lõp~;0 \Þ‹­PÏÆ7 I°.û0üÊöà ø(Q÷�î¾°"@[”ÇH\KjÂ¥?>€�'| ¶¶vtt4<<\GG§¿¿ŸÏçwttdddþ|ppP 0™Ìˆˆˆ­[·&''çåå���aVQQ‘’’âëë z¶´´=yò¤¶¶Ã0�@000�‘‘ñèÑ£ÊÊJ�†¨»»ÛÕÕU[[;99¹´´t~~žÇãåææÆÇLJ„„Àߟ©©) …’ššš‘‘VœššÊÌ̤R©ééé%%%333`0‹ÅÊÌÌÄg4‚B@£££ÃËË+<<<--íÙ³g`ç©©éÉ“'Ïž=ëììVŽÉÉI€F~~>°`TUU©¨¨œ9s&%%¥¢¢/YCCñ< ¨�@ „Àg€ÀÊùŒ'Þ»Fs¿¤>1à‡õÔdì€À‹yxg/Q¸Å‡`?äPÿiäÐGHJûðHzñ[Ür =KŒY YQL*àx‰1AìG´˜cV ܆0ߨî íŸÍ>®¿�TýÈ@âQ}}ýŒŒŒ®®®3¢'44ÔÌ̬¯¯�Çã9::^¿~ÝÏÏ/##ƒÅbMNN’Éä�7†„„Ü¿ppð/^\½zõ«¯¾zóæ 8ú7nÜ000¸yóæ¥K—ttt8ÎôôtDD„³³ó… lmm0 kjj:v옊ŠJHHHzz:“ÉäñxIII^^^6l¢¸\îÓ§OÝÝÝCCCÝÜÜ@�áÎÎÎ�;w^¹r%<<Ü¢ººÜÍOLL¨©©%&&.õØÑÑqüøqGGÇ«W¯êëë''' ‚®®.''§‹/úûûûùù�¬7oÞtuu½~ýz``àóçÏ1 ËËËÛºu«ƒƒChhè‹/ðK >€Gµ„B!€ø<X58  }PAç âQeÅc*òü…@I2‰‚Ô÷? ëKþÅëúâ‘’WR>ý·P&žBÀ¶ä­\‚”Æ¿0FD ÄÂE YŠ ,lCh|à“ªOŒçNNNñññ>ôððèîîf³ÙÇ�¿yó&‡Ãyðà�™™YOOÏ›7oh4ÈÆC¥RÕÔÔdOùš5k ˆˆˆpttìëë›››Û¸qcÿÜÜ\qqqkkëì쬕•ÕÓ§OAEáððpY¡ÖÖVȆ††|}}ãããÙlvWW×O?ýÄd2;;;•••ËËË9ŽƒƒÃ“'OÀ¥>‹ÅÊËË[&ö ££ÃÖÖööíÛl6;""âøñã</99ÙÆÆ†Éd›››çååñù|+++Ÿ¡¡¡þþþÎÎNð}utt e¿;Ⲙ „B!€@ þÛXÕÐRRçUQÞ“(+U‘Ô#|@m-‘°VL@¾Q ‹ã5r‰n ìb½§ ƒÈ„þ9p 4ÀNø ïÕƒ“&œ ‰�¨½ÈyI²=ñ¢ð# E�¹’þb •_Ⱥ�üÁGD–…ï¿ÿÞÖÖܲs¹Ü””�°uëV6›-êêêôõõwïÞ­©©ùòåKà£Ïd2---üñG �¢¢¢òòruuõ-[¶|óÍ7›7oÖÔÔ¬ªªŠ‹‹ láÀ���� ãôéÓJJJ'Nœð÷÷WUUmooÇ0¬¯¯OEEåßÿþ·••U{{û½{÷öíÛ·iÓ¦5kÖlÙ²…H$2 �†h÷îÝZZZÍÍ͆Ñh4‰Œþþþ©©©ÀûˆÁ`hhh$%%-…0�F;wîˆxöìÙñãÇ1 c2™‘‘‘{÷îUSS{ôè¨$�››{ðàÁ½{÷’H$˜M(++kÇŽ?þø£™™~ Äðh 6B!€@ Ÿ+ç0¿�(~àÈ-O¬¢xLUQOEÑÔ##¬5$HŒ¢CbmûŽ×°�²Ž××á[00 xüK¦,häpŠT?W†?,Š%ÀO” 3À¿ÂS|¿Ø> þÑúè§Â>�úI} Ä>©Ú B!€@ �Õò�…ø�ƒŠzÊŠÂøhšÖ„—úâ»ù·©ûoÑì¡*¼�ðЏ,7€,?L&H`‘Å?´¥(Ü?´À-† Ž'VÿÉÐò£ò{{{ÿÒÒRÙbÀä¸ü9…p¹ÜöööÜÜÜ;v úÎ3€¾5B!€@ >cÞ�|«¾ç[�½k4÷­ÑRZ£}@”oTЍŠü…`üT¯aêôðò^V—{ /«è ð_È d%Cõjö`°Ü¥q[ú,-ÿXKÌ -u>–¿›Í¾}û¶··÷µk×€—Îg|pÿȯÆb±²²²üýýÉdrOOϹ4Z !€@ „Àï�À»ñ�o{¾ÕØ'áÀ_òÕ…úÄ žXlÀëÓ x†ðâ_-ß©ÝB¿©a vJ†-D ÀW ÔwÉ¿ÒÒðƒñÌß/Õ+ ëkm6UÝpì#Ú~ﳂä#„B!€@|~¼#Pß�ãtA}bà/„ãFx!¼ q|�ܶ<½9Ý/êñ@S‡á©þ¥¶$;H�;ò�£VÉ_¨¿¿ßÙÙЪªª{÷î øúúZXXXZZºººfee�;NNN–––ŽŽŽqqq Ü¯Üc-ÚÚÚ.\¸Ò‰âÇ455………á{ÞÚNMMuppðòò*))YfÑžžžË—*Ù™ IDAT/ÛØØØÙÙ�ªgóóó¹¹¹d2ÙÚÚ:))ivvÃ0ƒ`ccsòäÉÚÚZ Ã8NTT”­­­½½ý“'O@ò¢   WW×ÐÐÐÉÉIü'''£££;::0 ãóùÑÑÑööö/^õȦ¦¦nÞ¼iggwâĉ®®.0±§§'44ÔÁÁ!22’ÍfóùüÂÂB+++{Ñ=>>ÞÜÜìèèz¬¬¬nß¾ *9à—†í¼¼¼[·n1 ÃX,ÖÍ›7kjjà[ÐÈÌÌtpppssËÉÉ UUU�:uÊÎÎîÖ­[Ë—’ƒ>"„B!€X�Uðà/´_è/´ˆàò�.ÉÞꥵv©†”v.õQ¢©Ks†%†É)(&µÜ2¡¿~ à&„õ>hkkûî»ïÀO:--ÍÃã­­m×®]wîÜ)++KHH000¨©©ILL´¶¶NOOþüù�rrr–9ƒƒƒ ~XAA���¾gùvcc£ŠŠJFFÆ­[·\]][[[—A&“³³³+**@Ú"�tú²²²žž�û(--MWW·°°°¶¶vbbðÊÊÊC‡åççWTTÐéôááက€«W¯VTT8::†††âW²¶¶.++Ã0,99ÙØØ8??ÿòåËW¯^år¹111...ùùùׯ_722âp8“““¡¡¡çÎ�ËÏÏ'‘H …ËåÆÅÅYYYUˆžÎÎN‹599YYYYQQ‘——G&“ÃÂÂä2ŸùùùœœMMM"‘’>ÍÎÎZZZfddà7ÙÚÚºoß¾ôôôû÷ïÛÙÙÕÔÔô÷÷;::Þ¼yóåË—ššš V~ j#„B!€X«à >1ž¨àâ‰Aü€¬}@®jŽW©ß§ î쥂†¥ à/øA¾’š²Â�ê댅|àÈFÒ'ÈÀõùðð°­­mrrrbbâ©S§úûûy<ž¥¥eppðR‡ÆÈÈhÛ¶mD"(܆edd¨©©ihhøûûC>Àd2���ãââ@&P¹ÒüD�Ç£Óé¾¾¾>|þü¹››ƒÁ!!!—/_îííuss[»víúõë·oß¾cÇŽÙÙÙW¯^ýòË/ ?ýôÓŽ;âããçææ4446lØðí·ßþöÛo$©ªªêüùó[¶lùç?ÿùÛo¿ŸÏd2'''çççMMMóòòø|þÌÌŒššZ�èñöö.//çóùcccsss'<<üâÅ‹r¿o}}½�� ˆ4hjj²´´TQQ111d³Ù)))ÆÆÆîîî...��H$GGGUUUCCÃÊÊJ�@péÒ%www.—;::•™™éááÑÓÓÃçó“’’LLL䮎:„B!€@¼ïÏ`}bœ}`Q~!|˜ï 5ìU {«f/°¨òncÒ†…wÝ€ˆüDRýQÿcÅ,e| ¬¬ìСCUUU�ôôôlÛ¶�J¥.s\ôõõÇÆÆ0 WVVÙuˆD"ž˜˜˜,ÏŽ=úðáCPàâÅ‹‘‘‘€�$$$´´´ìÙ³¸Í`æëë‹·HÔ×דÉdXì6<<üĉø�§¥¥ÁžÑÑQŸèèh&“éèèxíÚ5�@PTT¤©©966–ššº{÷î²²2‡óÕW_oÚ´I__¿¶¶öÍ›7¦¦¦õõõ Œ±¥¥å£G�²³³I$’žžÞæÍ›çææØlöéÓ§·oß¾yóf%%¥œœ`¸À0lvv688X$fffŒ��ïÝ»Çáp®^½jnnw˜™™éîîù€ŽŽŽµµ5ƒÁ ñññ±¶¶¾{÷.†aóóó111þþþ·nݺxñ"øq´¶¶îܹJC „B!€@ «F`å|`ïÕÝßãdí0ߨÚZCÕµDµµrü…dCV¨sKù缇œ…ºf+\zåþÐÚdvd£±ê�úŸš¿ÐÆ�7lذeËàŽ’˜˜øóÏ?oÞ¼yíÚµfff Ô×R§ÏJKK‰DâÈȆa�=‚|`©¹øþÇ'%%?~ÜÕÕ500ðúõë†ÑéôìÙ³§¸¸þP|€Ë妧§+++oÙ²EYY™F£q¹ÜÈÈHÀ"º»»I$RYYƒÁøßÿý߀€ƒqãÆ '''*•jffV\\üý÷ßgddØÚÚ&&&fffîÙ³'%%eddÄÀÀàÆ�\.÷ñãÇ·nÝ¿wïž±±qKK øZZZ ¿Suuµ‰‰É«W¯h4ÚÏ?ÿ<77†Iñ ýçä为ºvvvš˜˜$'';99YXXÄÆÆz{{GFFûùù©¨¨Ðh´­[·BÜP!€@ „Àªx>ðÃ"> Ê7º(~@u­ž¨‹Kˆóuª¯[¨FŒ×³ßškïÞƒŸøIµ…|@s£ñGô¢Ñh Æ455ÕÓÓ³³³s×®]µµµuuuû÷ïá¹Ð>077røðáeŽž˜˜˜€²éééïÄŒ��£¢¢^¼x‘––vöìÙ˜˜ ÃfffLLL¶oß>88÷ð¡ø@kk«««ëÓ§O9Ntt´žž‡Ã¹r功Ÿ†aoÞ¼133+++ãñxÿûß»»»1 £P(d29??ßØØ¸´´422²³³ÓÀÀ ===//ÏÉÉ hüqqq–––�€Éd²Ùl ÍÔÔx²=yJKKUUUÕÕÕõE�¹¹9¸ÝÇ0LŠ˜››§¦¦bVXXèââÒÖÖæäätýúõœœœG�]¿~ýüùówîÜ9sæLfffRRRYY™’’Ä 5„B!€@¬�•ó|}âýkŽ()¬4žxçKÜu„ôªø²d¾ú°ê>X]Væ‡Zî‹#?™ÞHRûxö�ééi…öööÙÙÙ7nøúú>€a˜§§§ŸŸ›Í†|€Çãåääüûßÿ^æèàù@cc£––VWWŸÏ¿páä\.·´´”F£-“î&<<ÜÚÚšÉd677»¹¹effòx¼{÷îÙÛÛžqâĽ{÷^½zåààÐÐÐÀf³ÏŸ?ïêê ¥¡B!€@ �U#ðn|àÛ·ø ©Êóº8ÞÏÐÉ¿‹ ~ÉíÄëñ+�ýÅ�”ˆ5^Üù–DC¢Y‹¶v¥Á�}¡¹Ñäãò ÃÈd²ƒƒÃ… ìíí=z477ù@}}½¶¶6…BILLÔÑÑ9{öì•+W¬¬¬–Šˆmii‰ŒŒôõõݾ}ûåË—srrœ��}}}£££íìì ˜™™ÑÕÕ�ŒŒ\&žøÍ›7ÞÞÞçÏŸïë뫪ª²²²jhh˜žž¶¶¶¾ÿ>HÅó¡ìÁÁÁ „ÀÅÅ%44T 466‰Ä��� .8p ´´I…„„xzzÞºu‹ÅbeffÚÛÛ“Éä3gÎðù|��ÔÕÕõòåËÆÆÆ\.7%%ÅÒÒ244”L&_ºtixxüjjj>þ´AرŸŸ_TTÔùóçãââø|~SSÓ�7ÔÔÔ³²²fggõõõíììbbbœœœnß¾Íd2ûûûõõõÏŸ?ïïïïååÕÓÓ311qöìÙ“'O^ºtIOO2�Uÿò£‰„B!€@ @Î•ŽŽ>ŸÏãñ¸\.[ô°X¬¹¹¹ÙÙY&“9===33C¡PDöÂ2ñRþBaí°…8]yŠø‚vŽ¿§Ç�„ 7l,ÿ 0—GK+¤æ.óQøèöà¸rïÞ½ØØØ¼¼<ƒÁçó>|<þAŽËÆÆÆ¶¶¶Û·oß¼yóÖ­[iiiR‰ùá¯DGGG|||lllTTT\\ÜË—/gffÚÛÛEOUUUVVÌápž>}ZWW·Œ}𪪪¸¸¸ääd�ã¿©©©¸¸øÛ466>PVVÖÜÜ cs1 +**’Šs¨¯¯§P(p·†Ñh´ììlØ#º»»SSSÒÒÒ@ФùùùÂÂÂ;wîäå奧§?%.—ûüùóØØØçÏŸo¨ùùùüüü[·n%''ƒ ÃÒÒÒâãã Áö¦§§333ãââ?~L§ÓajÑ'OžôõõÁ�Œ��eddܽ{7%%eppP ´¶¶ÆÆÆÆÄÄDGGÇÆÆæççs¹Üìììüüüû÷ï§¥¥� c Ãêëëãââ›››�Àžžž”””[·nÁáZ¨�@ „B`¼›}`éxâCÂà¹ö�¥ëwÒì—²’~¼iBv +g+‰×ì�îz ‰Š‚ÛÀO‘\ÿËñZ ¢¨§¢h *Ï>°ÔE;Ô¤a¯j/Õ–;Xj ¹*>^á…HÂ[T©ýÈ.�ì«8{h B!€@ „ÀÇGàƒðXàÐ’ñÄ ·”ú.¥j¯î£¬‚¾:9«žõ…ÖO&š?f=2>ŸËxñx<6›-æççç$ˆ÷år¹’aQ­e @ X~À2sWñŠÏç³Ùl�æÎÍÍ >Ÿ?;; 6Ìb±@ˆüRóóóp¼ìŠ|>ÄÁÌÏσ‰�€ÃáÌÍÍÍÏσ áñx` 0 ? @�_ ôÌJž¹¹9°œ¤Cø¿`•ùùyØ ¾”ìVa—Ëåp8øÀ‡ƒÿ)ðx<ðõY,&X,–ìöð=p Ô@ „B! …ÀÀV¨d«¯3ÖX·à‘f­DÑÇW6IXbÆ/ LøÙ6~¹wâ-Bû€¦(ßèÇòZª>ñ¦M›~ýõ×ýû÷0™ÌÄÄÄ-[¶üòË/»wï¶°°X*žð‰‰ |Å_©sóÁ?vtt¸ºº‚¢i†)((ôôôÔÖÖ~ùå—Û¶mÛ±c‡¾¾>•Jåñxû÷ïß°aÃŽ;ÔÕÕïܹÃb±d7Ãår_¾|i``ðÛo¿�JhllììÙ³;wîÜ»woddäää$•Jýë_ÿšœœÌápîܹ£ªªZZZª««ûã�?þúë¯JJJaaa,«§§ÇÕÕÔkÍÏÏ[[[ÿë_ÿúQôìÛ·¯¾¾ÞÅÅåßÿþ·‚‚Âÿþïÿþøã�zzz‰‰‰JJJëÖ­Ã8+1Ëîyvv6222((hjj ¾õôôtqqÙlvrr2�@ؾ}»¶¶6 2îîî>zôhNNœÕ××çââòôéÓ僼áxÔ@ „BàÏŒÀ§Ã$@H ð.=ò´vù¿ìÈÛ³ÌÆ0VûQÿSãµµµ†�ê/^¼€õÆÆÆ”••cccåžþùùùG�íܹ³¨¨¨®®nzzúÍ›7]]]àZ�Íf766NLL¼yó¦Qô”——÷ôô`&¦¦¦jjjJKK[[[ñ&‹¦¦¦ŽŽ¹Ëa¶8pàHqå#z ÆþýûA¡±'Ož˜››×××ËÊìééqpp ‰��·°°àñxÏž=#õõõºººEEE›7o&‰ýýýŽŽŽÇŽ|àÅ‹<¯¥¥eß¾}¯^½’ËÜÝÝoܸ!»t~~¾ºº:èoii122—�zAEE…‹‹‹TÑ‹/ž:u Œ©®®ÖÑÑyðàÁÌÌÌ¥K—<<<@ÿàà ¥¥eAAÎãñž?îââB§Óa'j „B!€�‹À§Æ>¬ÿa¥ ƒ\®ò©ó�žž‰”‘‘ùÀÌÌ̱cÇnß¾-÷XŒ��“H¤õë×»¹¹]¿~½··÷ÁƒŽŽŽ qçëׯõôôZZZnܸ¡§§têÔ)KKKàsÿþýãÇ�ŸÀb±._¾ìãã311ø�ÇËÍÍutt”«mYXX€œ¤‡B¡°Ùl/// [³X,›[·nkii©ªª¾xñBSSÓÃÃò¾è±²²ºuëÖÀæææbbb|}}ñÞA†EGGÐâããíììz{{1 c±X••• ŸÁ`¸¹¹á±íîîöòòÂÛ4ðoQ!€@ „DàOÂä*ñ«c r­âxâOÐ>@&“/^¼èíííååÕßߟ˜˜¨¥¥åãããêêJ –¹?¦R©jjjð  =z(ßiii¶¶¶\.7""ÂÒÒ²§§Ô>«ªª¢ÓéæææYYY',,,88x¿p8œ/^¼zõ ”j,eøþûïω;;»/^°Ùìýû÷[XXœ?ÞÌÌ,((hzzZJ†a/^¼°²²jjj‚¯æçç­¬¬®_¿z¼¼¼‚ƒƒ_¾|©¥¥uîÜ9KKKSSÓsçÎA>ÀãñºººÔÔÔòòòäòGGGmmí@ÑóèÑ#è$e8rä™L ¼xñâ“'Oà~¤ÃÃà±Tmmmqq1è¼råʉ'`á38’Ãáäää¼~ýö`677réÒ%|1üÔF „B!øÄùÀ‡Òã?”œ¥(„˜¨~T¡õë׃jZZš‡‡G[[Û®]».\¸àïï¿}ûvP,11‘H$Þ¸q#**ÊÑÑ1**j©ß)>€aØ™3g®^½*lmmŸ>}ŠaXDDÄ™3g€*¬§§wÿþýÎÎÎmÛ¶ÙÚÚzyyXXXÈê¯rW| ==¼]³fÍëׯkkk7mÚtåÊ--­ÐÐЙ™ Ãöïßïááq÷îÝÀÀ@ŸššY�ÙÙÙVVV���ðÕüü¼��MXXè9qâDXXXaa¡––•Jݽ{wtt4äGޱ···°°ðó󛚚’Ëœ��ÍÍÍD¨×$Kñ�ÀÀÀ„„„ÄÄD©+|¸7PKÎÆÆ&??߉a0S€Î°°0OOO©Òlà�ǃáÅ G ÄÅÅùúúÊåKR« �„B!€@ü™øÄù^ÿ–{1�Ú¿·ê/»"aéãó����þóŸ ¸öÁƒ^^^===»víª­­e0 Tú ñx¼‚‚‚Í›7/uúeù@cc#�@RVV·þþþþããã†9r$55•F£©©©¥¤¤”””×××K9À,µ\OO�››ðo™™™ùú믧¦¦jkk8066qêÔ)P¸ø ‚��//¯˜˜Y™¥¥¥VVVÀ!®]»699éëë |î�­ ))‰B¡hiiÍÏÏS©TÈ‚ƒƒóóóKKKAug¹|àÃÆ¼~ýÚÒÒr€aXRR’µµ5ˆÓàr¹ÑÑÑrc©!wïÞõññ�† Ø�„B!€@ ð|@> ·þ€D{6‘4�~=€~||>Àãñ6oÞüäÉ“¡¡¡“'OLNN>€aØÃ‡uuu'''!`±X—.]Ú³gþ4àÛMMM;wî›™™™››Ã0ŒËåêëë[[[ûûûƒ‘ZZZÍÍÍ?þøcOOÏÐÐ�³³sBB—ËMOOÏËË:ëììl@@€Ü\ jjjÊ××÷ìÙ³ccc·oßþí·ßø|>àÓÓÓ4�D"=þä™sÌÌÌðÛí¡¡!777ŸþþþØØØÃ‡s¹ÜÜÜ\ee劊ŠÌÌL*•ZYY©¥¥ [ZZ xñâ>3ÏÀètº½½}VV–ìw�=���ººº111SSS���fffR68|£èèhð³Ã¿Bm„B!€@ x> 8´Ö@ný¼Þ¿Ìåý2¯ð>ÍöÇç†effnݺõ»ï¾³°°hnnæp8�ŒŒŒEGG'&&þðÃÿú׿ ÌY‰? ===­§§§   ¢¢òòåKЙššú—¿ü¸!CCC--­Í›7_¼xQ ðx¼ÊÊJmmíÍ›7ëèèÔ××�uffÆÜܦđ]N TUU¬[·n×®]à¦ò�@ann>44´ÿþüãkÖ¬Ù²eK``àèè¨\i &&&ëÖ­SQQimmÅ0ljjêòåË6løå—_îÝ»777G¥RÀ0ly>`hhø·¿ýí¢çÈ‘#óóó–––°çÿøGzz:È÷/å/´wïÞ¯¾ú Lܸqcaa¡ìn1 ?sæLdd¤Ü· S ªªª*((hkk÷õõ-3˜Á`,/p™éèB!€@ þ`>ðhó…W|qäc×#ûcŽlaa!�@€kEDD·~Øù78“ÉœÁ=L&ó¿.ˆ–Ëå>~üØÙÙ_|à}�lhh “ÉËp¿�p4!€@ �Ï �÷äŽPÔ[¾>ñÀþ˜%ÔÖ-éì$´hn4þˆñÄ¿÷¡d±X---D"1;;®õ)ð�ÊÊÊK—.�Á=aaaÀ ÷ù_Ñèììðž¶`4ø$â>§s‰¾ B!€@ „ÀƒÀçÂLë?X £eü‚–"ŸŒŒŒÀB¶ÍÍÍà’Ø×××ÏÏ/88¸¸¸X ÔÔÔúùù¤¦¦.“ fnn.99ùw=…………§OŸNJJzÏ…ZZZ@5â÷”³Âé'%%¥®®ð‰‰‰äääÞÞ^�vêÔ)??¿3gÎܾ}ûÍ›7ÃÃÃQQQ¾¾¾ Vx™`ƒq÷îݳgÏÆÄÄ€ Ćž?>((ˆB¡ðùü––P+”s¾wï^___PP�'îIOOŸžž>qâØFllì›7o@n¨”””Ó§O_»v­¥¥ð¾¾¾û÷ﯰ:ÄØØXff&Œ>Ÿœœ¼yóæÙ³gããã—’ ººº"""Ο?ŸžžSTedd\¸páÚµkõõõ ›Íf_ºt $“]!þhB!€@ �߉¨­5"¬3ý·Èç^miÚ6ÔÂßs:”³|c%«H} Oü1ãÚÚÚ¾ûî;p2ðõÈ._¾üøñã°°0SSÓ¦¦¦ÄÄD##£˜˜˜Û·o«©©•””,u˜µµµ—z» ‘XjŠT?“ÉTUU�ˆˆHMM---•zû®ãââ®^½ú®³V=~nnÎÌÌ ð¥žž“²²²ÂÂÂ~øáñãÇIIIÁÁÁUUUºººW®\yøð¡£££›››Ü9Ndd$Håææ<::ÚÐÐpðàÁ«W¯^ºtÉÚÚºººúÙ³gÛ·o¿yó&›ÍÎÍÍ500˜˜˜ÈÈÈˆŠŠRRRòññ¹ÿ~mmíÐÐ�‚‚BBBBRR’““Óµk× ÆÃ‡ÕÔÔnݺåççG&“ª««I$àrw;¹\î‹/ÜÜÜh4è¼té’��]rrò©S§BBB€ZǃÆÈÈHPP�¯¯ï�;wLMM¥)++Ó××OHHµä€@.—{îÜ9//¯÷?TR{@„B!€X Š(+À|£ªk�–âK+âïu»/¥�/½Ê"r²Ì°· ”â ž˜ô㉗âµµµ†õ÷÷[XX<|øÖ`³Ù&&&!!!rOÉðð0�@øæ›ottt¼¼¼:::0 ËÍÍõ÷÷×ÒÒòõõÅ0lttôúõëÆÆÆæææà²|dd$ 44ÔÁÁÁÕÕf&ú®••ÕƒX,VZZš¡¡á—_~I ôôôÂÃÃÁ&/_¾L"‘œœœ@Õ-ƒ{ëÖ-ooouuõœœ¹‰ƒ233÷íÛ·uëVggg�@ðêÕ«°°°‰‰ p5nhhØ××WVVfoodkk{ÿþ}à¦O§Ó�œœH$R@@�NhLOOkjj.cpXŠlÛ¶ Ã0�÷äÉ;;»ììl##£††�@@¡P¶mÛ&Wå�™™!IIIóóó Ož<mc| IDATõõõ511a2™t:ÝÝÝýêÕ«Ïž=344ÔÖÖf0€€ÝZXX€�CCC7nœœœäñx÷îÝ#“É===áÆ�l6»¡¡ÁÒÒòéÓ§+ç###¾¾¾·oß5ææævîÜÙÑÑÁçó)Š••U[[[ddäÓ§OY,Öôô´¡¡awwwmm­��]mm-¸þ?þ<‡Ã),,¼wï‡Ã©©©qqq�tt||\YY¹¡¡AîiD�„B!€@ü®üN|€°N¾}`i\šH)ÜKO\©Š�—ðVu?Xn[JÂÇ÷ZžP©T�P^^ù�Nß¹sgqq±ÜãÅãñ²²²”””úûûGGG9†a/^Ü¿ÿµk×èt:ÈúŸœœìîî^[[{ãÆ "‘¼PtttNŸ>Ý××wâĉ˜˜˜¹¹¹ÎÎNeee:�^YY×ÝÝ=33S]]½iÓ¦þþþ��ƒÁb±ÂÂÂüüü:::¢££I$†a“““çÏŸWUU½{÷noo/“É”«O3™Lÿþþ~PQ¸ªªÊÝݽ¬¬ ðââb6›�‘‘±}ûö—/_‚êÅÕÕÕ†iii]½zµ»»;44ôÂ… €oLMMmÛ¶-77W.8†-Ϧ¦¦‚ƒƒÉdrEEàçüùófffrŽŽŽnÚ´©½½p ‹Åçó555£££ÁZ×®]sqqyüø±ŸŸŸªª*…BY ˜žž>{ö¬¯¯oggçúõëÛÚÚ0 öòòºvíÚÊù@[[›¾¾>¤v���{öì6�ÎÎN''§’’’òòr@ |||N�:ÅápŠ‹‹---Au䌌 ssóùùy–èÁ0,''ÇÉÉ ONž ¶VŽ¿�\ÝúSî\!-ÛÔ~Ô³<ê¯ßõÇ&+|)>ðõ×_ÿýïÿùçŸ=z„aXbbâ÷ßÿ�üã/ù ‰Dо¬4 èTªššþUddä¡C‡ð=\.—Íf ‚ÆÆFp5Þ××gmmýüùs ⢢.^¼899I§Ó¿û¬,|&¢7oÞüòË/PÚëׯ½¼¼ÒÒÒ0 ãp8ŠŠŠsssL&388ØÞÞžÍfÑrþþþxmrzz8ñ �¨¨(>ŸŸ™™©¥¥Å=æææéééÃÃÃ_}õàEEEîîîÝÝÝråKu.Åþö·¿ýóŸÿü׿þejjÚÑÑÑÒÒrðàÁ¯¿þúË/¿\¿~=` R¢0 ëééÙ°aÃàà þ•’’ÒDZ±±¶¶¶ÉÉÉgΜ wppXžüå/Û066nkkëïïWPPn||üôéÓ—.]Z!àóùyyyúúú�‰ÕÕÕ)++ }ýõ×wîÜqqqÉËËÃ0ìÚµk�*š˜˜\¹rÅÐÐðÆ�ð§ßÙÙiaaqóæM¼£ÑãÇ� ă€Ú„B!€@ü¬Žì}�µH]¨ã9€”νÔH0l©·x�°ýÖåÀ®„|àÈG­?ÐÙÙ¹víZ ´=yòÄÃ㣣Ô'®¨¨Ø³gÏøø8à§N�êïïŸ��={öì±cÇ–:d²| **ÊÉÉ ŽT*ÕÞÞ^[[ûСC6lö;;;PÏøæÍ›���à†8;;ûرc»wï¾|ù2pã‘âD"qË–-ûDϯ¿þJ§Ó™LfxxøÙ³gá¢K5¤ø†a>©ccc¡¡¡YYYfê�Fs÷îÝ]»vÁÑÒh´U«V‰D¢“'OVTTøøø€À*‰ôõ×_Ÿ>}„ÕÕÕy{{—––Þ¾}ûÒ¥K^^^r¹Ã0*•zàÀ�Ó§Oëí�P]] ÷І}¡B!€@ o�WÐß›°~y~`>ôÀœX¾!�7¬õÔÈœz�Æ Ÿ?055µdÉ’‘‘…Bqùòå°°0‡ôŽã>~¶AÂúèèèØØXð6ˆ"�râÄ ™Læ¦t‡»»{YYÙÔÔÔÇ<::Ša˜P(²¤tvv%»  E@@@rr²R©ÑGÝÝÝ@`ÖÙÙéææÖÔÔõŽã"‘hëÖ­………D? <==½yóæëׯËår2™|öìY�åáá!‘HFFFŽ?žžžþàÁƒèèh‡“””ääädZLMMÕÖÖúøøÔÕÕiµÚ 6\¸pA¡PtwwïÝ»·¬¬Ì|=P\\¼sçN8l¹\¾zõj‰¤Ñhjjj¼½½GFF¦¦¦‚ƒƒÏœ9cmm RVººº|||Z[[ E\\ÜÉ“'U*ÕØØ˜ŸŸ_RRœ+€nŸ>}êââOQ!€@ �·†€ùzÀòS[Ë%–l€zàGB¼Ð¯êH�çT˜�ÄÏÉ 0žÍÕlõz]˜– @,äúB8Ž{yy_½zÕÏÏ/77W*•B=ÐÚÚºqãÆÎÎN°¾Ð¥K—nß¾}ðàÁ   Ù5&“¹nݺììì’’°fff&QH¥Òäää���²²²äääÏ>û¬©©‰ÍfÎtvvúúú>zô,© Âfôô€Z­ëÕܹsçòåË`íTóõ@^^ž««kaaaQQÑÔÔÄ?uêÔêÕ«KKK5�V«}üøñwß}wýúõ´´4___ð>>$$$""¢¸¸8555??P …¿ÿýïeee³�£Ñh ÜÝݳ³³ƒ‚‚¢££¹\.Ð í!!!!,,¬±±ÑÅÅåìÙ³wïÞ130 Ÿèè477·¬¬¬'N$$$LLL�H$++«””1ÕÛÛ õÀÈÈÈ_ÿú×_Õb±8666>>~rr²°°ÐÖÖöòåË���|>¿½½}Ó¦MgÏž½sçNAAAKK qH° 2¡·nÝJ|�Ÿ’’²oß¾7n�?^.—ß¼y3,,ltt´¸¸xË–-\.—Çã%%%_¹reÇŽÍÍ͆edd¬X±âÆ�EEE>$®1zíÚ5___Ø/* „B!ðÖ0_|OІñBó¤ôH¹éSÓ”ªsÌŒv¤§ˆ~fôÀÆ¿/äúB`Mú³gÏÆÅÅðx<�F“––Æápp—J¥ùùù������§OŸŽŒŒŒ‰‰¹rå ŸÏŸíQS(yyy1114 Çñ¦¦¦‡íûûû/]º”žžÞÝÝ�ššZPP ‰ŠŠŠÀÛýæææªª*¹\®R©nÞ¼™œœœššZ[[«P(iÖ[!T '%%�;w�uðö®œCìZ¯<>>~ñâŨ¨¨ŒŒ �„ãxaa!XëÇq­V[VV–ñINN®©©‘Ëå`÷€Ë—/'&&^½z&Èd²ØØXÓkq …¼¼¼øøø´´´ÁÁA­VK§ÓÁþ͆‘Éä[·nõôôdeeEDDDEE%''ÏÆ¹q‹Å·oߎ‹‹»|ù2Ø1Çñšššøøø„„„ÆÆF Ãúûû+**D"ŽãééépÓ±X\PP¾#à*)) Ü]ww÷íÛ·'&&Ôjõ�;w¢££SSSA~ ›ÍNMM é%z¨‚S¯ŠD¢Ë—/ÇÄÄäääðx<™LVRRÒÕÕtWjj*…BÁ0lhh(###>>¾¬¬ ŒçÖ­[QQQqº#))‰˜i³{÷Ø* „B!ðÖxM=°î£-ë–n³ZúÓ"ÑFy¼^%‘Ç^Ò«1ótQè�·öмÉåò”””ôôt±X õÀ‚g¬Ž��Ý08@¦ï¢EU$�={6))ÉDöùk¾··×ÖÖ–8]ðšQs„B!€@ ÌGàÕô\_hNz@ïýº½no2ìÜL.ý˜oÿÆ->Àü¯ü·`Éb±NŸ>íçç×ÝÝ Ò[ÁüÀ‚ë‰DÒipCqá·’¡^Û8£w'—Ë·lÙrëÖ-£WQ%B!€@ ó�Àkê¸Þ(œ°±p³�Ùœxfÿ; C  ÇʼnIJž™‰S»�=m-^kÛc (ôº˜Ó`ÐüÀ|?¨só¯P(˜L&‹Å"¾Ò‰DL&snŽ�µ¥RÉáp@bƇD«Õö÷÷f¿ñŽ�C„B!€@ Œ"ðfõ€µÅv[ 7ÝæÄsÝ�l†ÐÛZ˜Ú\ŒHÐg+ëqzxú ‚A¯‰éy ¤Œ>]¨!€@ „B`±#0'=°úåõ…ˆû‘Áù�WÖ�»ƒàßDÞ:‘—ËzÍ�ž½5€]ÛZÌmÎaáõ€\.ÿ÷ÿ÷?üáÿ­;¼¼¼À¢@&@ooï¹fpJ¥Òßÿþ÷,Ë„[6›�••ÕÜÜlÂÆè%*•ºoß¾O?ýô‡~0ºN?hÅãñ~úé§åË—;88sr¹üÏþ3\ZسX,>Ÿ?22Â`0Àº4Z­–Ïç ±X¬;väääh4�ÇápX,Öðððôô4X¿_,3tXªÇñññq*•šŸŸ/•J��@0ª;†††åÕh4uuuGŽ),,¤Óé`U�Î;:::111Û�ÈåòÄÄĨ¨(�÷óÏ?ÛÛÛkµZ¹\Îf³Õj5†acccSSS†ùùù…††j4šG�íÛ·�J¥æååíÚµktt”Éd®]»¶££c¶^ôê�ïììܳgOXX˜T*7^VV—Òh4|ÝÁf³) ØÙM£ÑŒ��$! R©”Á`Ðét.—«V«5 ƒÁøñÇ›››i4ˆ·Q(l6»®®®»»T*Y,ÖÐЇÃ�ë/�ŽŽr8&“966·òåóùæD=•——{{{CÀ·lÙòÉ'Ÿôôô = ÷  S„B!€@ Ì×–ŸÚêôÀÆ·¬L3xÓW¡®€/þõjf;…s¿š¬<¿z€F£={ö ÒMÏ«Q=àììâéé™�� Õjtss;vìØÚµksrrADD„››[pp°§§g^^žL&S*•ñññ;vìðòò Äq<++kÇŽüã႘iiižžž‘‘‘ÞÞÞûöíÓh4� ((è‹/¾°··ß¹s'\²S"‘ìÝ»788x¶[`2™¡¡¡`=S…B±lÙ²‰‰‰¾¾¾Ý»w777�ŒŒøûû?xð@¥Ryzzfff‚ͰüýýûúúŽ=zóæM¥R‰aXxx¸Þ2¦³õˆã8Ð`ÑÕªªªÝ»wwuuÕÔÔljjºxñ¢ Õ¡×;QtvvúùùÁ½öîÝ õ€R©Œ��upphmmÕh4†)•Ê„„„��¹\^QQáïï?88800ðÏþ“ÅbI$’‚‚‚ââbÇGGG­¬¬ÆÇÇõºÎÊÊ:sæ ÐR©ÔÓÓóÆ�jµúêÕ«`oé¼¼¼/¾øbrrìO|ïÞ=ࡪª*55UϛᩡÛ/Ô××#=`ªA „Ào�yÕö×�¾›&å&®ùºž™™ÎMx :4* »˜G=°sçÎÀÀÀgÏžÁأϫ\.ÿÃþuZw455=P^^Žã8‡Ãqppàp8—/_Ž��/Û¶mz ::¼S§P([·ne0W¯^uwwÇqðÌÌ̘˜(Hôô@||<ˆDZ¾|9˜F0ªŒŽ™XÙ×צ z{{W¬X¶1f±X‡rttlllö………nnn§OŸHNN÷òòzüø±��Ϲsç.\¸ð:z ªª ôBÔZ­6666,, le€ã¸L&swwß¹sçùóç###ÚÚÚòóó7mÚšk4°´‘9z@,¯Y³ W]]}äÈ2™œ——çââ´âââæšÌ`¨êêê‘ >x¨Œ@ „ÀœôÌ'žmbk‹í6³¯/(8 Ó�ŽÃdáFk +�.:[%tnXÐ0€•†zÀP Øì9¿z`çÎ�iii¦sO�Æ mÞ¼¹ººè� 6°Ùì+W®DGGƒ™M›6A=�’’‚ãøÀÀÐׯ_ß¾};Ðqqqp9H==pæÌ‰D‚ãøŠ+Àv³¯¦ Fppp~~~OO—ËýôÓOAv/…BñññÙ¼ysyy9H¶´´|ðà�V«moo÷÷÷¯©©9zôhnnngg'pîÅœ¿mâü@UUÕž={º»»AC¢À0,66699®^*“ɼ½½ýýý tǽ{÷x<Þ�;w6nÜšËd2¡Pˆa˜™z`íÚµ`K檪*0Û�——çææõÀ\3¿�ê‰ôã�?úûû£|bsdƒ@ �ßsÒ–ºõ…,?p\óá¦>tþñ#—uK·¬7ØŸØÖÂÝnæ3³ÿä߀ÐÉ4±L4Ó[èP|£K‘õ]™ýliÀƒa�ÐÞpØzþÁéüê�¨¨¨®®.µZmâ¡4Sûúúö÷÷Óéôüã@?~Ü××W$ݽ{wÏž=£££d2yùòål6{tt4888;;$ã8þ«z ¯¯ïàÁƒOž<‘J¥r¹4”Ëåiii&^rK¥Ò„„„¸¸8�—››ëàà ÑhÄbñÅ‹ããã¯_¿ òhüñÇk×®aÖÐÐàããS__Ÿ““³oß¾ÑÑÑ¡¡¡õë×·¶¶‚WøgΜÉÊÊrÅ(t@LLLÐh´£G�†„„@cC=�’’¿•J•––(“É>|ÈãñètúgŸ}¢§._¾ 999¹f͉¤R©ˆë÷ã…d2Ùž={®\¹¢R©ÒÓÓcbbÆÇÇgÓ÷ïß7z;ÄJ£z@$íÙ³ÇÚÚé"V¨Œ@ �ß8¯ ¾ÿà—õ…Ö~ä²î£=°néOVK]uK Íì?`ká®ûxØô¤Ñ�aý‚™¯äí ¶!3:‡`è\ÏŒØ�zP�凞Í<ê�ˆˆˆîînÈDg{^årùüÇ|ùå—Ëu‡»»{oo¯áüÀØØXxxøÚµkwìØáììœ��- £¢¢\\\¶mÛfccSXX¨P(4Mzzº½½ýÆ�ccc9N[[ÛöíÛ×®]ûûßÿ~õêÕîîîÝÝÝééé†ó“““ñññ_ýõÚµk>|Þ©K$’Ý»wÍ6~ ÃH$Ò�V®\éààÐÒÒ‚aX]]�§§çÈȈD" ÉÌÌ”J¥MMMÎÎÎvvv›6mºvíšT*�šš ³Ô™™™ ÇÁÁA77·û÷ïÕy »zàË/¿\¹re@@�F …���k×®]ºtéçŸnooŸ——æˆzÃ0&“yäÈ› 6ܺukzzZ£ÑäææÚÛÛÛØØ9r„B¡€…•BCC¿ûî;KKË .(Š[·n­]»öïÿû²eË,--cbb´ZmKK‹«««½½ýž={ZZZ4Ílz ))é‡~0¼X3==íììü—¿üåÿ÷¿øâ‹’’°Þh]]�F£)))ùæ›o�€p¡B!€@ ¯¯Ö½Ð6®6ºýÈ€ÐmNü¯ù"/dÒk£,Úê•õH9ñª‰KD3"ׇsЀèÈâºCÐlã…FFFºººà»yÓÏ«Œp( ­V«T*AŒ H�~Ôjµ\.WêµZ- ããã322º.Þ¯Ñh@ XîS«Õ* ¹\.“Éär9ð¯Ö`T …Žt!—Ë!€ñ6FoÃ0•JœWà@Y¥RQ„a Ð-À•a�eeet:Ýh_°`&—ËU*¦;”J¥œp€N‰w ÚG o¢¼é� ܾF£!¸ŸéÈÐ/X% Çq�FV#Å0 ,] ½™^‚àŸ06ø$€ÂCP!€@ �ß,¯£~üÈeý‹x¡õK]­–êë�Ol”îƒø@¸a¸äß& €µCî,‰ÿÂKÐw8èCÄÑ :!úŸ¯ù�·ð\=�••õúz›]ܹs§¨¨ß·‰9ê !€@ �w�×ÑëtñB`½Q«¥®ë_è]òÀLþ€ýÇÄhÀË ù4dçD.N,Æ�—C.Í` (}‘{Ô“ °#½uKÁ˜¡±^Ánþò‰ßÂ#%‹¯^½ZXXøúB] „B!€@,6Ì×–ŸÚ‚|b˜?ðãG.?~´eÝÒmëuùë—ºZ/�É ê";eÈ­a�H¯A¥›'Z©<¨×ûrzØ 6�1?ÄõìA+âÌ0€5Ðñv^š¨lìh L¼­Ïxݧn€�>„B!€@ �¹#À©# Q(­V«ÑhÔj5ˆ*W(2™L*•NOO‹Åb‰DR__ÿý§¶«—Ø[~0³Ùš7­Ñ­/ôÈ'ñB`½Q; w]°ÐÌüäå�@C:N¼¤W i7$ñÐ,@‡P?À°¯ùgó 'ˆ�O"û#6°Gbýù�“9e*ÞÎÇáäC»Øûöñ%O>L*nK,j‹¾Ý¼7£ÒñÔ#‡øó?Îg¾V³3õ©ùMædyðRu\AKd~ÓŽ sjˆŒ�w�¸öqìcïÛÇ£B!ðÎ {ß>î�C܃wï7g.„Ý�!öq\|h¦ Î|×}1? [\è_ù@€õF!u¶ûxfR"½†— e7,@Xгõ�ÇëIÃî@s¢·Ù$‡!û‡–PKo/ͼM=`S´ņ̃äj—s5¡2«Š~í9ãF+àV禳5NÉÕf~~J­‹*"ü¹ÍLû9™í»Öò {ìÂSjv#£Šî‘Ñ8§æÈ!€x·pLªÚxæ‰}ì}Û¨BÛÈ»èóŽ#P`iæ}×ï2Q…v1ÅN—:&V¾[?8h´¯�€cÂÓý)ů«>ú%^ÈÚÂìG÷°Õ±ȼu…_ô Úz„2uÃzàÄ�ë¿ìü—¹C ››ð/éõNÔzÝÁ& ¨Šgô@R•KJ5ƒ/û)õ¹{Z}Ú3ꕺ[Z½kêó”'ƒ¹ ÙU´�Y�.çjbŠI!wºœÏV;%UíÏnù¹ž¹)¹êu�•o IDAT@vËÝVvQ;çØÍ§¤*ð9p½õz#¯a8ö>iÛ…Z§¤ª]—›²ªè¹ ÃgËA�SRÕæ”êŒgÔ Û¿ø„͉…‹Ïh?7 »¤Ôøèz<žßI¼ŠÊ„À{†ÀÆ„ »èÂà¤Ë'2ÑçCàLƉ7õAßþ»†@pâ%—Ø|@*Þ³%t;¦pL¨ØŸRd¾ Æ ­û‘éæ`¼ÜŸìGfká¡{�î¡' ˆ/ø‰ êHß³'tðbžø/ôÙ¹^ ¨7zzÃ�Aà“hFìeAõÀé2§¤ÊÍ)U ¾tÛ…§¤Ê üÎÜæ¾kM•Ô¬úÁë-ñ%}·š†7§T%<ê¿\CsO«sJª¼RK¿^ÏpJªüéBmàÍŽ;-¬¨{=NI•NI•[ÏWW L„tåwä40"ïu»¤Tßmc�,éó½Þ’QE;÷„ ,·œ«~ÐÉ9YÒç|¶ Ôþ{½ž‘R>cï™Qí9=þ>ÉÐÕ ï N—Z‡ädggsÑ�@¼;®ä=øB·0'æªV/q°ü`ƒåŽ à=ðb?2kÝ~dÖn6ºý‰gÕíOL¤æ�Xù4± �!S‡o衬�Æ�ÄÿÀªP »†§P<@ϰ¹þ<ÀËk§êÙëïGövóŠN•:&>Ûœ\941½õ\•câ³€mןÝêh¢ úGE½œ)gªŽÊ?ôsËæäª›õÌèÂîàÛå½\ÇÄgà³í|ÍåjZäÝ.pšð¨?¿i^uL|x³½ƒùÿúF§z9S}œ©Ê¾1× µDÓåKUÔ–ðQ×h~Óp\q¯ict!€x§p8ùx]`6Ò&ˆº„X„TTTl ¿b÷à�þýAƒ6žy2§ù¨àüÀÌúBºù�™ÅFõö'&èC.N$å° § Ñ'RHÖ¡=¼jø.x€Ä`[h`( 1ð¶NƒSбáÎm8õØ1áéæägC’­çª6'?KxHÊ®¥yeÖUõs÷\ªwLxº)éÙ¶sÕŽ OžÆ÷d<,édÅuƒÇ„§ÛÎU_®¦FÞí5'òÛʺG7%=sJ|æ•Q·#½ÎçZã½¶�´çº¾*·¦TÁ¶Û/ÔlI©„§†…ÍÉ•n©µN‰O÷\n¸\M=–×jhƒj�÷‡“�Ö^Cz`>4$„€ tzà²}ìý÷æ·݈™l<]6'=°J·Þ(œøñÅ~dë–þ´îÅ~d6ºù‹_ö#ƒ”�Èæ 6‘‚Ã×öÄ&  :°‡Î¡ ²|Ø �â¿DN¯WNõº ÚÀò‚ÎD9œ|´1¡Â9é)cBt³5¾¨ûn 3üN»cBEjYÆSòÁk�!ùmÊú7'=ݘPá�ù<¿‘ÑÁœtO­Ù˜P±)ñécy­ÍÌ´ò¿ìÆ-gŸm9û¬²�’ßvüfkv--üNûæä§ù�Œøânßk�Ñ÷ºOÞï ªº$?-é9y¿gSâŒs£ŸƒÙMe=ìc¹Í)¥}—*)®ç«�š¡J„Bàý@À!þẀ«ï®Ðh42™L­V›`N³]Â0lzzZ«ÕÎf€ê‹�=6£Þ�"tæ#°áté¾³÷ÌÏ'^µÄ~õ’_â…Ö~è¼î#—õK·¬×Å ­×éë¥Ûÿ¥f6'žÉ'†oý!ÑzðiX O‰œ^ï*¸Dä÷�ÐIí  -$ñz!F ê ØÜèà¡1ô¹póÑ÷N>Üx¦Ü)±¼¨•y¯…‘÷œœßº9ùéÆ3å[R*öþ\K»R5xðZÃÆ3åÏ”;&”'?ìM)%9'U›¤G¤›õô‚&F~ãÐÍzºWFíÆ3å>Wë¯V ^¯¡†ßiwÑyóL¯M+ïÏ}NK+ï÷L«Þ6%V¤–õÜhqL˜q>ÛçÔýž[õô´ò~ïÌç³Ù z„Bàý@À>¾d]Àå7«x<ÞØ‹ƒÏç«Tªù#UÓÓÓT*urr’Ø…V«‰Dããã�`¶¨Tª®®.©TJl«T*Åbñ« ¢TFÌ+:=pÉ.¦øýø!Bwa>N=ž“X½Ä~õÁüX_îG¶n©«ÕLÈпô€­…‡�n½Qøî2~P9÷lšå‘ˆÃzPI$îÄ2±wX†žÁë8 ]ÇF,CX>TÄ—l<ó}„À"AÀ>îÁ›Õ†µ´´ôôôPuÇðð°B¡˜?bdTLNN’H$*•J£Ñ¨Têôô´ÑÕ�€B¡ÌÖĨT‰xûèô@–]ô½ §ËÉ� ÆÛAÀáä#óõÀ÷ŸÚêÖúEüðòz£zzÀv&¥ø¥eF!×ãñ°¼õ'’oCú‰¾¡@Ð‰Þ e'^"Ràß01:‡ƒ�À%ø/,,¤°�{°át)ú �E‚€}ìý�]zƒó†µ··óx<ìÅ�ãøää$›ÍÆq\­V��� ¹\Îår9Îðð0“É”ËåàêÄÄMwðx<É#غƒÁ`ðù|�Fƒã¸R©d2™4�ÉdêÍ R©TµZ­Õja4‡Ã‰D8Žk4>Ÿ?55ô—Ë¥ÓéCCC"‘H­V3™ÌÖÖV2™Ìáp4 �Nçñx c||\£Ñðx<`,‹qÇ0L&“�ŒŒÐh4.— &"”Jåðð0•Je0 Ç·OQ�ï=[B³ì¢ É/ Æ[CÀáäýɅæÇ Y.q€ózzÀJ7?`EˆÒÓ€Rëä¥ì�ôC= GÐa+È×aZB›Ù P9mšk€s[ ÏÓ'ÚFÝ5{óH3÷˜Df„BàÕ°¹ñƒï¹7®ø|>‘�MOO·µµMêŽÞÞ^‰D"‰:;;‡††‡Ã!‘HZ­V©T‚ .—ÛÕÕ%‰0 c2™mmm\.w``@,c600088ÄCGG‡ž ÑhÝÝÝB¡�)ÔÛÛ;66†ã¸J¥b0l6[¥Ruttô÷÷óx<6›ÝÛÛ+•J¹\nOO‡Ã‹ÅZ­¶¾¾~``@ ˆÅâ±±±ÁÁÁ±±1‡ÓÕÕ¥Ò …Á`LLL r¹\­VK§Ó©T*ŸÏŸ˜˜²�*#Þ›Ï[�ÈA¤â·‡ÀÝ©�Ì×3ñB„ü�_ò‰_ÞÀöE>1Œ‚üŠ8.�zHÁ!Ɇ5†Èò�f€†ä\šÍçlöPŠ@ÏzØÔ¿¤;ºéãâ·õѸBêèÿC„B!°H �–V5¼Y=Ь;Úu…Bïþy<^SSSWWר؆a"‘¨§§G(‚öíííB¡Ã0�Fƒa˜V«¥R©###† ÷÷÷kuÇÀÀ�Ç“Édõõõ …Ã0�@ÐÛÛ«§är9�Nïììlkk£Ñh`Fõ@{{ûÄĆa*•j```ttT/^¨¾¾¨¹\N¥R¹\.‰D …@`611A¡P”Je__…BQ©TÀò��?ä! ‡@EEއå�ƒÃ‹ä— ãm"Ð7Ä1_è­/´ö#˜?@\oÔÆÂ]÷™É òu@Ê!û‡œÖ@î®G¾‰õ�ˆÏFñõÚÂNaCâ� ï7ê ŽPÏ'±¸ô’ “Ézcoá”B¡|õÕW £Ç�GFFR©T;;; ‹O>ùä»ï¾ËÌÌÄ0ìÎ�;Ë—/ÿä“O¾üòË€€€ÙÁ P(?üðöR©¼zõê±cÇô|bvñâųgÏêÕ›>•Éd'Ož 7m†®" ‚€L&#‘HoV´µµ±ÙìiÝ!—ËÁoÈ+èèè§"‘h``@"‘€»d]­V³Ùìöööæææºº: …‚aˆÆfàõ¼@ hnn5ÓÓÓ EOà8®ÕjÕjµH$êîîÖh4Fõ@GGHÐjµ ÌWóêëë��D"éêêjlllÕ ÃÃç¶¶Ô477wtt( iccc__šX�§ú·ÐiEEE}}= Hû-|׆÷( _M¬ùÐê�õ/Öµ¶ØnmáfMÐDi=q~À�[6!ÒqH܉¢�^ÎNèÕ=…>Á¨`²�ž1!,,¼ “ÉùË_À\\\H&“W¯^ÝÙÙ‰ãxkk«��]eee^^^hh(‡Ã]µjU^^žá3�ãøÀÀÀ?ÿùO…B!•JÁ 3 Ãär9†aà?Eðn Ã0¥R)ÕÄ9tCŸ‰„Á` ÀK°aBBB||<¨�¹³©`366·lÙ²€€è �ŃÀ|è�ööv½x!ÇÙlvsssww÷èè(Žã`~`jj Dá···ONNòù|‰4==�aƒÁ R©@Ðét€Ð‰¤¡¡üĉÅâþþ~==2€g&“I¥R•JåÀÀ‡ÃÁq\¡PP©T/ÔÞÞ.ÀÅàà ›ÍT* ¨d2•Jåñx`$ ‹ÉÉÉžžø3†þÕh4 £¿¿$<,žo�äý@é�÷ã{|µ»˜³˜Ù¢xã÷n"ê«¥?�ük‹íV/ôŒ2$Ó€FC2 ù†ÆzW‰õfZ›€²QŸF+¡J�NŒàÂb×\.wïÞ½P¨T*ooïóçÏ}n>ýôÓãÇ�[YYùùù�ÿÒìììÀÿ|uuu...8Ž�ŒŒDDD899mܸñܹsF]á8.—ËüñÇo¾ùÆÇÇØH$’ÐÐP;;;ww÷Ý»wC=ÐÑѱråʦ¦&ðŸŸQ‡ÞÞÞáááiiiHÅU"�ùÐmmm,K¢;¦§§5�X,njjšžž …ÝÝÝ  ££ƒB¡ˆÅâ‘‘‘ööv�F399 2$IGGÇàà Q= Õj»»»9ŽL&c±X@K‘d±Xccc"‘ˆÇã�d­VËápz{{e2�Çkoo‡ùà-þÄĘ+‹Åƒƒƒãããà­ ÔZ­–Íf“Éd¡P8==Íãñär9ˆ7+‰¦¦¦´Z-èZ"‘)Õq„¨ŒxM�xMßéæsÕ0à_z@—?ö#³Zª¯ŒÒh£•àE¾ÑK°’øþžX ˰`Ô\5!ô”ôf¢:Z¼zàÒ¥KÏž=»|ùò®]»(J^^Þ®]» rss׬Y3[hÓÀÀÀ’%K*++ÇÇǃ‚‚233Y,–¡())9qâ‰D‰DçÎ�3AâÕjuQQÔååånnn\.W*•ÚÛÛC=À`0"##i4š W uïÆ�H¼Ó?=hðï1ó¡:_$ 0c0- ÑhÀœ§H$"“Ét:�D"õ÷÷ƒ÷ñJ¥’Íf2 &“ ^jLLL€¶8޳X,�@¦@) XÇÅbé…åðù|2™ÜÓÓC"‘Øl¶R©3t:�L& óù|µZM§ÓGGGûúúà$ƒF£ár¹$‰N§«Õê¾¾>0Å –?âr¹}}}½½½`ÎìhF£Ñz{{An$©··whhHosƒ÷øAB·ö–@zà-¾¨º{e=ðŒšEØèö 2i¼�‡Æ†A>0óx66Û‚‚é¾ôŒá)t ðŒ "ÖÀò¿9ÿs—ó—^Ÿ»ïÝvx6’=¯_<™Lþä“O@Äx!WWׯ¾ú „ÆæååÙØØìÛ·o×®]û÷ïúô©ÑQ üõ¯Ix©©©ÑÑÑ4ÍPtww‡„„DGGçååõ÷÷u*õô@VVVxx8Xè#""ꈗT*ÒD@P!°¨xãzÀÌ»z†å˜Ù ™!¤~ËOÂëè�u¹¬ûh˺_Ó&¨9 ÝF ¹¡™a $è¿zÉN—ë íõ †½C=`ôÒ¿¹­òu]éãò�÷A÷£ ¢FFF–,Y‚øïÞ½D§ÓAþÀðð°­­-Ô @©TÞ¾}ÛÒÒÒèÓ?00°lÙ2ÌzñâŘ˜:�nkk ^­UVV‚x!�FÓ××—��îééi" IOddd„‡‡ƒ5þÂÂÂ�0ú- J„À;ŠÒï臆ýGé�ßò°°z°pÜ]�¦›yjÚ!¸ i½�…§™n_LbÌ,š¤÷ù·ßr·ôÝúÝn_�c ¢ärù²eËjjjA|||LL ŸÏ‡ùÄ.\Ø·oßôô41àúõë_ýµÑ§Ä uwwóùüðððôôt�@`mmM&“1 KHHz ­­­¦¦F.—���ýóŸÿd±XF½�9qb¼PII‰»»ûèè¨P($Æ ±X¬””&“9›P�æLヮ"�…Ò*•jjjJ­V/ìí£Þï(H¼£_Üöëè�_Öúµù=ê Oa°¾!}7¬�­ˆ…¹Ry¨ˆNæ^^”zÇñôôô 6899íÛ·ïùóç …êƒ±m۶¼¼¼U«VÙÙÙmÞ¼yÛ¶m%%%F£¾¾¾Ï>û,44ÔÍÍíÈ‘#½½½Z­6>>ÞÃÃãĉÑÑÑÎÎÎ8Žwuu?~|—î ‚±z>ÓÓÓ]]]×®]ûÙgŸmß¾ýöíÛ£££þþþÛ¶mÛ§;bccA“ŽŽŽÕ«W›Î' Úºu«¥¥å?þñOOÏòòr½îÐ)B!°°,”XØ»F½#Þu�x׿Á×ÿ+ë�Ùò‰õÖ5Á¶Í$ýF=Ì�Ù!ñž_Ú-Áàªþœ4°ûØsáçp—J¥L&“N§���)•J°††B¡Io\.W(ŠD¢¡¡!*•J£ÑÀRFŸ¥RÉd2ÇÆÆ Æøø8xß&‰†‡‡Ùlöää$R©TãããLÝÖ×3êmbb‚N§Óh4*•J§Ó�V«åóù �ÇãÁuý “ÉœMWçl6z2¤dt0¨!€˜o�˜o„‘„À| €ôÀ| ú®ø|ãzîOl˜O ´­ÉØ}‚Ù¬|Ææã—®šV6îf¸õ0êTšP ‹E¼+Ï'B!ð~#€ôÀûýý¢»{_@zà}ýf͹¯7«¬—ne=`”‹ÿ*‰‡4ý•›C&úúU›E1?`Î÷�l„À|#€ôÀ|#Œü#æ¤æÕwÅç\õ€å,?p|i?²ùë–º÷Л0‡¯CÚmóF& ²~gcüæŒm¶¶ é�wå�GãD æ¤æbÔB`@z`@}g\¾A=°þe=`÷±‘ÖC®ošX¿XÃç¥X bÈÝç”LLô`vù¥ñƒVzwO^hµÚ{÷î?}ú”J¥‚…GÍ e2YWW›Í6¿ÉkZÊåòŽŽŽ×t²€ÍÁŽ¡CCCó7©Tú¦ šžž.+++--¥P(ó4`:�>11az#9е@ èêêššš‚#7'/¼¿¿¿··>Û�†¬; TX$ =°H¾4 „Àœ@z`Np½gÆsÕ`â5nš-ŸØÊÂÍÚÂ]¯ÿ/> y³Q.N¼ è>$ý†öDcâÕÙê¡ 00Ç̨ Ü .‹=ÛZ,‚|b¹\þ»ßýnß¾}>>>ÇŽknn6‡™Á§™Çã]¹r¥±±ÖÌw�L&{{{Ïw/óç_&“ݹs'33sþºhooß»w¯ùþM|ã</**ÊÞÞ>11Ñ|‡s²Ÿ/ srr²²²Øl¶B¡(--}þü¹F£Áq|`` 99ðÁÁÁ¨¨¨ãÇ�755Áç˜D"�={6!!áÑ£Gb±Çq&“™‘‘‘˜˜˜›› j 1,€E�²²²€$jOž//¯•+WÆÆÆæææBL¼qÇ)JiiiYYYbbb||¼B¡À0ŒF£]¼x199¹´´”øMÅÆÆB= V«kkkÏŸ?Ÿ””ôüùsÇ F^^@C.—§¤¤p¹\�FSUU•��pîܹ¶¶6ðäœ?¾¾¾>+++--�D"á8^SSceeåéé�ŸŸ¯7Hâ)‹Å:räÈlj•===«V­"Ö-'''Ÿ={|›À€ÃáÞ¹sǨ=ª\(�X(äQ¿�×Aé�×Aï]o;W=°jÉLþ˜øáC—µfìOlš|ÏvU�”®Ó³†uõÊaEF@”ÐÀÊÂ}±è°èç£G�üüüH$Ò¹sçKKKÏŸ?,“ÉÒÓÓ#""M�ŠŠÚ·o†accc·nÝrww/((´X,þé§Ÿ²³³óòòüýý>|(“ÉŽ=zîܹÒÒÒ'N\¾|Ùè£/‘H®^½UZZzúô鯯FµZÝÕÕµyóæÂÂÂK—.…‡‡òx¼S§NYYY•”””——K$‘HùóÏ?ã8><<ü�üÇq*•úí·ß¦¦¦>~üØÇǧ¦¦ðQ½®¹\î† öïߟ——÷èÑ#6›-RRRbbbJJJ|}}oÞ¼‰aXWW—››Û�;w.\¸ðý÷ß744à8þ—¿ü„Д••ùûûONNfggÜ¿?33ÓÇÇG¥R±ÙìÄÄÄ .<~ü8$$„Á`hµÚööv///??¿’’’ÁÁA(rrrlll <Ð*ŽãwïÞupp¸qãFaaᆠø|¾R©¼páB```IIIHHÈÕ«W% ‡Ãñ÷÷···/))ill”Éd†®p¯««sww?zôh^^^II‰Z­–ÉdþþþgΜ)((xöì™V«m‰z ¹¹Ùßß?77÷Þ½{NNNCCC$iÿþýÏž=ªÆÆÆfbb‚Ë庸¸äçç'$$„‡‡�´zõê���ÊÊÊäääàà`µZ=88èèèZ\\ vÂ6:Z­V[SSãîî®'íØl¶���Ñ&ÄÊ´´´ììl¥R +•JåÍ›7ˆ"^E……B`õ€T*e±Xàï‘F£™øK|;à`& ¹\îÛéõ‚x�xôÞõ¶sÒ+ÿ?û•K`>ñºühL¼˜"øW¼�Q¦>×JÈ¿çÚðÕìÍìÎÆÂÃj©ÛâÒÏŸ??tèPuuµ½½}kk+ŽãCCCÛ·o'“ÉÏŸ?÷õõmoo—Ëå_ý5¤n� $$ê�'OžØÛÛËd2…BA&“GFF:;;·nÝ Âå[[[�œœ`7ño`jjêäÉ“g|||jj ðÈÈÈ   µZÍb±""" q/..öðð€mgÓÖÖÖàµtdddff¦QÚv^;þ~ü8ÀùÊ•+¿/ÔÖÖ¶}ûöÜÜ\È{˜L¦¥¥%�ÇS©TçÏŸ¿páœ[ ê� .ÄÇÇóù|µZíë뛕•v¶NNNÖjµ±±±‘‘‘J¥R.—·´´¨Tªæææ£G�‚fõêÕ<À0¬©©ÉÓÓl±ÿþ{÷îA]ï—XP©TYYY���ÄJÇU*•9™,‹Ëåê…™žT” IDATEÕÖÖúùùÑét=Ÿèt˜= ÕjÇÇÇ{{{;::úûûù|¾Ñ¿²©©©¾¾>ðSÐÒÒ2===8LMMõ÷÷···÷ôôŒŒŒ}[¡ÕjGGG óv&&&FFFæolÈ3Bà@zà@{ošÌI¬Zb¿J§,?p2Ì ¬/R~Eüxóò6&¸ûlÝÄ ÀlMÞDpÑ/œY[¸¯_º}qé�gÏž�÷Ö«V­úöÛo---W­ZõÃ?ÔÕÕ‰D"??¿;wî”––Z[[Cö¦§.^¼¸k×.ð”cºãÉ“'_ýõÊ•+---¿ûî;[[[X¢÷—€a™L>|ø°¥¥¥··7�FÃqÜÃÃcÙ²e`+V¬“fê'''ð¿æÙ³gÏœ9ct÷1�F³råÊööv8˜çÏŸÿðÃ+V¬°´´üæ›o–/_®R©Îž=…ã8›Íöòò2ªúúú—/_n©;V¬XQ^^®Ñhjjj¼¼¼¾ýöÛ£G�šÖp ³îÞ½frìììÚÚÚD"ѪU«@üR]]Ý¡C‡úûûq7Gtttøûû×ÖÖÂîšššþçþŒÿË/¿ W‰z 22òÿøÇêÕ«ÁNφ=z´§§ÇÅÅ¥±±Ã0™Læèè¸nÝ:{{{ÚêÕ«{zzpïèèØ±cðoŽ�Ëåqqq p´°@dùt:ÝËËë+Ý p�"±ÇñÖÖÖ#GŽ˜#'ô¢ÓùC`>ô‹Åjmmår¹‰„ÏçÓét¨ÿ‰7òÖôX�ÍfËd²©©)¸o#q08ŽÏ¦Ølöàà ž1xÈ +Q Bàí €ôÀÛÁyqö2W=ò‰¿7¦ôÖ"æÌÆòõxùlô}¶æ¦ë߬7½¾ì^äX-u[\zðŸþùðáÃ}}}VVV ÀƒøßLffftt´››[zz:|(õôÀíÛ·���A«‰‰‰±±±††˜@doÐ (€K"‘($$äôéÓ"‘Èßß?))‰xÇñû÷ï»»»Ã¶b±8**êúõë tþïÿ;ˆrpp “É8ŽÇÅÅ�?^"‘À&°ôñ?×ÖÖÖãÇ�ƒl@"ÕjuFFx3M&“]]]µ]¶lÙÀÀŽã>99ÙÙÙ©7M:66644&ëø|~GGÐ===uuu õÕÖÖVWW744 s¹Ü���îî vš››�1èÃ0:�^__ìµZ­J¥7U[[ 2¦ &¨€xe�xeèÞƒ†¯¨ÌX_Ȩ0ÊÑÁÒ=z„û�8µ±p·Zº}±è�?ýéOEEEnnnyyyZ­644466–Íf?þ<&&¼ØîééÙ»wïgŸ}xÑh4½½½‡ÊÌÌd±X …brrråÊ•µµµ€lݸqczzÚÝÝýÎ�;,«¨¨(55ÕèÓ?99™’’rÿþ}6›�”””‘‘!‘H¬­­ûûû›››333•¬­­]»v-�N§P( j%%%åäÉ“ÃÃÃ)))ýë_�øê«¯.]ºD"‘vîÜùøñc£3ò†z`bb"&&&55uhh([w`VWWçääÔÙÙyíÚµU«Vj»qãÆœœ�ºoß>>ŸŸ””A¥R;::Ž;&‘HRRRjkkÙlöáÇoß¾�ã¸X,NJJ:~ü8•J†¯*sssíííaôŽ!J†z@¡P„……ÅÄÄ Ù¦Axãz@(Ö××þù“Éä¾¾>µZÍçó{{{…B¡¡P©Tb±X¥R�7ú<Ã0&“ÙÚÚ*“É”Jeÿøø8ø‰ …†©T*¥R9==ÝÛÛ;>>®Õj9NGGTÎ8Ž+ŠÎÎN� %“ÉÀ_™Q=ÀápZZZ&'' Eww7È% Îp¹ÜÖÖVеL&knnžššR©TT*„!1Œžž•J%“ÉÆÆÆ¸\îàà L&ÓjµFß’ÌÇ׊|¾÷ =ðÞÅ&nð-è ObH�ž$Ð;5*̱!64'íØÆÂÃúÅ;~bÛ9•­u“‹B(•Ê5kÖØÚÚºººæææ‚ÿ!ø|~TT”››ÛîÝ»«ªªÀs V«cbb‚ƒƒaÜKDD„‹‹‹ƒƒƒ££ã–-[H$†aµµµÞÞÞžžžW®\dt``àÈ‘#®®®þþþÄ—ñÄÇK­V?þÜÇÇgÇŽ¡¡¡ Çñœœ��;wÞ¼yô+“ÉBBB6lØàååÕÒÒ‚ãxOOω':”——çêê ôÀÚµkccc=<<’““ ß‚®µZíþýûõ‚qûûûöoß~äÈ0I255•’’âêêéìì ô@ccãŽ;Nœ8qæÌ™ŒŒ ¡P(’’’<<<ÜÜÜJKKÁÂD{öìÙ±cG\\HíÕjµmmm;vìpvv¾xñ"ˆ¡ÇqüÁƒ{öì�ò€(WUUedd€eŽ;F&“ÁÛÊ'NxzzÆÅÅAЦ§§}||gœB¡dddvÑèééñõõuss‹‹‹†c¨¯¯wvvöôô¼ÿ¾Z­.,,Ü»wï¶mÛRRRàkÎŠŠŠ]»vAN?::êãããççwéÒ¥„„„ääd�çãã2(J||<˜ëhkkÛ»w¯£££ŸŸìQ¯ ÕjŸ={æîîþ¦¢ºÕjõ�;wüýýß”C½£ÓWCà�ë>Ÿ؈ã |õJ¥’F£±ÙlC=€a˜B¡‹Å"‘ˆL& a6<< ÿ¦†‡‡ Xù€Á`À³¹\n?�Ç뎦¦&½)™LÆ`0º»»ÛÛÛi4šR©œMÀœ"‡¢õô…B/˜Lfww7èqxx˜F£ÉåòÖÖV 㧦¦†††h4ŸÏ'“É£££"‘Èį .TFü*Hü*Dï±Á¼ê«™�~‰³‡<ûWɽaØŒ:!¨[ƒ~A[bÃÙô1ЉàS]#�I¼~f~`ä¿—Ï(•Juvv~ãKsŒ��íÞ½è�÷·Å|SÃÃ쨨x#ƒ ÎÍÍ}#Þ�“7…À×ÓÓÓ àU¤V«­­­]¥RÑét‹e¨¤R)�N'“Ƀƒƒmmm (p˜ã;22B§ÓÁÛwƒÑ××G&“˜ “ÉÔ‡ž€#‰D]]]cºÆ MLL€x!‡d?Žãcccà…‹ž€ét:½¥¥tH¡PÀ:ÑÍÍÍ}}}°rllL£Ñðù|*• Fk:Fަ@zÀ4>ï÷ÕyÕ€p›Ãï!Ñ·}y2�XËD¾+ š ò Õl³ù×ëËÊb&s|>Ÿø½|L�ëñ¿ÁDzà ‚9WW2™ìæÍ›ááácccsm«g¯V«ïß¿äÈ‘7þ„èu„NçŠÀ×Z­¶§§‡J¥Êd2�F£P(„B¡F£éèè`±XZ­V, LLLê�××× =Àd2;;;år¹R©$“Él6[­VK¥R ÔJ%…Bd2„ñhµZ½5•J¥D"Q©T†I$’žž.— 8:ðC£Ñ èêê’J¥jµxÆq|ttLà8Îår¡àóù]]]r¹Ã0µZ ü÷÷÷ƒÌ•îP*•à’X,®ªª‚ó{sý¦�=B€ˆÒD4~kåyÕsUDÂm¢L|ÇoÂl6ºo¢‰ù—l,< XñBïåƒ;55õøñc½—‚¯§R©´²²òõùèë�ä·éa||¼¶¶ÖèúTsD­V·éŽ9µBÆo�7®pŸššèïï'“É eddD­V ‚ÞÞ^ …B&“™L¦R©4Ôb±„ �ŒŒôôô=0<<ÜÞÞN¥RÈd²D"Ñh4T*upp�B¡ NNNªÕjðŸB¡P©T¸6pzzN;ô÷÷S(™L&—Ëét:È)êïï‡ùÄmmm4mpp°¯¯sŠÅâÎÎN*•Êçó‰z@£Ñ �a€«@퀻¦P(CCC ¬‘F£�¡ö÷÷£ù�·ðTÿº@zà·ð-Ïv�¯ªŒ¬7 Ö²¶p³¶p³ÑE Í“0Ÿµ¿¾ål·–…’ÍÌö€¡z„Bà7‡À|è°ú­@ ;¯ƒ­¸1 ‹Å“““B¡„уìaÀ�Á‚V«�žž … (zzÄ NMMMNNJ¥R­V‹a˜H$šÔ‰xP«Õ°R/GE£ÑH$8¸�L&iÍÓÓÓ óJ¡PˆtÇää$è¬C {W(` àAQ©TB¡Ü¸MÇe2™@ ˜œœ‰D ÝØ«üæžðõ'$$̶V�á#ò:5Äåù^Ç�^Ûàààüü|½JÃÓÎÎÎ�;w‚ ] Ãzzz6nÜØØØX\\¼{÷n¸&O[[Û† àA†~P B!0'�˜\È!°H@z`‘| 2Œ7«Ö/Ýn¥‹²~/dÿ±ç"”zK ÎU-Xéö$†ÁB‹EüùφݸqãСC £³³ÓÁÁaÅŠööö€þVWW¯Y³fÉ’%Ë–-[¾|9ØqŒD"mݺuùòåÛ¶mƒ)n …âÌ™37n41�––ææææíí½fÍšøøx0¡Ÿ��}ðàAÿO?ý4<<\$i4š°°°o¾ùÆÊÊêçŸV*•†eff~ÿý÷ß~ûí®]»ÀdÅàààÁƒ¿ýö[°Þ%…BY³fMHHȺuëöìÙâ þ¿ÿû¿�>úèóÏ?OLLœíÏðøøøsçÎ�•=ÕjõÕ«WOœ8�ã¸R©Ü»woii) ‹ÅG�½víÚl®P=B!0'¹˜Ó½ c„Ào¤~;ßµá�¾A=`zâ±7ú«všÉÅg‹ãÿÕæ ¡µÅKÁKælP0›g½LâŲ¾�\.zÇñÊÊJ__ßŽŽŽÐÐЛ7oâ8ž””tèÐ!ðõ_¿~=::ÎH¥ÒìììóçÏËåòãÇ�§¥¥�ü]•J•ŸŸfbåŠôôt—���©©©/¾øbhhH£Ñ-_¾<77W&“�ù�‚‚[[[‘HÔÑÑqøðáÚÚZ‡³iÓ¦���F“ŸŸßÞÞ>==æÌ±X\RRbkk‹a•J]¹reQQ‘D"Ù½{7dð^^^¿:?066¶ÿþòòrp×J¥2...99yttt||< 77HµZ}ûöíýû÷£œ<ÃTƒx�xÐP„À‚#€ôÀ‚ 8€·¦të�êïE`¸H¨QnÎJAÖsS@õl´lýR·uK·¯{±Òèz]yáó‰‰z ¶¶öСCmmm\.·©©©±±ñܹsÛ·oÏ™žÀ0ŒÏç³£G�ÆÇÇOMM™ùD¦§§GDD€H›Í›7böèÑ#'''6› �Ð555<ðõõÍËˉDˆ��øðaoo¯J¥:|øð©S§jjj*++?ú裩©)*•êää–õ8vìX~~>ú7Gtuuùùù577ƒa(•ʨ¨¨ˆˆˆààत$0!Wommݲe‹P(„cF„Bà•@zà•¡C  ˆÒ þ‚wýŠzàƒ—×úhÛº¥®¦ç Ÿ&t¤ÜˆHxÙÆÓœÉÓ$žè”Á|hElkzd@1„Áº¥Û—xðàÁ¡C‡ºººÎœ9xêÔ)ooïŸ~ú ººº\]]ßøÆg þç�€X�XØQ§�×Dé�×ð�nþjzÀRO,ýiÝÒŸˆzæqÃHÇ_pt}…`Ž0œj€nõzœ­^ÏÌðT)439b„ XDù|>ŸÉdÇÅÅ‘Éäµk×¶¶¶bãââžÔ¼¼¼€€€ÑÑQ°?Îè訷·÷�7D"Q@@@XXà÷�¦©©©°°p¶¼dÇÓÓÓ½½½‡††¦¦¦¾ýöÛööv vîÜ WïÁq<33s÷îÝr¹\(¶¶¶ruGEE…\.W(ÁÁÁgΜ™œœŒ��½té’\.ôèŽãÄýȈz`Ïž=�F.—ÏäÓÞÞ~èСÖÖVp×Z­öÉ“'îî£===^^^���0ݹ½½}ëÖ­(¥ø�þ-Cƒ_< =°x¾ 4„€ù =`>VïŸå«é�ï?œ™øá£Í?~´eÝÌä€= ²o”^ëUšÉûõZÁS=¢¯wJ0›É%€Wu"ÄH¬¨'^{e‹b~àw¿ûÝÎ�;wìØqìØ±ÎÎN‰DràÀ�€€€S§N¥¤¤¬]»öéÓ§8Ž·¶¶îرc÷îÝþþþ,K(ÆÅÅy{{'&&ž8qbóæÍõõõ`“Îäää-[¶™½ÞÈ óóóÛ½{7Hxüø±ž=xðà±cÇüýýÏ�;Çáp&&&ÂÂBCC:ÔÐРÕj«ªªŽ;vøðáK—.™ÐW®\±··?tèPNNHÖŽã,ËÇǧ²²^âr¹AAA»víòòò:þ<ÜK£Ñ55U[[ @ÒÚÚ:00‹-***,,lmm�M‰~~~—.]Bå�E"ƒÁ(***))BÆ�ÉÉI??¿˜˜˜ü9¤.MIàK’Å_ÒÓ¤îåë‘Å_ϳV¼Ó�ãõü…Œ‰”oÔ\†¶¯´Ø¶ÒýCÊ7YíÖ!úȵÈÅ+~ Èû÷dõ܇ȣä¾EóÏчÌ0ÛVš# �3,ŠøÅGû´ÄÇLJ‡‡³Ùì?àZq‰¼¼<”¥tŽáÍÍÍ;wîD<3GOê+J”>D|ˆ”¨>”›(XlOä�\ÏGòÀòê‘IãˆD3Å\Ÿ: |‡¬:YóÅZ$tV~d 1½ñOþWÙ¶ò½XEº€¥Äb†xr !*x�ÌÝšššþÈG¸€×Zä<€aX``àÙ³gç(¡€ã¸©©éÍ›7‘¹`åI]š’À—!оŒçHÝÅ×&о¶'N¾ßyñÀÆeº›¾ÑSûv·ú·{Ôåã¦ý… (Æ-ï©àäm{ Ô"çS„Úç8™{y=äó9&„¯ã€)Š x€ü Qç”( PxOŸƒ˜Læ€ì`2™³9 ¾·Ž�ýÐØØèîîWä90 c³Ù###èê½½½ÿøÇ?póæ�­­mww7¹?uNI`iI€â�¥õ¼>íjçÅ*ËtU¿Ù©öínµo÷¨ILú›§ã‰¥<@”(6Ó‘Õ'}šØw—`² È©àЬРvîAkŸmÔL“HÜ“ ?ª‹¬¸ëOˆÖFn„s¨i@D˜o!Ê(’X ¦ã‰Ê>Àårkkkáåc0\.·±±±’8êêê *`dd¤¶¶¶²²²¦¦fÁ=d8NEEÊ_$‹êêêêëëÉQÂ���“““pwb±¸½½½¦¦ê ¡[®¯¯¯©©éíí…6›ÝÒÒRSSƒb D"ÑÀÀ@mmm}}ýðð0„"ðùüÆÆÆêêꎎ0#ðùüÎÎÎššš††ˆ=˜ššjii©–äµÁµ¨ÿ) P Kà“ó€P(TVVþá‡~!Žýû÷¿}û–|ÅO{>ŒŽŽzzznܸ1//®HñÀ§•<5ÛÂJ€â�…•ÿÂ^}¾<°IÆêË÷ÉñÄl]‘g!ò¼œÚ�¾%·C#ìñ“wú“À¹¦‚óí„‹ y*W@žS®„謴Ð&FG90CšÑ™ý…È_¨©©é_ÿú¼LéééMMMªªª;wî´°°055õöö¢ÓéFFFиPH€aØðððÍ›7ÿüç?OLLÀ²ÛÛÛ---MLL’’’ ¦yhh(..ÎØØU«¬¬411±±±±²²JJJš$ŽÈÈH+++kkk�666ÆårïÝ»gcccmmmbb’ŸŸ�ãx__Ÿ———………™™Ypp0THOOß¿¿………½½ý«W¯0 ËÍÍ=zô¨���‘‘ѯ¿þŠaXUU•©©©¾¾¾-qÔ××/ì-uuJ‹\Ÿƒ´´´>|( ¡PˆaXSSSqq1Žã<¯ªªª¥¥ett´²²²¤¤$77÷Õ«W�–€ÃáÔÕÕ=}úôÉ“'õõõ"‘jŸÇ‹/!i‹ÅÊÉÉyòäIjj*�FS´¼}ûVWWwÆ .\€!,òW‘ZÞ¼$@ñÀ¼Äõ…už/€}@}ù^‚ 6+h)ùFÉñÄ`0SðΟ&ÄŠ»ò$åþ½4 HÑGúúcÑWd½Á+ ­ Qiˆt�0V{…4r*�1�/¼}`6¨ªªÂq¼¹¹yÿþý�=¢Óé¾¾¾½½½ããã»víJHH˜í…nllL&Ž‚‚Ø&ïëë»ÿþÍ›7ŸÐ'x@Z@k…±6LLd2Û¶Rò)Ù Ä;ñïiùä~N¶*�ñ€ü}Ï+ ]‘2[Œ8�”ûh†…‘k�!í_ñdš›}x ©©éÀ�ÏŸ?G<0::º�‚ùÁ IDATsçÎÔÔÔÙÞžƒ^¸páâÅ‹ÑÑÑoß¾år¹���'Ož¼víš««ëíÛ·q/**:~üxddä¹sçLLLPFÿ‡š™™UTTÌ6ùÛ·o322Þ½{÷—¿ü죣£'OžôôôŒŽŽŽ‰‰y÷î†a}}}wˆÃËË ñ@ssóÈȆa/_¾trrjii9{öìñãÇ£¢¢ÂÃÃsrrpçp8ÝÝÝ0sDD„‹‹ †a###ííí8Ž766ÚØØ”––¾{÷îûᅦ¥¢¢"WW×’’’¼yóÇq‘H¤¦¦V\\\PPpðàA??¿°°°ŒŒ ä:<ÛÝQ픾r |PQQ±´´ "Ž7n ‰D¢ˆˆ###''§³gÏr8œ²²²]»v=|øP(öõõ©««×ÖÖNMMõöör8œ±±±C‡%%%‰Åâ3gÎ�Çádz²²z{{úé§7oÞðx¼û÷ïïÞ½[Ž&&&ìííOŸ>ýúõk3330'R<ð•¿ê_ØíS<ð…=ÐyÝÎÇñ€š,ž˜ÄÓñÄ@Úï‡È´vr!0ùÀbÐÑåt}€²6SÍÐ éú3Ž•Hâ�ióê³må´q0 ä�`ñò€¾¾>¸Íœ9sftt”N§oÙ²ÅÔÔt÷îÝ{÷îšíuQVVNKKc2™ÝÝÝL&³¾¾ÞÀÀ ¹¹Çñ¼¼<##£©©©óçÏGDD°Ùì©©©ÔÔTäXßßß_VVuŽg›Ú0 kkë»wïÙÚÚ¢„?•••ÞÞÞˆ` ƒÁpss‹‰‰áp8ÞÞÞ»víJNNNII9pà@uu5ºhQQÑÞ½{Á©GGG‚‚***~ùåƒáìì|÷î]77·¢¢"''§¨¨¨ÉÉɼ¼¼ÿþ÷¿OŸ>­¨¨puuMHH Óéû÷ïö욟:¡$@I@QŸƒÔÔÔÜÝݯÇÓ§Oá×ËØØØÚµkµµµÁYVVfkk‹~Ý»w�Íf?zôÈËËËÉÉI]]ÝÓÓS,GFFz{{ÃÊ]\\îܹ“ŸŸ¯¬¬ ¿vjkkäx ©©ICC£°°p||ÜÅÅåìÙ³l6›âŧOµ,] P<°tŸÝï_ùïà�½šJòñÄD0±$~`ÛÊéúH·&ôxÉæ=8 )híÓê8ò&B1Áh›Ÿ<›â9ŠX OŽfSìK‚øÍŒºm[i.WƒLk…Éâå�ï¾û^ˆhnnVUUMII¹|ù²ŠŠ ¸ËÓéô£G�>yò$''‡F£ùûûÏöÝ¿ßÂÂbÏž=±±±ÃÃÃÏŸ?ß´iÓž={ŒŒŒvîܹ}ûöŽŽ??¿«W¯Â (,x¶ glG<ÐÛÛ{ìØ±øøx�744ôïÿŒã¸"ŒŽŽ:;;ûûûÏœ8qÂËËktt”Çã¹»»GGGõ^¿~maaqëÖ-Tbyll,&&æØ±cõõõb±¸¦¦æ§Ÿ~êééqvv¾uë�F+'[[Û½{÷úøøèèèäææNMMõôô°Ùl>Ÿáèè8ã½P�”( €>@üŸ8(î™™™ÊÊʺºº@éeee&&&ååå°ŒíÛ·?zô¨  àÈ‘#ééé•••...nnnb±8**êĉÐ�F£¥¤¤”••ýøã�ÐR]]mgg'ÇgÏžýë_ÿº}ûö={öüøã�;vìèìì¤x$FýÿeH€â�/ã9~Ü]Ì‹6}£‹â‰5ˆ|£šJ[dñÒú+Mµ‰ÛVši“ü… ýx¤và RåÚ§S‘¿’³�¿Rœe+"s‚¬Ìé�$¥ÓÐTÚ²Hb9k€âÇiûÀBåüßÿý_.—‹ãøíÛ·½½½ß½{§ªªZUUÅçó÷îÝ›œœŒã8òz„Šo�@ )//wvvNNN.**211ihh$&“Éf³àsww÷G&C<Àb±¯]»†Ç?üÐÓÓ«’ã‘Hdeeåïï�Ì111§OŸf³Ù†�>}:<<ÇñòòòƒÞ»w�ÃáÀ<'))ÉÎήµµ’ ���/[¶ŒEÙÙÙÎÎÎB¡plllppp```ãÆ�ÝÝÝýýý���à&téÒ%KKKEqQ-”( |&ÈÈÈàŸÏ‹Å CYYùÅ‹iiiû÷ïg0eeeZZZ���iiikÖ¬~ôè‘��]__“Éܵk—‹‹ËŒ<099¹qãÆ¬¬,�@�’’²yóf9PWW?uêT-q±ÆrMR~!°H\†V˜¢úàŠ£¸+�u�ut¤�ƒÞOD KvîAï' Bêt$ky/. EB€árAä«ÃÂ8`¢¨úÏØ"åÃ�¶ö ”oÇñ‚‚]]]OOÏŽŽ�@```YºGGGi4�NOOO×ÐÐX»víúõë­¬¬ EÆŒïPddäŽ;vî܉RsÖÔÔ˜™™mÞ¼ÙÌÌ rnNLLÄÅÅéêênÛ¶íáÇhž§OŸÚÙÙÍ‘�'33SOOOEEå»ï¾SQQ±¶¶f2™cccçÎ�ÓÔÔܳgOUU†aoß¾UQQÙ°aƒ²²ò† ˜LæöíÛùåâ066~ýú5ŽãwïÞÕÖÖÖÔÔLLL#CCÃõë×C·Ý»w …¸¸¸Ÿ~ú ZTTTž={A‡ÆÆÆ7nôðð‹D{{û¡C‡6nÜhii þH'%%eÇŽjjj¡¡¡sW;FB N( |µøä<ð�’,++stt$ç:ûÀ�T7J”`ëðõë×( 8%“¯Jóâ��ËtU >±4ߨ,~@I’bù A~!0@rO8Gª9òz?eù½Úotwrõb²N/§Ê£9‰êïÙ(ÈX¢¸$™IAJŠ‘3’4. ûÀWõâR7KI€’À¢•Å‹öÑP £$0‡(ûÀÂùâ¿ú=< ©¤¿åýúĤxbi¾QäØó¾..qÙWtò!yõH¾Eü< ×Bþ–|Ž.„¬è[Ä %ÞËz´m¥¹¶BZ¡9`@k…É4,T¾Ñ/þM¥n�’%�¥"�…â�öööëׯ3Œ¥"(j�”•(XT�ã^̼x@e™4žü…ˆüBZ„q@k…b=2s"ÑÐ z¿öÊé^p•©ò2ƒ$#BE$„ ¨å#uÿ7OÀ切 $Ȥ€À´ÿ­+äý…[äíüÁo0u9J”›Š›¨õPXZ x`i=¯O»ÚyñÀ¦ot!žXíÛ=D~!Y<± $<@®G†Ôn €Ô}*�1À ÞAH/'´vùØ’Z/Í^ŠH4{9fPT÷eÝÈf)il'Xenk€Ü·[Á>`ªæh¸Ñv¡ò }Úׂš�’%J-Š>ZtÔ@J (ŠPø ~é�æu"ßèf%CI~!‚äâ ߨl^âÇ�~ ”x8'û!���}Oé?¶xzN]@g B *˜‰ÞsFB8'Ú+äk�É€âG‰¿�‰š£ÁÂñƒÁ8xð ¼OoÞ¼¹zõ*TìÚ¿ÿ�Ž9’‘‘�aXNNŽ��Í�¬¬¬ââ⠇ς¿…°€ÔÔTccc âÆq\ Ðh4‡äääññqǹ\nhh¨¥¥¥‡‡Gii)yñgΜ�–††++«   ÑÑQ˜‘‘akkëàà�ŸŸO•&‹Ž:§$ð %@ñÀ'&5%�?Lüa¢^„š/l’ÄïR—ÚÈñ´V£øII2Iý™N/Ù‰G<€”u8‘ÅKíˆ�=AÖAªÄ¿¯ßËYfPôu$ñRB ¯G†ïy4éHjÈ» ýfËÿ˜«;«Jx`¡ü…šššþõ¯ÁõÈšššTUUSSSëëëïÝ»ghhXZZJ§Ó^½z•››«©©ùøñãEòR …°°°S§N5$>b0666÷ïßýúµ��MNNŽX,Žˆˆ°µµ­¨¨ˆ‹‹£Ñh(Á_^^ž²²²©©)ŽãCCCAAA¡¡¡eeeöööaaa†544eff^¿~ÝÑѱ©©i‘Ü;µ J_˜(øÂ(u;_‰(øJôŒ·9/ظLê/<@0”ÅHx`F!´÷Oç•Û’'T|‰^Žþ‘;hKzyEŸL¨³LÝí:¹BX y¬lˆ„XtVZl�¿q@OlFØŒÎ>0@€ááa{{û[·n¡zdb±øÈ‘#aaa3¾---êêê8ŽONNFGGCâÂÂB===555##£––ÇÇÆÆÎœ9£©©¹yóæ§OŸâ8ŽaXMM�‰‰ÉÏ?ÿlmmÝÖÖó³Ùl??¿/ ùõ×_Éš››õôôFFF0 £Ñh7oÞäñx7oÞlhhÀ0¬¸¸ØÉÉ©¢¢Çq‡³oß¾K—. ?{ö¬µµð;wî8p@(Þ¸qÃÝÝ]$MMM:t(;; �¯H�S $ðû%@ñÀï—!5%�?^üñ2_0DarròqŒ��ݹsgíÚµ<�ÍfÇÅÅ©‡««ë»wï`¶ÑÑÑuëÖíܹóÑ£G<¯ººÚÓÓsllLŽØlö¥K—öïßÏd2ù|~@@€¿¿¿««kHHˆ››ÛÕ«W¹\îbû�¤ÖCIà �Å_ÀC¤ná+”Å_áCG·<_ âv«õ‰‰|£„¿�,åèÖ&PŸX{¥©6?@(ñÈ{Gêë�Htô÷5õioþm2§”¡HÖS ÷kK6õ¥ÄÈ䀨]‚` lÈå<´Ð’9 Í–W”lزÂ}\øx⎎%%%‘H„ãøýû÷===[[[UUU«ªªêêê¶lÙÒÞÞŽã8òâr¹111ºººèU Ÿ455­]»Çq‹ ö�¡¡¡ .˜ššš››?|ø�Åbùøøhhh$ ‹œœœÖÖÖÝ»wƒO¿P(äñxÈ"‘ˆÍfCé_ Ã~øá‡¶¶¶ÊÊJ}}ýÖÖÖ‰‰ �víÚ5.—ÛÙÙÉãñ¸\nZZÚÑ£G‹ŠŠ¼¼¼Î�;÷âÅ‹àà`(É<66vùòå#GŽÔ××c&Ξ=ëëë›››[TTäààpçÎ*¤˜üЩsJŸJ|*IRóPø#%@ñÀ)íÅv­ùò€Ê7zªßîR�!ߨÄ> )^aªMØ žX¦šËÅKâÈrI`õ—�L+ñD¥0‰Wlç¹A¥–’Þ/ù�%†H≑M`›Ì^A¾Ö6ÂYˆ¬â#]ÿCN$<°°ùFÙlöŠ+Þ¾};99ãïï?00<€ã¸¯¯¯���ÇC< ‰=zôã�?ÎøFöôô¬^½šÇãõööº¸¸$$$ðùü‚‚6›-‹oܸaff& cbbÂÃÃY,�ÇËÏÏçñxÝÝÝ–––999"‘¨  àÕ«W°/ ‹ŠŠfsOÂq|||üÁƒùùù|>¿¾¾þÇÌËËÛ·oßØØ˜@ ˆŠŠb³ÙÞÞÞÙÙÙ"‘¨²²ÒÙÙ9###))ÉÓÓÓËËËÈÈHYY999™Ë妤¤Ðh´êêj‰D™™™ÖÖÖL&³¹¹ÙÚÚyÍ(ª‘’%��–Àò@NNÎÔÔŽãiii###}1�Ïççååõôôà8^XXX[[û“PC( ,”(X(É/†ë΋6}#©G¦úí.iý!à�­0 É/$SÍalRw PÖ‘—?láCd f >J«ËÅÃ(IJˆa €ê¦„2C�d=²µAAâéýþar),`<1Žã^^^‡öõõµ··ÏÈÈàp8ˆêëëõõõóòòètú®]»¼¼¼N�:ecc=ã[Èçó÷ìÙº/^äñx!!!aaa±±±/^Äq¼¼¼Ü××7888$$ÄÛÛ›Ëå²Ùìk×®Ñh´ˆˆ''§ŒŒ Øòg³Ùvvv¾¾¾3^Çñ©©©›7o:;;ŸŸ_[[ûðáÃÔ××C~!&“ùòåË ùAaaayyùl—ÃqœÉdæääܽ{-[(655=|ø0==½¤¤öü8ÎË—/ïÞ½›™™ÙÞÞNöGêîîÎË˃|£YYY·oß¾K™™™8Ž …ÂÆÆÆÔÔÔ‡vuuQÉ…æxÔW”~�>9`–‘‘qàÀ�€€€ÄÄÄèèè°°°¡¡!ÅEþÁñ'G© ) PXZøä<Àáp¶nÝ5<<Ìçó'&&ÚÛÛ!Ž(<<ÜØØØÉÉ)??Ã0E;§‰‰ÉåË—¹\®X,¾wïž��ÏñãÇ�=šœœ Ú|QQ‘•••��¸â8^__ïããchhèîî>£EÑÙÙÙÂÂB]]=++ ÇqŠ–Ö‹J­VNÈ ä«úø< öínµo÷)†ô5• dùF%ÁÄ?°˜BÞ”5yæ€?±y/�@-°Ç~>Z²š²F©âNò ’€ñO‚Œü޶I�d(" 6�1ƒ´3|„†­+Í?:r€Aê/d°ÑÖÞÜ�*tõUýQ7KI€’€œ8N]]�\9¹>óúXRRòÝwß È�:}ú´��AUUÕµk×lllªªªy``` ;;»ªª*//OGGʆ††nÚ´©°°°¬¬ U#Ù´iX«««;;;ß½{wäÈ‘øøø¦¦¦àà`KKK²5Lš«V­ÊÏÏ÷ññqrr¢x@îéP—œž?þKnåÔ‚¿æÅ¨þ€ê·{Õ–ïS_.ãI~!yЖ$ú yùœrÆ�­D|0 ��$’ 'ÌR/ �è÷Ú‡)0 ×#¸Öûý¥0€B™Á¼ð;�…$ùF!ž˜â�ßÿFR3P $°Ô%ðÉy ==*¢ÈIfÕªUoÞ¼�è OOÏ«W¯*òF:Nž<&‹Ïž=kggßDDD„……���¯^½úÊ•+, ÚoÝºåææI™E"ÑÏ?ÿÌ`0È ¸qãÆÆ�ÅbqQQ‘††FGGe ˇ:_r x`É=²O¸àyñªO¬JØ4جd´EÆ�¦“ˆ'–D“y@FR<€�< ‹÷…`¹í|)Èr�Jz…©$%PþPà YÌ€t%28!ûIXâw¤<`¢æh°põ‰…B!ò¦åñx,K(ŽŒŒ ƒó=—Ëù¼^¦±±±ßì/‰8ÎŒ¡~¿9öC:ˆD¢ÑÑÑ¡¡!&“Éáp>dÈÙÃ06› Ò† …ÑÑÑÁÁÁ‘‘±ÀårY,$‡ý#×F]‹’À#�OÎÅÅÅÿüç?‡‡‡Éëçr¹ýë_ûúúp Œ��Uä����3gÎhkkoÚ´éûï¿wqq‹Å‘‘‘žžž0[BB‰'†‡‡+**LLL”••íí픕•ÕÔÔ6ÇÖ­[!J F‰D"###77·¡¡¡ÚÚÚ�;w^¹r…âò¢Î—œ(Xr�ì.x¾<õT¿Ý«º|ŸÚr %M%#M¥ZÓ!¡­+Ì +(lÀƒë޶d#"¤{ùDŸiBç~’¡@êD²-H’�Êx`ú<…€@ÈÀ€&›ƒaI�…)Kl:ÃÂǧBÑÿcFÄ, 455ýë_ÿ‚7#==ÝÃã©©IUUuãÆ�ZZZºººAAAt:}ݺuêêêÛ·o·²²’ûû:÷‹%‹g«W@ØÝÝWRRBnü„ç¹¹¹†††»víÚ³gOllìGPÍ'\ŒâTL&ÓÝÝê7cöìÙ3SSS�}ûö¡t«ÙÙÙPAqª…’ÀR—À'燣¡¡?66& ''' ŸÏ_·nÝÇ…BaKK �FKNNVä�¬¬,KKËÆÆF�@àíííææ&‹Ïœ9cllÌb±8ޝ¯ïùóçÇÇÇ¡Øyoo¯³³óéÓ§ÓÓÓÝÜÜÄb±H$’Û )//WVVÖÔÔܱc‡ŽŽÎúõë�9Ò××GåZêoï×¼~оæ§ÿá< úýv"žXO?°ü=¡Í�ú A=2à(QLèßÒt@(ŸTx_w—è÷¨RúJ¦ýKØ@KšBTJ¨¨ûȈô­9·"‰A}µmåG$F$ �0[èú³ñ@UUŽãoß¾500xòä ª?022²}ûöË—/Ïööwww¿ ŽÚÚZ.—Ëçó_½zµjÕª¬¬¬ììlH°Íårkkk³³³_¼xhÁãñ9`–ššjhhšœœœ��244”˜˜xàÀ�;w‡Óh´¦¦&EÈÏÏwttLOOöìÙîÝ»i4šX,WSSK kkë‚‚‚ÉÉÉÈÈÈû÷ïß½{×ÕÕ•N§÷õõ�8q"888--íÁƒIII(~ðÐÐP›îîîÑÑÑ‘‘‘ììl##£§OŸR<°tß[jå|ÍïÀ¼x`Ó7’|£O¬NÄ€}`ËŠ[P1²•¦ÚÒzdHóž¶€Æ/sé™¶�utR d€�|‰yêö~H1ìúK³ É2�iHþ'lÓ<ðIŒ!3uç…õš›ÚÚÚÌÌ̲²²LLLèëëÃ6öŒ?4- àäÉ“ÍÍÍ“““gÏžýöÛoÃÂÂjjjp/..vss;qâ„­­-dÚf±XêêêGŽ9uêTgg'Žã‰‰‰GŽÁq¼³³Óßß?33“Ífûúú…††zyyAídÇ«««7oÞ\ZZŠþî*®mÏž='Ožlmme±X£££</***,,lrrR,|¸«« ¤N( |1øä<€ã8”ú ;qâÄùóçKJJø|>ÔX ŒŒŒ¬ªªÂ0¬££å ŠŒŒìëëKKK‹ŠŠºzõ*�N‡󨨨C‡ÅÇÇŸ‚Ý@ÆRD‘Ûæÿè�0V]Èø�ÙxÀÎÎîĉ®®®P±˜N§ëééÑh´#GŽèééÁþ÷Œ¯—²²2lð766ÂŽ~ww·\H_]]Ý«W¯X,ÖË—/544`žÚÚZ�FöRä���]]Ýììl.—[]] ÖLJ‡‡ÓÓÓg\4æææ=zÔÁÁÁÏÏ///�Ïç+ò@CCƒ‡‡GVV”I~øð¡H$ºÿþáÇ'&&†††RSS ÆäääªU«ª««Áƒ¼¼¼†‡‡ãââ\]][[[§¦¦rrr0 kkksww¿zõ*‹Åzóæ =f\áØØØ�?þˆ:¼xñÂÍÍ-;;Û××wrrR]]åž500¨¨¨˜ƒ|f¼ÕHI`ñKàsðÀ'¼k±XuâĉO8'5%�/@|ñ£oa^<€â‰Hó�Jâ‰ßã(N¼e…¹–4¿Òé%{üû ª9²€÷?‰$C  ‚˜vúÉ*`¶÷a@ !`F .*…�­+~W 22<, øî»ïà= Ç€®¼aÃØ§Óé–––×®]£Óé...QQQ³½:III‡‰ãæÍ›°U¦ÈÝÝÝ ¾¾¾G�ýÏþS}ðùü¤¤$GGGKKËøøøy¹Í`ÖÚÚúôéÓààà#GŽ”””(ò@aa¡««+1À÷W DDDœÐßßÿ�üƒÇãá8~çÎooïÎÎNUUÕªª*‹µk×®´´4Ç‘¿�X,.,,\½zõloÿÔÔTSSSVV–‹‹ Êåx€ËåÆÄÄøøø”””¤¦¦®Y³¦Rä�¤¤$[[[¨pìíí Õ‚ÙlvKKK~~þ‘#G®]»6Û2äÚY,Vjj*èÓíííA þB¦¦¦iiiÅÅÅ®®®P™Ëå2 �@}üøq˜pppprrr``àïÿ{UUUuuuUUUkk+‡Ã‹Åýýýµµµt:}÷îÝÀB“““mmm¹¹¹0¿ÜªÐÇòòò 6 �ÕÕÕ‡ª¬¬ìêêêïïWVVF›q·´´|ôèÑÜÑh*ê„’À’À"çÇûûûå’‡.!ñRK¥$ð™$@ñÀgì’˜v¾<ñêË÷ÎÂDr! H‘ t÷÷Üx•Z$*>lêk¥ÄdÀ m$Y$=å‚ `Ô¸•˜AvÝif@ü ã�Of�Æ,¬¿�X,^»víÝ»wûúú<==CBB&&&€pOOOß½{÷ØØâ�¢©©9ãk:<?22ÒÉÉ Ã°üüü½{÷öôô444ØÚÚ–––ŠÅâÍ›7§¤¤…¼¼<:�Îãñâââ^¾|) ™L¦ššÚÀÀ@cccbbbKK‹H$:vìØÕ«WåV…>¾{÷îßÿþ7Z<‡Ã±µµ½té›Í>~ü8ä;‡Îb±ØÀÀ //uF“P'”–º?,u Së§$ð9$@ñÀç�êR™s¾<°é½MßîR•Äì�¶�’�Jrù“xíÐCúQp‚ô ¨b‚Ù?ø!?Ÿ÷ŒHÝ�RÉâ ê@ê�´�(RuŽe sšo[ù)a@ʦjކ W,}ÊÊÊJJJ‡jnnêêê�_ˆÉdZZZ&$$¤¤¤|ÿý÷ÿûß¿ùæ==½¶¶¶ÙÞÔ   eeåõë×{xx ÿþãÇ�/[¶lÕªU1118Ž?~üXGGGSSóîÝ»ªªª‡‚ �gÏžýç?ÿùý÷ßß½{—Ïç …Â½{÷ª©©YYY;v,33“Ïç®[·NYY™œö´²²rãÆ�ÅÅÅshÉ%%%JJJ6l¸rå —Ë433Û¼y³¥¥¥½½ýƒp/--522ú÷¿ÿ­¯¯eM'''ãâ┕•þùç«W¯B  ÎÎÎ;vüç?ÿÙ¹sg~~>Žã•••úúú?ÿüóºuëRRRpg±X±±±***ÊÊÊ666�†h6¹)++¿}û}[__¿{÷îeË–íÛ·Å€©ÄÈÈB�Qgê„’À—!оŒçHÝÅ×&о¶'N¾ßçÕï·oX¦«òÍÎMßÌà/Dd5Ñ’@ÿ r@ªˆ“b¤Z¾Ì,ðžÒy„ f2  ’¨˜á‰S`B "l`Ú˰D›Ä['²óÏGœKã–ÈÏ•:_( ?~<<<|Xü믿úøø r µZ꺔>‡y@ p©ƒ’%�Å'p3†ß|Žß‡KeÎç�MßKò ©@üÀ·{4fŠزÂt+É_ˆ¤š¿§ôÞ=(úŠz<‘ƒÈÁlöÃTh  $ €bˆeÊæDfRIúQrýÉ0ðªÿŒC¤ùF�Ô>°TÞ¹/{� ÆÆÆ(nxÆ›íîî¦ÑhYYY(YáŒÝ¨FJKTŠ<ÐÓÓSC”( ,> �ÿZQ<°Då~’e8¨ý°�¨?°Se&ûÔ�¥5Õ^iº�0ÈÁDôBª²Z/sû‘š�r/7}$�%'&’Õ?–Ì©„äx¬ 3êô¿§ñ̉zdFmíÍÝPNÉOò„¨I––x<Þýû÷Ÿ>}:DzKKKoß¾MæõÕ’–€",éÛ¡OIà+‘Å_Ƀžñ6ç˪û€Ä_H�? ´F€úIJ]ùé8`Ðþ‘r'ˆHürö„éðb¹±ÄGIð€b»,VaúêZŸ.Í(Bˆé|£ÌøžQ�”( |= xàëyÖÔ�~I xàKzšó½—ùòÔ##x@? EÊ7JèÇãÊ/$Ë7jé>e{ù`(€pE%þCZ*`t®8ê [Wšk}º4£‹ˆ|}}áñWWWß¿`` <<œF/_¾Ä0¬¤¤Ä××—F£ùøø¤¤¤Ì¶{ýúu�ØØX²sá|_/Ô¿··Â|¡¥¡¡�N§HÙ�þþþØØXooï„„¨SvõêÕ¢¢"4ól'çùóçQ¸¥¥åìÙ³ÞÞÞ(ëÑl—˜±}ttôܹsPíÇñŽŽŽØØX¨ŸJf”ÕøåI€â�/ï™Rwô5H€â�¯á)Ïv�óâ��’ø=U©}`¶xb‰§Ð¶÷ã@‡ŒŸhj 0ãôWTîÉ-ÍžøÉ…ÐW07@�2÷!óÏax/ßèBÙf«O|ñâÅìììÄÄD33³šš:�nmm}ëÖ­{÷îmÛ¶-''g¶7£ºº:11qß¾}s§Ó™m¸\ûÓ§O===Qcvvö‘#GFFFPËl' ööö±±±ÀR¯ ««+00JÌ6ùŒí###ÅÅÅ.\PUU�±Ãl�PÉØÁÁAUUõÍ›78ŽOMM?~<&&&''çøñãØf›�j§$ðeH€â�/ã9RwñµI€â�¯í‰“ïw^<°a™îÆo ~`¯*)žx³Ò¨O ñÚ’zdÓõä”ò­’R.LÞÝ'Â%íÛdŠ>ÊCŠBn*4œ˜Pê,N!†X® ýJk¥¹$ê “ù·åúÁT ï/4@¾ÑþþþC‡ݹsÕÖÖÖä·Aº ëB{uuõÁƒ÷íÛçéé9<<ŒãøíÛ·Nœ8ahhxñâEÇE"ÑëׯMMMmll|||._¾Ìb±ž={¦¬¬üÃ?èèèœ>}zdd$;;ÛÖÖÖÕÕUWW÷رcPóKîê𱡡ÁÓÓ³  }kaaáååelllbbòèÑ#&“éééYSS¶Žœœ//¯ÞÞ^ooïU«V©ªªêèèTVV‚vN§Ó ÍÌ̲²²ÀîÑÑÑaiii``@£ÑêêêÐU^¿~-lj‰‰¾¾¾pã¨ù$??ßÀÀ <<ÜÈÈx ««ËÜܼ¬¬ ð¢¢"uuur꜒À—*оÔ'KÝ×—-оìç;÷ÝÍ‹6.Óݰl'ÔP[¾O}¹¾†’Áf%#2h­�”$#óRÊÉj½L•—Ö+ˆQ’¬A0а-¼!@ž¶ÿ‘©° ƒ�ÚÌ0ûM-ÿ7;h­0Qìó?êÎ&jŽ O<7”””èêê–––"èêêÚ°aCqqñï™X,ÖÞ½{322X,VHHú���ß½{wEEE{{ûªU«¦¦¦�;–˜˜ØÚÚjbbâîî>66&Î�;G£ÑX,‡ÃÁ0,;;{Æ ™™™æææsTøš‘´´´ ƃìììš››Oœ8qñâE.—+‹ÝÝÝ/]º$‹KJJóòòX,–P(Ä0¬´´tÏž= 999vvvµµµ8ŽK3 M(²Ùl(†<Àår:”’’"ÂÃÃ�œœfH5RøÂ$@ñÀö@©ÛùJ$@ñÀWò g¼Íç¨? á"¿�š¤D±”´HñÄÄ~¹H•~-I¼¯41(Òò‘²Ž”xð‚ª ô#o2Q¥Í$ÿ¨‚t& –I]‰¿#ÉÕ‰t¥dPÔõ� Š}þÇRÆ ”_h6P"Ž5kÖ¤§§ã8N§ÓW¯^ýÏþóoû›¥¥%‹Åšñµ€F2¼~ýúÀ����l6»®®nÛ¶m</>>>((hll Çqeeå–––ÎÎNSSS(Èß^¸pAÎ_ÈÔÔtxxðÈÈÈ   Ù–1#„††â8þöí[�W¯^åææÚØØ0™L.—«ªªÚ×ׇãxUU�FCþB� >>žF£±Ùìññq›gÏžaæêêjmm][[;55%‰Ð2y}5÷Éè訙™ð†a¹¹¹7n\µjÕš5kçK}KIàË�Àgâ‘H499ùMÙÙÙ^^^Ÿ#ó›P(œœœd±Xl6¶$Ÿ ‡Ã9{öìùóç¿¢Z³0 ãñxl6›ÅbMNNBzh‡#—-‰ÔÕÕëëë¿B-† ôÂðù|‘H”‘‘accƒúÀ �N?|ø0Žã ÃÍÍíßÿþwbb"üÅ”ë)÷Öü?#0Åròüª>~8l’Ö#“Ô'V“Ô'Þ§±Ü@SÞ>`B8ä˜&II2¤îË4{éÿv ¶®”¯ <´¼ÏRϤŠ>D “£S€¤v�Ìn ¹¨ÖJ‰§Ð–™v÷5þù¶,¼¿P[[ÛŠ+  Öƒ<==[ZZTUU«ªªÊËË555ûûû�|}}{{{9NXXؾ}ûæxÝÉ<���­¢¢²mÛ6===]]]ðþ���‡ƒŸþ¹©©©½½ÝÈÈ¢icccOŸ>=À †ÅÄÄζŒy !!ÇñææfOOÏ'OžðxT;%�E(�ÏÁ`â[»v­¯¯/‡Ã™×]&˜˜˜HJJÒÓÓÛ¸qãŽ;Nœ81#rP<0¯‡µH:‹D¢·oßzzznÞ¼YMMÍÈÈ(%%E,PP_d·çÕï·¯'âT¿Ý¥.I6*å�-JFš’øc­ưqþB[Iõ`Ïضê‰dåtw’M@ªÇ“ABn ø¡Ft"s:’ZHÀ%¶|pšÑÍó‰rXx˜˜˜X¾|yGG—ËMHHðóóëëëÀqüرc§N�È_H,çää¬ZµjŽ×x~Õ××›˜˜´µµá8Îd2AãWä�®®. ‹’’.—ëãããëë PVVvðàAˆmèïïWVVf2™s§¾¥$ðHàsð—ËMLLüî»ï,,,ª««AJÍÍÍEEEoÞ¼ééé�ÍÑÒÒÒ†††ââ⢢"°"hllloo‡±ããã555èGÇñÉÉÉâââ—/_Âl8Ž÷ôôäçç¿|ù²¨¨ˆÜ~wijjBSFFFQQ‘X,îììÌÏÏÏÍÍmmmÅ0ŒÌåååð+Q(666ööö²X¬†††ššš¼¼¼üüü‰‰‰ÖÖÖœœœŠŠ Øjioo¯¯¯/+++,,¬®®þÍ_A_Àû³n¡¿¿ÿðáÃöööUUUãããÕÕÕ ÝÝÝ»víòññ�W«­­­®®®´´477W‘:::ìììÈ 9=zdbbòâÅ‹ÉÉÉööv•‘‘abbRWW—““S__{FP¿o||<88ØÔÔ4++ëÑ£G«W¯ÎÊÊ*((˜ššB"òññ),,Dž® ÉP'ó•À‡ó€ÚÛ‰üB;U%ö�½jË÷©-××Xn°EÉh‹Œ@9Þ*«O,ÓÔÑ>½DûGy�Ðö?@»¶dSßñô—… H½€`ZY¶" í•Óq0œ˜Ar!䕤µÒlî-ÿÙì³µËͶð<€ã¸���««kLLŒƒƒÃíÛ·§¦¦TVVîÙ³§¬¬ŒN§8p 222))ÉÎÎnŽ�yÇvîÜ™��PTT4::êïïæÌ™”””sçÎ%''ã8®È£££ÁÁÁÞÞÞÉÉÉfff'Nœ€?~Ïž=ÓÕÕ½råJffæÐÐÐïá333ccãÛ·o�C?ƒÁÐÕÕUWWGð ƒF£\¹r¥¢¢ðÖÖV‡„„„ÄÄĈˆHEêëë{áÂ…;w‡ÇÇÇs¹\øRä�ˆˆ;;»���Ù~Æz{{étzBB‚ººzPPÐóçÏ[ZZ|}}ÃÃÃoݺL£ÑÈ{E³ÍCµSXêø<044deeåêêjggG§ÓÁ»oíÚµŽŽŽ¡¡¡žžž¡¡¡===ýýý[¶l¡Ñhaaa^^^����Àü…¢££q‹ÅÏŸ?·µµe0HÚMMM®®®4íðáçOŸîëëc³ÙþþþÎÎÎîîî'NœhiiA�GFFÔÕÕoß¾�Zड¡ÁÝÝÝÙÙùرc¶¶¶���dÐÓÓgÂññq777:�^SScmmmggçææ¶k×®3gΜ}: ÀÖÖöC²-Ë-‰ú8_ `–——§©©IN2 »×­[·wïÞ°°°²²²àà`###ÿÀÀ@Ehii122"3dZZš¹¹ù³gϘL&ü-‰Dééé***ŽŽŽ°tãÆ kkëwïÞ™ššª©©ÁæÚ·ß~ëááqòäIrêjH&÷HñÀ|Ÿ5ÕIàÃy@õ{àÈ7*åõå’xb-¥ý�_h«ÄJ`¢µÂtë ‰³ÐVÂ_R ÉÔw©š~A ÊË\‰¤´J<úJþ_aAƈÈ{HŠdt!3Aü–q`6½¶öxÀDÍÑpáâ‰!Õ}bbbtttffæÈȈH$ºvíè¯'##£¢¢¢®®îÂ… gÏž�ŒŒLII™#±Žãccct:=***;;›Íf÷õõÑéô¸¸¸äädð>ª¨¨(**‚ýª¤¤$&“)‰š››¯\¹’’’âííæ…‰‰‰«W¯FFF¦¥¥ wtt<~ü¬œeeeùùùè�”;QôJKK{þüùÕ«W¯]»ööí[´/²gÏžÈÈH42]¸p!&&’, ‚òòòÄÄÄK—.ƒêßÖÖvåÊ•ÄÄÄ{÷î‘5E(,,|øð!y³] NÞ½{â}ðàÁððpkkëÍ›7®_¿ÞÛÛ+7„úHIà‹”À'ç Ê‹‹µµµ+**BCC½¼¼@%Z»vmHHˆX,nmm¥Ñh©©©ýýý7nüõ×_1 ëííµ´´|üø1²´··«¨¨ ±X¬3gΓ�Édvuu …Âòòr''§§OŸvwwëéé�oáØØ¹dJmmíš5kÞ½{'÷Ïœ9ãááÑÓÓ311áäätüøñßäccã+W®LNN¦¦¦~óÍ7¯^½b±XÑÑÑàØihhÈd2y<^DDÄÜ›8r‹¡>~œ௧žžž¢5†ì/lmmÝÕÕEöº}ûvXX˜‡‡‡²²rPPPXXØåË—…Ba{{ûÉ“'íììh4ÚùóçÛÚÚD"у455kkkÇÆÆìììnÞ¼Éçó�p¿ÿ¾»»ûèè(Ù_H(–––†ǦM›>ÖÞÞNñÀÇ=qj¨|---b±X$ …B>qðx<‡355…â^$Ú)~@õÛ=ªû€�úrCMi~!‰¿á oJ„H`€ žöšÖì +ÁVb__Æ ä=þif@À€BŠ € AC<Í0!2>H-ów’Óøçþ(±˜<°PñÄ‹ämæñx/^¼ÈÈÈàp8^^^×®]C;î·BE˜qž¶¶6]]]𠘱Ã|y`¾3Pý) |µøä< ‹awœÏç?~üØÔÔR¬¶’Xá IDAT]»’���Ÿ:u*&&¦¿¿óæÍ°‘?99pþüyÄb±ØÒÒòÊ•+===¦¦¦äDÆ8ŽOLLÄÇÇ{zz=zTWW799yjjêüùóöÄqíÚ5òv@]]Ýÿû_TyžµH$²³³»~ý:è‘ééé;wîüMprrzýú5Žã---ÿ÷ÿ¦�{÷îyyy�ŒŒ„……òù|¡PxëÖ-°o|µ¯Ösã"‘èÆ�ºººÈàŒ®+ÇçÎ� ²ŒŒŒ<~üøÒ¥K§N�Z¿~}ttô¥K—nß¾-‰0 ëëëËÍÍMNN>zô¨‘‘Ñäädzzº™™pé©S§¢££9Îoò@MMÍ%âØ¼y3�FKHH¸téƒÁ x=)êd¾˜—}`=Q�L…È/¤*É7j AðÀ¥ý[”l‘ñQØTRùKb"˜�@YG<€ “¡ý~²¢„°÷1Dzs‰àý IЇ×˜[éŸãÛi¡¯œD"Q~~¾ q=z´®®íßÏ÷Õ„þ FFF:::þþþ===3NrïÞ=“Ë—/Ïøí|«««���·oß.W`¾óPý) |µøä<Àáp~üñǵk×îß¿_GGGIIéÊ•+<oíÚµ�=‚HM??¿øøøþþ~555(9Âb±ÜÝÝ/\¸€xÇñgÏžihh<~üØÄÄ„ì‡�ãxXX˜ƒƒCAAAffæ¡C‡nܸ�ãøÈÈHMMMVV–‰‰ÉÍ›7Ñ3e±X[¶l¹rå j7$ggçÄÄDØINN644$óÀÞ½{ a+îèÑ£à/D£ÑÀ‰¨½½]II &LMMõôôd2™aaa!!!�@(Þ¹sÇÞÞž|EêüsHð7oÞhhh  u8ŽÃß²C‡¡xâààà .€Õñ$âñxõõõÃÃÃ<OÎÎ ‹þüç?·¶¶’ó GFFÎȃƒƒäxb‘HÄ#;;»§OŸr¹\�'‹)øïÃW2ç‡ó€ÚÛ¡Ôû€†’!ø mY!ÅPê `À\k…DG—%’€ìÖ#M¼†P6!Ä(Ș 0\æh$� Ùs�ô'æ‘ÆH€aãøÍA ›W˜lþ°|DÓ<°Põ‰ÏûÊãñúúúººº††† AÛïYŸÏïëë{÷î]ÿŒYÞpg0rÚ?ú¢\.···÷Ý»w³áÇGÏL ¤$ð•Hà“ó@FFÆš5k^¿~]VVVZZêîî~ôèÑ���µk×êëë3™ÌœœSSÓçÏŸ÷÷÷«««ÛÙÙq¹Ü¢¢"mmíÒÒR2ðx¼5kÖèéé]¸pAîq˜››Ÿ?^$íØ±ãÆ�UUUSSS\.¾EC0 »qㆲ²òíÛ· Æõëן?ž””dffÖÔÔÔßß¿}ûö¸¸828;;ÇÄÄ`VQQ±~ýzŠ�<ÛÉðð°‹‹‹©©iqqñèèhQQÑ©S§„B¡««kHH¬vF@7¢?PUUu÷îÝÞÞÞ±±±ØØØo¾ùf||üy€Ãá¬[·®¹¹Í'Tü€œ@¨�-�ç9!i<1‘oÅ —!‰q`…Ù–ÓÑÃHSGῠ߃ÿœC=2â\RŒúÈÈAºëOæHU €J’�Å’«Ï¡îoYa¢9 *BP<ðÑï5�’%�¯WŸœöìÙˆŒ�åååÛ·o¯¯¯‡ø�Ÿ~úIYYùÊ•+� ¿¿ÇŽþþþßÿýÚµkoÞ¼ Éõ‚‚‚V¬X¡èú_SS£¢¢¢­­maaqðàÁ7n´··›™™)))­\¹òàÁƒ###ä‡*‹322ÔÔÔþñ�üøã�^^^���SSSgΜùé§Ÿ~øá???>ŸOæ�¦¦&È|°ÿ~ŠÈò\lç}}}«W¯^¾|ù–-[ÒÓÓÅbñ›7o”‰ãæÍ›óå�²²2ccãï¾û&ÌËË“Ë7:‡}Çñ¨¨¨~øaÕªUd* x`±½6Kw=óå� ËvJý…¾•Äh(@üÀI²Q?`¶u¥©¶¤°D}Gý²¬A’�{ØÎ€ÿuVZl—xøH*€AæVùC§ �l^N€ˆáÓc%f‡ß #Ö$,³f,EIÒLƒakk‹®211zÔ8ÛÉ•+W”””455ÁG(***,,Œê7ÛÀׯ_Ÿ>}z¶ogkg³Ù‘‘‘***ýë_ß¼yƒ”’Ùú“ÛE"Ä�A=8ÇCCC·nݪ©©©èŸJN�SXŠøä<0›Ö®][SSCþx@Q×G}0 KHH°°°@-Ô %J ªþÀ×ü&Ì‹ ß(™ ž˜TŸXR�lë ‰¿Ð–æ[!Øã'w©¹Ü�P½0Ðû‰ÒÅR‡´åO-€PˆQÆ€9QØ€Œ¦ äÃk̨åÿf#Ê>´(xàoûÛàà`II‰µµõùóç9ÄÑÔÔTSSÓÔÔþ¬0G£Ñ^½z…þŽr8œ–––šššÖÖÖß ÿýÛßþ†x@(öööÖäåóùïÞ½khhhjj ÃÚÛÛkkk[[[»ººÆÆÆØlö­[·öìÙSUUU__Ïår'&&cbbkjj`¶Ù~2ýõWômTTÔ©S§*++«««»»»1 íêêÿ" Ãjkky<Þøøx\\œµµuUUUgg'8tr¹ÜÆÆÆÚÚÚööv¸w>ŸßÞÞ^Grù—vîÜIæ‡ÓÚÚ:<<ŒV"w299™——wäÈ‘U«V!ÈÈÈpttììììííUQQimm•E}¤$°Ô%°hy`rr²´´T[[ûùóçK]ÈÔú) |r P<ðÉEº„&üpØDäûÀ¦o÷ñúÀD=2iüÀ–’üB[Ð’Õ'&× FÑ$õ4xÉÿH¹—yþHÍd¯!Ùpd‚Â9a|�Í3§;ÐoªûÐ)ýsô_,<úkjjª““SKKKZZšµµ58A>yòÇñÚÚZSSÓM›6YYY9;;ã8. srr¬­­ííí-,, »Ål/1™Þ¾}ëëëëààpôèÑ��‘HÔÓÓcff¹ºMMM_¾|) »»»÷ïßïèèèêêjeeõðáæ¦&KKËÿüç?vvvžžž}}}þþþfffúúúäÌ¡Š+Qässs�vèÐ![[ÛþþþgÏžÑh4(<ÔÛÛûóÏ? ÔÕÕmÛ¶MYYÙÎÎ.11Lÿ·nݲ´´tqq¡ÑhÏŸ?‡0²cÇŽÑh4''§K—.‘¯.Ç æææsØ4:;;£££322ôõõœ þ€Ì_HÂËõ5—Kü…4•l–æ’Ö 6æ¥ñÈ> 3 L£ Ù~¿ À#hQ›LÆÒQ„U<Ž$$–”e®%u7šÉYèC”{9½_vl՗徟¢Åʹ¹NNNÉÉÉ�Ú?11ñÈ‘#ðÖ^¿~=((ý½äñx/_¾ÌÌÌþþþÑÑÑäœzŠ/:â¡PxáÂ…€€&“900 ªªÚÚÚ YüE"Qxxxdd$‹ÅŠ��·´´äóù¹¹¹™™™8ާ§§›››£ù'&&|||¼½½GFFòòòæÎí£Èúúú ƒËå8pàÞ½{���Ç�ôè†aIII�¡�ÏçÓétwwwtQHZòúõk>ŸûömooïÑÑÑØØXooï®®.6›�––Fö’ã�¡¡¡{÷îA&4çŒ'ÆÆÆˆêêêÜÜÜŽ92·´gœ�j¤$°È%ð‡ñÀ"—µp÷î] …ròäÉ+W®477ÇÅÅ9::‚}�J¥ÑÑÑ‘‘‘MMM>>>ÑÑÑËä�&22òÔ©S�æKMMÍÄÄŸÏ÷ööniiAð™L†Ãá’““a0§N�ZŠ þÄãããk×®}Οåb>¡T*! OMME¤³³3<<¼´´ôèÑ£¨oÃýÀÔÔÔÿ÷×ÖÖ>zô¨¶¶–D") ³ÙÌb±?~œžžîììl‰ÆËó�N—““sîÜ9µZ­Õj�9r÷îÝç¬û CàMDãoâSÃæŒ!€ñ�·ùX>Ø0ŸŸØR?°iÍ@í…¶ÎÇÚþÁ¡ybg�|ÀÒå@Пÿ‰ý?U –?h˜¡ã B¿�\4§+øå«£Ûç\™�Á>àËaKIü¨*`�r½¾íƒC«…ˆD" …rüøñK—.�ŽŽnݺ•N§Cäëëkkk ^ô[·nùûûóù|¹\n0�››[YY™P(ôòò:sæÌó}yÿö·¿�4À††† ¹\§P(žÉòòò C}}ýž={¨««ûùçŸM&“f¾XÆz>`eeÅçóu:ÝÞ½{ëêêQ*•!!!ÖÖÖ999ÀuØd2ݹsÇÃÃC1_@~ŸM›6UVVšL¦îîîòòrƒÁpýúu�`2™@b£ÙÙYtƒXÀx<^|||}}=Ú`© ª0™L………B¡P.—[YY¿Ž¥:b×1ÞDó�‰‰‰¬``¬> Ød ª««knnž™™Ñaåu#BÂ<ÿçÊÎqzzzhhH£Ñ¨Õj•J$%™L&‘HÄb±H$ …"‘¨¹¹ù‡Ov¬ÿŸ]ßþÃêûìÙðžõ†÷öm|Ïvã»Mkü¸Æ~󚃛ßw˜ó"xßqûÓÜdhøÑ§ƒyS{àmüô§åTÚþÅ#ù©@ÿ‹ØýkÇg^±ÐK8Ï%xßýl}ßqó¼‡ÃÖçþ´lÿü–àÛù”ÌÀ>juð�ÿø�ÿøøã�¿ù曨¨¨©©)³Ù±sçÎܾ}{Æ ‚°Ùlggçµk×nÚ´‰Íf«Õê+W®lÙ²åøñã111?ÿüsUUÈ�þLAÄÖÖöóÏ?···§Ñh333±±±Û·o߸qc||<AÏär¹üÀ�Û¶msww÷ññùD¥Réþýû×®]»}ûö–––—á©©©>>>¶¶¶6lFC$ÿðÃT*õ P(VVV_|ñűcÇ€·1…B±±±Ù´i“½½}ss3 ÃD"ÑÙÙyûöí?ÿüsnn®% ø�NwrrBsU.†‹Åb;vlݺuï¾ûî§Ÿ~º}ûöÖÖÖ±±±ÐÐЭ[·nÞ¼9""óXŒvåMG`10™L¬``¬>Ð@|Z­öþýû¥¥¥}}}ÌÕToG~éò’8õôôÔÕÕÑét4rp¾P©TÀaÉdr___ÿíÛ·×ÿkóWßúõß·¯{÷§ÿ{÷çoþgެÿŸÝßþcÏwsŸ½ßÿÓúûZÏG#µÞôžÍÆ÷læ9þ�sÌaÿ/?÷Ï×—ùô}F÷Mkž3¾þiƒNæ‡ù)­øÏ ïÙü¸ÆnËŽÀÉøõëV¹a2™`f³Ù/éo�½ÐRk¯®®ŽŒŒœ™™YªÁ½¾€üÑîX{ �·­VKÚ�¹åTöÁÀxð¿²É+90:5 +�÷ÐMkì·Ì[Ia|àyrŽL&Û¼y3‰D¡6™LæóZ/ã»ââbww÷‰‰ Kã~Ë~F£qtt400°¢¢~X~ûGë�„?ýô“eþ�?:ÖCà-Að�m�¹Öøìƒ!€!°úØ›X·ó\陋Ù|>ÿ-Ù¦°eb¬<Ïß-dã{¶›?pÚºüVdU¯n�[·n9rÄÇÇçñãÇ–8/vÇÚÚÚ}ûö¹¸¸Ü¿ÿ™#Œ��ÇÄĤ¥¥YZÿ?³år.j4šëׯ:th÷îÝÃÃèõÑrúbm0ÞB0>°úå?l†–Ìñ�ˆ;g1>ðnØØ’_ �§|`�팼�Xg  �¿°”´°:†ÀêGã¹m[П„€%Xñ…1‘{µÚØBUî} wÜd6#…UšØ|Ul¾ CÝÕ¯‡á?¥ ê£êùӦ߽‡gŒ/Vÿn³e6è4dÞ~:Ú´Ð\\©‰-TÍ} TWï<½ÁH/ÃXÞ¬•) 0,•nˆ-R%«uè–y#¬††ÀóÀøÀê—ÿ°bX"€ñ�çïiØ·K!€ò�m«Ç@¥†ŽËŽ_�ß{¬åO›�Fø[÷'áW”Wïk¯(ɆYÆ¥Ö³‚×900l@d\`²xRZ©1™�Ú&­{”üÐYùÍO[rÆM‰sWb¯(2•â'Ðßäx~N>Öé ëÕÚ{ÍsgçôƒOœÜ>L™®”ÊæÎ×åJèZ©úhø\ßÊú¹?$© J�¿k'ýÎãÉî3ò�%ˆÑˆàÒ”Ûd¼Ÿ€·D¥†ŠÊÕ1™ÊsiJdzòŽž§§õ&ò I›˜§ŠÍK½OWo«O„ÉÎ$)P>€¶ŠM;ýžô Ìf¤¬Fã&;rZæõ+<áÚmÆPа †ÀK"ðŠø€ûÕÎÊþ‰¤jš þ�‰Úgïôß$Ž�È%¬¬,•×ÂêõrŽ\qEßDø]rTÕ>­9«�YÐ>j›Ü~·?ó1ceoŠ�†!ðòHm²ù­¯ÿ«ããããCCCËgÑ͇Á`ôש¨T*:�Nù¥Èår.—«×ëµZíÈȈT*Õh4zýïh¾ä|ØlöÔÔÔrÜ)¥RéÐÐÐrZ‚)ÉåòWÇ”Jåàà Èé„"0==Íår\D¿}]³Ù<33C§Ó‡‡‡¥Réòü£~Ãø@7Uÿ•›´ƒ¤ëêן“Ý­Õö?8"¥ Tj(åšÒ'VNfNFËw— fÌôÃ;û¥‚¨Ôй,%¾D­RCÖAò¼»ªa®1ìâ%@äQ‹ö,^ÑBÒ÷ ê=ÏÊ 1™�úv­Ã©'%•ê!®Q¥}¶‰ #�¹¢QûÎΧ'ú2˜¬<&ëÐ_½¥Úí9ww`•vK}䜜?õ>jùÀfDæq�©¥S·˜\)R…\”k´ #â'Ðßt»R'Gõ°D«c¬¯‚ìKj¼PFQéMuƒ×ìÎ?$½">ÐD›ºE ("‘NæíS›íçÅ,”¤<¢W‘'—3Õ?Êp–3&ÖC`)| Ign÷í³Pa½">`2™H$R{{»Dòôÿúåï0¯‚Èd2*•:33£œ/¦ùÃ0Ê Åððð2/@rÐå¿:>A�Ù¼äù):�«,Ÿ¼ 8/67Ë^0 ‹Åb*•* §¦¦¨Tê2Ÿ©å ˬ¿1|à��âwvIÿ?[iÑ=•ÙŒdÝQã3" #áIò³å3B³w„¬´JÃÈí µó©'ÏäÄݯ'‚Ù¹—ŒÁ5þpâ‰ÁW7jí}¥÷«5Z¤Õ=ýèFïpÙrì…æX‡À%+3îÌMƒÍ5¼cýëÞ¡7"Zýï¿ZÄž…|@&‡vœzÒAþ�ãDeƒãË|˱f/†À«àŽ—Zï�ƺ8âGƒ‚ˆ»d èŒLËóÛXã’®8¡rh_R£sF[רè&�ÛÏ“P'žD= ZãP>p“0–ÕÈ}ý IÉ“žyDTfrÏ!ôpųr-�ÿ$¡rHK •ƒ¬i¹P¡àI-[ãšhSéõ¿ÿGݧÜ$ŒºÜøÀñ\¢X©S茣³Êk-,|Cô*e\*x¢)ï›8�Òd—Ü”RKï` ë§Z†gÜþ ÉA§�U0þ(§nôÜí�,£ _˜™™éïï¡Óé`3™šš¯úúú A0 …Â��ƒÑ××7:: ¢„> T*Y,–RùÔ´xppP(¢û’Édâñx$‰H$2™Lp¬Ó醇‡ BWWׂ3x™LF§Ó-Ó€öôô¨T*À„B!‹Åjkk#‰½½½óÇ…&“ÙÕÕ500 •JaÖëõD"‘Çãõ÷÷OLLÈd2±Xlyöl4 †®V« †F£1›Ít:Lill ¤cb±Xýýý�Íf[ŽV711¦Ááp€~Àl6ƒÅ’H¤ÉÉIAd2ƒÁóf³¹··W§ÓMMM±X,A šššêíí%³Ù<>>ÞÝÝÝÓÓ3==ýLÚ(�@èíí,†a™LF&“I$ÒÈÈÈÀÀ¸ãôô4‰Dêïï§Ñh@? ‰††† ™LÉŒûûû»ººØl6°&R*•`Éýýý‰‚ .—ÛÕÕÕÙÙù‡t è °TÅl6���q8x¾Ðh´ÉÉÉß—#—î¹×ß>00lèèÒýÍA*WÎYøào¨ßÙ)yÇZòÎ>é;ÖÒ€HÚìü¤¶I‹ HuƒÖ5xŽ ³~ÕDÌëj4ï�¾³w¾£�ôGï'B±É`DîViþ}lîzb¶š÷Ñ}q>�ªÌ¼?gtÄ›4½³÷W>ðÜñë—‹ù@uƒöD¨lBðÅÆ~… «a¼^pËî$ó¤Q¨e=ã­¬)MÖøžXÝLŸÞ—Ôè_Ô]M៹ÕëœÑΘ’ÝîÛ—Ôè‘Kè“xt¡| øfuBjƒo´MnÂWÓ’'-�HÝs¸=vÉMçï‘iS�7z\²:I±_Éßp,«Ã9£•ŸÈnqHkvHk>�Òû€ZJâ9g<å¶É�–ú�ˆ»ä¦á™à›=ö©M�¨‚’N®]rSVspòI@q·å°XCàU#pêFOYïÄ#ª ²Œ ‡^€a˜F£ñx<•JÕÙÙ Œpø|~oo¯L&ƒa˜Á`‰mzzº§§G&“¹yzz|+ ‡Ã†CZ­–D"YJ±&“I¡P £ÑH¡Px<AÓÓÓ Ãd2�F½þ7§‰2™ŒF£Éår“ÉÆ!‰J¥ò™ú†GFFX,–Ñhœ��e0jµZ§Óµ´´Œ��#ÃðÄćñœ’Ñh¤ÑhÀó˜'i4>Ÿ?88A�ÉdÒét€*b4&&&,7c‘HÔÓÓ£›/d2ÈÊããã C§Ó †žž±X¬V«GFFÄb1‚ B¡ÜB €,O333ƒƒƒ2™ ‚ …B� ÈôôôÀÀ€N§S(4M*}jˆaykµZ­R©  …f³Y§ÓÑét>Ÿo4™Lfww·Á`Ðh4]]]J¥R­VS©T&“i0„Ba[[X»\.”H$F£t‡axppøBèõzƒÁ ‹i4xFjµz�¼n6›�ýi6›A›ç|Öb6›¹\®%YLº,þÂõ§|ཹx£ÛWIþ•ZÊàp�,64‰Î IDAT>Ka6#yešÓx…`fN?0#4k4ÐŒÈìsNV|_m6#¹·Õ}çì…¸<ã;ÖR³ŠÍ¾‰r|‰ºŸªßëó„ÇŸ“­UjH(™SÈ�ä d†&ÛðÎ^Éä¼äM6ž<+ë é  a)”êžÅæì|dÐä¬Ùø{¾Ð‹ù@l–*&CñDþ4”˜Æ–zØu �•B`Åù€ ¾_MëÛ§6'UÓ N\›sà‰Õ¡wú¬ñ Né­ÅœÌÇŒ9> �yçÏ�úLk.!p3ê(ØŸÔȘ’\ïq¾ÜVÞ7_1h)xíKjtÍêð¼Fú|>p£ƒs·›çWHòÌ%œ-%³fv)M™ Ì=ã †µœVÇx | ”Ä;šÙa�ox|@¥Rõõõ�Ãx2™ Ž´ù|>‹ÅÌr¹¼«« †áééi�Ä5 ÍC„Ú MMM¥Áøø8›Í^°M�F­V ìþ) Ð6 ‰Åbp0oÙ^&“‘H¤îîîÞÞ^*•j4ŸÃ êêêãZ&“étºÖÖÖçH–Ïä³³³b±X«Õ‚“r6›Íãñ‘˜��¥R©–óßÊ133344¤×ë�T­™/‡ÅbõÈøø8AL&“ÏçÃ0 ø€Édâp8–Böàà �Ç#0™ÌÊ0‚ôz=hÀQ*• Ð9±X ô<�Á`€.l6ð2™ T|>ŸF£�qø|>�NüŠÍfËår½^A gÀ“{qêXƒÑßßßgQ˜L&0û¡Óé ¾ÑjçεA�aX$Q©T‘H433ÓÝÝ ”Q¿|¿’ÿ¢ú�­8­–x£Ïá„~ÝÆãO Ý€‹–eÞQW¶é.ȆµÊ(R —W4iÝÎÉwyÌñ�úÌIú Q[^§Ýá-ÅßPët°K”<µPYCÔg^WåÜPÿ�¸,eU‹¶ºM÷Íq©hÞåw”gô<';wEy¿IËž{ºø �©±[Ÿ]ª~ç'q QO4ˆ$fܳø€Ñˆ¤ÝT—O.í?0Â5Öwé“‹TïXIj zòðu€ Ä3Aqí¾Ú`˜3d‚á9§ê‚þÜ•í)Ya…šÁ1yƒÆü‰?#ì †À #°â|`R#‘-jž9{§/«�1Ärþy_R#O¬,鱯78\šã9M#Îí4þÏy¶`ŸÚ\4åÖø†+�™5�o‰ÈÍš“„ÐOà�žGT~ý  •1;8)M®¦YãüŠH·ˆ\"[TKáût¡�Èi9t¹Õér«}jó3ø@íSÿ�}I�wºÆè|YEP3À¯à?$Ï™ ]®gÜ&ŽYމÕ1þ¸Ó5æÿ‹nêUð�‰‰‰¾¾¾ÙÙY©TJ§Ó©T*A|>µR*•���0 ÏÌÌ ¹>ggg7@ù0’H$T*uÁ‘¶N§ãñxôùB&“ûúúæÝ�SSSÃÃÃ333–‡÷2™lhhH&“�F“ÉÃðsø€Édjkk£ÑhŒù �t:]GGÇsöFpŽê€L Ã0:¥ÉÉI“ÉÄf³'''ÁܤR)£Ña�pø0ÂÑh4CCC Lfxxð+`ã$•J)ŠZ=$ð£Ñ8::º Ût?°Ëb0t:]$- 6ÀìØw ǹ\N¥R�uƒÁ0:_À„Áèè(àƒƒƒ‚ †IèlÁQ½^¯çr¹CCC¨�¯X,f2™T*e‰(‰dö·E*•‚i,þJ&“�¯Ðî&“ ¼W,‹B¡Œ��[R#´ÙËWP>°mÕò³¹X¤š˜Ï RC97ÕͽٌtöêÃ2•^IŠüRõüŸÃœ Ÿ«<�¦<Ÿª88g/„ ȽjMHºòÚmuÎ]õãî9_û±qS\ŽÒ+YŸ«Ÿ�×)› ËÔ!—”gÒ”õ­O™™V U¶j½ð ¯$�¢ÿmXª§È·wëO§+½.*NÆ+¼ðŠÄëj±º× m%ÏEC’<�/=54›‘F’>ï¾Fòä7Çü–�°ü±6 Yy2qn4o¼"çîÜŸ„ÙŒ\¯ÖöÒ�@GAH I?wÇDÅÉ„¹ŸeõZ�~Ž*`|ÀL¬Ž!ðò¬88™G)tµAEßDeÿ�ÿäz'ÇñR+O¬.jµKi:™G¬èŸH¨œ;ÑgdiµôýI�îW;›èÓÊ(–|àXVÇ„Ds“8VJâ-¼j(üâÎþ䯓yÄGTAr5í@j³sFÛþ¤ÆƒiÍÍôé«M#–]æý†Ñ+‹ù@BÕPÃаǸ\7|»kÌíj§ ¾Á>µéhf»]ò¸Eà¢#` �?�S7zr[XÀÜqÅù8&§R©#óexx¸¯¯O.—Ë¥R A�Ç£R©@?@&“ÕjµÙlåp8–ú³ÙÌápètúâÈ6"‘ˆÉd*•J†ÇÆÆúúú`²>A¨y=ØÖû,àJ¥’N§Á‚ …" �“ƒÁ`€ hÐëõÀþÝ6�QÍìì,ÐTP(�F£×ëý …4M­V³ÙìááapLÎápFFF€»‚V«fH###0 ;ø¡¡!£Ñ(�z�5‚ jµšÅbÑh4`ׄò°|6› ¬q€Bftt”Ëå‚™ K¦æ� %èìì”J¥jµzhhH¥RVÓßß�Šþæù”èE@c„Báðð0Çl6ƒã�NA�Ñhd±Xccc Ò+‚ Z­¶··wÙãñxÌß–ññq�n.ø$—Ëýí7ÌñññQ¡À�Ìf3ð�^08ú¼^¾bÉV©½Ð ,²¾EëvZøÀ tC»`|à }pØ´W-+ÎnÇšéÓÓæøØ§6Å”SÛYÂã9�<±úáÀäõöÑòÞñ›®ÛÕNçŒöÁÉ'ú&ŠÛGËzÆïõÌô[òk|C#}zL¤¾Ù»@öJ­®¥ðÓ ç4�´�“«iDz:®6�Üìä^ïàÔR ºü.ð)ìê劋ÛGÃïô»ç ÚØwºÆJ:9Åí£1åTŒ,ÀûõOCÀ=§óÄ5‚eÈÑçb±xppP.—‘Ñ`0ŒŒŒp8>ŸO&“�Ð?88œtgffzzz¸\îèè(�Nθ¨~A�™™‰„Ø [ŸR©d³Ùccc�¸#C$‘H€àË`0ø|¾¥Ôû»|Ì“Åbñx< Ð3™Lî|™œœÒ?ªL=æ³B&''Ùl6™LÖh4"‘L Ì÷T*ظ û~¡PÈãñ€ƒÁçóùÃÃÃÀ@&“±Ùl‡Ãåry<èAÐØØ�@˜žž‡ý¨ÿ€J¥bÏ.— ”J%“É#p¹ÜÅ!w€‡ÅbñùüÉÉIÀL&X °õêëë3 &“‰Á`ðx¼ÉÉÉ¡¡!Ô^èæ£ÕëÆÆÆØl6—ËN<Ü�Éd …B™L666àä}²@É^ËŸ¨ÿ€åEP_pü¯Óé8à]ããã ´–7zÉ:ʶ®*ÿ�C8ÙFÏ'g/+‡˜¿gnÿ,ÞB>ÐÞ¥;%ßxBŠåxÖ�]ÃxVœ„Þî³´ÕqJo /íwš×œ½Ûó€UF9ž3wôîœÑNæIÂn÷Å•S£Ë(nWç"“½ÒîWHrHkòVZÝ0e\jŸ:ç‘lùq¸Ôzþ9¢´?¸¤7ðFÏñœNûÔæÓ7{ã+ã+oôìOþMÞƒÓ%½–9 ܲ;Šºç”׈>]û’çR”öÇW ú’lð ®Ùçî’*‡¢Ê(¹„}I�'r ~…sÎÊØCàÏD`R£%xþZ­�°ƒÀ0¬V«�~€Íf‹D¢ÙÙYàU ì…€îìì¬B¡r­\.GV…B±ØXØ©+•J±X,•JU*•D"ÁC…BáÌÌŒX,çâè.f0€31zE(�F³Ù ü’ç<$U*á|ã+ `´‚r›ÙÙYËEí: 0X’H$b±X.—­V‹N œp+•J…B!‹Á’�,«ÑhÐå«Õj‘H$•J  ”Z­ …³³³‰]šF£™��EOÇÁ à�P5¸b9Âb“}Aôz½d¾€é�» ô"ˆ „ \*•Êd2à‚¬ÓéÐr X H$Æýr¹Ód2�agff„B!ÐÉXÂø’u“Éœ€OóKŽöœî–|`ÎÀùGÇ�¾¾?î}$xv?§ó«øj‡¿ì‡OÞÙ%yg‹ø�ŸÅŸ9?Ùtò>;$}ÇJ²Þýw|�{­’.kì¥sˆmÿ?ÖÒM'ŸÜ©šíU<#lL �·�çK‰J<±Úë·6ý€ðÌ^û“ç\„-â„>³vCà­B`ÅõKíu|>˜¬  xŽàŽáY,�¤ÑŽXC`5 `ɶ~pè�C›^3à Ì>öyYäª%½VÃk‡ÍCà�@`Õòï‚®a�ŒÀ¡º‚·JæÃ‹!°«–�Fà ‰„¼›ájž¤Éd�zú)\.×Ò¼j5O~õÌí)xÏvëN[VI¼QµZ}ôèÑ÷ßçÎ�ÍÍÍ·oßþðÃÿß_Êßþö·˜˜€`aaá‰'Ð/ëôô´··÷ûï¿ÿ�ü£  àe†Z=}ccc»ºº^`>MMM_|ñÅÇ, ¢R©®\¹²víÚÏ?ÿ¼´´Ø´q¹\›÷ßÿèÑ£è1É¥K—þõ¯}ùå—ÙÙÙ@Z^^¾aÆ?üðرchF£Ñš˜˜¬ U*ÕæÍ›×¬YóÁ|ôÑGÀKÉÃÃcÍš5›6mª««CÄd2]¾|ùóÏ?ÿè£�²³³Á<étú¡C‡>øà;;;»`ñüÿÌ+ÃÃÃëÖ­[êŽd2ùÓO?]³f�——ª9]ª1výÏDàOãû-¬¢‚ξE¶èWÖø†ýI�X|OK@°:†À«°zΆóL±þ™Á ¥Ôsľza¶–?_x¨·¶#àæó¬">€ÃáîÝ»·à©¼ûî»h˜X³Ù,—Ëét:™L’¨Ùl¶wr¹\&“I¥RÀu:�h¾,NƇaX©T^»víÈ‘#½½½³³³ƒ†a`»LîPK8¥R) A_†åóE$i4±XŒŠ¶ fA�J¥R*•R©tzzøÝƒTyB¡P*•)D±W@x`“ɤT*�9jÐìE"‘X,F˜L&±X ú[:¥Ryøð᪪*`Õ‡NI¥R�¼è•™LöÉ'Ÿ„ÉÉIwõêÕgnpuuuäù²iÓ&>Ÿ¯Ó邃ƒccc%É… ðx¼\.ïììüúë¯ù|>•Jusskhh`2™G�miiÑjµÎÎÎqqq���ÇÆÆ~ùå—±±±€(•Jkkk¬�arr²£££Z­®««;|ø0—Ë­©©qss£Óé_|ñpí�‹‹‹��•J¥çÏŸ_JÈFACMAºð ½€i °\|†a…BÞ ù5›Í‰5�t‰Dýýý_~ù%°zÔjµ"‘H(‚(èÒªªª<==Ñ›¢×±ÊkDàOã˜$‡!€!°"üiú�׸/a·Æx¼©|`jj*::zãÆ�ŽŽŽ@?Àáp6oÞ|âÄ WWWggg711a2™RSS<èää³ sT­Vçåå}ûí·_|ñ…••Õ¾}û@®ìëׯ»¸¸„††ZYYedd1‡Ã9888;;_ºtI"‘øùùýôÓO±±±®®®ÁÁÁÏ�ÅbqTT‡óôôܹsg]]�Éd9v옓““»»ûƒ@\{{û€€›ÊÊJ‹öøñcAîß¿äÈ�½/**ÊÁÁÁÉÉéêÕ«À륱±ÑÞÞÞÙÙÙÛÛ»­­ A�¬¬¬ýë_?þøã¾}û.]º„¾= îîîÓÓÓè••êêê½{÷¤û÷ïYfÇ� CnnnLL ��ÝÜÜîܹ£R©vïÞ 8[cccpp0›ÍŽˆˆˆ��GD¡P\ºt)55ujjª»»p'<�Ãá¤Rinn.� ¼téà …bóæÍíííT*u||ÊVVV���‚LNN†……UTT\¼x133Œvîܹ˜˜&“@ P({öìA}¹¬´££€vüøñÚÚZA FPP�“““ƒƒCAAAZ­öÁƒ‡¶µµuqq¡Ñh T™ŸŸxòóó —ËýñÇ<==���[[[Ífsyyù¡C‡>ø€D"ÉÈÈptttrrŠŠŠIÔÁ¬0>°à鬆_ؘcûû``¼DWþR|:áÊ‚ˆõ«a?Áæ€!°š@í…¶¬žüjµúwõÓêêjooo”X[[ß¹sÇÛÛ»¶¶ÖÑÑq``€N§¯_¿~rrrffæüùóÅÅÅÏ”×),,ŒŠŠ‰D`d³Ù\QQñí·ß–——£yÂóòò<¨Õjétz@@@mmm@@@vvvFFÆ®]»ÆÇÇ­­­Ÿ)z*•Êøøø}ûö‰D4Oµ››[ll¬ÉdjllÄáp###©©©gÏžU*•<oݺuUUU‹ùA�=rvv …L&ÓÃã»»AWW×ôôt…B144ÔÖÖ–igg×ÚÚºàý«­­-**ZÊ A�«W¯zyyq8œ†††šššS§N¡QС EZZZjjjOO�F;sæ �W(ß}÷ÝÈÈHGGGmm­ŸŸßÐÐ�»»ûÍ›7ûúú:::òòòΟ?�Âf³wïÞ qp1-- åJ¥rÓ¦M'NœÙÝ×­[799ÙØØH bcc ®_¿ÞÑÑA&“óòò¼¼¼(ŠŸŸ_}}}GG�Fûþûï—ÒÛàp¸„„¹\ÎápjjjL&SLLLbb¢L&ãñx_}õ‘æããÓÐÐ`0²³³ËËËÍfsFF†§§§N§#‘H~~~D"‘Çã}öÙg���:�.'''44T(úûûß»wÏd2]¼xð�æïïßÐРP(îß¿�ñôeX�­V;84är!ç\AöÁÀXý„_«Á¥ÞŒMÍBùA@å‹ýÄÀXŒ*£ú�Í>àààÐÞÞ~þüùööv"‘X\\üÝwßåçççå幺º&&&¢¡¬È ø õµµvvv333hKww÷Ë—/Ï%“H¢¢¢ *++KJJÜÜÜø|¾���¥„‡vT«Õ©©©ÁÁÁ–�c×®]žŸŸïââÒÜÜŒÃánܸr…ØÚÚ>“�Ƥ¤$kkk°¨�;w>|øÐl6ß¾}ûĉx<¾¼¼=û&@gµT%++ëäÉ“eeeÎÎΕ••þþþ– €^ …"%%åâÅ‹çÎ�ËÎÎ>uê°û_¿~}cc£ŸŸ_ff¦��Ïàà ››[IIItttHHHnnnDDahhÈÛÛ;&&ÆK>`0îß¿Ïáp€Ù�—Éd_}õÕÄÄÐÏDGGçç燆†%&&æææzzzR(__ßììl??¿ºººo¿ýv)>PYYéî˜XZZ:11!—Ë===ýýýóçËúõëëëë‰D"x¸ ø˜­‹‹ p2™žžÆáp>äñx_ý5A&“©¼¼Ü××�F"‘ˆ ‰D|`ff&999((èÊ•+ÁòmÄôK½�¯ñºV«º~ýúkœvk  �å#`2™ø|þýû÷Q>²€q°‚!€!ð,€•‚ (XEù^X?àèèH .\¸ÐÑÑáââB ®_¿¾aÆÂù’ŸŸßÝÝýÌ8µ‹õ€=zÔ2.˜%ˆŽŽ| ¦¦ææÍ›€€\ 6/µZ�™™‰ºAƒo¿üòËÈÈH0·{÷î���ãp¸ââbÀlllð�[·n9rÄh4¦¤¤ìß¿tÌËËc±X }]KKKNNN```vv64_Œ”——[[[«žÒÒR·XžÖétW¯^�ŽŽ¦ÑhcccÇŽ»qã†R©üùçŸI$•J½{÷.‡c±X¡¡¡ L&“D"¥¦¦&%%!288èï‘± R¯%Ðjµ£££«ÂÂÂsçÎMMMíØ±ƒ@ ôöövuu…„„”••ÅÇÇ_¹r¥»»›ÅbEDDDFF2 W^^N¥R[[[wîܹà.èÓ1�íííyyygΜILLœ™™ñòòÂápè 3::J$]]]�S²F£‘Ëå0 [ò�ÀÀ@ÀÖ¯_ø@EE…��PA:;;Qÿ�@PYY™’’âââ‚f¶GãèsY=Œ¬žg�ÍC`9>�œ/®øQzYöÁÀX&qE5¶!æã ­–üÄ+ȘLæ?üÀçóÕjuKK …BYjCy¦~ÀÅÅÅÒ¿³  ààÁƒ:�ŽF£�:uª¾¾> `ù| ..Îòî'OžLHH0›Í\.·®®N"‘$''Ÿ9sF©Týõ×UUUããã!!!ÀF%$$äСC5449rD(J$’ÊÊJp ’””499i4oݺ l¨œœœnݺA�e‚ë‡æçç?Ç^ˆÏç¯]»–B¡LMM�={6##¨“†‡‡q8`0 ?|øÐÇLJÁ`ÐéôíÛ·³X,­Vëïïùòe©TzñâÅøøx‰DòèÑ£-[¶ÌÌÌÐét//¯ššš™™়80”% …®®® C$�9s&--M©TFEEùøø¨Õꦦ&ðmYY™¯¯ïÈÈŸÏ߸qckk«P(Œ‰‰IKK“Édx<þôéÓ–Çð–� ;;ä‰|üø±›››X,NHHHJJ’Ëå …âòåË�fxxØËËëñãÇF£133óîÝ»f³933Ø ‰D`ËÄãñð�ÙÙYŸÒÒR½^ ø�Ç»{÷.pywttlooGUu°|4«¤Žñ�Uò °i`,ÀNgÜßy®twT9öÁÀX&;#îlغq>¾Ð›Äª««ííí7lØðé§ŸZYYùøøp8œÅú£ÑxåÊ•ØÙÙ…††.Vc¹¿,‡ÈåòS§N'?…N§S«Õ¨u¯P(ˆ’*•J,K$4S·^¯×ét …Âl6/Ç$G%i°©�˜•"‘ v)•J�=ZUU… ˆN§“ΕJõÁh`QèœAhK±X,“ÉP›(½^B[¢™·¼r¹Ür¥‹7YƒÁ ‹E"‘eLLƒÁ0;;‹B²‚°§è<A(@ÀÈ ¸X,qŠt:úì„B! ͬò«[¶Ó@' }¢BA²q0[Ô¸Ëd2Éår¡Pøü•¢ Y†|�MKÞ©T*‰Ð°³0 ƒfR©¬ÄëÕëõ@õa0¤R)ˆN É R«ÕàÙ�¼è(ø@¡X=Œ¬žg�ÍC`9`|à-^±e®8OùÀÛ- ™óªáwîÜ1™L¨¸œ�à/Ó‚ ”üe…-d)`6�åååXþ�¥ z]×_0�†ùb4ß”ýÍl6ƒ9 “ÉtíÚµÈÈH¹\~ãÆ ‚ çœ¶¼®Ç‡Ý÷-Dã+.&b¾% |à7ù‰í¾?î}$Í/û'ï)Z­600pÓ¦MG�}±ôºò„Wüv555@¼æW IDAT­øÈØ€«�¶mÛ¶ 6„‡‡£º�U8Ï·pJ+ÎL&ÓºuëþùÏ®]»vÇŽÅÅÅ Ô†+2ªÄ[‘Ññòòú¯ÿú¯Oæ‹««kMM …B1 €èõúœœ4tØóoºâs{þí°oÿÚ%°åKø@pƽ?ß^è@JÓ±ÌöW!;Ú&7¹ÒþÌ,æ¯âvؘo'ó| øüšŸøõò�¿öþ…­CCàMAàUð�íÛ·WWW«Tªk×®8p€L&S(”±±±ÞÞ^ …¢×ëGGG»ººz{{% tº»»Ùlv__…B‹Å0 ëtºÁÁÁÎÎN‰411šq8œ‘‘‘��"‘Ãðää$‰Dêîîæóù ï5 ™L¡º„B!PSp¹\"‘H  jzžT@@@XXP˜L&�@ÀårM&àR©4<<ÜÍÍ­««kjj ‚ ¡PØÓÓC X,°Û´œÛ›òô±y®~B~~þÔÔ:ÕWÁ¤4�¼F<}³÷ÌÍ^ß‚®ƒiÍÏ”ƒJzúÆÄÏüê™=¯�ev<ó«Oæ›éÓîW;\Ç~ÅXAØðžíf`/tøG§�¾^Ÿ~@.——••�¿í‰‰‰¾¾¾ÅQhпü—¬LOO/Nׯ„ hrr²¦¦æÞ½{�?~fVÐR«Õ‚˜’/9A†‡‡AÂ2"‘Èb±^`L>ŸßÓÓcéÁº`` òŠø@mm-AõõõŽŽŽÝÝÝ»wïöõõ=wî\rr2�@8uê”���‡‡GZZÈÕýïÿûÔ©S.\ð÷÷ÏÍÍ•J¥\.7$$Ä×××ÃÃ#((ˆÇã!röìYggçððð°°°±±1çíí}òäÉ . ¡{Ác ðõõ=zôhrr²D"‘ÉdG�õñññ÷÷OOO_o Àòø?77÷üùó¨½�ÇÛ·o߆ NŸ>ÝÖÖ&"""¼½½}||p8\{{;‚ aaaèܰW C`¥ þþþ©©© $4‚ +Îlð ‘÷j(üúAAUp¯‡çSHz¦öGù@-E�^ÏxæP .b|` د¯K>ðÔŸøõò&“ùñǃ͢¢¢âôéÓg¥öŽã477;99-¸~•J¥‰‰‰8.11ñøñã7nÜ®‹»¹¹-¾þW"""ÒÓÓµZ-Ažžž¹¹¹/0Hmm-‡{N8Ñë‚!ðv"ð*øÀÆ�½½½SRR<==CBB&&&vïÞj6›…BaXXXJJŠR©±µµBdíÚµÙÙÙuuuùøø�H$@ ÌfóØØ˜¯¯/ȘvöìÙãÇ� †ããã}||ÄbñÔÔTPPЭ[·,MÑ”Jåèè¨Á` ‘H¤Ñht:ý“O>a0z½^&“-ÐøúúZYY]š/���YYY–|`�½Pqq±ƒƒƒ@ Ðh4yyy���Z­6,,ìøñãÓÓÓ–¦oçK…­z|ÀÅÅ%55„ÍXq>p µ¹‰6•Ý8âp©å@JÓñ\Âá+sFA‡.·]¸?pµq$¥†~8cî Êlð ž×ˆ)5ôœ&fäý`çs0­ùì�þìFfVÓ·�t2�HçËZ³é�†ý IR›Cnõe50¯Ô3N\#Xãlð G3Û“«iY ÌäzûÈ,¦xB06&ŠÀ›Á233ëêêÒÓÓãââH$‚ T*µ¢¢B$!RRRŽ „BaAAAdddrròÈÈP‚÷÷÷ÇÄÄÄÆÆ>zôÈô}}}QQQqqqKñ�±±±ƒ³ÙÜÖÖ†ö­ªªŠŒŒÄãñ$ ‚ ÑÑÑS§N­[·.$$$66vvvV«ÕVUU�¬´‰$22A�ÙÙY��Çß¾}Û2€åÎøL>Àáp²²²"##óòò€©±F£©¬¬<þ|bb"•J–l6;22òâÅ‹.\|@.—_¸p!>>p*¥RYSSS[[›••ˆù'X‚�Õ1#ðŠø€¿¿NNÎíÛ·GFFÌfóîÝ»?~Œ —Ëݹsç±cÇ"çË÷ß_]] Ãðºuëúûû™žžööö®­­U«Õ7oÞ<þ|pp°��Mbb"Ðdffj4A@L^0޵µ5àèÅbqaa!èþù矓H$™LæãããççÑÐЀF ]|}}÷ìÙsy¾‰Äìììçð+++pë'N;vL „……eee�¹¡ÓÀ*/‰Ê®\¹”i+ÏRšê¨‚RϯˆdŸÚ„§ƒiÍi�èw»y—ë†o¹wºx–|Àóñ&q¬ •u齎*ˆ)§Ú¥4Å”SLf60Ò •ôÏ% ŒK âÊ©Þù]Q(e½™�™W›FšhS—ZÒšs›Y}éuÕý“4þŒ ’+VyXò�_ý^£½Ð3õvvv½½½EEE®®®F£±ªª*""bll øºåææ�ÆÚÚÚ   ¶¶¶œœœòòr­V+—Ë÷îÝ{ûöí²²²ÐÐЖ–¥Réêêš——×ÙÙéææ¶@»M£ÑT*•N§ƒa¸¯¯ÏÆÆæÑ£GÅÅÅgÏže0R©455u×®]---A­V+ŠÈÈÈââbAÆÇÇAÔy6›ýÝwßeeeµ´´xyy577/0ç{âb> ‹“’’âã㛚šüüüŠ‹‹a:tèPuuu\\\LL Ðì>|øâÅ‹uuu'Ožôòò’Ëå¹¹¹gΜihh(**rss‘Xcbb¬­­srrêëë¹\îKîÅXw �¿6¯‚lß¾½²²Òh4¢'å»wïîììDdllÌÑÑ1==½}¾´´´€¿îuëÖµµµ�-ÅÓÓ³®®®¨¨èäÉ“ �=òóó‹ŽŽ| //œzØØØœ?ŒÓÚÚÊápÐ`Íz½¾¨¨Èßß¿¾¾¾¦¦fÆ ���Àß ££#;;ÛÛÛ{� d@@@hh¨n¾˜L¦öBz½>775(ÂápþþþàÖmmm è ¨þÚ/¶º?À®\¹òð¼"{!ÜõîÛ]cmLaWœßÊrLoõ)è*ë�8�¼?©ñhf;{FqøJ;ª¸ôhøn7Ïíj群Æð»d2Oz4³ýAßDr Í.¥É6¹ñ@J“ ¾µ:–Ùq‹8–öhø@JÓÁ´æ6æìùûnÙ�Ý1îz·mrcbÕPߘã¯BÆÆD|øÏÙ 9¿nÿ�¥øÀ­[·áñxVVV³³³ÏäwïÞutt¤Óé2™ ž¯­­µ²²ÒÏ—´´´ôôt�0 äôÍÏÏ_Š˜L¦ÞÞ^·mÛ6‡îîn³Ù|öìÙððp³Ù,.\¸pïÞ=A***@Ä=°÷-ÅvíÚ500APTTÔRçdÿ÷ÿ·eË–mÛ¶­]»677—L&�,¶ 666 �8VlnnÆápL&S.—¿ûî»2™Ìd2]¿~ÝÓÓsjjêðáà àýÞ½{)ŠÙlŽŽŽ>qâê€ø'ìר-0Þ\^¨­­µÄå2™,>>þôéÓ³³³:�®«« ¨?ûì3‰DrûömWWW …AÐøø¸µµ5Êòóó�Ì]\\lkk;66f4ét:ØñÀMÕjuttt\\A���_~ùegg'—Ë%“É&“‰L&»¹¹ÕÔÔXÎðùþf³¹¤¤$ ÿ?~üxË–-CCCñù|�0,, ã–�bõA€@ ܸqÃÒÁoÅõÖø†}I�‡.·yäNßìíwpBo÷1§dÔ iר¨kT4«Ð\ï|`_Rã�΄DÝÃw�ŠúÆ$“RµG.¡‰>}êz*{Y[ðïü®–ˆ9%£�‰ÔY�Lïü®Á éÁK-Öø¿"R+³j°D«¯8¨~`ËN«"?1“Éüè£�ÀNü¸\®��pü{÷îåóù‹ù0ËÁãñßÿýO?ýÔÑÑa6›³³³ß}÷ÝuóåÓO?���­¬¬tuu†FuuuKñA Òëõ³³³111ÎÎÎÓÓÓ‡þðÃ×­[÷ÕW_}ùå—@ °L>°ÿ~àð”––vñâE Ù\°!FDDœ?žB¡ >|877·££cÓ¦Mÿþ÷¿×­[÷Å_¬[·,óÔ©S?ýôÓ÷ß¿wïÞááa.—ûÞ{ï�Ѫ««ýýý™L¦µµõÿþïÿ‚µ¯[·îñãÇ0 ÇÄÄ\¼xq�1À‚i`¿b`þd>ÃðøøxHHÈW_}õïÿÛÞÞœz~ñÅ!!!_ýõ–-[€naxxx÷|qvvöõõ]Ì´ZmZZÚúõë?ûì³Ý»w[ž÷CÔÓÓº‡„„¬[·®³³s```Ó¦M}ôÑ7ß|³xƒz>@„B¡ØÙÙ}òÉ'×®]S©T¥¥¥›6múøã�7nÜxíÚ5†1>€ýM½ ¤Ré¥Ó«à¨àeƒoHyDïኃnô<è› ¼ÑcŸÚlŸÚ|0µy_R#ª¸ÖµÙ5»³–"/íG‡²Æ7Tð�?±G.¡”Ä‹}@EÛÛ&7zäÈãRà«|³·ƒ%Äô–èaõGÀ’lù‰�6ú¾Æx£b±øïÿ;H[RRröìÙéééÅ| ººúìÙ³†aggçÜÜ\†ÑŒ9………žžžÓÓÓ•••{@&‰äààÜÚ žÉ`æp8¥¥¥@ÃÞßßoooÏãñNŸ>�˜˜Ã0AƒØüTVV:;;#Ï¥RyáÂ…ÂÂBA?ÿüsAØl¶••�N‡a8:::##ã™AÇÛ õõõ�9s¦»»A£Ñ¨×ë�Fczzº»»»Z­nllôöö‹ÅûÛß4�Éd*..vww‡&`VZ­TbbbÒÒÒPË�W±AccbüeXq>ðbÈ|óÍ7###/Öë…!ðV!°â|ÀáR+¾zèliÿÑ̯|‰+¾Eä:g´Ý$potr]³;_i�*§ÚXø—ôÖ ¢P]n;žK+í³OmÎndÖ N\#º]í<žKÜŸÔXÔ>z¿gÜ!­Ù!­ùj³’<é•ßuèrÛ™Û}.Ù�Îmú&RkéNé­%�æ”ã+.cZ"°êø‚ {öìINNniiñ÷÷ÏÌÌ4 ‹ù‰D ¬­­øæ›orrr4ÍÝ»w322FFFJJJÎ�;'‰ ÅöíÛëëë{{{³³³ÛÚÚ¤Ré�îܹC§Ó���ŸÉ±±±¹yó&…BIHH ‰DÝÝÝVVV½½½---ÙÙÙÃÄmÛ¶Q(”���ÙÙY“Étùòåèèhƒ‘––öÉ'Ÿ>ðÍ7ßdgg÷ôô¸ººÖ××/Ó@$ÅÇÇ_ºtipp077÷Æ�F£ñòåË #%%eïÞ½íííÀ%1##£««ËÝÝÝÇÇG.—_¾|9""‚B¡tvvž9sF­VýÆÞªÿ±Å¾ xô°¾>+Îì’›â+‡Z³Ì)…'Íoe9ÌÛð¸fwwpÆ¥wDD“ÉÑŠJKK½¼¼|||ÊÊÊ€±¬N§‹��=tè�¯¯/™LF„N§GGG‡„„Ü»wïøñã€lÛ¶ �Ç{yyeffk¥Å÷½qãFee¥Á`€a8##£®®0“¸¸8�°°°ÉÉI°Ì   ÐÐÐÒÒÒ„„„üü|�FC¥R===q8ÜåË—A$"™LvåÊ///OOÏÆÆF Á¸sçNEEXËâ `W00,X%| ÀÒÀr†XCCÀ�ç˧°–o4(X-ùÈ,ÿ°ÿ2u6›mkkk™Cñ/³4l!aV ø #Œ- C`eÀøÀ-’b“�Xò�_ó‘½Fÿ�•ÝVÉhX%›†ÀBã.¬1†ÀkGã¯Q ÄnýF#€ò�-8ýêOlûýqï#AL&óµÿmÿ5& T*ÛÚÚ–Êpü×X#¶ �¿øë=SlEm0>ðF‹¤Øä_#(ØjÉ0ýÀ_{ÇÄV‡!€!°0>°”°6«Œ¼F�»õ�ʶ|à4g/th“¿ãFß׫°¶¶þè—’••…fñ\°ã ”””X&"YÐàe~5 ?üðáC‡€—ðòG›œœ Û¸qãÁƒ9Îò;b-10VXU�› †Àï"€ò�­�9Ûs±††À2ØŠ»ºaoȆ÷l·|à´e•ð‚(Š��ÍóÓè–——_¼x„ úÝ=Ͱœ–  Ãd2944´««kù½L&Sjjê™3gÁ¥K—ìíí—ßk‰!€!°ªÀøÀªzØd0~ÀîÞ½;19 A0öÁÀX&ܱ1·3W™¼öíÛ'À¿­­m\\ÜáÇþùg�z¬££ãçŸÙ‚üñG î3Œ'NlݺÕÑѱ«« ĵ³³ËÎζ³³ûöÛooÞ¼™““ãçç'“É™œœ´¶¶&‰\.700pË–-›7o®­­Ew …²€¨T*ww÷3gΠmT&&&"""ªªªÑjµü±\._ÐûCCà�@ãoÄcÂ&‰!€"øÀ½{÷°½(&XC`9ðx<”üêOüÚý-ù€��ÝéÓ§¡P(»víÉ}‹ŠŠ¢¢¢Pý€B¡HLLŒŠŠÒjµ%%%AAAà«“'OZYY‘H$‚`±²²b³Ù‚TVV:88 †êêêôôôÙÙÙ²²²]»v¡À-æ:�îÒ¥Kh›:�VSS388¨R©Ö¯_O¥R´Á~ÅÀx#ÀøÀñ˜°Ib `|…«`ü!ØðžíVà?àüãœÿÀ�×_h1ɹÁž={@ ÿ|`jjÊÕÕ522²¶¶öÚµk666<A�Ó§Oãp8†=<<òóóA%//A©TÚÝÝÝÔÔTPPðõ×_£�óô«¥*4-$$$++kÿþýëׯïëë[ª1vCC`5#ðò³ÙÌf³ ÆŠ<‰DÒÛÛ«Ñhx<ÞÐÐ�^¯_‘a±A0–BãK!ƒ]Çx>(xš�lÕò�ÖÖVAÁÞ½{�p18tè�««kü|ÁãñR©A�°°0<o‰Byy¹ƒƒƒ@ øñÇ'''M&Syyy```rrrhhèÚµkÑÆ/À8Nhhè­[·š››ÁgŸ}699‰ˆU00Þ ^0�d2¹¨¨(++ëæÍ›4Íh4¾vLšššzzz1�%%%/6¥ÖÖÖôôôäù’››ÛÞÞž””$ ‹ŠŠ"""Äb1�Nøðá‹ ŽõÂX€€^¯‡ Èò"Æ,ÑÀêËG`!ñ…V¡½Ðb>PRR(ÔjµÉd’Édqqq—.]2 £££Äû KMMµDD"‘lÞ¼966ÖÇÇA¥R‘’’¢Ó銊Š>ûì3´1…B !èƒÁPVV”èEËŠB¡ˆ��OII‘ËåÕÕÕÛ¶m3™L– °:††À›‚ÀŠó†ëêêŽ9’’’rñâE</‰^ ð|YÎàþþþ/^ŽX"‘hfff9½· ¶µµMHHHNNÎÉÉ™˜/F£åׯ_wppXÜqñ•åO~q_ìÊ[‚“ɤP(ÀW,ù�æjµ:-- XD¯ìT©T•••ýýý+;,6Ú_ �…|è^/ ±²²Z³f���]UU Ãvvv‹ù™L>v옓“Ó‰'&&&Ìf3‰Dòóóóòòòððxðà�N§ú�|\üðÃ;;;ÁyXqqñ±cÇ®]»öõ×_gdd€g<>>ŽÃáìììÂÂÂÄb1‚ *•êĉaaaK½0 wuuùúú:;;;99a'aK…]ÇXý¬8ÐétVVV SSSz½^"‘Ðh4­V«Óé222<==ÃÂÂH$ ÃCCC—æKPPPXXØèè¨J¥ºuëV}}=Á<00 ´¦©©©'OžŒŽŽf³Ù0 OOOŸ8qâÆ�gÏž­¨¨(++óõõuwwOII� H.—GEEyxxàp¸ÆÆF½^ßßß¿qãÆü‡ÃÝ¿¿¶¶öþýû‚ †[·nyyyùùù=|ø‚ ÉÉÉüüü”””ððp·Ø9*888!!A­Vÿÿì�wTÉÚÿ½ÿÞsÏÙ³ï{ïî}__7¸zwE]WÄ„²ŠŠ%#9303ä$(9)HF¢äœsÎa† CfÎ ˜ØÝ¿óZçö™3 ëÝuµëNMuwuÕ·z†þÔóT="‘‚ 2™M¥R�H¤{÷îýóŸÿ´¶¶N›}}}¦¦¦¡¡¡\.üŒ»ººFFFúøøLOOü Ö¨@[[›��OKK Ú†Ãà�W¯^ÏÎ΂/EiiiZZzGñÌââbBBÂØØ˜x!‚ l6;++ËÂÂÂÀÀÀÙÙyttT¬ΧR©²²²èªH‰Jv,,,,..~—P§T*ÕÞÞþÕ«W»+ÁJ0€’< }§qÉêÃòÀøøx___ooo__˜¦šžžf2™àÝ}rr˜×ù|þÌÌÌàààÈÈxõçóùÀK•D"mooƒÿšKKK»çºÖ××{{{QgVƒ111A"‘h4ÚøøøÜÜPG P(”¡¡!‰Äçó� hnnn ÐŒÁÁA2™ŒÞ{à00þt 8ôöö~ÿý÷»@BBB>ÞØØx``€Á`›Íö÷÷wrrzØÇ_hssóÕ«W***à}(##„r‡aX$��!0À¾wï®@[[›ƒƒ ‡ÊÓÓÓ?üðCgg'ðêîî677ooo­=þ|yyùž<‚“ikk_¸pAQQ±­­M 9r¤´´t~~~ttÔÁÁáåË—(tuuIKKÏÎÎÎÏÏ—””XZZ Y[[G>Tq Åùùù—/_:99UUU]¹re}}¬2ÒÑÑÁx•ËìV@œ®¢ö�ë/D¥R»ººÚÚÚ†††PǸ©©©ßgA …ããã»{.QÂçóÉdrË›âHœð>Â0<;;Ûö&}¨6¼‡nb·Àø³(pà<APFF†¢¢bXXXIIIjjª¯¯ïúúzDD„ššZEEExx¸µµõØØØÛx §§G]]ý‡~˜œœDÄatpp¨ªªª®®ÎÏÏg0â<0>>þêÕ«úúúüü|yyy�–””daaÑÛÛ›——wñâEÀñññZZZíííd2õÊÍÍÕÒÒ*))ÉÎÎVSSkjjúã<ÐÝÝ}õêÕ¦¦&‰466fggV___^^ž““# 1ø³|;>†v677öþBîîîAAA,+88XMM-00ÐÑѱ¥¥ÅÊÊ �/$//Ÿ••5>>nccƒÐvKD¥Rñx¼™™Ùêêê_ÿúW555CCC�²²2”***¾ùæCCC}}}<?99ùèÑ£øøxñ:ÅyÀÍÍíôéÓ†o’žžž¿¿II‰‚‚Øx}}}ÝÚÚãqõ°¼„À0ìêêjnnncccdd”““–䚘˜ K´þ]>R©Tuuõß##ƒÉd®¯¯;88€¾OLLÙÚÚ:::ÖÖÖÂ0¼¹¹òøñã´´´ÀÀÀ®®.†×××===íìì^¿~][[[\\ ¶RÉËË#‰ŽŽŽ•••-//gee‘ÉdP¹•••„ïSVVVYYQazzúåË—4­µµ5??ŸÅb …Â��<Ÿ””¶Q ¶µµaÝ!+•ÿàÀa—& ƒ˜xgÏ_ˆÅbmmmÉÊÊ>xðÀÑÑqrrÒÂÂ"77—ÇãMMM�:uj``€L&ÛÚÚVWW‹7 ‚ ………ùùy.—Ëb±�ŒŒ677¯]»–‘‘±³³#‰h4‹ÅBy`ffæêÕ«ccc"‘ˆËånnnòùügÏžéêêR©T‘HÄd2¹\nXXX`` xã/..VRRZZZ‚ 4uyyYAAa``A‰¤¨¨ˆñ€ø¸`y >:ØÞÞþæ›oæççù|~UUU^^‹Å*--•––vrrŠŠŠÛ‚ÎÎÎ/^ÄÄÄô÷÷ƒ^ÍÍͶµµEEEeff²X¬íímooï“'O†‡‡ggg¯®®Jôü{njj200¸|ù²§§gXXØÜÜœ@ ¬¬¬¬ªª ­­­;f”••EGG'''ƒÿˆ•••%%%ñññ}}})))$¶¶¶ÊËËãââRSSÑ�ÃÀ>z¯_¿F-»[éêêJ£Ñ677>|¸O”ƒÝ×b%˜˜®ÀaðÀ�7«SSUàPyA�„„„£G�:::òx¼¤¤$kkk�@°¶¶æççgmm�’’‚nl( KJJœœœ|}}===uuu322¸\nUU•‰‰I@@@pppTTÔøø8ÊB¡0((�Ç¿I9994m~~ÞÐÐÐÍÍ-88811‘B¡”––ZXXøúú¶¶¶2™L�àââTYYÉf³cccíìì’““ƒƒƒ0@Ÿ,³[IøàñÈ8ÎÉ“'ãããgffØoAÍÍÍ?ýôÓ“'O²³³A@�ÑÑQ''§ð7IYY˜ [ZZnÞ¼éããóâÅ‹òòr‡Ãf³ýüü¤¥¥333«««Á>}*ðùü¾¾> uuõøøøÌÌÌååe>ŸŸ••%//ðòåËÎÎN>Ÿ?88¨¤¤”‘‘áëëëããC§Ómll\]]ÍÌÌôôô’’’ôôô¸\nvv¶““Sjjª»»»¯¯/¸�@ ; ‚Uÿm­¬¬^¿~- ax“ö< +ÄÀx? `<ð~tÆî‚)pP ôöö «×ÖÖVFFæM§Óëëë322 ATA¡PH&“³³³KJJÀ_ Æ…B)))IOOÏÈÈhhh»rAÔÕÕ••••‘‘Q[[K¥R¹\nqq1˜|ÜÚÚªªªÊÈÈÈÉÉ…SSS¹¹¹éééuuuÛÛÛ[[[555éééÀ°¼¼\TT”žžžŸŸ?11! ···+**JJJjkk›››±€õ˜}’õHò€†¬õ_O\VVfaa¡ªªjkkÛßßVžÉÊÊŠû Q©ÔÁÁAƒÁb±~øáâ]]]wïÞÍË˱À€õôôܾ}û7/))ÉÛÛ  APIIÉõë×»»»QßÄõõõ¦¦&‚q8™L¶±±IOOOLL|øðáâ⢒’™LvssKKK … åÔ©S 10 /--‘H¤}"+$y@ùœÙ‡å‰T^^LlMMM666`ý¾¤¤¤˜™™���moo;v Dîéé±´´œ˜˜Â?Âzzzâ¦"‘hllÌb±êêê,,,”••eddèïïwvvÎÍÍÎN,kϰäâ-DóÎÎÎ/^¼`2™|>߯ÆFb'ô4,ƒ)€)ð~ÀxàýèŒÝSà Àxà ”ÄêùÜ�ä�û§ Õd,?`ü�ÞÞ^))©öööµµµˆˆ�æþïÞ½›˜˜H¥R‰��wrršŸŸÏÊÊúî»ïÀ{ò™L–‘‘™ššZ^^ÞgÇ !`�àÿõõõððpeeåÎÎN'Á+++aaa>>>‹‹‹]]]D">ÞÚÚZ"|�øWVV¦¡¡122ÒÑÑ!++ Gü,�)€)ð>Àxà}ª�Ý Sà�+€ñÀ׫áóT@’nÿ¤ÿàóÈ‚€xõòòòÖÖÖƒƒƒ``***äååÁraAÆÇÇíìì´µµ“’’<==544¸\îØØ˜¿¿?àt89޽½ýõë× ºººÐr‰LQQQ\\Ø· X'Z[[ÝÝÝÑ�óTUU577�ˆˆðôô wvvnnn.//÷ööÞØØÀãñ cyy9 @III]]솄 ˆ@ HKKsrrB÷�h‚ "‘èùóç·oßVPP¨ªªÚ}V‚)€)ð>Àxà}ª�Ý Sà�+€ñÀ׫áóT@’äOèªþlúayàó ¬×˜˜›|l#‚µS`0Ø_ì(¦ÀÛØÍÚŠÒFÊŒ,tˆhЙ·]Œ•c ` ` | `<ð .ÖµORŒ>ÉaÅ:õ؃n�|¤ò ÆïA|옘µ|ÔÃ5S`—ì’+Àx'öà�_ÿ©uÿœ>fx'ý°“00>]0øtÇëÙ§©ÆŸæ¸b½:|öàùZ·¥t> P(›û÷ï{xx¼·pz›››ÁÁÁJJJŠŠŠ¥¥¥»•7oÞ¼"–‚‚‚Є»Ïÿ}%|>? @QQQEE%55õ÷U®ŠŒŒ”——í½wï^GG›ÍNLLTRRruuE#¯ý‘[¼ãµÙÙÙªªªÚÚÚoÛ}uss3&&æÁƒ¦¦¦ccc0 C444dllüðáÃçÏŸƒ¥Þ�¬Õ633ëìì‹°srr´´´vSà@ …‹‹‹¹¹¹KKKR!V ¦Àg¢à�‹G”¯|£qõÍÿ'Bûæq­?j|@PWWÇáp���ÎÎÎÞÞÞïòñ��VQQ‘±±q[[Ûˆ%.Q' Ãóóó$‰@ 899ÍÍÍQ©T4t18„R–¸ðßúØÚÚ*''766F¡PöÙ­sŸ;âñø'OžLLLÌÍÍQ(”��‚ètzzzº­­í>Ûž¢•Hfhhèܹs���ÕÕÕFFF»«‰Dyyy]]]áááFFF;;;çÑ£G111íííæææEEE%''ß¿ŸD"�˜+++MMMFFFµµµgÏž%“ÉÛÛÛ`ë'ðÞüôéS�@@¡Päääjkk«ªªLLL±±±qpp˜˜˜ ²·· …)))666ÝÝÝYYY222âÑ'v7[¼l;55•ŸŸÿþý—/_‚£ÕÕÕÑétñ“A~Ÿ±ãñx ÅÙÙYKK‹B¡°ÙìÆÆÆ«W¯ºººnmmµ´´ÈËËï®+9pƒ8NRRÒ­[·ÎŸ?¯¬¬œ——·³³³»å­­­zzz«««»I”P©ÔÊÊJ‰}Õ$Îù·> ‚ºº:úúúííí‚ðx¼ääd‡·UÕÞÞ~çÎ�ïþ•bbbJKKGFF¦§§]?<<<::zggÇÎÎÎÍÍ A�©©©_~ù%//�ÉdVVVBôüùsKKK>Ÿ?22’™™ ¬………ÚÚÚèÝ) ‘HLNNæñxno‚ «««ZZZÚÚÚCCCû¼M¾ …ÂôôtGGG.—ûäÉ:�¾¼¼|ôèQ …233sïÞ=oooAÌÍÍ x<^GG:ùÍår}||ž?ÎápÐ6KdŒ��ÓÒÒètúêêjBB‚§§'A>>>¡¡¡---¿üò �N_XXpwwÏËË£R©;;; ííí���àU~ss333ÓÝÝ}iiéìÙ³ ecccvvÖ××799ÙÅÅ%%%e}}�Á`I‡††p8\WW׿ææÜÜœŒŒ ðB‚ ŽŽ++«ÖÖV‰tíÚ5�@°²²266fcc“““ƒÇã«««×××�u¿¶¶öÞ½{ÙÙÙ¨O”tvvššš¦§§÷÷÷§§§_½zA�õõu++«°°0ôŽ{fðx¼««kSSS{{{oo/úÊ.a`2™ÃÃÃ###nnn«««UUU7oÞD„Éd¶µµ-**sê{Þtw¡žžÞ«W¯ììì,,,\]]�㾆††ŒŒ °öÌÏÏ»¸¸<}úTMM­¬¬ìÎ�; ÕÕÕÊÊʯ_¿ÖÒÒ vqq¡P(§N�Z^^VPPð÷÷÷õõMHHpppHMM566vqqyùò¥±±ñÀÀ€••Uxx¸ŽŽNYYÙùóçÁ“ ‰ÆÇÇííí###Y,Öðð°œœÜÆÆÆO?ý”™™icc“––fkk[XXxóæÍÜÜ\CCÃøøøÝ=Ú³Dœ†‡‡uttÐåâ<@£ÑÜÜÜüüü„BážõˆJð€§§grr²™™YII ÆâB^þÀy ¾¾þ‡~Øý Ò××·²²¢Óé555ºººõõõ(0™Ì .äææÒh4???GGÇÕÕU�‹/‚µ1$ ðÐ�Ãáøûûkiimmm¥¦¦ÌÌÌÌÏÏ«¨¨ÔÕÕ¡Êårƒ‚‚"""ÐÖÖ¦¨¨¨¥¥ecccmmmggxÀÁÁáÕ«Wh§öÌàñxYYÙ¨««›šš¢îÅâ<  óóóÁË´²²2�@XYY)**º{÷.‚ l6;""ðXx`ii©¥¥•’’²ç÷,Äãñaaa­­­eeeáááþþþà'ÉÒÒòÒ¥K€è–——===cbb***¦¦¦®^½:<<Ü××wóæÍÉÉɪªªˆˆ//¯ÕÕÕ+W®ô÷÷ÖÔÔ¸¸¸deeùøøÄÅÅ•––vtt€·%0ÙŸ››[UUÕØØxýúu6› Ã0™Lvvv óš åÂ… ÛÛÛéééÀ§ªª ð@AAÁôôôÝ»wóóó÷ìÔîB”`niiÑÐÐ^aà� µÐh4ÿwœûÜÍ£££ººº¡¡¡ì‚Ã(9p(//?yò¤¸{XôèQ`PZ[[sqq‰��Gy ­­íüùóÀ²ÚØØheeÕ××çáááìì º,Î|>?--íþýû‹‹‹ bºµµuå›d``ðäÉq‹"0»%%%¹¹¹=xð ¶¶Ößß?00�Ífïɉ‰‰ÖÖÖ %x<>11Qü7¶¾¾þöíÛ÷îÝÓ}“¨Tê><0;;«ªªêïïÚvãÆ ààwîÜ9Ôkñ0«óSå///tëˆ÷ï/cbb¢¯¯oddT\\ APBB‚ºººƒƒƒ½½½ºº:0755™››ëë넟þ¹°°P|8BBBp8ÜÀÀ:• 6Õpvv622244ôððØÞÞFy€ÃáäååYZZ=zô(==A�ÍÍÍððp}}}cccGGÇááᇞ8qÂÖÖöùóç4íÅ‹&o’¾¾~KK A���zzz†††§OŸÆx@|P>«üÞ66V¼¶úúz##£ÆÆFú›$vóºaffFAAÁÒÒ´ÍÏÏhòóÏ?àÿ�ƒ}°Ú>Bx{{£þ™Ä>022Âd2wvv^¾|iaaÁ`0”••ÇÇÇa ³¶¶ÞØØðôô d0ÝÝÝ'Nœ�à�®®.Û7ÉËË+55uee…N§»»»S©Ô•••ÚÚZ”­¬¬^¿~Íår;;;O�:E£Ñ>|ØÛÛ+VWWy<ž¸¿Pmm­©©ikk+—ËMIIQRRÚÙÙqppðñña2™uuuÒÒÒ|„ÏùûiÒûã"‘X]]½ÛP¾»Ÿššš¶¶¶VVV999'??ßÊÊÊßßßÁÁ!**J khh¸ººzyy)++ONN"Ãpyyù•+WQoB‰úù|þ³gÏìííýýýq8j°;(ØØØðóóÃápááá¾¾¾222mmmSSS»íVVV...‘‘‘`ÒZ‚8Nff&�@ðòòÂãñ`)-ðAÿÝ<Ð××§¥¥E ¢¢¢Àö¦FFF®®®Àw�N§kjj:99…„„èëëˆ��uww­ ªr8333???q¿d Á766 ÁÏœ§§çòòroo¯��MWW›ÍÆápOŸ>‰DÝÝݶ¶¶x<ÞÐÐ0!!A ðùü¨¨(###[[["‘888Ã0pÍ····¶¶Žˆˆ`³Ù ... ~ssó­­->Ÿ_VVfffF$õõõkkkE"QEEÅ·ß~kaaáþ&µ·· …¼¼8ðù|}}}KKËÑÑQ‹5??_RRÂ`0”””8NGG‡±±qYYÊkkkçÎ�knnf2™ÑÑÑD"qaaaOèéé100ÈÏÏSøl6;..Ž@ ,//¯‰]†­­­O�:ÕÙÙ955uþüy*•*Î>+%öÚ“ö_?€ ˆªªj^^°ôººº>}ú”Á`‚‰‰ ÀÏ?ÿü3°Ò€bÕ~b ´µµEDD�H$´_„Ÿ={æããcnn®¡¡177—��àââ¾q•••ªªªd2�Ç—””€w°&m6XÞ611QPP©¥¥eoo?11a`` ¥¥ð&ݺu+88å°Š’@ €£ß|óMOOObb¢•••„¬€a8))éòåËà_¹££ã±cǶ··UUUÁ«�N¿ÿ>ÆâƒòYåßLNN¾# €fÚÚÚÊËË»ººÀ¾1;;;���µµµ---`~·¸¸ØÞÞø�ôöö¢ÓT===ÖÖÖûo C£Ñš››kkk»»»QlXXX ‘HÀV°Ï ‰Èd2ÀpÚÀÀðe!š��mlllkk[\\¬®®ž››c±Xà^###‹‹‹±ÙlÐŒææftƒ‘•• sùÖÖVWWWUUUKK xíæñx£££è%okíðððüü¼øï8“Íf···WTT€Íì—––êêê:::Èdr{{ûÜÜœH$š˜˜¨®®nll >ËËË µMMM ðsèíí%‘Hû¼(ƒEŠ555Àgiiiixx˜‰(Jgg' Ã\.wtt´¢¢¢©© 1 Ã`¶£²²õ¿„a¸¿¿¿¼¼¼±±8zÁ0<33S]]]YY‰ºè0™ÌîînðÙggg‹ŠŠ*þ•æææ «6ËÊÊ:;;�‰V ŒŒŒTTTÔÕÕ¡Ý,//'‰À¿ùmjÓh´²²²ââ⪪ª‰‰ ‚@***Š‹‹ËËË«ªªÖÖÖø|>Øömõ€r�VYYYTTTXXX]]½´´D¥RI$hd[[p-Ý¿ìèWàÀy†áááa"‘¨®®®¥¥ellI§Ó»ºº´µµõÞ¤°°°ÍÍM”`NHHÐÔÔÔÕÕ533­=yÀÛÛûäÉ“:::fff666$irrÒËËËÀÀ@__ßÚÚz``ý©DD ¸ºº^¾|yrrR$IKK«ªªeÔ_(11ñþýû¦¦¦uuuâû�þ>HHHPTT455mllìêêÄn``€ÇãÁ*ŒþøCûYÕ@¡PÀÿS´×ïŸh4šªªjrr2pmÕÒÒšœœLHHðòòÓ|555JJJ“““vvv€‘“““° ]‰D---'NœèèèÀápîîîµoRuu5‰DBy ´´TWW799­¬¬\[[KII133߸åÕ«W(¤¥¥©««€K***¶··Á< ‚ [[[ £ðfÞðùüýÝ„þ]é‹‹‹ÝÜÜ$œ‚ø|~zzº���Ä4Ø¿[9v¾��MmmíÊÊŠ““SRRÒç,ˆ@ ÈËË{þüùþÌó9Kô ÷ýÀyÌ®¯¯��� ’H¤ÍÍMèMš››&“ÉDY,ÖÜÜðÄãp8d2yxxxnnðíòò2š€ËåR(‹µ¸¸844¶c³Ù"‘hccclllhhhbbb·yveeejj ÌÍ“Édð‹ AÐòò2x•a2™cccÃÃÛo: Ö'ˆ=“ÉœŸŸG÷-€axññx¼¥¥%0³³½½=:::<<¼µµ%–––FFF†‡‡§§§Á÷‹D"¡s4â•cyL�=ؽKÛaðÀèèhee%x‡©®®{|ÏÏσWð©©)))):�Îår###öäƒøäɇÓÝÝ}ôèQ hll¬­­¥Ñht:=00ðçŸ^__�ŠŠ²±±™ŸŸcccKKK(LNNZYYÏX‡SSS,íJJJ•••<ojjŠÃáTVVÊÈÈBhkk+x<�Fkkkãr¹~~~B¡°ººZJJ ³ìù¤}…»y@ëæq­_?pàRîæ:�îææ¦¦¦æ›üŽŸU…ååå—.]º|ù²ƒƒÃÚÚÚgÕw‰ÎÂ0Ìãñ°w Y>“�‡ÁŸ‰tX71>ˆ‡Á` ;0Ïhnn ÕÖÖš˜˜ôööŠD"—+W®èêêšššìÉ0 ���áp¸{÷îY[[ËÊÊ¢îÊ@¨²²2•“oÒ½{÷€yyÙßß_FFæôéÓ÷ïßGy,Ö××—––>w¡! Ã;;;¹¹¹7oÞ”’’RSS[XX`³Ù §OŸû›—••)++KIIÉÈÈÁ0<;;kbb¢  `ggwöìYŒ>Èsû1Üt7ü_|â�Ÿ>í°6` ` |Ú p8œáááÔÔÔO»›Xï0>ƒ>q°Ž` ì£ÀGÇ0 OOOã2‹Å¢Ñhïè§A�F»vîÓá?x‚ õõõÙ7 4R¢Bàõ>ù¯–@Ä`0æçççææÖÖÖ€ ë««333KKKïâLÅd2iª^$mnnþ¦tkkkâ^‰?Œ�;;; sss›››ïùևѬÎ?�üé† kðg®X:Ÿ››‹ú¶}æ‚`ÝÇxGÈQ¾ò�ÆÕo4ÿŸü‰làr¹_|ñEPP‚ >>>¨›ìþ]¢Óé~~~ï@jÿÚÞv”F£iii)**ª««‹EωD©©©²²²_ýµŒŒ ‡[{yyihh¨©©ö÷÷C4::úàÁƒ;w«gffþ¦GJff&ˆn†Þë 2[[[ÑÑÑûoXA�ŽŽÎû\˜! 322TÞ${{{2™,¾ò úŽÕƒ)°�ì#vSà#Tã��pP°&ý)@í—�~4<ðõ×_khhP©T”êêêp8œêêjƒ166VUUUZZ:00P\\L"‘xxx”––///ƒ×ǹ¹¹¢¢¢âââááa01ßÕÕ¶ÊÊÊ[kï*†©Tjuuõëׯ[ZZÀ¾.íííaaaÇ��‹‹+**B#|í¾|~~^II ìˆ vɼ}ûöÒÒ‹ÅŠˆˆ¨¬¬äóùjjjD"qss3''ÇÀÀ````w=0 S(°qÍÓ§O À® ccc………¥¥¥³³³`âœÁ`”••ÔÕÕ�·v.—ÛÞÞžŸŸ_PPšÊår‡††êêê233Aóh4Zffflllgg'hÀööv~~~oooyy9ØÔˆÏç×ÕÕ�;wîùóç999ÓÓÓ‚ðùü±±±âââÂÂB°£ Ãsss---ýýýÙÙÙmmm`qáÀÀÀëׯ‹ŠŠPkÏððpYYÙî.£%›››·oßnkk£R©NNNûì!‹^‚e0VŒVO¬6L�ÃVã�ÃV«ÿSU@œ®ý8ìÿû¿ÿëáá‘““ƒò€ŠŠJcc#‚ ËËËwïÞ%“ÉfffZZZÎÎÎ8ŽN§ƒôŸ={fffÎd29Ž¥¥¥���¿¿¿»»;xçvwwÇápNNNAAAYYY{-‹Åzñâ� >ù|~II �ÿé§ŸBBBbbbÐ(»kØÍ7nÜ(//ßØØ Óéì7髯¾akÉd²••Ø–[¢*:��Çã###utt=z¶ïÄápþþþžžžþþþÀ*úüùs<¢!RZZjooìééikk»½½Í`0|}}=zäëëëïï6IX]]õóóSSS‹ŽŽwŸœœqâ„——׳gÏ@X´ÑÑQWWW___???+++àÒSYYyóæMPX\\Ìd2i4š¦¦fxxxHHȳgÏPnXX×L¢×àãÐÐ�¼¼< �äääÇ�ƒð“{žŒb ††ªX�˜‡§Æ‡§-Vó§­ÀÇè/ôÝwßÕ××ÛØØddd! ˜˜˜ðööŽ�� ðññéïï—‘‘¡ÓéÎÎΧ¾¾^WWwqq±µµõÚµkt:�Á`ÄÅÅAqåʉ¿I{ð‚®®nCCƒH$Š‹‹óðð›vww+((ìy‰x¡8€ÀÉÑÑÑ Hxxxøêêêòòò_þò0‘O¡PBJJŠx ?22B jkk…B¡‹‹‹žžžH$ÊÉÉ111a±X«««ÆÆÆ`ccc77·µµµååå©©).—kjjš——' ·¶¶222X,–@ ðõõÕÔÔ$‘H¡î7L&óéÓ§(LOOùå—³³³<ïåË—NNNB¡peeåæÍ›è¹P(LMMµ³³£Ñh,KYY¹¦¦†áîîniiéÊÊJ4bñ±cÇúúú §º6>>^]]½»ËhIMM�ŠŠJgggXXXLLŒ«««xœô4,ƒ)px ` |t<ÀãñÎ�;‡ ÈÆÆ†���­­íúúzWW—‚‚‚’’’»»»��ÁÄÄDXXXvvv\\\BBÂôô4X$¢¯¯¯  pëÖ­ÆÆF°µ¼¼üêÕ«/^trr'IIIîîîû�1Aýýýêêê—.]"‰¨§JÿÇ÷¹V(†††=zô믿>räÈÝ»wÙÞÞ :ûÀ»7;ó�˜žžþþûï©r¬ZL�?‘ÎB¡ðܹs.\¸ó&½|ùÄ6×ãq5°<¦À> ,...--‰»’~<AP[[“Éܧï¿ï›Ín¿¯ìªOUŒ>Õ‘ýýýÚØØðððøý×cWb |* ÈÉÉ•””Þ$‚„BaWWWjjjzzúàà Ã{ò�F+++KII©¨¨ x@à?†gffrrrVWW¹\nyy9ØùS¬˜û)ÐÖÖA&“Ñ“>r`±X---)))/_¾ÌÏÏ{ ¢�G3|>ÿÚµkûÄ8BÏ™ÖÖÖÞÞ^‰Â=?NMM™››£áG÷<+ü<Àxàów¬×˜˜¿­À!ñ@yy9zïææf##£ÀÀÀÇ�›˜˜ ïæ.—kffdaa‘��°½½ öþŠ��ÿå—_ÊÊÊÈd²––ÖÔÔZ9–Áø´hkkÃáp>>>ããã §ˆ‡9‚a¸°°ÐÌÌÌËËëÉ“'îîîo[:øïò�@ð÷÷—±Æxà]Tú<Ï9DÚo�@(((`±X"‘($$Dë_ÉÒÒ²¾¾>%%¬E‚ <?>>^QQñ¯³´ž>} æÃH$’““øwH¥R—––<<<ÐÓðxünË;X}ëä䤫«‹Çã_¿~Í`0),,D/422*++‰DŽŽŽÖÖÖèêU:�ž••…Ãáìíí{zz`ÞÜÜÔÑÑ166677 š››C$??­íñãÇ«««¥¥¥VVVÆÆÆÖÖÖiii� ¯¯=d„Ba]]�AÇx<žP(š˜˜8;;ƒXcŸç£‰õSàƒ+pA�ÕÕÕ€€[[Û€€Ì>ðÎ?Ý-$yàæ ­ǵ®SÕW±·ÁýŽŽñx¼ÿø�ÿ(..NJJÒÓÓ{ùò%—ËUTT mjjjnnîì윙™ñññ þcccÇ�§ÓéKKK¯^½ÒÔÔô÷÷ãñxl6ûúõëžžž………8.::zhhHEE%==½ùMêééÙs#ƒ¡  ‘””¤­­�‘‘ÁårýüüTUUÁ…íííKKKÝÝÝæææùùùÆÆÆ�?‰DùùùÚÚÚ©©©‘‘‘ŠŠŠt:}qqñøñã555à=>88xkkkaa¡©©éúõë¾¾¾CCC;;;!!!666ÕÕÕ¥¥¥wîÜÉÍÍ¥ÑhÍÍͱ±±ÊÊÊ)))ÍÍÍ4mffFAA!&&&""ÂÀÀ »»›Ïç9r¤¼¼¼¥¥%**ÊÔÔ”D"ýñ±K00þ¸‡Á²²²ÞÞÞÅÅÅ•••ssswïÞ­®®ŽCiii»y`nnîçŸÞØØÁ>|888ÈãñŽ?ÞØØhddàìì¹ç´È—«Sà#Tå�ääd÷æýó Ãæææ¶¶¶õõõ�?& W¯^ÍÈÈèîîF¿’|>ßËËKSS³¬¬ �‚ l6;!!‡ÃUVVFEE3 ”&&&ìììBCC¬¬¬ž>} Ãp__ŸººzRRRccc]]Ýì쬾¾¾••U__ßââboo/˜6­¬¬ÔÒÒª¬¬ …žžžÖÖÖ555...²²²|„óo’$ȟоù†ôˆ677¹\nvv¶™™™LVTT¬­­EWÿ@”��M$�ݳgÏÐÈÁSSSD"±°°hTVVvâÄ ‹% ‡††jkk´´´~óu™Á`(++·´´ðx<—`nnÎÏÏÏÚÚZ\ý¬¬,<¿´´„ ÈììlÿÚÚš££cHHŸÏßÙÙIJJ¢Ñh‹‹‹ÒÒÒÛÛÛ½zõ �ǃÍCa~øða^^¨3$$$00�N§‹D¢ˆˆ###PÞÞÞnii922>FFFjiiq¹Ü­­-kkëçÏŸ3™Ì#GŽlllÀ0<>>niiYUU%ÞN,�)€)ðÞ8 �““+-- …"‘‚ �¼¼<‘HB Z[[ïæ�ÕÕUYYÙ™™\SSü†hjjÚÛÛëêêvvvº¸¸Ü¸q£¬¬ ýu}o*a7ÂøP HNNF#ß¿˜žž>yò$ˆv:88hnn^SS“��`jjŠîTŽê³¸¸rëÖ­“'O>zôheeeffÆÂ¢¤¤D$íììܽ{Äùë^¿~�Ãáæçç!8wî�Ç rppàñx0·�r IDAT †Q¡���ØØX''§��‘H”””dnnÎãñ~ùå—¾¾>‚>>à�¿¿¿··÷ÚÚà¡PXXX¨¡¡�ºE‚Ó°¿˜˜ïM�Câñõ‘‘‘JJJËËË7nÜÈÍÍÝÍ C__ßËËkccÃÛÛ‡Ã� ”øøøo¿ý6 `yyÙÜÜüüùó===ïMìF˜\�¶¶¶×¯_ ´%ïŸZZZddd@æççíìì²²²<==777ц¡°¢`uuõÞ½{€í¥¥¥Oœ8!õ&}÷Ýw¥¥¥À>0<<ÿÕW_�:uJJJêÔ©SG�e±X!::­A”¶¶¶ÜÜÜŽ= jûç?ÿy÷î]*•úÃ?€à?$ÉÄÄãqõ°àå奣£#>lccc×®];~üøÉ“'¥¤¤ìííÅ�¢y`<066¦­­=00àçç÷õ×_ƒfÜ¿ìð=::êàà --}í򵮮F2™lnnþúõk´*Aÿú׿ž:uê‡~066ž��Gwó€››‰Dêìì¼|ù2Z‰€Ø^‚„„„xyy­¬¬9räôéÓÇ�¿zõ*ˆ#&Þ,�)€)ðÞ8p‰Dêêêõõõh¸\î“'Oddd®\¹/‰ØlöãÇ�‹ŠŠÑÒÒêîîQ ôôô~ùå##£ÑÑQ†Á�¤´´t]]�P( 755+šÐʱ ¦À§­“É”x9 àóù|évvvPÇ$‡#‰¦¦¦~úé'�ÃðÐÐ�¹¹yuuuBB‚———€Pƒ\.õ”‘‘™žž¶²²ªªª±¸\. è¿P~~>�_^^†a‚ .— 쎎Ž|>†a¡Pðƒƒ˜[öwwwP�P(äóù<OFF8S´··kjjb<ði/~_ïöð’;®yõ˜ên@dgg'//ÏÒÒROOÏÒÒ277}}ß}{qhii±°°hooßm@$!!ÁïMrqqAA_Â>õ믿‚»p8œ���ÁÁÁ×>ÐÒÒ¢¯¯?66¶Û_h{{›ÍfƒïaddäåË—'&&¬­­SSSÁMWWWY,°P(”'Ož¡Ûïæ�ŸþùÆ�JJJ àwA  NNN`!µ··÷³gÏ677�} ¦¦FMM [¸û¹ÂJ0Þ›Îï­åØ�0>OƒcbbÀüz||

ÜÜuOÞ‡{Ï9ŽSœ�c;ŽíرÁ×l †›Þ{¦c:¢ÓLïÍÑ»éM¢Ñ  鉦.íý–™“}õD‰O‚cÇÙ³XöìÑÌì™ßÌÞ{~ó/ÃfWUUÅÅÅáñø7çííí,+44ÔÙÙyyyy/¨¨¨ÈËËc±Xõööž?žJ¥b±Xwww:�¾ººjoo?::Šè áñxssóÖÖVÐà½|ØH�#Årrr”••WVVæçç�n›Í|€Édb0˜¨¨(„ IU…^¢ ¼mP>ð¶FëG8ZÞhnnމ‰| ..®  †a"‘333Ã0�Fó÷÷733 ŽXššš€îŸdïA[[›‡‡‡‰‰‰……Ett4XDÑéôÌÌLKKËgÏž±Ùl¡Pèíí½¸¸AÐèèh`` ™™ƒ)))�a˜Çã577;88˜››§¤¤0™L�æêêjee…Ãá�@xúô©™™™‹‹ Xú///{zzÆÇLJ……¡^‰%Ç�äûÊ@&“922ò³§Þ>àïïïááann^]]Íçó•••---ÃwClll? à FNN¸å‰DOŸ>½qㆱ±qYYÙææ¦P(´··711ü»  €H$*))¹ºº‚Ú’’’öŽëÆÆÆõë×mmm===MMM_½z%°X¬¼¼<(ÞÔÔT__oeeckk A�·°°pwwwss³±±ÙØØ@øÀÎ΋õññY__ïìì ?w¡aaa!‹ÅB쉥Ú#ŨTª¾¾¾Ãnpvv&‘HÀ¿ÐÚÚšH$ª¯¯×ÑÑA줪B/QPÞ6(xÛ£õ£-oƒm ÑÚPÞO~²P•?þèê§�ÿ ñ/t�|àÍ»\ëÄÅÅ¥¥¥uvv�¹ŠŠŠØØØ¸Ý�’’‚,vñx|uu5Ð>‹ÅD"1...v7ÔÔÔµœõõõüüü”””¦¦¦­­-ƒ�Ãá�Ú222€w ©òx¼ÜÜ\¤à½½½111 qqqíííl6œš’’R^^Ø—ËíííMOOÏÎΞ��G‡æææ‡¾SSSuuu½½½qqq111±±±eee}}}<Oª1+++ÍÍ͈N¡H$ÍÈÈÈÊÊ.GRRR€«&“YWW‡òx) ÑK�ß ”üfP£7B8P>p$0¢•ü@øÀ•ã�ä%ùÀ!ò�? Lh—QPþ€ |à8èh—× |àw=|hãß!’|@îø££”¼Ã^¡·F@@øõ |à×cˆÖ€"ð["€ò�ßmô^ÿk?püÑ•ã�þíÆWšÀ¿Ð¯×ú�`Bû‚"€"ðD`/˜��íDŠŠÀû‡‘H„aåÀ5Úå#AàùÀ§»|ঌ&8àòpêžd÷„BáѺÙÈ-„»¹üW#b±˜Ãá NEÁ‘�¼Ý€¸KúWëDó£ ¼söò�wÞ$´((‡ €ò�CÀAB8I>ðÚžø}à§OŸFÎùM qpp8¤ÿÒO)))I‰�� ÞÞÞ–L|“88^¤±±ñ?ÿó?�32‚úúúÌÍÍïÞ½[SSó&õ yPPÞCP>ð Ú$�C@ùÀ!à ?¡‚€4¸%£õÎõ…Nž<ÙÞÞN ˆD"ð,´—@D¥R{{{;;;Á‘œ�`nnntttpp°§§g}}lØÏÏÏãñx"‘8>>¾¸¸(ºººÀ-:;;WWWaŽ��õôô$’|®®®‰D°ÐßÄ………ììl��>údÛÞÞöõõ�ŒŒär¹UUUÈ1æûGQPÞgP>ð>�Ú6�½ |`/&h ŠÀ› øÀ¥cªòŸþä_è�ó�¯¾úÊÕÕÕÑÑÑÄĤ¬¬L$íå‹‹‹AAA ÆÅÅÅÂÂbmm�Édzzzêë뇄„$%%íììp8###[[[ �¸¸¸íím??¿¿þõ¯OžŸßÑÑ!''wPY4EEà=Gåïù¡ÍC�BåR€ —(oˆÀüü¼µ�óÅcªW^Ûïž?pã«ÇWO¨½Cû™ôôt�ïååÅ`0öò�’’ C"‘¸\®žž^ff&‹Årsssuuår¹¥¥¥vvv4m``àÒ¥K›››$IKK+>>†á………³gÏJ«¯¯O&“ Æ×_M£ÑÀ¯ÓÓÓeee+++’™÷�#|@,WTT˜››ûùùééé½xñbßüh"ŠŠÀû�ÊÞÿ1B[ˆ" ‰Ê$Ñ@ã(oŽÀ®|ÀùûcªrÇÉßµ¸þÕcùwÊN�:522ÃpYY™‹‹ËÜÜÜ^>���pëÖ- ãêꪨ¨hooÏb±üýýcbb`nii±´´\^^.((xøð! ÃL&ÓÛÛû>€ÅbÁÿÙ³g§¦¦ÞA�á'++ËÁÁ!55ÕËËËÎÎ5)þWÁDó£¼' |à=´(oˆÊÞ(4Š€»ò'À^Ë€¿Qùjïð<²“'O‚s‹‹‹‹ÝÜÜöò�ääd ‹ªªªööö¶¶¶‰‰ ‹…Åb`nmm| ¨¨HMM †áõõu77·CøbO|îܹÉÉI)˜~öáóóó®®®………"‘ˆÁ`ÈÈÈ,//ÿlq4ŠŠÀ{ˆÊÞÃAA›„"p¿>àëëK éÈ[ú‰Íf‡…… ¾�ú“’’ ßFÍh�¿ˆýÀ?å·vý�¾[>ðÕW_EFFr8œ°°0ÿ���½| ±±ÑÚÚzppP DEE íËH$ÒéÓ§××ׇ††îÞ½ øÀúúºŒŒÌÊÊ �Çc±XÀžx_>ÐÚÚêêê:>>þ³#�ð�••'''`?044ôÕW_q8œŸ-Žf@@xàp8###™™™GØ6‡“™™©¬¬,''§¡¡QRR‚¾"Ž^´ª?[[["‘H²Ë¿> ®®^VV&Ùò7Œs8OOÏÚÚÚ½ù_¾|©¨¨(++«¦¦VVVÆãñöæÙÜÜ444ljjÚûÓ¾)---X,vmmmß_¥�œœÂ¤ÑËß €|LEü§»ö7¿Ò|·úB_~ù¥››ÛÅ‹>|Ø××ÃpHHÈÿüÎ�;WUUÅãñÒÒÒ®_¿~êÔ)ccc‡³/€ ÈÍÍíìÙ³:::ÆÆÆ€@äààpüøñÓ§Oý~I£’ò�âââôôô4œ8îòåË_}õÕŸþô§'N¨ªª®®®vvvjhhœ;wNNN®´´ô ²h:ŠŠÀ{ŽÀ‘ó±XüüùóË—/ãp¸¹¹¹ÖÖVwww*•úžã€6EàýD ³³³¬¬ qò;:�ìó���SSÓ‚‚© 5(¿¯K„\9®ñúü�[2Z7vùÀ;Ô:Z·¶¶“É HOO?ÚÊÑÚPP>`Žœlllœ:uª²² ¸E^[[ÓÓÓ;sæÌÍ›7sssù|~ssó£G�tttnß¾­¨¨ØÞÞÎb±|||bbbÀ†hii)ê¾ ��ü1Àãñ666ÙÙÙÈ£ïD>vþüùüãšššÀiarr²‘‘‘†††‚‚ÂÝ»wggg!š˜˜077ÿæ›oôõõ¯^½*%ÈÌÌDŠÜ¾}›L&C477çèèxöìY999' ÓÓÓ�;&##£¬¬ÜÐЀŒ{ZZš¢¢"‡Ã‘˜loo{yy�;wîÂ… [[[’|€L&khhœ9sFII©²²R$íììDDDÈÉÉÉÈÈ<~ü˜H$ª©©}òÉ'gÏžõññ¡Óéííí·oß>}ú´¦¦f__A³³³&&&§N�zðà���*@FäwAô…ä?}ôš¼öG ¢¾¾~RRRuuµ½½}KKËÑVŽÖ†"€"ð#pä| ¹¹ùĉ{�>422233c±X¯^½ÒÒÒjÞ çÏŸ///‡ ¨¥¥EQQq}}‡Ã9;;ÏÏÏ‹ÅbMMͤ¤¤|´k(?‹àzzz%x'| ©©i}}}kk+$$ÄÊÊŠÃá$''_»v­¿¿‚ ///''§ÍÍM,ëì켺ºZ^^þÙgŸI©dff^¿~½³³S,{{{c0˜ííí°°0›¥¥¥æææK—.‘Éäƒä$IVVÖÓÓ³¼¼|ll œÝ ¥¥µ¾¾¾¸¸hee•’’‚ð�§  µ³³SYYiaa1<<œ�� ©©9::*‹'''¹\®¤|€B¡œ;w®®®ŽÍfgddXXXP©TgggwwwƒÑÝÝýå—_¢|àg'í{›ð�Ë»ç\9þèŸ|àÝú=Z°zzzlllìììp8›Í>ÚÊÑÚPP>`ŽœTUU�>}ZR½†a‘HtüøñÑÑQ†i4š››[BBBss³ºº:P%b0�?nllœœœ´³³knn&“ÉçÏŸ___ÿ€ÁG»†"ð³ |ÀÃÃè´¼>@¥RÛÚÚ^¼x¡££C¡P’““�œœ€Ú}uuõǧ§§1LII Ãb±øÊ•+{ù€££#xäîß¿?77gooŸ——pxøðazzúA|†á��MMM•ääd‹uýúõÐÐЦ¦¦ºº:///‡�� `?0<<|ìØ±†††¦¦¦¼¼ÐÓÓóÉ'Ÿ€ŸüýýCCCûúútttrssR›$HHHøþûïA??¿ØØØúúzCCC<ò›››£|�îwAøÀÀnÊh¾óó‰Ã ¥H$Љ‰qvvöóó+,,§ ¿a¤²²²¥¥EjëNª~�VUU%•xø¥H$*,,t–ááᇗúõ¿nooãp8ÿððð………ƒ*ÜÙÙ)--Åb±ñññsss@›†a‹•��pHAP!ƒÁxùò%ؘáóù®®®ÁÁÁõõõ@^ÙÜÜìââzïééYZZZXXˆxt‹Å999½½½ÝÝÝB‘‘‘�‚ ………ØØX^¬YYYH¶àààááa†ÇÇÇóóó¹\îA}DÓQ~GÎø|¾ŽŽŽ­­íÄÄÄÎÎ…B©©©ÙØØ¸wï^hh(›Íîîî655­¨¨hnn–““«¨¨‰DMMMŠŠŠ€0TWW[YY]¸pARuø—õ-…"ð{G�LJ‡‡Kì·!XXX»æD"œP´¶¶ÎÎΞ>}šJ¥òùüœœUUÕ}ùÀÚÚš¯¯oll,�Ç›™™ùú믖0 ooo&“966¦  ÐÛÛËf³mmmSRR¤Ænrr²¯¯ossskk+11QWWwddƒÁx{{³X,±X¼¶¶¶¼¼Œè 1Œ‹/ÖÔÔðù|.—K¥R777ƒƒƒ1 …B� hyyY ÔÖÖZ[[ÏÍÍÁ0ÜÛÛ{íÚµ¡¡!‘H´½½½´´´¶¶†Á`233y<ƒÁ�••Eù€Ô¸üŽ.> /)x·þ…NŸ>=;;‹€(dee ƒ‚‚_²#ß$‚,a®««Ããñ‡W^WWçääô&5ƒ<‰Åâîîî—/_ZZZ*++c†ß@s)77ׯÆ&''ÇÏÏÏÚÚzß~‰Åâææf==½ôôt77·çÏŸÓét`Ãäàà ++ÛÕÕuHg!ÊÊÊB¶4¶··oÞ¼éááñüùsCCCÇårƒ‚‚îܹór7àp¸ÞÞ^GGÇ””°|g³ÙrrrÝÝÝÓÓÓ±±± îîîµµµB¡�Ëå>yòÄÂÂ"!!ÁÒÒ2;;›Ãᨫ«ÛÚÚ‚ÚÊËË]YZZÒ××oll<¤©èO(¿�#ç b0MMM=== ‹èèh‹…Çã555MLL ÃÂÂÖÖÖš››ïß¿ommmjjª¥¥•œœ áõõummm99¹ÕÕÕ_Ð#´ŠÀ‡„…Bæ4H§Þ(**rvvÛ”îîîÑÑÑ0 wtt¸¸¸ŒŒŒlmmÛÛÛÙÙÙ=~üx_> ‰ZZZìííÝÝÝýüüΞ=û³|@$uvvÚÚÚéêêp8�@�‘‘¡¢¢âææl—Aß;::ÌÌÌ ôõõµµµÓÓÓ·¶¶&&&žÃpii©±±±™™™……Exxøüü<™Lvss366655}úôéÖÖÖØØ˜���ŽŽNzzúúúz||¼‰‰‰™™™••Urr2“ÉliiÁ`0OŸ>õõõURRBù2wIû�ÚßøJóÝê ÉÈÈDDDhii¹¹¹MMM>088Èår ÂÝ»w‰D¢P(¬ªª²°°ÐÕÕÍÎθ/--ùûûkkkƒ£ ÀÁÀúúúZZZ±±±àyŽŒŒ¬¯¯÷ööVUUõôô„axxxØÞÞþÖ­[‰‰‰``mmÍÏÏ/((ÈÆÆÆÍÍ�L&Ã0ÜÔÔ$++{êÔ)55µgÏž1™L†kjjŒŒŒ´µµ#""À·±±1333&&æñãÇÈœÈÊÊrtt¥¨Tªšš�Êmnn¦¦¦VTTäåå…‡‡»¸¸˜˜˜ÄÄÄ€ö�ŒŒ¸ººêèèøøø ²ƒš””$éI¹ Ã<ÏØØ¸¢¢B(®­­ýð㣣}}}ÏŸ?\+444??ŸÇãyyyEFFòùüžžKKËááa� ¥¥åïﯦ¦v8 P(¶¶¶¯^½ÍØÞÞVVVnmmÝÚÚJHH°³³››› ’RlHMMuqqÇ´566Þºu ¸I¦R©úúúˆ_äéééóçωD.—ÛÒÒÒÐÐÀf³ÕÕÕeJÉþæååijjJ¦ q�_�À‘ó`-@¥Rûûû»ºº†††VWWÅb±H$šššêééZ__‡ ¨¹¹ÙÐа³³³»»›H$"&ÈYYYîëLð×w­Eàw„€P(”ÜÔCô… —––Žª#4 ,E`&‘H ˆÐ§¦¦ÀƒI¡PÆÇǧ§§I$‡Ã¡Ñh px‹N1âr¹333D"qzzzxx½‘F®®®R(°*ØØØE|>vv¶··wpp�Á`@»�Åbõ÷÷ƒ¤øöööèèh÷n«‚ûúúº»»GFF˜L¦H$"‘H@CA LNNöôôôöö’Éd.— Äàí4>>.‰x<™Lîéé!“É�`gggdd¤»»»¯¯oaaA(òùüééi"‘8>>N"‘Žv¤khä·A`—8ÿ¯=ñ-­›ïšœ8qÂÍÍ�D"yzz>{ölkkKVV§G§Ó óòò‚¥¥emmíÔÔÔõë×ù|> ñKKKÅÅÅ8ngg‡Éd^¾|¹½½½¿¿ßÖÖ0‡   `V¿°°Ì}x<ÞÚÚš››[xx8X›.--¶@¥R===_¼x±½½Íf³±X¬¥¥åÒÒx®†‡‡ÕÕÕ ÂÒÒ’žž^FF`÷îÝsvv]\\DR’…«W¯Ö××Ã0<::êääÔÒÒqãÆ�‘‘‘……eee<O£Ñ<<<¢¢¢æçç1Lxx8¨mmmÍÅÅ%44tß]†©Tªžž8æY$éëë—””0 __ߤ¤¤†††Ç�¯¬¬p8===ÐŒµµ5�ÞeKKKZZZ‡ó�ÊÊJGGÇééiÐ*ÀÚÛÛaîééÑÓÓØËˆD¢¶¶6xÙYYY�âR| ¼¼\^^0 �@Àçó!:ˆìììœ>}}!“ � oƒ¼aÃÊÄ’E&''>|ØÝÝ-µ ’̃ÆQþ°ùÀÑò�?,˜hÇÿPÌÏÏ[8ì�Üq ¹ã�þ ±x‡çœì‰‡††˜ï"())uuu1™Ì’’’   ±±1 �îîn&“955¥««‹Çã³³³#""æçç÷6pmm-++ËÅÅeff¦°°ÐÜÜä™››#“ÉL&3--ÍÏÏooÁ¨¨¨„„„ÕÕU&“I"‘œœœ***˜Lfqq±¯¯ïìì,“ÉLNNÆb±HÙŒŒŒ   ÅÅE&“ ´•˜Lfss³¿¿ÿÀÀ’ Drss±X,…BAÒ]]]ãââ°Xl{{;“ÉLHHXZZb0X,6))‰@ `±ØÎÎN¤ÈFh4ƒinnf0t:p`úãáá¡¡¡QRRB§Ói4šŸŸ_VV“Éìïïwqq83™L …‚Á`:::¹c\\Ü‹/–——A*•jjjÚÒÒ@sssŽŽŽöðð�ª¤³³ÓÚÚÚßߘa€_§§§ÀåÈȈ²²òÔÔh[AA™L¶´´,,,”ª \º¸¸¤¦¦îûšˆ"ðËX^^&™™™Gò¶E+A@xÛ |àm#ŒÖÿ¡"°«/äôýëóÈ4^Û}!ùj&˜4   ü�hooÏÏÏGùÀ‡úýCûõá!€ò�oLÑý6üd? råøÿÏì�Àd2Ñ€"€"ðþ!ŒïQ>ð۬ѻ|x}¡KÇTåŽ?’—ÔBùÀx„vEEà5{ùÀÆÆ ((ïÀçÊ>¼u*ڣ߄\9þèµýÀ�¯^ŸO,B åè‚EEàŽÀ^>ðÛ¼—Ñ»  ü2P>ðËpCK¡û�KÇT¯{b„©Û´¡EEEàŒ@}}}FFj?€~)Q~/ |à÷2Rh;ß7~²P•ö/¤÷Àr```ý· \.—��ËÍÍ¥Óéü~ÄÉ›››(xß¾[h{PBå!ƒ¦£ŽÀOç¼>�ìµ!D> ÷Àrhhh¯¶�NÌËË{ùòeooïúú:‹Åš��-,,ÌÊÊjll\ZZb±XT*µªª*##£¸¸˜L&³X¬ÕÕU<Ÿ“““››;::º·f‹£•jñòò²‰‰É‰'Î�;NËÚÚÚzñâÅ·ß~{úôéôôt>Ÿ/U\BÄçóÕÔÔBCCAŠ¿¿ll,‡ÃÙ7?HÜÚÚúò§pìØ1ccc*•zH~ä'‚ÆÇǹwï^oo/ ó³³êêêÇ�—‘‘)**Br¾IdeeåôéÓiii0 Óh4ww÷S§N�9s&55Uª;Hm$IAAáĉzzzà,3 …b``ðå—_~÷ÝwHNɈH$ª¬¬¼råÊwß}÷äÉ0:³³³·nÝúüóÏUUU‰D¢d~$Îf³322Î�;wêÔ©˜˜0:���òòò_ýµ��ÝÂÂ’Y2Âd2ýüüNžñÏò2™üêÕ«ééi …R^^<ú—––‰Ä•••ööö®®.:�ÞØØH  ÆèèhyyùÚÚ‘HljjZXX˜��ÍÍÍ¥Ñh{)ÁÞo<AÞÞÞžžžÍÍÍrrr›››uuuÆÆÆƒƒƒÃÃÃ×®]+)dE"Q¿µµõéÓ§%ù@xx8‰DEªˆÔåæææ‹/âãã…»ayyynnnaa�ËåJå—,ËÑÑ1::z}}=  ¥¥E,+((ô÷÷ï›I·³³+++[YY177_XXŠŠŠ………+++ŽŽŽ‰‰‰È‰ËH)†�kÿµµ52™ü÷¿ÿ}}}],³X¬¹¹9*•ª§§·/ …€H<|øpjjŠB¡p8ƒ‘””ôøñãÚÚÚ™™äˆ1ÉÛ ‚¹¹9SSS‰D¥R¹\.�FóõõÕÐÐ ‰³³³‡s-ÉÚ`æñx&&&W¯^| 33ÓÍÍmqqqllìøñãÀY„T±X|ýúõääd‹êááÁår}}}±X,›Íîìì¼pá“É”*ÃðÖÖÖÍ›7ñx<8â:%%…ÇãihhDFFr8œ””SSS6›½·`oo¯ŽŽ�@˜œœ§_ … .”””P©Ô'OžDEE …B©‚½|ùÒÆÆfzzº¯¯ïìÙ³L&s{{»¨¨HEEEIIé >A���˜ð---²²²›››õõõ`Â�ŒŒ\¿~}ß ð±±qTT”@ ÈÏÏôèÑÖÖ–@ XYY™››[]]=ˆH333étºŸŸ_PP—ËÅ`0X,–ÇãUTT())�÷¤úø¶/ÁÒÒÒÜÜÜââ"85ü­ÞquuõæÍ›±±± ®®®±±±ÛÛÛ(x«˜£•£9àóù`Ój/>«««d2yfffaaaß/5 õµµÎÎÎ`¿lo R)mllkl©Ÿö½TPPhjjÚ÷'4ñw�ÀOòÕËRöûʘLæÈÈHcc#“Éd±X­­­ýýýT*5''‡Á`°X¬ÑÑѶ¶¶¹¹¹ÒÒÒÅÅE‹E£Ñjjj¦¦¦B__(XYY¹¯ˆ`/ØÜÜÔÓÓ#€éª¨¨ÔÕÕ¥¦¦z{{†jff–��½w 666œœœRSSŸ>}*Éttt,--üñG s�`fL ÀÕÑÑabbbddd``�——·/9^\\TTTlnn&$ ¬`Î�;W]]ÝÑÑA$·¶¶ö¶†áW¯^™šš¶¶¶ …"‹/\¸V™/_¾ôññ§#K }öìÙÖÖÖæææ—_~9;;»¶¶æã㣡¡áää$''WQQ±R&“éëëûí·ß~ÿý÷ššš¶¶¶###8îêÕ«gÏž}ðà�¦¦fOO�Ô½Àþ½™™™ŒŒŒœœœ¦¦¦¿¿ÿÄÄDddä…Ýðøñcƒ±±±½J)**²··wppHKKƒ htttzzZ$-//Ÿ:ujfffoÁÕÕÕO>ù°£––{{ûéé鎎Žååe‚ètºœœÜ¾»à›››òòò333<ÏÇÇ'>>~qqñܹs€Ý���›ššKÝQ(–––ÚØØ���“““©Tê§Ÿ~ Rrrrœ��÷R‡”��¦ŠššZIIÉÄÄ„½½}tt´““ÓA|`ssS__�ǃ ÿþýººº´´4//¯Ã'<AÕÕÕàpëîînMMM�ÖÝÝmff¦««ëããó?ÿó?û"³²²òù矃ÉV]]íââ244¤¢¢211ÃðÆÆÆ£G��S«¥ðy«—MMMºººFFF¦¦¦¥¥¥û>tGØ€ŽŽŽK—.±X,†¦§§ù|þoÃh4ÚAâ©#ìàáUq8œ½2¥Ã‹ ¿~�@ÔÛÛû¯n@´¶¶6::*…Éòò2HäñxSSSmmm‹‹‹oõY~ùÀ/اŸœœ<þ¼˜0 ÏÍͪî}}ý†††½yþU>ÀçóÓÒÒö­jo"Êöbòa¤û�‹ÇTe¥Î'Þ—Ðéô���¶¶6@Oñx<�@˜žž.**Z^^ikk«¬¬\ZZ˜ŸŸollìè蜜œ¤P(���===o" P(†††]]]¹¹¹ ÅØØ8111222$$¤½½©|È`x{{Kñ …²¶¶vâĉñññƒ nmmEFF†……¥#]]ݬ¬,‘HD$•••÷®ÿ`ž˜˜øú믽½½1Œ­­moo¯X,¾v횣££½½½¥¥eNNÎÞmN±XœŸŸ¯  àååegggkk»´´„Çãøá …R]]���íææ¶ï–pSS“µµuLLŒ¿¿¿–––P(ìééÑÐИŸŸŸ™™¹}ûviié^>ºìââ.Ùý‚‚OOσt“�œÚÚÚéééÈ% Ã!!!ÁÁÁ‡�+ÉÌH|vvÖÄÄdeeð�¾±±QVVfgggnn¾oËÀ^{aaauuõ“'Oñ ›Í 555ÝW–ÂårÝÜÜœœœââ⬭­ÛÚÚFGG¯]»Æf³³³³ñx¼­­mKK Ò<ár¹iii...½½½ÁÏÏ‹Å2Œ¯¿þzbbbgg'""ÂÌÌlvvVª �N÷ññIOO¯««µ´´Œˆˆy†††\]]â ÅÈÈHjÂGEEwttôõõ¹ºº>á †���ŸŸ�Çóóó ÛÚÚêêêú�ÿø�}ù@ooïÅ‹WWWKvƒ““SYY™††ÆäädzzúÄÄ„¹¹9¢ï$ÕÍ7¼‹Å Er+ ‚ õõuƒV•••eeeCCCt:}eeeccãþýû%%%µ··kkk´}A‹ÅZ[[“œ0<oaaAòq‹Å³³³ûŠ€@/^¾|©¤¤$Õ#‡C$�Ö~`qq±¼¼<''§¨¨hxx˜Çãáp¸üQêÖ¿ø²©©)u7 íû8ì­œL&òÉ'{Ó%Svvvúûû÷Îv&“YPP�’’’‘‘QZZ 65$ "ñ¾¾¾¡¡!ä�ü6p8œ���—/_VUUQ(ðX‘H¤½ ‰DW®\Ù»²—Ì) I$RiiiNNNqqñèè¨H$*++300�ÌÃpuuµŸŸ 㣣öööfffUUU8îM¾"‘hnn®²²Ü¨ðIÕ¿÷ò�ð�­­­ÚÚÚÜÜܺººÕÕU ‘‹Çãëêê ××בv···×ÕÕ·¶¶"/ÀÖÖÖüüüšššõõu‚¾øâ ‡Çã%U¼½½UUU———ÙlöØØØÜÜ�´„¼¼¼’’°�&)`0UUUyyyMMM@xÎçóÁ|ÈÍÍz FYY‡ÃMLL"‘ˆÛ CCCà½Ê`0òòòðx<Ê�ÑüÀ"’|@îø£Ÿ±| ¥¥¥···«««­­ ðG&“ëêêúúúZ[[ÇÆÆ***(JaaáÄÄDCCÃàà X¾777‰Äúúú7äóóómmmwïÞmkk344LHHˆˆˆÀb±þþþqqq &00ð�Q‘â`C†á[·n²Ê™››ÓÕÕ€axmmíÆ�OŸ><äÎ�;ûn—Ž��}óÍ7nnnÑÑÑÛÛÛããã<¯°°ÐÔÔtï§T$åææÞ½{wttt}}ýÑ£G%%%x<þæÍ›mmmfffQQQ...{ùA  Æ×××ÅÅÅÂÂb}}½ººZ[[Ú ºººeee’‹$I”Þ-àr¹X,¶¦¦F$Iò:�žœœlmmmooÏ`0$ âgΜ™™™ùñÇ322ìííûúú€:Pxx¸®®.ØÕÞ[pggÇÝ݃ÁøùùÙØØŽzõêUƒqëÖ­ÂÂBkkë}ù@jjªƒƒÃ‹/BCC]]]ýýý�¯¯¯……ųgÏ ­¬¬ÀKYò¦t:ÝÛÛ;))ÉÎÎîåË—&&&ûúY>```ÐÚÚŠLøøøøÈÈH,{ø„ߨØðóóÃ`0³³³[[[ ‡Ãy×Ç|8þüðð°––VRR’ƒƒCiié�?þH$¯\¹R__ojjZRR"Ù»5Îçó‹ŠŠ$Åß"‘¨³³³··, †‡‡Ã‚ƒƒŸ>}êåå•––F$Ï�;éëëûàÁ„øIÝ],‰ÄŽŽɵ>�N/--¥ÓéHf>ŸŸ““sÝ=ˆô÷÷!àóù ÆÂÂÂ×××Ãèi-ÐÐÐPVVöððÀ`0FFFÀÈÁá È›ð�……ww÷üü|©J†‡‡¯\¹bddäååehhèää$Éý$3ƒ'H2�¿m¸\nII‰±±1ƒºˆ"‘ÈÐÐ(jJ6@,ïå,«¦¦F’XNLL¸¸¸€¯�‡‡GRRÒA|`}}|¼***ìíí———i4Ú… 677%ï Ãpss³äã AÐØØ˜ƒƒƒ•••‡‡‡�����Á^®T%0 ÿö|‚ ˆˆƒ€€ ¾¹¹™œœ|ïÞ½ÀÀÀèèhIñ~HHˆªªêóçÏ£££•••‡‡‡ÙlvAA�¹¹¹ŸŸŸ™™ÙóçÏ9‹=~üxdddyy¹äÓäé驪ª:88Èb±±CQQ‘¥¥epp°§§§³³3•JEø—ËõððxòäI`` ƒƒP”­¯¯·¶¶ööö Š‹‹[]]500¸qãFdddoo/�777Çb±àSÒ××ÇãñRRR¬­­±X¬»»û?þñT_hïÄûR$ý ½>�ìpûƒ122ÒÐа¸¸¸´´ÔÔÔÔßß¿´´”““C£Ñæç燆†Z[[çææJJJ( Pq«®®žššÂãñ===óóó+++åååo¨/´±±¡§§“ɼ{÷nmmmrr²‡‡ÇÔÔÔ‚¾¾þá_k)>¶Ka¾qãÆA¶§ÀÀWSSðr:�~ûöíèèhÀ˜+**$odP(”Û·oƒ7ZLLL`` �Fúúú,,,Á@Š€HUU•……X»ØÛÛÇÇÇÏÏÏ_¸p�F£���%%%yzz.//K•ÚÙÙñòòŠ��çr¹[[[ µµµÕÕÕZZZb±X(>~üø½• ÿðÃVVVööö—.]zôèQ{{ûèè(ØY\^^VTT¬¬¬”ê2 ÃËËËŸ|ò “ɬ¬¬´³³#‘Hl6;$$ƒÁ¢­411qýúõÕÕU>Ÿ411qþüù���žžžÎÎNCCý:B¡°¤¤ÄÒÒ’L&ÏÎÎÚÙÙ%&& …µµµŠŠŠ²²2//¯½Ô…ÍfÆÄÄŒŽŽ.//ß»w¯¸¸tçp>°±±¡¯¯ßÜÜÜÛÛËd2•””jkkSRRž>}ú³~kkËÁÁÁÅÅlmooc0˜‚‚ ãúè£�öåT*õ‹/¾ ÓéD"±  ÀÑѱ¿¿_EE…H$vuuÍÏÏ«««ãñø½cñæ)`o^R_‚ �†lêÓéôíÝÐÝÝ]RR200°°°páÂ…´´4ðÐUWW"`0+++’V<onnNr_M$‘H$É/«Tûñx¼œœ¢/ÔÕÕ솆†ÃHÕsøå—_~9::Êçó™L&•JòuuõŒŒ ^/›››ÙÙÙOŸ>\hdd$''gccƒD"9;;���‹Åↆ†ÂÂBÉ›jhhÄÅʼnÅb‰¤¯¯I ¼¼¼0Lhh(ؼ …ÃÃÃ��� æùóçÀ ÈX,VnnnYY›Ínkkóöö~òäIvv6›Í®««“——WSSóðð�dwÃÃÃ�=êîî …­­­ßÿ=X€íÏ•••ÔÔÔòòrEEÅëׯ»¹¹••• …¾¾>''§ÜÜ\`z433ãëë ÌWyœ%û‹ÆG`vvVMM-22X|-//wvv„sçÎ)++ûûûwwwWVV¦¥¥………¹»»ïå333ººº’DÅÅÅ|>ŸÁ`�ÉdÀ”••�æIFFÆÆÆ Ãx<>%%ennîÑ£G²²²ŽŽŽ...ÿûß1Œ§§'˜� ýööö­­­È—Åb˜™™MLLp8 …bccóðáßÕ5úíùÀòòò¹sçzzzAss³‘‘Qgggrr²††ÆÔÔÒ#ÐÍ��KKK 4ejjþzfm�‘‘Áápººº€ÊëAúB“““¶¶¶†††FFF‘‘‘sss CMM­¼¼Xb0˜¼¼<„´··_¿~}vvV 444ØØØôõõÙÚÚÆÄÄlnnŠÅbðM”Ô²¶¶ b³Ù›››ÏŸ?÷ññ™šš²°°())áóùD"ñرc(8ü¡û�þúPy#}!‹533S[[K&“)JEEÅÌÌ ƒÁ(..Aì‰×××ëëë»»»�=qEEÅêêêÐÐؘ��ÍËË[YYy}!±Xìéééï￱±ÑÒÒråʃQ[[kff6¼nÞ¼y¸ÑŒÐÕÕ]XX ÑhŸ}öÙÞMw0ŠB¡0<<ÜÃù455MIIªíÉÉÉûZÍÒét`̰¾¾ŽÁ`RRR˜L¦ŠŠ �÷%''›ššîK$úûû­¬¬ššš¨Tª²²rss3ŸÏ¿sçNYYÙòò²³³s||¼¤æh�Çóòò ÝÞÞf±XgΜiooïëë{ðàÁäääÀÀ€¼¼ü{˘Lfwww[[[KK‹¦¦¦——×ââbbbb`` �N§Ñh/^¬¯¯ßûP‰D¢«W¯fee±X¬°°06›�žžnaaqø4˜››»|ùòìì,MÓétuuõøøx6›�ššjff&¹`·† ¨§§GWW·§§grrRUUµ»»‚ ÓÓÓC¡PÁÄ�j*AÙÙÙ †L&÷õõ�?ùòÎÀ„÷óó“œðÀÂLø[·nÔÓ   333dމD"ÿÝÀb±JKKâB¡PAA!??ŸN§ûûûíììØÙÙ…††òx¼ÊÊÊ{÷î�U²Tßê¥P(|ôèðš5;;›��-¹¸·¦ÑhJJJ‰‰‰4-444**jccãÈíètºŒŒLttôää$òPãp8™˜˜˜ÒÒRkkëØØX‚âããÍÍÍËÊÊ’’’îÞ½K¡Pƒ!‰999gÏž���‰DOž>‚ ééi �ØØØ–––¼¼¼ºº: {{{àÌÌÌ,88¸®®®¨¨,é>ùä“ííí¨¨( 322ÒÒÒbbb’‘‘QWW§««›““C$õõõýüü‚äþ.à`=TXXxãÆ ƒA§Ó¯_¿ÔNjjjlmmñx¼‘‘‘™™�'“É###VVV111åååzzzUUU0 ;88øûû777WUU½¡~ˆdßѸb±¸¼¼üÚµkR^òVVV”••ÝÝÝ{zzh4‹ýᇠñxü^>@"‘~üñGÉ×cuuµŠŠJ||<`À¡MII ˜–>lnn‰Dúúú›››���ššš¯^½ª©©9yòä«W¯:;;%ez–––���ÈêyffFKK+33Iÿ¯ÿú/I"*ÕYpùÛó�®®®ï¾û´svvƒÁ&''»¹¹Ij �æ…„„ ›’X,ÖÉÉill |b`W®\éîî>ˆÀ0¼´´ÔÓÓSTTdddÐÑÑ!++«©©ill¬¯¯çÎ�gÏKúö; IDATž!| 66öôéÓÆ»áÑ£GêêêÙÙÙúúú’ÆB’ö�àÚµkJJJÆÆÆFFFwïÞµ´´lmmµ±±„a‚ sçΡ|`ß¹÷{O”´'–;þøßnʼ>Ÿøê µ}퀞nQQQaaaww÷ÚڋŪ„8xb±X ¥¦¦&??¿¢¢bjjŠÅb­¬¬tttíëÉô £d2ÙÜÜüÒ¥K7nܨ­­… ˆÁ`DDD(((\½z5!!ù¬J‡ÃÑÔÔ^edd�Ç‹ŒŒTRRRTT455z&÷îÝ»té’¦¦fww7Ò*ÉÈÖÖVRRÒµk×äåå###Á2(77÷êÕ« ™zÿ­>>>W®\¹víÚË—/!šœœ”——ÿî»ï¾øâ‹sçÎÙØØì»çM&“-,,À„¯©©A&üÕÝ�˜˜¸ï„___?s挌ŒŒün000ÔÓÓ»~ýº§§çgŸ}vЧ”@ ܹsGVVÖÚÚ(\MMMéêê~ÿý÷wïÞmjjB>ɒȼíøÐÐ�¦¦æ�;wîß¿ŸŸŸ¿ïCw„m …���JJJ—.]277‹ÅGÎÄbqmm­®®®¬¬¬¢¢bii)—ËÅáp—.]ÚÜÜ … ºººàùåp8ººº 333...®®®ÎÎÎ�àæÍ›à;�@¡¡¡qúôi…‹/ZZZR(p® PÀøì³Ï„Baqq±¶¶6“É„ ˆÇã‰Åb࣠‹Å{ÀKCCCY,h³ººú!úB§N�úì³ÏdvCTT�Ç …nnnaaa� 88ì\ úB</==ÝÖÖv{{¬­¬¬ zôè0Ñ^Ý�N¡‘_†€H$JLLTUUÝûøHê a±Xð:Bø™LÆ`0òòò/^üÛßþ^°ÚÚÚ<oss3??_SSóâÅ‹JJJ€Eß»w�N§ ggçÄÄD.— ø ÃEEEL&SR_ˆÇãååå�WÖßþö·3g΀xWW×ØØØƒ^½z…t\$}üñÇû¾Þ‘<ïD_httôäÉ“àS;55emm]QQ‘œœìåå%©²„-���Ož<™œœ400Úª›››çÏŸŸ˜˜ ‘HûÚ#= …éééfffõõõÀuÞÜOì™ÿBYYY***à—ÙÙÙÅÅE2™¬««[__�¼Õù|~zz:°'† èÞ½{ÙÙÙH�ÖÕÕekk TsaFõ…�QøÀ"»|Àéûc*—�kȾ `±XL&“¾€³ Éàelüƒ-":�ŽdÛ›"%"Øw�´8ޤ×[¡PRö-‰Çãq~ \.|`ø|>H?h¡ Êòù|É à«ù³w‹Å\.—Ãá ®‘ðÑ=höˆD"P¹)R©joY€ w7€‚dø|>—Ë=�@€Ü Ô,‰¹rw)dÀ–†¤j)’ó #HK��T‚ €ŸÏ–R½÷˪ …+>Ÿò Ãzøè€‚A ¯Cƒ H H΂~š�¯ÿçñxÈY²³ÿÒ„G`·=B:Z²ïí·”„¤ï:’m�läoGøL>–ˆÅb0—ÀÔ‚aøÈù°åZ±±±JJJ½½½8N]]t¤®®ÎÄĤ§§GGGqóåíííææ¶½½íïïÿìÙ3�pñâE2™Œ8"CpÐÐИŸŸßÜÜS½®®NEEåÌ™3§N�úÓŸþ´¹¹ ,¯�"0 “Éä�?þøÛo¿­««µ��Á‰'Ο?ÿÝwß�={ööíÛ å û�‡¶µµmnn655ÉÊÊ A„ÇãUUU‡‡‡1 PÿCøÀææ¦ŸŸß§Ÿ~úÝnøæ›o””” RSS;yò¤¹¹ùää¤d Ñø/@@$åääܸqc¯¦œˆŠŠy>Àçó©T*‰Dª¯¯WTT$‘Hóóóà5"‰x<“É úì³Ï€+}}}ÐH,ÎápçÀi7iÀÔÔP�œœ|øð¡¤å�NÿóŸÿü³ZdoC>ÐÛÛ[PPð),,²k‰TPP°¸¸( ÁãÖÖVbb¢¦¦&…BINNööö~>°¾¾þêêjddäýû÷ÁšêäÉ“{7Œkjjètúì쬥¥%ƒY]]µ´´´³³Ïûèè(Pâ|`uuõÛo¿Åáp�`}}}``€ÉdèééÍÎÎòùü®®.±X\TTdll D@111*** "‘hzzzhhˆÉd�&�W^^þÑG¡ò�_ð0¾ÿE$å¯ùÀáöRË÷#¿|ØÔÔ$iO øÀÔÔ”––V]]`éFFFÑÑÑ0 §¥¥©ªªš››¥p;;;SSS)Ì�¾’>.é_è>°¶¶váÂ…½*ˆRúB4ÍÎÎh„ŠÅb>ŸùÍ7ßüì"ámð�—/_ZYY�Ž­­-ððÖÔÔdeelçææÔÕÕOŸ> i`ÎÎÎ ÙkZ��� ŽŒŒ§”’H$ssó³gϪªªÙµH$ruuýæ›oÌÍÍ]S†ËËË•””þñ�|ûí·¶¶¶@œËb±\]]Ïž=ûÍ7ß766úúúC2 i9uêÔåË—�Äocc#00ðÂ… §OŸvrr‚aØ�:u*!!akk+66öÒ¥K'OžTQQǕ߿ßÙÙùîÝ»íííÈô@# »öNÿ®²{™&Ê>˜‘E;‚"€"ðk8r>0??ïééY[[ÛÞÞîçç§««;::º—lll„‡‡[XX´¶¶æææ^¿~|Ú._¾ìââÂ`0ÂÃÃÿû¿ÿ[Êù/ ÃR|`jjÊÉÉéåË—ÓÓÓÁÁÁÿþïÿÎãñ¦§§õôô€;‘ÚÚZ&“ ü ñx¼üü|}}ýÎÎÎÚÚZCC‚‚¡¡¡¦¦¦úúzƒ„Åb�SÜááá{÷§wwwgeeÉËËl;;;QQQ_ýupp0Xî'''kkkoÔÆÆÆ)))ýýý���@¡933³££ƒ@ 8::&%% ‚ÈÈH 4²¶¶@»ARûi ‘B`kkëÙ³gÀ`½­­-;;ûéÓ§B¡‹ÅÚÛÛ���3Œ•tuu…‡‡×××···;99ÉËËs8œ7ä|>ÿöíÛÀ§ˆ¤Q�‹ÅÍÍÍ< jjjŠ��—““Û×É„Tß�ºz‰"ðA"øÀ÷Ç^ó�+ï¡|`~}»szýû½ @¤ìs6ðùä �z;¿fê/þßiÚæ¯©aß²Ôׇ޽I8r>°¹¹ ~ttt\\\:;;�GΔŒ‰‰a³ÙL&3>>8´Eü;:QUU|„«©©í5º [z ƒB¡°®®ÎÅÅÅÓÓ³¸¸XUUhèõõõ9;;ëëëûøøÐvp¿½½�ŸŸŸ��@§Ó›››Ÿ{ BxõXhŨnlû½�úû¡ F ø�Š‘çUcVi]ªÏ^Wµ÷O-¬ñi~Tíx`Ù?qP m°Në «}V9j˜p`¯Aw¢jǽpƒ ;Â�rz#jÆC+Fµ^´Y¤t¾á̃a˜Åb$&&-Ì7/(•‚ þþþôôôÌÌ̽Ë#�‚ *•š———––F À·�Åbegg———KÊd%ë …“““999###`›“Á`¤¦¦677Kºá“,Èçó{{{322²²²Àb±xnn.777==8u–Ì�Ä98R*''8 ÃÃÃYYY™™™“““Hloo—––&''—••95�ÇÃãñéééÙÙÙ’Ÿ^ä^ Âb±p8\jjjSSP!e³ÙÀ±oAAÁ^V©â‡\fµ“÷N¿7O1ˆïˆ©Ÿ4O!¼y‘7ÉéQðú\‘7 GÎÞä¦L�@P\\,¥ððÁôíÈû‰ÊÞÏqA[õþ#€è ɾ¶'~ôOÿBòûš™™IMMMJJJKK‹ŽŽ&“É,ëåË—ÑÑÑÙÙÙ±±±mmmL&see¥µµÕÎÎ.==,ý222’““£¢¢‘�bûòÜ`IßBr3)¿k>¯s,—-S; {)y�s �S6éÝo²¸Rÿ4 °‡’ÒL*ê](ê¥TêQdKdÍø …P6|Pž½éÂÊFJw›ZÒ·€ÉìV©�~5Q9¸˜ÔDÂõPB+G•÷[�'âsð³/ sÙ³eý‹�£Z•Cê“[¦‹ûÒZ§‹{\rûö-ø$»· {>½m&—0W1°t?´AûE[f;9¿k>³�\Ú·pŸñ-&–ö/$5‘ º_ç¼Ú`™Ú™×ùº9ø¹ò�Åa�{;x/¤>²öÿ±÷Þ_ie{ÿø÷x>?›Ãûµßm¢žÄLo#—õÓ_4ŒéG¶ÊñôLÌtQÏl9žîšÕ{øMŸŸŸãÆ�ØØØœœøqÔá{-GFF@|̧OŸzzzªunÞÞÞ E"‘aaa÷ïßïéé‘J¥QQQžžžiiiÁÁÁ111j étzpp°¿¿HHˆ««+È/bH?{ö ‰D644¨Ðñx¼——ד'O„H$Z^^~ô舨èîî>22? ƒV]__ïêêåãã ‹'''ýýýƒƒƒ¾h™„»ÓVC˜{R9tC¡m€ÓFµ¢FØ�ÊI7Ê„¾®]ZWtýXa7íVæv<Oã©e©Q4š¼° –TB¬%ÎÝ{‰+é��i3ŽF[$vL°ùO«†Újðz�÷ôéÓ“'Ojii9;;‡††2ŒÍÍÍÊÊJooo�·„/˜ŸŸüø±··wJJ 8>�ŽŽ^__áMTwˆþyéÒ% …²±±š””´¾¾®­­=00 ‘H@ÕXÑÀ†ÕÖÖ–Ífóù|›ºººõõõ_~ùebbB ¤¥¥=yòDÕiL$%''‡††‚½çÏŸ'‰ccc†††³³³kkk¾¾¾999póYÀ¡PèææVXX‚{\¼xq||¼¼¼ÜÃÃÃáðx<, g&( ‚+W®ôôôˆÅ⎎++«™™™§OŸ‚<Ù ZZZPv<8ùæææ?ü0>>.²²²>|Èb±îܹSWW'‹'&& ÊÔïGmùïÇð­û¾Ê< öa½ßJ©TŠF£ÛÚÚ‚¯ïw8Mo€´\eeeÀÞLà 48$vñÀ§†§ã?°´´ÔØØ˜šš Bˆæääƒpr ¦££ãÕ«WãŠkzz:;;à6›�““SWWÑÑÑ555JʵùJûf[†ÙÈ=‰¿e„õ°œt7±#¥uªaˆù¸œ„ÌާOOk'{æö÷Ò[&Œ£Ñ•Œˆš U0xþÅDU Ã0ªÕ-«×9£'§“ á� 9¯›†Ìm$1o¨³Ã±Ií¤,®¥µ“Ñ£ó Í·ã±6©�3œup´ï’ÕSÚ?«jÚd�~Ñ8ž‡›3)螉k™pÌècòáã Rv'õžÂ>[³8LQ-´rWƒ�c?« )ªd‚f)è©—è)“Ê'ý‰ØÉE§Wr ãhtãóQåP z*5 +Ñ�cð±@Ù:¥sza ÌÊ9£» O(!Ôçü @ô;«ƒr˜�' GGGÍÌÌ|}}ñxüèèèææfmm­��Occc}}ý™3gà¹ëá}‚´ðÝÝÝ B¡ðîÝ» ³„µµ5pd„·åÞÞÞk×®�óøüüüG�±ÙlSSÓ¬¬¬��p®V:/((ðññ„Ož<‰‰‰‚²Ï455ùûû«)­¬¬<}úòõ´±±yõêUssóÝ»wAW/_¾ W•lll @“wîÜ),,�¡··wbb¢êi4Ú… €‡åÌÌŒ³³sMM�··wMM hljjªö¤vbbâçŸ�£Ñh___4mbbX×ÖÖlllàQÀU‡~K�¼…9š�4Ðpà½s@,s8œÊÊÊ‚‚‚rͥဆ‡æ@AA�›µŸö§ÆŠü0ÿ+#„êþââbuuuZZZ~~þëׯ322²³³{{{}||ž>>†††ãããuuu.\Pë ÐÜÜlll\YYiiiÀ`0ˆDâ�?þxìØ± .€t0JÃmmmeddøúú†……>zô¨½½DP¹~ýzrr²��ðq„Ór8œ���W¯^YZZ¦§§#ˆˆˆˆ²²2kkëÌÌL—ÐÐÐàà`ÕèÔ333¶¶¶ F[[»¥¥ÅÑÑ1111666,,ÌÇÇçÙ³gÀÜ>(_½z•Åb=z´¤¤ÄÝÝýõëמžž¥¥¥×¯_/**²µµ…¸ 'ïéé9}úôÀÀÀÕ«WSSS½½½KKKoß¾M"‘Ž9RWW‡@ ÊÊÊà$‡/<`ü¢ 7Åñ.ÀC›Ê0ª5½�œØ2a#w³¹‰Ò�Dyåákˆsjµv¡q4º~�RN‚,èn‡#þi.ÂÌ5ðw_ÿVååå�þñÊɯ~;ùÕï§¾Ö;õµÞé¯ÿ8ýõ5�oôu¾18säøÓUÎ1<÷­ñ¹o�Ï1:{ÄøÜ·&玟UüíÕŸ?b|^ÑFþé·&»Ÿî5·gA›½ÊóŠ– ¥ÿ}tþ[“½�L”H¸…7;¨,_Ú¹oMÏ|ezú3y22¹ÿÀÛóp8œÚÚÚ—/_‚ðséééùùù‰DNNNÖÖÖ¦¥¥MLL(á&“™••U]]]QQÑÓÓU^^~gU0ÏßZào‘W½òwOÄáT¶©�“ì ”$¶L¤cÈȼþÎú­8Lnç̃²Á2<Ý}OÑš¼@Ç5OtÍ„V ?(,é›}‰žrÍîeþÕ9£; 5Ó8ž§ùÜŽÇ+ðÀËÖId.=Æ~Ñ4þ´j¸‘Ä ,&„׌dã¨é²*°|‰ë˜ZtÍê)î�Edõ51ÃkGÒÛɩ詨úQ¿"ù‘jš!T°Kïš^X5�iË秊+è!¤ºÁ¹àB&v‘ÕÛ:ÊÎïž9ü/ðx>þÉ“'ùùù555îîîQQQк ™L>wî—ËõôôD¡PNNN%%%H$²¬¬ìùóç===fff™™™P{¨@"‘~úé'�ž››ëååU__odd4::ŠD"ûúú¬­­A€ˆäð€LcÛÙÝ © A{É(]C`õÈMÔ@¥~$êaÙ ‰¾ì�þ6ïa“˜¶‘¹¿Æ4ŽAxÀ0ª5 ;Ý@bÞ�ã¹dõЖÖ°H7cÛ7¶EНüAx@"‘LMM577ƒ,Ô ÙÀÀ€þ‰kZj8ð/ç€D"illD£Ñl6{Ssý«9°qˆë_2Çööö_]ÒúßË¿üï•_þ÷÷_?Ò;öñµãŸèŸ�ÿœúÔPûSÃÓŸ�‚þ>39¥ø;ý™©Îg¦ºŸßÿOfvú³›§?3Uü™½y *áÿo*ìÖèȩިýè|~óôg7uö»Ýk¯¨Wô`¦»[†w./¿I:‡¦'ŸùÞˆ–‹] IDATòùïMä�u>7?X^^ÆápÑÑÑl6{iiéÅ‹---l6ÛÁÁ�N§óx¼úúúÌÌLƒ¡„¸\nQQQaaáââ"‡ÃñññÁãñ‡ÁÙ”–aÖòÁÏ[�£Ñ#suV8¾ÜŽÇ2xˆ¬>è֘¦ñF’ÜŠæfL›Y,Æàyë­8 wMp'IÙš’WàxÀ了ëš%wj4xÞj‹�d¨ýõH”eRG×ô’Ã+y€ ôd zÊ"±c�¿u'©C?å_8P;8§jö£‰ ­®`˜Ä´E¡1‹Á¥DÓ˜¶Ù¥�ÛñØÏ[[&2±Ó�Ø�xãyk^çLbó„QÚ8M嬹çôyæõwL.ÞŒÅFµV 0žÕލ†2ŒBã¦8¾reóxì�çœÙß4žß9còm… ñàG¹ÐˆÆÑè9Þæ]År¼óñ�CL›Ô®êFxõx:Só+ÏjGÿcÇ�àÑ£GÉÉÉ boo¯ª- IôÉ'Ÿ¬­­�äD ±‰ÌÎÎ …›››&&&jOúY,ÖÙ³g¹\®H$ŠŠŠŠŽŽÑÒÒ6£££vvvP>vh ‰¤¥¥ÅÎΤ~´··/))YYYùöÛoÅbqNNNpp°ªFB$ÅÄÄDEE�üÄçÎ�ëììÖ××_^^ÞÙÙ LKKS  ¾½½moo_WW'‰677Ï�;G  ½½½×××···MMM¡B…­­-]]] …"•J-,,&&&‚ƒƒ322@ÎÝŸþ¹¯¯j666þò—¿,,,ˆÅ⢢"??¿ÙÙY“®®.‰DÂb±®]»öΜ PoJ�½�C4·h8ðOà …êìì„€ý?aDÍÿvèéé9ùõoÇ>ú]룫{`Ààä'7´åHÀHûS£ÓŸ+$f â›�þ|÷Oçó[:Ÿß:óùm]EA÷ó[  ¨7WÈÓòªº»TæP{P£ó¹¹îçæg§òòž¿¸}Nñwv¯FmW羸 ‘ìõsKçsós_ÜÖÝ'¼ É÷°Nn+$~¹àÌç·¡QT·¡™¼C?Àçó'&&+**êëëŸ={F&“ù|~bb"ˆ½˜œœÜÔÔÄårÇÆÆB\\\LL ‰D¢Óé]]]‰‰‰MMM•••!!!KKK‡Áí䨺Ñr<#¨˜ø=Ù::â ½X$vŒÌñ½óñ÷³ûjçpS‹ ØÈÚ‘‚nZP11¯k¦šÈ€$]xÁày«GNP1¡žÄÌÂN#2{nÆ´¥¢§r:g�9ýË3±ÓÆêÂï˜Æ´¥·“ó»f”ḢeƒÏ[‹zh¥ýôÀ"B~×L*zJ-�@döTà1 ãÏëGÛÇï$ÊñCÅãuåq9©j€ñfŸêƒRbÅãiåp|óD?•{ãy«õK\ž‘Ô2Q3Ò2Âv> Pc|Óx9žá_8�ÖFnd{ö¬··7+++??_(655ÙÚÚ677çææš˜˜¨[[[nnnaaaåååÎÎÎ( ÈÖ™™™x<>##ÃÍÍMU¬—ÉdSSSnnn/_¾ÌÉɱ°°˜™‘+@ÜÝ݃‚‚jkk‘Hdaa¡ÚøBh4ÚÍÍ­¨¨(%%ÅÀÀ@$-..º¹¹EGGÙÙÙõ÷÷«}¥×hvv¶««ksssttôÝ»wE"�@pssËÊÊÊÌÌ433SÕ*€BCC]]]ÛÛÛ*.±X\UUåææVUU•�� §§wP|!ww÷€€€úúz�œœ‰D’””äêêŠÁ`"""\\\Ôºh+M[í­¨e‹¦Rà þ¡Ðà�({?ŒÎÐRà�c@9ðñõŸœüÔð”œúÔXq|ŽØ•ñL¼Výår6ôwæó}©ý¬BÈo!,±×L`Bü>ØP4�A@ÀÀØívŸìNàÌüçý{c�¹í§èùöYùèòzÉ.¼‘ǽtÄü-ù¸\.�OIIINNîííb=�FV õõõ,kii©   ..îÅ‹ÑÑÑ)))===§­­-111%%ettT ¨õ'Îh—[¼Ä4Ž7‘X޳V/åQö¯G¢\³zŸV ¿=‡@xõHqïì«v²g¾ kÆ';›Ðø <£ÏðÈí€Ç:WØM«'2ëGnîÙXé€7phÕpq®¬�n«H•`ð¼Õ=»·´�^=0PD0ŠRv&=È�š'š‡X]3 q�Q:¨„X=À¨è§»dõªÅ-×#QfqíÙ”æ!ÖËVyÈ&E‚tdÝhà ³¤wÖ:¥óoÊ?�™™ wTÝØØ¨¨¨ðõõõôôìé9Wp894""êˆD¢¢¢"ooo‰¤öU%•J§¦¦\]]ËÊÊ@”ýÉÉÉ   OOϧOŸ ©%9q¼¼¼�H$ƒ^ ,ëÁƒ";;{yY} 6�°ÓÝÝÝËË ö‹ÅCCC~~~îîîuuuªÊ0�õõõW¯^999ùùù�ÄB¡�F{(.AHíTù|~DD„ƒƒÃóçÏÙl¶L&ÛÜÜ,**ruuõññQuz†:YXXxøð!�ÈÊÊ`cuu5!!ÁÞÞ>$$„Á`@-ÿÖ‚ü­Ó´×p@Ã�¿Ÿ<ð÷óðƒïà�_þ÷7­�®ûHïøÇ׎ïá Pà“}+ 7õ@-°'¦ƒ÷];­ß•­Aã³»H@~$æ ­‚¼f¯«},�¥öºŸß:ûtÆ/×€C}¨0<õû°DG>ô.Æ€¯B1í}]Ç®~à-x@­ÿ¾*U�!3ÚÕ8¶*‰ÅšÛ?þ&<ðÁ¿n4 ÔàÍÐp@Ã�>4xàŸÏó»áxàW9¸~âý“Ÿ“!¹½ È­ù!{!pˆNßa‡îûj¹Žòy¿üÈ`HßÓÈ$ÊÃ:”“ø~àôž‘¬%tØÎø÷¡Ð9(Ô»•«ìÕ¼ÑØ AÝjð€šl¾iûÏ? ø·{'þC'¬ÁÿPöj:×p@õÐàµlÑTÂ9ÐÓÓ£ýÍo¿ÂüN~¢¯ýé¾ÿÀ©Oåþ{¸r< £P€c~%› åë|~ ÈëŠOÍ!Ù*À͇t¶ûg`ÆEP3p„¯ö#Ð?¼%T�Ãm~À¬À„A3à0 @&û:�=…Æ~·ÿÀûR¨íG£øóKüoŸ¡À_7š²üûî�ÑÑÑÄÄDÕ [ÿ¾+ÒÌü0�H$¾¾¾kÂx‰DÒ××§4�•</33ÓÆÆ¦¡¡Am,i%¿óVƒþNþ'�CþÄ¿*ì…ö‚ Ý8¹çO ð€"Ïú`~7÷ß;é‡KØÀ‘WÉøèïj  ô°‚¼«=÷€ÝN€×$@ª@uÇ*rã"…jh!ö0è\®Ø3Ú×o€Þþtx€·¶M]\Óüý»p€ÁÛøOx�hÖxH,oü¿¿ì¿nrþ[[[###ï1Þ¨X,655ÕÚ»LLLT“WrnªÍH$H/­ôQQQÑùóçµ´´._¾ìë뻲²¢Ô@ímGG‡½½ý;½GŠ‹‹ÕÀ½}û¶––Ö‰'®_¿þêÕ«ƒmii‰��‰ÆÕNCSù÷s€Çã�¨—/_¶±±Á`0R©4$$¤ªªJµs±X|æÌ™·oK�@P]]}ûöí .˜˜˜äåå‰Åâêêjkkk¥ BII‰L&Ã`0H$²¥¥errÒÜÜJñ¡ÔºåñxÑÑÑà”°¹¹ùÞ½{ED€¨ ‚@¬Ðℎ¤'ÿƒüä!†ví…t>3�ô:{ú˜Ô÷�?d�³‹ T€Htå¶þû°ªW*{ %€¬‰€ðú¡[ÐމуB)¤ÿ݈C BàE m¤ÔÏ»óðù|.—;<<\ZZZ\\<88Èårù|>�N¯ªª*,,Ä`0l6›Ïç³X¬æææüüüêêêééi>ŸÏápz{{‹‹‹KKK'''©€¤‡‡G@@¸]__OOO×ÑÑ9qâÄ«W¯:l`³Ù&&&ßÿ½™™ÙÄĈV¢¥¥¥££sP"[™L6==­§§÷ÓO?yxx€ŸÃÅÅE;;»ï¿ÿþêÕ«9žŠD¢ööö .hiiEGG7Ó¹¹¹ëׯÿðÃ666 á+´"¥Baa!‰„~}ûûûÿý÷_~ùÅÓÓsvvV©1¸]YY ýõ×_utt:::d2™P(¬©©9{öì±cÇRRRÖ××Õr8''§£G�^¾|yppP&“­¯¯'''Ÿ•Ï {íå® ïÖÌÌÌ455MMMÍÎÎVUUÍÌÌðùüšš�Àf³±Xloo/�ÇC£Ñ���|>tt´²²’Ãá ·¶¶Òéôééé‚‚‡£ Tí…¤R)›Í ùæ›oîß¿žbkk«µµ5�@×ÖÖV8E*•ZYY=~üX ¤¥¥Y[[ …ÂÔÔTwww:�ÞÞÞþ—¿üþ‚ƒ¾!R©ô÷ßùòåââbPPPdd¤H$òööØÞÞ.--ýã�?Ô*,,,˜˜˜TTTP(KK˺º:±Xldd¹ººíéé©ö·mm­°°ðìÙ³&&&@À•H$zzzùùù‰D&$$¨Å:zô¨ŽŽ¼ÿÄÄD???p©§§×ÐР££óõ×_ëééuuu�/™L666>r䈮®nee%Àt:}kkËÚÚúþýû+++ÅÅÅçÎ�;zô(‰äñxT*õ‹/¾øä“OŽ;–��T[[¤µæp8®®®YYY EGG°ZYY ·µµ577ÿôÓO�=jgg'•JAŽŽï¾ûÎÔÔ´¯¯¤!×ÕÕýË_þrúôéššøšò;9XzæÌ, 5–J¥ÅÅÅ}ôÑ—_~yñâÅÒÒÒÐÐP}}ý'N¨êÈd²©©)ˆÉ:),,tvvž™™�Þ`œ?ÞÑÑñÛo¿upp¯©ììl+++"‘øÝwß}üñÇÇ�×ÕÕý¯ÿú¯~øA[[›J¥B³B h4þƒµ¾¾€D"ÝÝÝဨ*hðÀAœÑÔC€ðÀ¯]=þ±Þ uú€tä©ÁäÎÀÍ{v8Ê’½ÒY»Ò­ºlrüð&ºPês7A$¬ïO`/NèÞGò³(ŸÀ^¥¼ÿ³°<ð𣮨#yX^^mmmåñx|>ƒÁ‰D6›�——£££l6{lll~~žÏç3™Ìªª*ƒÑÝÝ�Çã———ù|~mmíØØØaðÀúúú#Åá …ÒÕÕ%‰„BáüÑÕÕ=`¨ÀçóOž< !¦¦¦lllúúú|||JKKÁçüùó---P{¨°´´ôå—_Á½®®ÎÏÏottT__Ò0ܼySíA8‰Dºví _¼xC£ÑŽ9¤Ìþþ~WWWÕCè���††ggç°°0/// ±X©ú*ÜÚÚ ÎËËoäË—/744 ÑhKKKðëþàÁƒÔÔTUInmmÍÄÄh9666Œ��±XlRRÒóçÏAWæææjOb–——øá°œÁÁA''§��—ÆÆFÀÒß~ûí-çú‡e2ÙÊÊÊ¥K—À‹ÅºsçNww÷ãÇ�333Á€È'e.—ûñǃ§ÓÞÞîáá144dnnbùïìì¨Ý åܹsà餦¦FDDP(---`ÆÆÆìííUUäb±¸¦¦�@–zyyeeeÍÏÏ9r:ô œ››Sšêööö³gÏ^¾| –c``P[[ÛßßÄ>™L¯ªÀY__·²²êìì,½víZ[[ÛëׯƒƒƒÁìììŠŠŠ”†º/mmm`•A&“Á†÷õõ-))]�;wî  ÿÅ_(mxƒññqð¤ÚðªsøðjþxàüùóÓŠ‹Éd —¡¡aDDDrr²­­-ŸÏÇãñ.\HKKÛÞÞ&‘HÇŽ[\\ìïï·°°¨¨¨àp8ööö~~~‰$<<üüùóàL¤««ë ý�èééþý÷ß&&&&''×××_¼xáææÆd2···O�:½¹¹¹°°Àd2;::ìì캻»---ýýýwvvÚÛÛoß¾ÝÑÑÁår’’’¤Ré[ôqqq£££ùùù@Efii ’dS(kkk, ×loo_¸p!++kuu555ÕÇLJÁ`üþûïUUUb±xyyYõ‹öám¹÷»"±Xœ››{åÊÕ³¸~ 44ôêÕ«ãããR©ÂB¡�ÅbMOO£P(===‰4==M§Ó¥Riww÷íÛ·}||êêêÈdòÆÆ†X,®¬¬ÔÒÒª««›››333+//‰DÈd²òòr//¯ååe¸~@*•òù|ð]077ÏÉÉ!“ÉÓÓÓÐlõõõüñG"‘Þc‡ä�’QÿÉÍàx`/™<3±"%Ù~|!(%™ÂWXž…ßÕžâÃ¥p¨ Äñ½8¡ré_5À(€ D¨(¨±çÙ³üÙ×E@΀~«O$÷>½çîüfÿû�€ e Ò;ô\.—H$vttÌÍÍ¿§§gzzº¼¼|qq‘J¥<å'ær¹ýýý(j~~¾³³spppff†Åb¡ÑèþþþÃàh³ÆÅÅAxTë cccµi¤&&&®\¹²¶¶†F£ÝÜÜ ===kkk{{{™L¦¥¥ezz:Ô?T8yò$ŸÏïîî®­­õññ©©©¹yó&x-Òh4'''µºïúúú»wï2 ‰”’’òðáö¶6p¾‹Åbq8‰|KX} åíí ð˜ŒD"™œœôðð(++b%4I™L¶¸¸èççW^^Þßß?77gmm���PTTäîîDttô“'OT%N�fnn>66†F£ †ƒƒCfffdddrròÐЕJE"‘ÑÑÑð±@yttTWWw{{»½½½§§‰D–””¸¸¸´µµuvvÎÏÏ[[[ggg«ªÖ�Éd}}}6›ÝÒÒ211�@ rssƒƒƒ À¬’’’T ùå—õõõÎÎN åååUYYiii988ØÞÞ>??ooo_ZZªJØÖÖfddÄf³ ¯[ZZΟ?/ÚÚÚðx¼»»;ü ô ^¿~íïïO&“ÇÇÇCCCúººÀ1goooUU•¯¯/ÀŠðA¹\î£G�²³³ Âìì,�ˆ��­®®¶±±¡ÓéÃÃÃIII�=RÍ,Æ`0lmmûúú°X,‡Ã±³³KOO˜plllzzÚßß?22>(ƒ ¿ºº mø‚‚//¯šššwnx êî«ÞÌÌŒL&£P(�æèè¨vëÎá ©TÊápàÐT*•®®®®­­Á7ööö6�ǃ+[$Éüü<\o#•J¹\.$.Èd2©Tº¾¾¾²²ð˜ÃÎÎÎÒÒ9 F"‘,,,loo4IP¿µµµ¼¼ uµµµ544ôýD"ÑñãÇÏœ9c¤¸ii‰@ 455ÍÎÎ.,,àp8�ÐÚÚ:88ØÚÚúwâ¡PˆÁ`*++á´KÆÆÆ._¾omm½qãFmm­££cTTT@@@ccãùóç¹\®ŽŽNII‰››[{{»Ò„Aff¦··wttôÓ§OýýýŸƒ‘‘‘ÆÆÆééi333༫´½zzz ¨T*‘H �ˆˆýþûïWVVÚÚÚP(�yj•Á­`±X���áááÅ}[[[ ÈÍÍíîîZõÒÒÒ††++«ÉÉÉááက€¸¸8Uƒ~.—kjjJ š››gggMLLbcc###(й¹y^^žê$Ùlö/¿ü²¶¶ÖÚÚÚÞÞîèèˆÅbD]]ð#×ÓÓ«¯¯W%T­Y\\¼rå �Fkhh¾sç … ÉÈÈèéé™��½ví0>V¢�››ûüóÏy<ƒ©©©¹ÿ~ww·¹¹yww7 …þÁh4Z‰J&“ _¼x‘N§ãñø¸¸¸'Ož ?~|ee…BuuuÙÙÙA‡RùÎΓ£££cccH$299™B¡=ztaa¡««+//Ï××Wõ·vcc#,,,99¹¯¯�F£a±X …288øäÉ“çÏŸ«:Õ-//ß»wƒÁ ÑèÅÅE`h”žžL"‘¦¦¦lmmÕ‚®ùùy�¥¥¥ææfhÃ{{{� éÒ¥ƒ6ü7ß|³¸¸ˆÃኋ‹Á†¿qãÆððpcc#…B9hÃC\zgA,ƒ”äPK‰DÂ`0˜L&üØreeejj ®F‰Dƒƒƒ�t.“É$ÉÔÔp½I¥ÒùùùÙÙY¸6`sssll .@ˆÅb‰¤$Í@ó�ºâr¹ R#lmm‘H¤÷‹.^¼X[[+R\b±˜LÜ»wïÁƒ�=òóóöBzzzÙÙÙ�`ddD[[{ll ƒÁXYYuww¯¯¯GDDXYY)á�`aa¡êO÷�Éd`�åååœvýúõññq‡óã�?¶´´…ÂÕÕU>Ÿüêëë­¬¬¢¢¢ø|~UU•��ÝÔÔ”X,¶ 2™,++ËÞÞ$3µµµKKKÅb1—ËõU\à©…„„ØØØ\½zOVWW#‘È™™c@WW·««kgggss“Íf¯¯¯S(�@°½½ýàÁGGG 5¥R©b±X(¢P¨­­-©TÊd2‡††à{@éáþÇÞÒétssó'OžÐh´ÍÍÍ™™™††‰Dâêê Øš˜˜¨„ Ž©úÌÍ͉ĕ••­­­æææÿþïÿf2™‡Ä+++'NœP5ýRòØÙÙ©¯¯wttÄãñ$ÉØØX틚¤RAƒ”¢¹Uå€:< j/dª6Þ(t<¯�¹åx&åï ñàô¤-ƒ'e(·€*!üÀþÍOwóŽA ]Á±„|h¸3˜§¢“}x‘ï©ÀG sùBÀ ÿßåoÍ/¹}ökã{F‰¤*²OOO777Óh´¹¹9`;ÈãñÊÊÊ&&&º»»A4€ÁÁÁ––Èphyy™H$b0&“9;;[\\Ìb±T;‡ Jn/4::êáᑟŸ±\Œ��óòò¶··KJJ¬¬¬¸\î‹/>|¸¸¸H"‘¾ÿþ{‹¥4 8ðÐÑÑ©¯¯_^^ŽŒŒ ]YYqrrJNN …h4úúõëpqê�Á`ܸq£««‹Édº¸¸onn^ºt©´´tcc###‰D¾E�ã‰D?… ©f³ÙCCC?þøãÜÜ0¦˜��½{÷nss³*KÅb±»»{BB‚@ Àb±W¯^]XX(--E"‘T*ubbâìÙ³p7/h\‘H¤§§Ö•��íââÂãñž>}Æãñ±cÇØl6Ôþ-‘Hdii™‘‘!‰êêêÌÌÌ8NZZš¿¿?“ÉÖÒÒRýÁOçÔ©SUUU«««‰‰‰���|>ßÓÓ366vcc£»»ûâÅ‹jíÇx<žžžƒ™ŸŸnúúú�   ÀÞÞ^Õ‹Z*•öôôXYY ÍÌ̘ššâp¸ííí3gÎ466òx¼°°°ÈÈHÕ}(‘H^¿~  GGGOœ8Á`0(Љ‰IOOÏÜÜÐ2©Š/b±8 **jmm­¿¿ÿÌ™3óóóÀÃdrrrjjêêÕ«jQ¥H$211ÉÍÍ^ïVVVKKK111Іÿî»ïÞ¹áŸ?6¼³³3´á¯]»¦vÿåù~0ý#üNœ8qùòå{Š ‰DNNNÆÄÄXXX,--MMM999åååõööš››;88Ü¿ßÂÂâÙ³g;;;‹‹‹±±±vvv...÷îÝëììTÂ\.×ÍÍÍÁÁÁ××þ”ðÀææfLLŒ££cdd¤ŸŸŸžžðÉÉɹwïž›››¯¯/ƒ�â ���;88„‡‡“ÉäçÏŸ#ˆû÷ïÛK©TJ$õôô�H¤ÒYÀñãÇ/^¼hccckkkeeE�'“É_ýµµµ5ÐëŽ��»ºº:88$&&J¥Ò¬¬,GGÇû÷ï#‘ÈÌÌ̹¹¹°°0WWW$ioo_QQ!¢¢¢ÒÒÒÁÒÒ�,E"QEE*_¸¦ ‚ε¶¶º¸¸XYY999¹»»§¤¤ˆÅâââbƒàààîîî¿ô÷÷#‘H'ÅennþôéS¡PxH< ‹ÝÜÜìíí}||à?pJx`vvÖÅÅåÕ«WÛÛÛ‰$;;ûÆ�ª¯èƒ±ÄM=Ä�]<ËG¦HQ¬ì?°¯"P$#;ý¹Ù›2úþ�:¯¡p¢ /˜Bø~ãô‚@.WÈßÊV@�Èzƒþ«x€ž!¢^èß“ûw›íÍsÿԈ̜t>¿ýn<ÜÚjWww÷ââ"ŸÏ««««©©ikk£Ñh‹‹‹ÕÕÕEEEõŠ �FÓét&“‰Ãá!äX¬ T…W¡P}ëÖ­'NüðÖ––yyy™™™_}õÕÕ«Wo).¥ß!èawvvÞ¼yÓÐÐðÞ½{---R©tjjÊÛÛÛPq½zõ 29€H@¡¾¾´qss#R©t``ÀÊÊÊÐÐÐÌ̬ªªJ-!°5„AAAÀ:¢½½ÔØÛÛwtt¨‚(�·nݺxñâO?ý¤¯¯Éb±>úè#]]]°À„„UÃÕÏÏôŸžžl²SRR@Í“'O”–n‰D¢­­­¡¡¡©©iyy90Õxòä Œ‹‹Sk‚%“ɰX,hckk ‚X���ß¿Tæää¨.Píd2Yoo¯………¡¡¡……E]]�T*¥R©��� «””ÕGÐ …222244tvvîíí•J¥$ÉÁÁžBî³JãŠD¢ÂÂBйŸŸ8CÅápÆÆÆ†††ÖÖÖJ¡- r�ÃÃÃAÙÚÚZPƒD"I$’ÚUÓh´€fÉÉɉ„ 5><(Æâðð°³³3hVXXο###AMtt´ªÎ̶««ËÔÔôÿ°áKÝÝÝ¡ omm 6|ee¥ÚB,ú€ ڻp8ÒøÎÎÎôô4•JíëëC µµµ���===@ ’J¥KKKx<‡Ã���‹D"©T p&xR©”B¡t*.øCa0ÓÓÓpÓ,‡ÓßßO &&&††† ƒƒƒ}}}àÅ>>>Ô5333ƒƒƒÛÛÛ�ÇwttôööaN( àp8%-Yoo/ …jmmíèè€ëj$ÉÏ?ÿ\YY f( '''q8ÜÐÐðR ‘H]]]T*U LLLt(®¡¡¡ÍÍM±XL&“gff€~ ­­ èX,ÖÈȈ*À†óá?¶, ©TjWW‹.(«««=Š‹ÍfÓh4ƒ~¥R)�‡šnnn ÁVWW‡‡‡q8è�ÏçÃ0Èr’F£Ñét±X ‚‹Èd2‡Y¬1 °KἉ‰ ðv�i}}}hh2ù[[[ëîî†wï|”<ðNiìá�«ZŠ|dÇ?¾~H< ëÀú:Pß“ïwetà5†« J… ~[÷ó]C Øqþ¾ˆ2ìApx¯0 Éþ�$hð‰)4ohTQ ˜0Ò=L¼QàÀT\PÌP�Çb±æææ–¸�S\,‹Ëå.///..BŒH ðù|U< •J¨T*EqÍÌÌ€ÐFàW“ª¸:t‰DL&“B¡€ ÀØ`iiifffvvn– ôÅ … ƒJ¥...‚— X,Q úYU¢?f³³³`’@œ‰DsssT*u~~þ ßªõõuh�PK2™ VŸ†Òˆ‰„Ëå‚åøV‚9ðùüƒDjh9t:¼a%ÉòòòÌÌ �FS=í†ÆË¡P(l6,G,s8*•úv–B=@±XÌb±(ÊÜÜ`)´�v�È 4?àé,,,@sXXX P(Ðr Qà…­­-:�>33ÃårÁNƒ–Ãb±z:R©tmm�¦¸VVV€d í‡ÿ™„'‘Hx<`)øÙ“J¥àé,//¿åéïüÙÙYðt¤RéÊÊ ˜ÃúúúAÒùÿyÃïìì¼eÃþ7¾ü£üÞñÀ!Ù‚Çã]\\Ô*‚Ùÿ¶™ŽŽÎ·*‡“ÉdmmmÇŽƒ ‚ÿÚ©jFÿ 9 Áäc}¿‹‚Û ûè�c_?þɾ½ÐéÏŒuäÉ â›§÷ôJÒ¼Zc!ø<ÌF’ò!+H”ß/À%ux>®"né>ÉÞG»PdO²—§CÞûH>¢TÈkàPj ÐGïðP•àßo�*x¿�_Ó›†h8pxhðÀáyo)¶T.‰Dâììüõ×_×ÕÕÁkʼwhðÀ{gé‡×!„äù>Ò;v@þíOMN}¦ð"PX �x£0ïÞýCw¬SI¼Þ»ÝÍ ¬$sÃ?…Ëë{õrÙ}ÏYy_²‡z¸²|t•Te`Jò¨GŠ¿7°Ä¡ò¿_ Ô›|x_9ÍŠ4ø÷åÀ¿ üûrL3s þ Ðà�?ÃSø“Ïá@<ð©!,¾Ð®~@ç3³Ó ¹YSàO r$¸» ƒ>ý¿ÔC‘C÷dzy'êT û E¡"PŠS´‹`„ò�~àO¾�5ÓÓp@Ã�4xàŸÇkÍH¼?hðÀûãåÛ„@¼Ñã�~@8-Ç»{I€¿{Ê®ð�ËÙù ì¹ ìÆ‚ ßj%ø7àÁA��m�*~ 0’}0°‡Þ¨�lŠÞ$9X^^f±X“““L&ä®Bããã4 øp¹\*•:>>N&“ø|>�Çc0 /&H]¬¤Pë? “ɶ··‰Dbcc#�þF"‘hff¦µµ…BÍÍÍdN½µµÕÕÕÕÐÐÐÝÝ Bîì쌎Ž677·¶¶ªõÐ}}‹Å655 ;×íím<ßÐЀÅb q •JÛÛÛ›››'''�MüÖÖ‡kllìïï‡{hÁ¿ab±˜F£�å0 `VÒ?755�ŒŒäê°³³3>>–\Ä$ H÷ÖÒÒB¡P2mßÞÞhlllooˉD x9ª�B& -§¯¯,G(755¡ÑhÈ÷ ¾ºƒÊ� ···¡¡‡Ã����‰‰‰–––ÖÖVµ1‚@W›››���òƒ$‰`‚|誸Þc®¬¬ìîÝ»¾¾¾...¹¹¹‰¤¿¿ßCq999ªN&“¥§§[YYyzzº»»£P(©TÚØØhooïëëëää”””¤Öt}}=::ÚÁÁ‰DzzzŽ��I¥Ò¼¼¼;wîx{{»ºº–——«%œ��}ôè‘‹‹‹«««��Ïòò²T*MJJ²±±ñððY�ÕŠ€ÁÓÓ‰D:;;ƒå,--EDD€ rÞÞÞð PðoNKK‹£££���““S\\éèîîîâââççw� iaaá�;w|||\\\JJJ$IWW—»»»§§§££ããÇ�b)|tP®©©±¶¶öóósvv~õê•D"!‘HÞÞÞH$�@ÔUVV–¥¥¥———››[]]H¸ãìììçççââòðáCµßB¡0>>ÞÎΩ¸ˆD¢T*-))�–SPP öé°Ùì§OŸ:;;»¹¹AòRSS¡ÒÞÞ®ö錌ŒøùùÝ¿�@øûû‹ÅâÕÕÕ¨¨(DÒÓÓsrrR-!ƒA `Ã?{öLiÃûøø¨f-,-++³´´ôõõùžáÚ!ªB&“¥¥¥A˾©© Úð‰‰‰j9£¶«¬Rðù|–æÒp@Ã�?à‡A<ð�½ŠÿËÙÅÇ=ý™ñ~°ÑÏäx@È ÿMú�CwHª¹ÄÿÅnbHþVj¿xœôCÃ)|ˆ•R@â¾R=WY�O^¡Ùoÿn<@&“[ZZ@(¡¦¦¦ñññ¥¥¥’’*•º´´ÔßßßÕÕLNNòùü™™™ŠŠ 6› bÒÍÏϳÙì²²²ÙÙY%0 V?°³³QommQ©Ô .P(”ÊÊÊû÷ï3™ÌùùyƒžžÕ½" õôôP(”H$jii±²²š›› �ŠŠZYY™��ýùçŸAB%Z�@ ¥¥…Çã777SRR=z´¸¸xïÞ½’’�¤djT¢’ÉdT*U__|||yyÙÇÇ'''geeåôéÓ b}YYÙýû÷Á)>œV"‘Ô××»¸¸0Œ……·±±qæÌ�‰éÙ³g111ª§×b±8:::""byy™N§ÿúë¯æææÓÓÓ\.×ÑѱªªJUE°³³coo_PP°³³322¢§§733“ŸŸïçç7??Ïb±~ûí7‰Ÿ$(oooŸ={¶££„šF ,+((())i}}�F£ikkS(UBÕ¡PhjjZSSÅ­[·ètzBBBhh(—Ëe0ÚÚÚª„�à§Ÿ~êéé999~~~\.÷åË—B¡pffF[[[­~d@YYY IMM]^^¾|ùr{{ûÎÎNCCƒ½½½jxV©TŠÅbmllh4‡Ã±´´lnnÞÜÜ<~üøÀÀÀÆÆFbbbXX˜j„+±XœššúðáC‡377§««;66699idd499Éãñ�HdAA�*î>##¾á«ªª  ãÆ�wnx 6|DDØðt:ýí¾¿¿ss355lx+++°áõõõJЧú€>°µx„MÓü×p@Ã�?à/p øÀ^Åÿˆåìé~ÛÏOüñuy~âOnhjtêS£SŸ™èOâÏnžÞà T°/4Äx`,¤ö£ýx>Jq?aäû„ À ô¡ÐŸŠf�è¿ßRa¹´{ W)¨íö­• ó7 Í;ð�ÇÂ`0ÀL¨³³³¿¿ä5ãããsss E1—˪««c±X]]]D"`€æææÁÁÁÃà‡cmmÝßßvƒ¹¹yiiiJJJXX8[õððHIIQÝ+ ãìÙ³ÀÚ‡J¥:99544x{{WWWBCCÃââbUB2™üã�?‚Q åëë‹Åb�ŒŒ€¤»ººjeeÕÚÚªJˆÅbÍÌÌaJJJxx8�@øå—_@Íàààýû÷•AfffHH˜•��OrròØØØÙ³gaYYÙƒTcÕóùü€€€ÒÒR@hjjš››[SSãääj"##£££UãúÍÏÏߺu d ÚÜܼ{÷nEEELLL||< trrzõê•Ò|ø0??Ìá É åÈ‘#`]]]žžž£££L&/MMMéèè¨5[ÐÓÓ„¹¹¹�?îëë;}ú43:55…@  mMU(yyy�Y=zô(..nllLKK tÕØØèï﯊‚VWWCCC333¡¥¥åëׯ[[[-,,@Mbbâ³gÏTMqÀ†ïëës>55õ0þܹsÀ€ ¾á¡toÙð?üðX´á���AІÕÕÕ{÷î©Ýð—>à‚*ø€«Yš† 4xàƒy”ÿ¸…< õ‘z£ºº:ôõB¡°¨¨-ðÄbqmm-:jH"‘ôõõÑh4ôaËää$™LF;V‰D¢âââå/Z–J¥ÃÃÃ���0&dnn®¡¡!11qÅwÄ 00>0=ðéüŸìL”þB²ûÈ~]:ߨÊeH®~[8ð,µ/çÓª½|%½VÕ ¹;$@× ÊZ›h­TÓš_UrÕ¿3t0ôªô@iiiKKKSSSyyyUU�NOOO'åå僃ƒ0€„á2ŒŠŠ *•ZSSbFëêêV£˜L&‡«¨¨Àãñ���ÖÖÖñññwïÞ½|ùrBBBFF†‡‡Ç�74\WW×îÝ»¹\®³³s~~¾‹‹KZZ�õêÕ¥K—***,,,âãã5666nÞ¼¹§§'$$äÙ³gÞÞÞÙÙÙ&&&4íÌ™3d2ÙÞÞž@ h6ÌËË;yòdii)Øú½páBYYÙ¯¿þÊårñxüëׯÝÝÝ«««ÕÎÌÌDGG_¸p!111==ÝÓÓóúõë555»wïnll¼zõêÇúúúÔr8__ß”””ððð²²2KKˤ¥¥999„øøø .\¾|Í®@ ãäÉ“���...555¶¶¶OŸ>^I<ÈÊÊrvvŽŒŒTA�ööö;vLLL¸»»¿}ûöܹs¯^½rqq{ä555§N�JJJÒl¨YC§Ó  †��]ii©££ãóçσ‚‚ž={QTTdmmýðáC͆ÍÍÍ7nòóó«¡¡A‹ehh™œZÛ²²²Ã‡WUUݺuëÎ�;çÏŸ/**ÒÓÓ›˜˜puuÍÉÉ9{ö,‰DRkîœöôôLOOOJJ ¸zõjuuµŽŽNggç¥K—�Ötm¿xñb\\\dd$‘H´µµ�ŠŠ"§N�*,,|øðá•+W.^¼ˆfº`h&“icc£¶à£¢¢Â€×Ù2 ~ll ½à===_¾|yéÒ%‰´Ì‚ß´i�NG/øãÇ�ƒO¡Pììì´.x5¬–ù*ÒÒÒÐkX,“ÉäššHâ¥RéÀÀ@vv6úÌdaa!!!í& ³²²ÚÛÛÁ1 ‚ b±¸±±±¼¼}Æår_½z…fÿ�àÙ³gšçlèiK$’îîn"‘…ÄÜÜ\}}=¦Ð(ae �OL|ú¿ÑGŸáòþBr—¡ãÊûÈN.Î/öï5ù4¨QPv¹`økô}©žÕëµj’?¾_%ûWïíE¸³¢~=ÀãñÚÛÛ @¡Â¦¦&6›�˜˜866Æçó›››I$Òàà`CC¸½˜Åb´··S(”ššFüúõë®®®Õè�ùùyWRR6}wïÞ]]] ˜577óæ�æÂNÞÀ_¿½½ÝÒÒ²¥¥Åßß?99ªnٲܗ©Övjjjݺu€Fgddøúúööö—z�wäÈ­îõíííúúú€�†‡‡ß½{wttô‡~®ÿd2ÙÑÑM‰À¸b±8==ÝËË ¼ÎéÓ§_½zÅãñ6mÚøÍãÇ�CCCÑÌ4.\HHH¯³mÛ¶²²²ŠŠ KKK��ÈÛÛ;>>ò-øšóó󦦦µµµà2c}}ýººº˜˜˜ððpà000>>nll|ÿþ}h¦YNüÒ»wïFDD mÚ´ °Ïææfkkëîînµ† XÙÑÑÀèââòüùs>Ÿÿÿ÷`…¤¥¥ŽŽŽª5 …7oÞ¼{÷.x�={ö755‚rñâÅhªµ……›ââb¸à«ªª’““ýýýÁ ±°°XjÁoÛ¶ ìÁwttÀŸ””´â‚_»v-˜Éëׯ}}}étúÑ£G�o�Ç;|ø°Ö¯öÊ_äWÌ_è‹üY±—úâÀôÀÿÿç/øgô€,~•oTM,Cúÿ"5_öÜ`�GKåYÄ"ƒ¥´/º—`=¼€ ›››ÛÚÚ²³³ÁQ‘H¤P(t:½¤¤„J¥r¹\"‘X]]=<¼Ô‚÷õõÅãñ]]]ZüŽ;–‚ÔÊÊ*,,¬¾¾ÞÛÛ,øk×®�uúôéÕÿ¬ð÷ý2 ˜ø2~Gì-¾60=ðµýâá}•z@–oTá/ô�Œ'^|> ©Ô8·Š÷ï\o¾8ï�šåj¾ªz“¥ýQÜ .zЦûÚ(¾º±ÒfQÞRy'@Õ¨ìWÖããã���yyy¹¹¹ííí`¿hh¨¨¨(++«¶¶Ü6Àd2ËËË ‘HG\.·©©)'''//¯··WM €¯Z Ùäää�7Ž;fkk ØØüüüÛ·o-åŸÒÒR­­ár¹^^^†††þþþÀO`zz:66ÖÔÔ‡Ãiú|Ãõ444äââbbb ¸ŸÏ¿té’¡¡¡««koo/´DÄbq}}½��݉'ž?öÑ9Ž››ÛÑ£G/]º422‚¶‡å………ìììS§NYZZÒÖÝÝíèèhjjn]€ö°033óøñc333kkë––A„B!‰DÂápæææ™™™K9ÏðùüË—/9;;ƒÈ„¹¹¹ôôt ‹S§N‘Éd­<hww÷£G�†„„/Ž©©©¨¨(M·8UÍ�Ç }zâÄ +++ÍÀkØ›Ívuu=vìØµk×X,Öä䤗—ב#GŒ��MLLp8•J…ư •J[[[Ïœ9cff–��2W.##£   &“ �Ñ�@PXXheeeaa‘““ œ��MLLîÞ½«ytšÏÎÎ&%%� O¼ˆ:kºå(IöònBª§rÊ® ç]jÿ~©ú¥‡S‹ Pûªö‹¾bz`õk ³ÄÀøÂxçz@(8p ''§¹¹ùòå˾¾¾‘‘‘</""âäÉ“|>ÿÚµk÷î݃z€H$š˜˜deeMNNÆÇÇ¢ …ûöíËËË‹Å/_¾433£R©úúúÅÅÅ¥¥¥ñññÎÎÎéééÞÞÞ<¯µµuãÆ�ñññ5554-00044433ÓÖÖöÂ… ‚tuu¹¸¸\»v-;;;55•Ïç“Édƒää䨨Xggçòòò¥ôˆNNNfffçÞ½{YYY×®];wî\WW—T*uppðöö&���ÅÅÅ ÃÙÙ9***//Ï××7""ýŽXCà/ €é�¿Ú×ÖäOêà/$SJò½ˆ=/Q©Ú¤_l RÊzÈÔµ7Yý‚²CÕùƒF�ö!Pf²W[YŒ��ƒÌB¡µµ¤ b2™ùùù™™™ ett†p8œ¬¬,�ÆçóÇÆÆ¨TêÛ·o³²²zzz  º°Lü@XXØõë×Áz�™™III111122JMM]*k ›ÍvvvÞ·oŸ««+ú>¯¨¨(­÷mÁ?†þþ~kkëC‡………� `.—ëçç·oß>++«¥¢fÅb1…B±°°8|øp\\ˆX´··?xð �_ªáüü|FFx�^§­­íÔ©Súúú·nÝZ*ŸÌÔÔÔýû÷>lbbîÖ …………fffGŽINN^*bu||<((hÿþý––– ®zvv611ñèѣǎ+**Z*ž@D§ÓOŸ> î¬åóùúúú g(Äp•//¯G�­ÒšMNNúûûýÒÐÐÐeÂÊa+AÚÚÚΟ?¯y ÚF­¼°°�““cjj naÓš¼H­ ø:== Ÿ¡PXRRbnnndd”””¤yUhÈãñBCCutttppКKw©·xçz@,{zz†††‰ÄÐÐЂ‚<?88xäȰ�Ö>>>ÆÆÆ•••B¡P hÕ:::Û·oß¿ÿ®]»îÞ½Ëçóõõõccc¥R)“ÉtttLOO …àî?ðÇý…òóóÏ�;G¥RÅbqSSÓÿüÏÿðùüÔÔT{{û±±1‰D277'‘Hœ��ƒƒƒø|~HHÈ•+WX,–fü@RRÒ¯¿þºgÏž?þøcÏž=555b±xrrR"‘ ÙÙÙ•——ÓéôŸ~ú‰Åb‰ÅbpkJqqq||¼‡‡Çðð°T*¥Ñh†††KÅè/õ3aõj`z@ ì«&«Óf²ø`Ù?*=°sÝÉ¥V#–·Ñ” ‹ìW) ä“\ÔP�îk|Uwe=À`0 ÚÚÚzzzÞ¾}Ë`0ø|~nnnMMÍÀÀ@YYY]]�Ç,¿¬¬,--­¡¡�ÏçÓh´ââb:�ÞÑÑ‘––î+@‹>Ÿ¯UŒ��_¿~ýÇôðð¿hii©­­miiiuuõï¿ÿ®™Ô˜¹ººŒŒŒDEE¹¸¸ˆD¢‰‰‰˜˜˜Í›7;88h.Xsüøñ[·nuwwûûûß½{W,‡„„øøø°X¬'Ož?~\«áp8àB.*•ŠÃáˆD¢T*533»|ùòððð­[·ðx¼V6Y]]mooŸŸŸ_VVvèСÁÁA‰DròäÉèèh�æîîž””¤ÕøÅ‹®®®���YYY›6mZXXèéé±¶¶~õêUuuµ™™Y]]�Vfùòe//¯ááᤤ$###¡PH$�œœH$Raaáï¿ÿ’#A@бX|öìÙ]»v�;kcbbÜÝÝ;;;_¿~½cÇ�#m¿T™Íf®_¿>,,l)­õCCCNNN¿üòË“'O€�ƒƒÃ›7o–bÉÀF"‘444˜››ÿñÇ………Z{ÖZÙÒÒbccC *++�ŒŒ–ušmAúÔššš¼¼¼íÛ·/,, ¿~ýº¼¼ÜÜÜ\ó²jÐIdd$�ïëë{ùòåÞ½{AEEÅ™3gŠŠŠJKK÷íÛ‡öG�{îܹ€€€ÑÑÑ»wïþÙóæÍîî°àüüü8ÎË—/õõõ—’.èÑ?år||ü�;w¸\.‹ÅÂãñ«÷žçz@*•¾xñÂÄÄ$99ùÚµk333§OŸ®¯¯_·n]GGú|ÀÒÒríÚµ·nÝÿU\JìÞ½;..®¿¿|||aaA*•êë냛õÀ5Þ`§@*•>|¸°°P*•B=ðâÅ ___�ŠJ"‘ü÷ÿwsssTT”¿¿?ú×Ü¿ÿË—/AM\\œŸŸ_oo¯V=®2`ll �Çïܹó×_ýŸÿùŸìììÒÒÒíÛ·ƒ®Z[[ñx|qqñ… ~ùå—�;wêéééêêîÛ·8¡ç€•1þ˜øSp}�ƫӦj÷+y¶:{VÖë ,4½ö5(¸"r@Ãr™ýûeý)ö¿²ñ z€Çãµµµ‚4£¥¥¥���,+)) ´¶¶’H¤‘‘>ŸßÛÛ›��]VVÖÐÐ0>>N¡Pjkk�T íííjb@«˜œœÄË?ÁÁÁPttt …B‰DbhhX^^®¹š§¦¦tttÀ&}WW—��MmmíåË—���Aæ{Í& †Ïç¯_¿ðZ�àïïßÙÙihhØÞÞŽ ŸÏ755é#Õzhmm500¬ôæÍ›wîÜ™œœŒŽŽ›ôeeeŽŽŽšLN$¥¦¦úúú‚ÿë;::¦¦¦Ž��mÙ²¨ŽÄÄݰ0pÏzÄ………àà`(vïÞ <�a¶øóçÏÇÅÅifù˜��=~ü8¸ajffÆØØ˜L&GGGGDDÕqâĉeî£%‘H'NœðññÉÈȘ››suuÍÍͪcß¾}šWü¢ç Ë<ÏÂÂâ¼üõÀØØXXXØŽ;¶lÙ­U±ÙìíÛ·‡…… õ€§§çüñïÿ;>>^«êîîÞ»wï¥K—üüü zrëÖ­æææš—‘� ¡999àzAðx|bb¢H$¢R©‡Ú¼y3H�ª9¢@ ¸~ýúƒÀ[9r$//¯ººÚÈÈÔ>>?ýôøÏ ú| >>^OO/33S,/¥€¿úuôõõ�Ô°µµÍÉÉ‘J¥ccczzzÍÍÍ‚èêê‚�@pww—=3™Ì¿ýío\.711ÑÙÙüw¬ÕÓ§O߸qC"‘ÌÎ΂{µGGGµê˜;üíܾ}ÛÑÑqrr’Ïç[XX�ö�üc~~^*•ÖÔÔàp¸âââ{÷î]¸p,]©TªuWý‚XC`E0=°"D˜�6=pDç;£í¨øÝu¦ºëÌù…Zý…òÍìQeuñ & ä– x`yº¿B?jÝj=ÄP/Èä j†hy ˜Ã z€Ëå666’H$‹5::J¡PªªªètzFFÆØØØÐÐP{{;¸Ÿ˜Ífççç=Àf³+++›šš†‡‡ÙlvQQQ]]Ýjô\²wïÞ…zTŠÅâêêjM’� Hggçþýûgff:;;ÛÚÚÜÜÜà}· x<ö¬V R©Û¶m›��íëëËÏÏ÷õõÍÊÊ233ëíííèèqrrÒJ—sss­¬¬ø|>“ÉŒ‹‹»xñ"ôóáóù·nÝ ÑÜÞ™™yøðaxxøèè(›Í ¹~ýzUUÕÁƒ§¦¦^½z¤IÈ8Ž¿¿ÿëׯ �dzµµ½ÿ~ZZš»»ûØØØÈÈÈíÛ·/_¾¬é2ÔßßoiiÙÑÑÑÕÕÅápŸ>}zýúõ‡ q¹\OOÏÈÈH5XÀW�gddÔÚÚ ôÀðð°««kiiiooïää¤��Mbb¢Ö†KU†††= •Jãââüýý‡åŸ½{÷ªe3D÷055‚Ö–––ÝÝÝ:::KÝó¨X`` Ô...oÞ¼™™™ »tézPžŸŸöìY@@›Íf±XW培¹¹?þø#;;{vvöÑ£GwîÜÑy||<44411qppp||üìÙ³QQQõõõGŽ™œœ\XXðóó z=.p0«««ëé陞ž¶··üøñ½{÷®_¿>22Âápoܸ�nÊ���˜žžîììloowss+))�ž �ë!Å´�i�^ža/ÓPÉÝ-v®[ª4e_}Y%!P'êÍE(𬬍TjYY…B©¬¬$‘H ¥»»ûÕ«W===ÙÙÙuuuååå ƒJ¥666òù| X,VEE•J%‰ EEE555ÿ‰{´ÉÉÉj<¬o�vàÀ�‘‘‘ýë_iiinnn�.¯ª««wìØQWWg``ãíí�‘‘qâĉ¦¦¦Ÿ~ú);;ÛÙٸʨý!„S§N%'';;;_¹råüùó`Szz:!!ÁÁÁœ0¨µšžž¾ÿþŋϟ?åÊooïË—/“H¤ƒžž- «–ó{Y¼�Â5h I AÐåMVk¬Ò!Š­ýÅ U’`q½jP #ëg=0>>ÞÜÜ\\\Ü'ÿ”––ÖÖÖ ¼xñbdd¤£££±±±¼¼¼³³3;;»¶¶¶¹¹9++«¤¤¤¯¯¯²²²®®®««kpp0''§©©é/ë±X\[[ëééÿÏ­¶”‡††~ûí7.—›žžN&“íííaXäòz ··÷§Ÿ~ÍÍÍMIIñöö&“ÉG�mmmMIIéèè°´´„G èA+**Œ��;;;I$Òµk×®\¹ÂãñææædXd£aöH¿ªÃ�ëeô­ ø|~ww7‘HÎÉÉéììär¹/_¾ìîîf³ÙÕÕÕ e`` ¡¡¡FþÉÌÌ,((èïï§R© ´€Éd¦§§3™Ì¿¬zzzüüü`­KP(½yóF ½w–×�@GG§¬¬lrròîÝ»¡¡¡ãããöööOŸ>;g†††h:Gg0G�mhh`³ÙÏŸ?_XXˆ��Î9ÐL­ •Jóóó]\\ètúÀÀØŽ�››Û½{7…B©fîÞ½«é‘"‹Áô8NWW×/¿üÒÛÛÛÐÐ`iiI£ÑFFFlmm³³³!ß‚ãŠD"—øøø………ÚÚZ}}}&“™ššêåå588Ø××·gÏ­G===÷ïß¿sçΕ+W8àééÙÙÙyñâÅÈÈȉ‰‰öövô0q™ÔB¡0222<<¬Š��ô®°Zšzàüùó³³³,k×®]]]]jöð+Z0™ÌþóŸSSS~~~gÏž…f° •J+++mll:;;™L¦……EIIÉäää–-[šššAQQ�@€ô6”H$ñññAAA###t:}ÇŽt:}bb"%%…Édööö:::hºJ‹D"ŸÌÌÌÐh´?þøc`` ++ëܹs}}} ãðáÃZµ¥P(¯ÂÓ§O¯]»váÂ…��]]݆††Û·o¯òÞGüÀ*‡þRͲ²².]ºîææöøñcͧ/õű÷ú�`zàC¢ý™Ž¥E|kˆ>رö¸®Ü_hQü*ß(à÷€C£™4؆_\£ð×—¥*Z/#ßʧ2�Ö Êz• ¬�Ã-îAEëQÝ.ªTÌGyæ èG9ùSué²òùŸÏ­ªªÊÏÏ'‰ �€Ïç755ååå”””Ðét4ÑþB|>pp�D"‰Äüü|ÀtÑf ¬I�„B!`3ûöíÛ¶m›¯¯/�@HJJú÷¿ÿmii B�µÆ#’››kiiéìììè蘑‘! 322ðx¼��ÁöíÛñx¼Ö¸LAž?niiéèèèááQQQ!•JKKKííí]\\lmmŸ={Ý‹Ñ333<°²²:s挿¿ww7�Çû׿þµ{÷n0Ϩ¨(Ím~A†††®\¹bccckk{ñâÅÉÉI©TúäÉ“S§N988xyy544hz¤O_Ÿ3gÎàp¸k×®I$’ñññÛ·oãp8;;»   Šž$(“H$ggg›øøx‰DÒÛÛbgggcc¦Õ öý…©¯¯wwwwpp°¶¶¾{÷®Vd`CX7oÞÄãñ¿Ë?çÏŸ¯¨¨hnn Âãñnnn¾¾¾ZO~æçç===Ïž=«§§g``påÊ•ööö3gΜ={6$$ÄÙÙ900½O Gäñxx<ÞÖÖö·ß~333»}ûvOO�¹¹y```DDDhhè‘#Gªªª =,°ÙìëׯHCBBÀ&w\\œ“““——�ÏÏÏ× Wggg`` ½½½��Í•+W$ �Ç»té’­­­½½}DDÄR‚§ªªêìÙ³NNNVVV>ûßaaa¶òÏ¥K—4}ÀÀl5üëׯW³à_¼x�^ðSSS¦¦¦;wîtwwÇãñ—.]ZFbA >ÙBYYÙÍ›7=<<îÝ»‡ÇãoÞ¼ÙØØ¸ÊÙbz`•@­ÞŒN§§Ë?¥¥¥À¡kõm1K �U"€é�Uõ5›©ë�oŽl•é£mßÛ¾Öd‡ìŸã;Õâ‰å!€^£ÿ�&ôèzP–…È£ @w-D\Ñ ¸)I˜øô£�>CM= #×: =p\W®”ùF—¿ŸX}?^M!@.¹;Ô;ecQsøe¬0Pœ  ô€l E;ý2KµJ ÐBÝt"ïö¶²€Üý}–â¯}Ý`ÀÀø|èéé ¶±±Áãñd2yõ/‚é�Õc…Yb|:`zàÓù->Ù™@=°yÍ!EüÀ·†ÛPñÄ(!ù•dÊüB€1C¯Y€ŒzP€–jõð)ôãW3PRy‹ßÖ[Ê:׊P‡rƯ’’ÀBWyd¡˜íbM²*¡÷!`Ÿ˜ødÿr°‰a|¾H¥R� \Z²úÁôÀê±Â,1>0=ðéüŸìLTzà}¨´å=!�PJå-€££7Úa  ì€gCf,!õ‡õZ 2c%Ae¥TPø)‚ÊL©Ô¯GPöƒvLA ²åS”rPŽ‹�|²K›††À‡FÓql< �w�¦ÞŠ_xPlY¬`üÀöEþB'ä»ò@ÀzE40rr�fÞ*Â-gÞ‹Am IÊ•"A;e_<ŠªOÅÁ…â”@Q¯ìe¦düjz@¡m” ¬¬x<›ÍfÈ?, Äp¹Ü���þþþááapuñððp¿òR �ÀÐ�ÃáÀ3tAëù€H$b0ÍÍÍmmm ÍŽX,f³Ù4­µµuwj¡PØÝÝÝÜÜÜÓÓƒvòüÂW:özÿ1˜ø�!Ä:Àø`zà#€þ¹ YUUµmÃ�_ÖÜü…”ñÄ:ßÓùÎÄïX{|ÇZÙźë”z@–_HžHÃi½g¯8+@9ú+)¾j'ÜA¶˜Ä£Ÿ‚²ŠÇ/îÁ·¸^³Ø�Ì×h9õ×n ôÃÎu'WÖ,«ºº:Wþ©¨¨`±X|>¿¥¥%'''//¯¸¸ä*..&Dù§ªª ÜÚK"‘@ÃÕçB¤¶¶ÖÅÅÅÊÊÊÜÜüÑ£G‰¤¿¿ÿâÅ‹VVV§OŸööö^*ر°°ÐÜÜÜÚÚÚÖÖöÍ›7Àg€N§ÛØØhM.ù¹-fl¾ïL¼_|±Þ1Þ˜x?¸~Q½‚ó�M(=≗¼�L='�>­pÓ‡´[C3 ¹;Ø�WÛ¤G(¸;ªØDÁì•S’ÕË•‰eY~ˆ¡4ÐEyn P  è;;K£ÑvíÚÅd2+++¯^½Êd2GGGÿýw­ÙA:öׯ_ …¬¬,›‘‘‘’’’   CCCL|QÖØË`¼0=ð~pÅzÅx¿`zàýâûEôõÀæ5ú²û‰¿9"×KßO ¸µÜg1™VQj4í–§=©È4ª¤é*²® Íãu3ÿ(GG�–ª½¹~€Ì^5¢²^e©pRw,b=0>>ÞÒÒRZZ Ü„***êêêSSSAM{{;‰DÊÎή¬¬$“ÉuuuCCCcccd2™J¥³¼¼¼UÞOÌårmllàÕÂ'OžÌËˉD4mÿþýš‹sxxXOOøÑét'''2™\YY™——wûöm<¯Ù«ÁÀÀ@#€é4XCàsAÓŸË/õç ü…6­9¨ˆPø Éô¸`q¾Ñ²Ä rƬ¶…/ÿ*ߘWÞò‹&Üj¼²s• ¨CÕ# "P4]Þ\•ŸÕù÷ (¿â(CžÛTp g–êB9“ô—Ëmhh(//ojjjll¬¬¬¤P(ÝÝÝ ƒD"566–—— ”––’ÉäÖÖV2™\\\ 6õ@Êöâââššx, šçýýýööö•••ÎÎÎõõõŽŽŽÉÉÉ‚p¹Ü[·n9r$,,lvvVsIÑh´ƒr8———çîî^XXÌ–¿ŸX³+¬CCà?A@,×ÕÕq¹\؉D"¡Óéýýýš÷gC›O¡ðô@lllUU•D"‰��-..~Wo-‰òòòÒÓÓµvÈ`0îÝ»¯l6sssçÎ�[ýå èžòóóÝÝÝãââ–ràDÛce �÷ЦÞ+¼_Fç@lFée¾Ñmòø¹0SÞ? ×ÊûÈ ™Ü2xEAy†Ìv7mZpqÙ� ý ·%}_¬äÉF-@4¬h’‡‚~Ô¦Ï! ¨!`W‹$�R„¬J”––655544�H$ …î›d0åååT*µ¼¼|pppddD3™ÌÜÜܶ¶¶ŠŠ x…SAAA]]”° ©q8\EE…££c}}=‡KMMW/µ··?yòÄÔÔ”F£i®ÎÎÎÎ={öŒ���>}:''ÇÅÅ¥¤¤˜az@.¬Càý! ÒÓÓûûûáb±˜B¡ÔÖÖ‚ûþ`ý§Vxçz@,Ÿ:uê7åçþýû�?njj’H$qqql6;66n^¬�šštÏIIIùùùZ{hjj:}ú4ƒÁ@?�œœÜ°a:õÂÜÜœ……Åo¿ý¶wï^—““ƒ¶G—;;;z{{µ^×�6ÆÊïL¼o„¿€þa~¡ÍßÈý…¾þBF:²+Œ·­5çºëÌäùF•znç+÷Ñ«^ÄÂ6*Ÿ~ãWòøENAP ( PW¨(;ˆIP^ `ð€»+<¬T4GÉ Å”NJŠ�h¥˜ TÀx=ÀãñÚÚÚ 8—Ë-**jlld±XIIIgll¬¹¹™D"1™ÌÞÞ^.—ËçóY,V^^^{{;…B©©©áp8ããã™™™PÀ‚¦˜��Åáp¥¥¥B¡pÿþý@W�Éd©T*ÜÜÜ>|¨¹4§¦¦¶mÛÆáp&&&Z[[OŸ>ÝÖÖÌ0=  Vƒ!ðþ�J¥sssjGùg©»–ßßdþTÏï\ˆD¢]»vÞÜÛÛ;>>‘z€Éd�]�§Š†”H$Z[[çææöÊ?à?˜Kmö¯RLOOoܸ±   ··7>>ÞÐа¡¡A묪««½½½›šš´>EWjþGý+c¼0=ðN`ü²;�z`ÓšC ~`«ò~b¹÷‘íXkª<"�_Q ¸¾G¹åV­Æãt\éÁ¯öMÄ�¥šºPØË]Äõ5”úœÝ-¨Wð~0 xø€šzÜôŸÏïïïÏÏÏooo§ÓéoÞ¼a0|>?;;»¶¶vhh¨¤¤¤¶¶vllŒ@ Ô××óx¼¦¦¦ÌÌL‹ÕÚÚZXXØ×××ÑÑ‘’’ÔT  õîîîl6;55õ÷߯_¿¶´´loog2™{÷îÍÍÍÕºj�œœüüü¦¦¦"##Äb±T*•H$ñññx<^"‘|â\DëKa• �÷¡Ôþ“åèèøòåK±XìààðàÁƒäääo¾ùfýúõ›7o®«« …AAA?þøã¦M›¢¢¢8Ή'<<<ôôôp8„‚H$:88477ƒ�@‚ “ÉÄãñ6lؼy3ø¯%ÔR©ôÅ‹[·nýÇ?þ­v>ô@kk+‚ ýýý/_¾D¤²²ÒÐÐpݺuìëëëíí500X³fÍ?ü?99yùòåüqãÆ�×®][XX R©ÎÎÎÛ·o¿uëÖÄÄ„‹‹Ë† ôôô233E"�@011±±±Ùºu«‘‘Q(>yòDWW÷Ûo¿Ý»w/�Ç›œœŒŽŽþå—_6nÜxïÞ=À L@(°ÂR@¡ÍßèoþF«<~@~?±ñöµ&Û•çŠÃ˜ot± $öQ°m4G—sn@ñeœý�òxMÁ¡¥Z%ìÖC…jàÉÀ¢!À‘‚|PØ30€_Å�†"@‰•õÀøø8�FËÌÌÌÈÈhii´žÉdfgg§§§WVVŽŽŽòù|ƒ‘———ššš““Ó××ÇçóÇÆÆêêê^½z•™™ÙÓÓ£¦–Ñ</00pÛ¶m‡®A<ïÁƒ{÷îÕÓÓ‹ˆˆ˜ŸŸ×ú{³Ùl·uëÖ3gÎôõõ …›7oêêêþúë¯[¶lÑÕÕ½~ýºÖ†X%†††‚ ïCìÞ½;11qppphhhvv­âââÔÎ.]ºtüøq‡ÓÑÑáè蘞žÎápôõõÝÝÝgffÐ;D"ÑÆÆ¦  `Pþ™››z`jj*(((88˜Ãá455ýøã�}}}PP(SSÓ’’’™™+++­z€H$öôô°Ôo‰Õc``¼WÞ‡ÐÑÑÙ¹sçáÇÍÍÍËÊʖщDGGçñãÇõõõd29888,,ŒÃá>|¸²²R� ‰Ä={öìÚµë°üÃb±€hjj²³³‹‰‰©— Ÿ>} õ@LLLPP›ÍF¤©©I«ÐÑÑÑÓÓÛ²eKXX˜H$JLL´³³ËÉÉnÙ²¥¯¯ê‰DràÀ�{÷îÕ××WUU]½zÕËË‹J¥ÚÙÙ�4q‰äûï¿OII©¯¯/))—Ã###‰D‚ HUU•¹¹ùôô´ŸŸ_TTLÁãñüüü¼¼¼À¸îîîׯ_ÇbÞëúÿ|;ÇôÀçûÛ}°™C!TüÀ‘­ßé|w Äl“]Fv\~ê>2{^D©ÁÞ¿ü) ÔðéâÈD$Ë™7�`�_i¬¸†LM`@P¯46‡YMA�ª•2B@¥”ÒBe‰R)èJL|°¥ˆ „!€!ð©#ð>ôÀž={ÒÒÒ¸\.�Çšzàüùó ~@(þóŸÿ´³³ó•¼¼¼2228ÎÉ“'5ýø‰D¢��‰DâÊ? @ÔÖÖšššž:u t‚Çã  ¸wï^XXHý488¨U´¶¶.,,¤¥¥ÙÙÙõööÆÅÅ:tÈÕÕtèïïÏ`0 ‰Dzzz§OŸ†sNJJ¢R©nnn`Î�à¿þ뿜��á|êêê‚¥¥%P8µµµæææ\.�ÇÇÄÄÀˆs.—ëââb``zzz¦¤¤`[HŸúŸÐGš¦>ðŸÓ°PÀ|£:ßÑùÎÜG¶Mæ2$;Ø©¸œXO¬Ì: ¶ŠCƒ­w弊»ê�Ž1²þ[i Ö'tæQð{(!”šˆ M9¡Pp&C+æ ;Ô6L|N«›+††À{Eà}è�eââââFGGƒƒƒŸ>} È1‡»yóæÔÔ”X,ãr¹Ëè­ñL&Ó××÷ñãÇÓÓÓb±xppprrê�àææF§ÓyúôéRzA‡ãççwûöm"‘xöìÙÊÊJ‘H´°°ÐÓÓ#•J¡@äܹsW¯^�œœ”H$\.—Íf£õ‚ GŽyúôéìì¬P(™žžÖÔ|>ÿÁƒx<¾§§G"‘7Ô˜˜ooo‹%‹Ùl6�ÇS;$y¯‹ëü3BÓŸÑ�õ±¦ ôÀâûdçàþyÁñ� = ?�']æ¸I”øª"ëÊÀt�Џ+”Oe[þ*¥!çëÊGªkä)� Í:Õq*EˆÌL0 (å€é��µ2±q10>9>¼˜�����?uêTPPP}}½³³³···¯¯oXXXuuõŸÕ"‘¨  ÀÇÇÇËËË××7((h``ê6›x÷îÝ���eôˆúµ±±©ªªŠ��Åãñ>>>~~~ׯ_WÓÍÍÍ`¸K—.�<Ôð|A�’’øR7nÜ ÓéZõ�Nvssóññ âóùAAAx<Þ××700°¡¡ÓŸÜß̧1!L|¿Ã'=  ~YsPá/$‹Pè�mßÉBŠßG¦¤Î2U cÒ*†�âР>R1x™�ÜSe¬po^A—õ ßæ‡}ÊïSJMw mÌÎJ«üP �Øczà“^¾Øä00>$Û IDATï\H¥Òªª*à¯^¤¥¥eddD*•677 H¥R‹E"‘ŠŠŠø|¾T*íêê*))),,¬©©ár¹�€J¥NLL¨áÀápš››'''A½D"éïïïêêBd~~¾½½v277799ÙØØ®¢P(UUU½½½%%%h±X\ZZ:55úäñx ÀÓ©®®®°°°¸¸æxhkk£K¥R:�^RRRPP^vbb‚F£Á¹�«å‹‹‹AÆêééi‹É=ŸÏ§R©B¡P*•’H¤‚‚ …" E"ÑÀÀ@yyyaa!™Læñxj `_1˜ÀVŠ@= –ot»2~`±8±sÝI]y–!Àò]ƒF«ˆ;Ê]GÍ* XP)HèAsùWHèUƒ*‰ú#”V��) ¨:”ç Š¡åBJ”ßÖ[`z`Å%„``|-¼s=𵇽'†ÀGEÓþÏcp? Ï7ªÈ/¤æ/´CRl*—*= îf£Üò´[F©Á?€ÙçèJ4釲A­R©– õ² 3 ØP|…jŽˆª�2`Ñ´•sÞ¹ÞÓŸÇ:Æf‰!€!ðÀôÀCà�#€é�wé—×!Ôjç:ß÷ÀüBÊ+ç*= æÌ =Šv«È:¤Úh3%é_Ô'ô’[*Î`%°y'P6Ȉ¾¬Fæà¤"ý°9Q­õô€é�/oÍco„!€!ðÀôÀ_k†!ðQÀôÀG…ÿóê? ó­á¶ïŽê|wlûZ“²ù…€ø fRúê(¼k”t\Åé¡$ßh逬+(;4@ûí õ4@wŽª„Âcq‡ŠHƒÅ•ŠÕ„‹`Œé�Ïcc³ÄÀø`zà€Œ �!ðÎÀôÀ;‡ôËë°ªªJgÃ�Ík¢ò�ê|g´ý»cr1 Óò”£f;)Gå›îJU É°e5(‚®ö*üŸÇàÀ_Ü?ðë7[¿=¢ó­Ì_h«,„Àx›<~`ç:S]åù€îº ߨ"NWÉËUä[ÍcGÉVìëCÙ ìlÌ£»‚5‹*aŸZ{Pö¦j²xû_V¯ÖPí«²‡�ëNbzàóXÇØ,10>˜ø cC`¼s0=ðÎ!ýò:z@u?±ì22Åù€Žü>2O¼c­)ˆPÓ€[£6ÜþGÓqÀ¿U5à¬ÒnGw ÷Ž¢ ·W? @÷†füʲ¢çÅÚ@Õ3l¾¸ Ó»ÿaþdžã8“³MMMüûA_…óå->ì�00>/0=ðyý^Øl1˜ÀVŠh‹'–ÝO ü…@~¡í²�b™€’@ÅÔ{†„^ɶթ?0€fhέͧH½h¯ì xz€þŠÖ jP«¨ìaÏšùX2=°çG L¬¸’0  �/L|ñ?1ö‚_$˜ø"ÖwûRòø�ƒ›åñÄ›•ñ:ß)≷¯5�÷=ï'^DÙå{ð‹6ìµQ…ú‘V1€6P£éh{åÆ?P*ŠêÑ7(;Y4Cµ3 `ƒê�½˜x·‹ë CCàóDÓŸçï†ÍúkGÓ_û XÅûÃû6­9´ù}yr!CY0ñ1O¼MO¬+?�gé;åÿFqhuª�z•°A Ë‹öò• ¶……EM™-Êsª°ü^¡d¹Ma?ê1 JI£2� ,~`‹3ÁÀø:xz€Ëå²X,6›=>>¾°° •JWÄr||\$­h¶Œ—Ë=pàƒÁ@ÛÌÏÏs8‹Åápø|¾D"A?ÕZæñxááá[·n ™ššÒjƒUb|0–úóÁôÀû >ß�`<1È7 ≷~k¤£Ôºù…ÐŒY» P†CR‰8, ;‘•Ñÿš_!ïGzX©Y½¡�Õû—‘¡äèD£ ¦>ßµ�ÍCCà#ðÎõ€H$Ú²eË�?þ¸sçNƒ¸¸¸ÉÉI8é¥ÈͶmÛZZZ Ù_(hÕIII7nÜ´iÓîÝ»���Wì¹²²ÒÓÓ³¡¡aEË¥Þeņ˜†Àêår¹š‹ Ó«Çð«µDë�Íßlýæ:ò é®=.»`­©<­�ìþ��ÊËÈ�W9ê(y¹B$@n­t쑉X¹NÉŵqw™Ù"cÔq„ruE�ª×<ˆPÓê3ÔJIõ€ OüÕþ‘`/Ž!€!xz`ïÞ½999333Ož<155¥R©•••ííí%%%•••333T*5//�D"���K¥ÒæææŸþ966–L&óx<‡SYY™››[UUµ°°€ ˆD")++ËÉÉ!“Ésss‚tvv‰ÄÂÂB:�.‹—Òîîî}}}ccc8ÎÂÂbvv¶¬¬¬±±±°°�ÉdNOO×ÔÔäää”––Ž��OLLÜ¿ßÒÒ2!!�ÉdŠÅâ¶¶¶üüüÂÂÂÞÞ^‰D2>>N¥Rkkk‹ŠŠº»»ççç©Tj~~~yy9›Í–J¥³³³yyyÅÅÅ•••l6A©TÚ××WTT”��M¡P„B¡@ èîî.� †D"‘J¥ýýýD"1''§¶¶;šÀþBd2966Víà AL`+dE`~!¹¿�B€xb äÁIJxbeÊÑ•¨¹œßk9Pã÷ð+,È�–Ò2¢Ò+ÌA!<Ôz†_AA[o‹‹lD…ø}ƒ ÎØË/´âz 00¾`Þ“ÈÍÍ•H$¹¹¹'Nœ¨©©Ñ××wrrŠˆˆ¸ÿ~nn®£££¯¯¯½½}TTÔôôtFFÆ÷ßïææÛØØxÿþ}WWWKKËÔÔTA†‡‡ÃÃÃ]]]ÂÃÃÇÆÆzzzp8œ———‡‡‡ŸŸ�F[Jxxx0 ‘Hpøðaƒ±mÛ6__ßk×®ÕÖÖ>}úÔÝÝ= �Ç߸qƒN§ûøøìÙ³�Ç766VUUÙÙÙùûû{{{wwwS(”cÇŽy{{_½zµ¬¬,;;ÛÉÉ) àܹsÑÑÑ\.—Á`¬Y³æêÕ«x<>&&faa¡½½ÝÇÇÇËË+000<<|bb‚J¥úúúz{{{É?l6[$¹¹¹áñøÀÀÀû÷ïkò¿/xb¯¶ d2ÙÍÍ-""¢¯¯m†é4XY+à>2Íxbà/¤Œ'^”\Hqÿ€ŒO+÷ø•‡ 2oÔžý¢û #_J}ú´§§§‡‡‡¡¡aXX™L¶µµͧ¦¦Ö¬YcooïéééêêúÛo¿•––2Œõë׃À媪*ww÷––++«ÔÔT0=88hkkk``à)ÿìÙ³çÊ•+"‘èÊ•+vvv®®®¯_¿F]|U {Y5 ˆ���™™�O1=¡À K!ý…6¯ÑÿU‘oTvÿ€ÎwǶ¯5çÛ×—ß<`¦»îÄoèà´€e°¿‚‚rŸ^Á¹Õž¢m´>‚•Z¿ò©ºØPÖ«dznZ»‚ Ai‰é�¥VV�!€!ðÕ!ð>ôÀÞ½{ ‚H$‚ ^__¿²²A�þþ~kk뢢"A¦§§wíÚU[[‹ ÈöíÛA<ñëׯñx|OO‚ <ïoûÛððpBB‚««+ú2G33³èèhAÁ­[·ÎŸ??44¤U¸¹¹õôôÀÌB ãèÑ£À‡H$ZZZ‰Äæææ¦¦¦ÖÖÖññq¨$ɯ¿þšžžÞ,ÿ4662™L …âää¦777÷¯ý+''4ollœ˜˜`0ÿû¿ÿ –Quu5ÐŽŽŽOž< ~xxØËË+<<Ý3xßÖÖÖ””{{{ Ÿ¾ºåˆ½°@ÄÆÆòx<ôCL ÑÀÊZþB¿ÈïØ¢ˆ'VÜGâ@0±<žØlç:Ùù€Â_H“mƒH©_WðõW‘uµæjýhn56‹ªÎ`[¥0P� fòÿö`çZV‰!€!ðõ!ðžô@nn.K¨x<^pp°··7›ÍNHH8zôèðð0‚ û÷ï'‰‚´¶¶âp¸¤¤¤‰‰ ‰DR]]}ìØ±¬¬¬ùùùöööÙÙÙÄÄÄ�;w2 *•zêÔ©çÏŸ/?'ƒÖcccæææ>œ›››��­¯¯ƒzA�K—.™ššŽŽŽ …®®®žž´‰D Î�ÇãMOOS©T? ¦Z[[A\uss³D"¡Ñh|>?!!œ3‚ææfƒ133S\\ ‚ ìíí333ᜱÂ׌™LNIIÑŒ/ÇôÀ×¼*Vùîh¡ÍßèËó -Ò²Ãy~!¹8¡»Nö�ŒÄ/âÓžôÃæ‹ùº¢[åö¼ºZP3FEw¨¤ø«l® ²÷Zô.˜XåBÂÌ00¾|æææh4Zbbâ»zU‘HtàÀ�¼¼°Mž_ú íøÿì}÷WTɶÿýî÷ýðÖû®»t wîÌxÓ3ŒyL£€€Ž‚€D˜• ¢ŒˆiLä Q ãŒÃè8cF ((Hnhº›Î9ç×äÔé»è-å±FѬ³XZ§Î®]UŸSݽ?U{WMñ…¿Wñv¦¶Ý-Ñ4'¦íĈ· 6¨É¾C¯="lKŠ”¼&ðZÀ+C”�´]½¯ßÚü…`}û �¡q�›ŠÀ¼0x b•�wŽæïâ±_Ä ý…¾ð²ñ/Äü^>`·tà„ tdÙ;&œhTØ1s�©°i~Rü2ná%ßèç˾ð_òù:?0öG;îF#ðV`>ðVðáÂ�?Ìþ àÇRµv|`öÄU³?Y=gÒ7s'­�;©ŸØöê&r}ÀÑ Övw,bg¬+òŽbŽ9všÑíP�|=Žâ‰mñx}`, lÜVŒF`ôÀ|`ô1Å1ïÌÞ=Æc¾à3&¸Íœè>ÓvþÀìOVÃydˆ,˜â3²:’ì•ï ²­_OØod‚l·§ç vùÈÍú׫~­mÃ*´ê×W6€,Âû �ù¡Ž;€À¼-Ž|@$‘ð…À|xÐétô�Ç|A�C!ç‘Ͱ�G6s¢»-x``¿QÛúÀü�ýFm|Àvò€sŒl¢-û e|µ9Ê€¤“¨ :æ:¤_ã*C•EùSýÿ´bZÀòiK0já|ŒFà£AÀ‘˜Íf#¾0�âݘ|4_ÒoÞQâùÄ3'z ø�9“ÖØ6õ¶ã#‰'~å‹�Ìñ×�p^›ÅG2�@¶8š§G9(1 ù²"»|;…Ä[GIBœZðŠ0ØÚÜ¿>€ùÀ›�/\#€G8ò�qÔ9ÜŒÀ¸Eó�qûjG¯cÄø�™û÷�ýIÿúð�y“_ã°D€Î#CfýkYØ(A´È‰éÁlª{!Ç„#a *'¦QYb&1=´@ÿ~£Ë¾ð_ô¹÷¯�ø<²ÑxXF#0öÀ|`ì½3ÜbŒ€ÕŠùÃ"ðúúø õÇÏž´fŽÍ_�OðÊXsë|ˆãì,uç·Pû(¶Á?Ðï/´ï7úN†VŠÀŒ%0Ko ·#0€æHàÿ‡DÀ‘€¿Z€ýFÑæB¯Å-oç–ú›<zþþM´9åCwäåþB‹±¿Ð�C?À`>0øXÞ4îçøBó�ñõ>ßIo°í7ú*~ñðZ0Åwá? Žñ¯ÖFËRw²¡ÐhU1”ž×¹ÁËøÌÞÉèÃJ1�1…ÀØâ&“)))‰Çã�)Œqc1£�æ£�é¸ÓˆøÀŒ +â‰ûãæ ÄÌØotÁ_Ûßp[Ž:ÚÙŽ»ˆe^·¿GŸZë4í´?€Ï#ww#€øýŒ:0™L¡¡¡+V¬ðôôܰaCFF†L&³X,¿¿iƒ”èëë[¹reMMÍH …Âýû÷Ÿ={¶µµu]8 #0–À|`,¿½÷ÔöAùÀìO^Å#>€\†ÀdËU‚SÞÔÈÎ|·»u´øáô”?¬<’´(÷Ÿ?ðõ´þóÈðþBïiHâj0��QçF£qéÒ¥MMM·nÝÚ°aC`` L&~())ù׿þåééI¡PF¥v¬#ðá €ùÀ‡ó.>Ø–8òÛ‘d¯â‰L^7²Ï<ÛùÄÄxâ—|ÀÉÜ¿“GD›Û.=`¯¿¶‡©� ÜH²¤@|„š�Î@ >ÐÞ)€nîÞ½ûÀ�K—.ï�‹/FEE ‚gÏž-\¸ðÅ‹}}}B¡P.—_¼xqÆ 4�J¥Î˜1£¼¼¼­­íرcQQQ�&??òäÉ555}}}Ë–-m.\mDT9NHHÈ�?þxüøñØØX�FcµZ}||²²²ŒF£J¥­% b¥8�xo`>ðÞ » vþ@ÿydv|`¾ÃúÀ›ý&øK #³×G­:»Ú‰·vžE¶Gà/Ô?€ý…Æî(Ç-Ç`F�÷ÀöïßU]]=uêT2™L¥Roß¾½{÷îçÏŸÀöŒ„ضòA|à-\wÞtO!¢}?lúí€]ïþôõ˜|€7 #€xÿ¼ >0oÞìø™ŸŸ¿sçÎøøøÃ‡_ºtIa»bbb¢¢¢:”’’Âãñêêꢣ£÷Ú®­[·*ŠÞÞÞâââ={ö¤§§'&&N›6 â‰óòò@[||}ÚÔÔôðáC˜ÅTTÔÜÜ\[[‹íëë+--U©T EEE÷îÝ«®®nii±Z­$‰ÉdšÍf�Q*•V«•Íf“Éäîîn¤'0˜|hoälϰ|`^¿³Pÿ–£BGÛM¢�ãÛ~>° ï/ôŽ\Ü$ŒFà½#0ê|à½÷`�  vétºADqF`l"€ùÀØ|oïµÕÃò�¹ç#¡·<‰ll‘‡Wë½w‘ÉdÃû½pÛ{ý4àÊ0§ŒK> ìBQËNñÀ1cÌÆÆ{úC[9žøÀ» *ýû�.Ÿ°äsoÌþÐ�Š+Ç`þxÆ%øãaÅ-À¼c0xÇ�õ㉼ñÊÃü)~C•ýÓò/–}Ñþæãa¼ã>`0o�æo.ŠøÃÀÔ[" IDAT|àƒ~ìTŒùÀPLò_ù áóÈÆÎ¨Æ-Å`Þ ˜¼X±RŒÀ;Fó�w ðxPÿò�wáÞãܸ_8eýï­ó�ñ0Êq0�QAó�Q�+Á¼g0xÏ€�Åê|ÀmæÄñ¿ßèïæà/„Ï#‹ƒ·#€]0]<±6ŒÀûAó�÷ƒó˜®…ÀV~ |`Ø;�—ñ‹>÷Þèµï/4¦Ç:nð–ââ�?ÌþØÇV¥˜jÝ`À_è3/?0¶F6n-F#0ê`>0ê�b…�÷€æïä±^ŇÌÀFÊR·›ÈG·/ùÀWŸy¯ÝŽ×ÆúpÇíÇ`ÞÌÞ=\#ðG!€ùÀ…üª÷5>0Á}ÖDÏ/'®šýÉ7³'­™3ÉkîdGæÜpwþô�­ùw¤µ§Ÿ,ùÌwÁ§k‚×îÀ|` �lÜTŒF`ÔÀ|`Ô!Å 1ïÌÞÈc½ "˜ñF|à][ä`š;¯ÅùSdÜ;ô韖~¾~ñg>˜Œõ�ŽÛ�À¼=ÍfÓÀ5ƒ�Íf³ÅbI�̶ IšL&‡£R©P1Ñ××G¡PÚÚÚˆ™ÎÓR©T(öõõ!1‹Åb2™ŒF#ôi„í4™LB¡P,#=ƒ&@ù �p&F`(0 œ� òb<ñœþõ�µ¶õïy“×Í›ì3Šï‚)~ð‡,ì÷–ÔXGµ;ŠÄ†J8éÔŸ–|î‡ù.8�À|̼ >ÐÝÝÍçójkky<^OO�s��F#ƒÁʦ·++š››Q¦ÅbikkëîîF9ÄĨð�öööªªªÊÊJè‘N§ %!Ðh4MMMÄ6ã4F`X0",0Ô_èäC™òNòß’$€fÌðg#€À¼D`Ôù€Åba±XT*µ¥¥Åh4öôôÈåò®®.«Õ †»^¯omm%ξ[­ÖŽŽ2™Ìçó[ZZúúúÌfsGG‡N§3 ½½½voË‘tttåè°]­­­ƒ¡³³Ób±ù@wwwKK‹Ùl6�mmmГÉú»»»õz}KK‹@ °[hoo§P(­­­F£‘ÇãQ(РÓéôz=TìèèÐëõ:�®³³“Èz{{[ZZL&“Åbioo‡Šz{{Íf³X,®¯¯‡ÆØõßb†Bó�¡�Áùp™>ÁmÆ„w¾ßè¨èN€Ý£Q©îÁñhÔàF#ðQ"0ê| »»»²²rPÿ­VK£ÑX,ƒÁ�J¥DJ Óéjjj(ŠH$êèèÐjµ ƒÅb1™L.—k4‰/ÇŽ˜L&6›­T*­V+›Ínjj‡Ífwtt >ÐÑÑÁb±Aww·\.g2™l6›N§«Õj‹ÅÒÛÛ ãp8ÀLˆÍkoo§R©­­­‹E&“‘Éä¾¾>6› EØlv{{»ÕjÕétL&“Åb±Ùl™L†ø@ww·@ `³Ù½½½:�ŽÁ`°Ùlƒ!‘HºººX,Vee%—Ë•H$Änâ4FÀ ˜8?~×úrZ8ÅÏÎøþ`oß’üi1ŽÀŸŒF#`C`Ôù€N§«¬¬wšööv‰D" Á’&‘H2™Ìl6ët::�ÞÒÒ‚^Ñ_Èh4677ƒ=ÝÝÝÝØØ¨Õj‘¤Õj–˜L¦ÞÞ^�'“É€H¥R°¿M&S[[[ss³N§3›ÍZ­–B¡˜Íf•JÕÔÔÔÛÛÛÓÓC§Ó¹\®¨¯¯g±X|>ŸB¡ˆÅb“ÉÔÞÞn±XzzzÀ”7™L4 š ø“Éäóù�V0Èd²\.7›ÍmmmL&³¥¥û _.N�ÌFÔÇ,6À\�®xCü€#[Do@Z^­àý…>æÏ î;F#`µZ߀âÎÎN…BÑÐÐ ‘HL&ÓóçÏÁ&îééa2™jµ½"èììDÀ‹…Ãá$9,a“É$‹Áí§©©©¦¦†Ãá@«t:]UU¬<ÀܼÑhär¹<j‰D|>ߎ�H$�'—Ë5Moo¯ÅbQ*•‡Åb544ðx€É‘#€ùÀȱúh%øÀHý…æÛBЇ5¬ßrVéwé‹dÞ,1B͘|´ ÜqŒFÀ�Qç½½½/^¼0 àOo±X`bÞl6———ƒYÜÝÝÍd25 j�Ñhd2™OÜÝÝMä,K$!Éaù›L&Xš€õ�×ÐÐÐÚÚjµZõz=¬9´Ú®––‹Å"¸\.Ô" ù…BI�%áÀf³¹\nWWWcccGGj*¬Ðh´ææf¥R (½xñB­V£ªûúú0@ˆáÄÈÀ|`äX}´’NøÀì—û ­Cû ÁúÀ|§ÎBƒÚÙ(Ó9O@bÈÄŸ?ÅoØê�°cbÐêP&J8„œSü0øh?¸ãŒ€=£Î, —ËmhhÐétF£±«««©©I"‘X,�ÆápŒF£B¡hnnŸ{h�Ñhd³ÙR©X hmm­­­µ‹F4 v…à`büÀ | µµU«ÕÖÔÔ´µµuvvÒétpÚ1�`å·¶¶’H¤¾¾¾îîn*•ÊápìÖ ~Á'“Éššš, °.—k6›!&¶%íèè> ‰Z[[Éd2ð&“ €ÇQ__ŸÁ`¨««ɆE¨vœÀ`>€ÇÀ°TUUÍý|Å ñÄv|`Þd_‚¿Ðú¡lè7È_0å•¶amt;ýH%NYOLÛÉ£[Gî�¡â~øü�aGÀ`Æ=£Î¬V«Ñh‰DÕÕÕÏž=«¬¬äñx°GPoo/•J­¨¨¶@´€-‹F£©ªªª««ÓjµàÄ_^^^SSCt+‚×!JKKŸÚ®²²2¶íBñăò`µÜÞÞÞÖÖF¡PÊËË!�¨…D"©­­¥R©‘윘L&2™\WW×l»¸\.ìeÄd2+l�ÇCñÄV«µ­­­ººÚ`0ôõõ!:�ÞÙÙi6›©TêóçÏÇýxÃ-0-$DZ‡õ�AÏ'vŒxeÁ#ëùw%�É>»œ¨$f:rçbPéP2DͰ>€Ï'ÇÜ5ŒF`¤¼ >0ÒºßH®¯¯¯—p­ö7Ò‡ aÆ$˜ŒÉ×ö~í°>0°�Jö†G’ ks+@´Î!=’"Èâÿ½|î:ì/ô~Ç#® #€ø€s|€Íf×.6›ý£‹›†xW`>ð®�Gz‡à«á<²9“¼æN^7wòkë(¤ø-Mm;Ë{(+Ÿ˜OL[܉°]Y'·x¿Ñq4ØqW0�·C`Ìñ�·ë..�'`>0N^ä»ì†Í_Èeú´ß謉«¾üä%Xðž7yÝü)#�pnˆ;y:ì#çoÌOœ¨ÅëïrôaÝŒÀ˜Bó�1õºpc1/À|…aˆ@瀿Ðk|À¶>ð°3 ßØ'NÌÛéD� ßù.C?0”¤ê ˜ ;„°F#ð± €ùÀÇò¦q?ǘŒ¯÷ùNz3À\fLp›9Ñ}ÖDûø�9“úÎ#ë�'¶³¿ínßÀøªÈ |î:¢ ñ1=”~ÈI¢ž…SÖc>ðN†VŠÀŒE0‹o ·#€ùÃ"0À\gLpµñ�U_N\5û“ofOZ3{ÒZˆ°ãhª~ä¦ö ñAÅFXËPb(%†ªÅQí7êƒ÷v$aŒF`Ü#€ùÀ¸ŸƒãÌÆåkÝN ð�ÁÏ'ž3É{nÿâÀàëÄiõA�ìa3í&ã׈9ƒÚëÈSÈQj± 1m§=B ¼>0ºƒ kÃ`Æ6˜Œí÷‡[ÿ±"€ùÀÇúæG¿�ð�¹ý› yCðÀK¡É>p$ÑÐÊGæ8QØ1M4¾ŸŽ0Úªˆ Qš(0”ÎA;‚ý…~Ç`¢ŒÀøFó�ñý~qïÆ+˜Œ×7;Šý²ñ—AÏ'>`["xB¬ÀÑì ßDƒ{ÐL¢€“²ŽbNrˆÖ<1M,2T>’!¶Ò˜Œâ`ê0�±�æcûýáÖ¬`>ð±¾ùßÑoXø_Â~£¶ø�Õ¶‚µŽû�¢Ã� ML {,oôï 2Ž™Žò ©EÞA¨,ÑÄw&zÙ¥NõGJPU„Ô¾äóÿöMðÚd2Ùð~/“Éô;^&Å`0ïÌÞ%ºX7Fà]!€ùÀ»BvéXpy=žxõ[<1ð»óȈF3²¤!±`Šß|ÛŸ�e�ÌkTÖ® *î(9(%�ÇôÈ‘?Y* b›Q^Gƒw#€x;Þèîî6 o×Ò!K[,–ÖÖÖ®®®A%Ìf³^¯ïëëôé ™mmmCiT~¨L“ÉÔÖÖÖÝÝ=”€óü–––7.ë\óÛ<íîînkkÉÄVwwwKKËÛÔ…Ë:Aó'ààG€á|b·™Ð~£ý|À¶¹�³xbdO#ûÛѤ¶3ô‰E@˜¸à€hRˆŠ£¤™ìèÑú'Š¡ ‘ˆd•B•¢Æ£œWñÄó?]ƒ×ðg#€øÈx| ««K&“‰D"©TÚÒÒb2™T*…B-¨U*U[[Òf6›¥R©^¯G9ÄD__…B!ÊŸ:¦- ‡Ã‘Ëå‹=ííí•H$�@$)ŠÞÞ^ôÈI¢»»›Çã©T*'2V«µ³³sP‘H4{º««K,·¶¶B----:�Îy�Nžöõõi4à!f³Y&“!`;::Ôjµ^¯—Éd#A@©TÒét'uáGoƒæoƒÞGRv`}í/ôò<2às&yÄôGC01²›‘ý�Lsd…#;Þ1‡ø©²K cÝ1a§µ©´ˆc©ùþƒþü/OWx¹ßè¢Ï|0øH>¸›Œ€F�˜Íæææf6›-‘HD"‘R©ìëë]>@¡P¤R)±S===F£‘˜ƒÒ£ÂÚÛÛI$—Ë‹Å4M(šÍfTÅP‰ò�FÓÔÔä¨ÄI§ˆÂ:�®¬¬ŒÍfÈP(d±XD�ß•îêêb2™ÀO:::êêêh4šÕj5™Lb±˜ÉdöõõõööÉÒPú1 ™QÉÇ|`T`ßJ ~€O

qÿýç ð�—[Ž‚GЂ)¾vsíÈ G&5ä [GÃ}P;µ#¼%Ö>”é-±«ÔîÖ®µó§øa¡ñ=þqï0�ß�À¨ó�îîî/^tuuY,“ÉÔ××g±XT*USS“X,¦R©|>¦Ÿ�F£T*¥Ñh ¼‰ÚÚÚ¤R©Ñhìèè ÓéíííV«U£ÑÈårb—ìøq›Íf+•J–íÒh4V«•È´Z-‡Ãéëëëììäóù4�Ïç÷ôôX­V³Ù,‘H ‡J¥Ú­´··S©ÔÖÖV¨‹L&wttp8*•Êd2u:ØÇ&“I*•677Óh4…BAä*•ŠÏç›Íæžž�uvv�ÆæææŠŠ :�ÎãñˆÝDëB¡P,s8‹¥Ñh쨈N§«¬¬lnnÖjµV«ñ‹Å¢×ë™Lfss³B¡0�---PEww7‹ÅyXZAö}__ŸÏV«U©Tr8œªª*‹ÅÒ××Çf³ÅbqKK‹\.ïíí5 <O(2™L�@€`”Ëå4�Éd …BX€Õ�Æb±:::, z§�†Ëå‚wƒÁ7-"†ã8�ùÀ8~¹£Õµ>à:cÂÊ™ÝgNô˜5Ñsö'«á<²�xâ×ΰyøøÚYÒD‹|PËÛѲ·Ë!*$ÚôÄ4*‚2‰¥à)j‰Ý#âSb ‘J §˜ŒÖ0Ãz0�ñ€À¨ó£ÑXYY)ÚÛÛ‘åªR©ÊËËÁ}ˆÅb‰D"«Õ*‰€ ¨TªºººîîîÖÖV6›ÝÞÞ.—ËkjjÄb±Åba±XÎù€Éd`µZëëë©Tjgg§V«e0íííˆ(•ʆ†ˆ4àp8B¡°µµ•Ëå‚™®R©`{ ¹\^]]=°X,��”Je{{»B¡hnn$�@@§Ó[ZZÚÚÚôz=âr¹É477 ‚¶¶6�íêíí•Ëå ���vÑt:]­V[,*•J&“ÛÛÛU*àCy:�ŽL& .—ÛÛÛ‹ø@{{{SS“J¥Òëõt:]«ÕvvvVTTX,––––/^ðù|£ÑH£Ñ�G�ÕjµX, …Ö¸\®F£ihhèèèèîî¦P(:�N­Vƒ¯R©ž?®ÕjÛÚÚx<žX,¶Z­*•ŠJ¥êõzƒÁP[[K§ÓÍf3,, ‰DB"‘L&“V«¥R©f³Y ¼xñ¢¥¥¥···¼¼|$a ľÌiÌ>æ·?¾Ûñ�Y=gõŸOÜÏæL‚ý…¼çMö~yþ@¿Ë�ÑkM¨#+œ˜ƒÒÈÂFv¼Ý#»['b¨"¢Œcš(†Bˆ?QwÀë#HX #€ÿŒ:°Z­­­­4­²²²¦¦F©TšÍf•JU__“ÐjµšN§www#KÔb±Ðét±XÜÕÕ6(›Í†ù{‹ÅR__ßÑÑA|vëv|–º»»9ŽZ­>Àb±H$Ü---T*¦¢»ººÀB¥R©2™ÌjµöööÒétG>PUUUa»jkkõz½ÅvY­Öžž>Ÿ¯T*{{{‘¿Åbéîîær¹d2™F£µ··[,–ÎÎΪª* I@~ÚÚÚ†òB| ¹¹¬íîîn6› óú�NG¡PZZZš››õz½@ `±X‹E$q8À|·ŒFcUUUkk«\.§P(<O§Ó1 ;xõz=ƒÁ…ííí|>_"‘´µµ‘H¤ÞÞ^"@ïT¥R1™L³ÙÌ`0är¹Ùl¶X,<�N§wvv²X,µZ d£®®˜ISS“Á`���jµøêN ‹æÃB„ø€ÛŒ n3'ºÏš¸êå~£6>ñD>€Ìh4UOL8šõÈÔ¶{„fëQbÀ©ß‰Ÿh—CAT¯]‚ ö5ï¤ÄQ¡È«8�AÛù*~`�-ž¸±±Qû~/p 5â #€À|´µµ‘Éä~øaÔ;Íf³\.™? Õjét:pd=óx<.— Æ0ËÞÚÚZ[[ÛÙÙYSSƒ¼Y ‘ÎùLÕ÷ôôp¹\ˆ^hjj*//—H$ G«Õ>þ¼¦¦¦ÖvUVV�ÆúúzÃ5›Íl6Û‘455ét:£ÑJzzzh4ZMMM•í’Éd0Oôxéîîf0ÏŸ?‹Å0ó­ÕjËÊÊ Þššg$|@¡PWa³Ù@xÐû>`4…B!—Ëe³ÙÀ FEEª ¥ †@ àp8R©<\}�ÂŽŽpb³ÙÝÝÝz½¾©© ü ¬V+‘ q�FÃ`0úúú¨TªV«ˆär9�Nokkc³Ùhw) …"“Ézzz˜L&—Ë …"ÛÅ`0`Õ5'œ#ðøñãçϟØü¾Hp>D*++ç~¾bú«ó^­̶­8Æ8šÎv67QÀî‘�qïhµ#y” !šòvµ UŽ2ˆi€N(ˆŠ£LbUÚ¿>°è3ŸŸ®Ù¸n÷3|a0���G�]¾|yù€Ùl†˜Ø´©©I¯×;ò�®®®ææf�Fa4 B„år9™Lf0ÝÝÝT*•Á`0™L;Ãè÷ò …¢R©e2™Éd‚™ïÎÎN˜±K½¹¹ÐÛÛÛÜÜìÈ ~µ„Éd²Ùl³Ù sö°å™LFKðˆg»h4š\.7™L]]]555°9�Åb�yt­VK&“‘f” ® ËL&Sgg'…Bijjb2™‹B wfÛþ<$©©©©³³S,×ÖÖJ$;/�¾¾>‡ÓÐÐ  ûúúL&SEE²×�ð“ÉÎ]Äõ�®®.ðæ²X,F£VWŒF£H$ª««‰DmmmL&³ªªjä{@!ˆ>æÄãÇ�/^¼xÿþý�øÛ w}xæ~ábãýë3'z óÈÐ~£¶(‚—Gƒ³ÑæF¦³cæP6:ÑòFéA‹£L…(HJ %€Úƒ$�$@ÉK>0ÿÓ5¡qï÷,2\F#€ø°�ËåUUU£ÈÐļJ¥âr¹ öÓDsɰ>Áİ•�T*%“ÉàÌ£×ëëêê¸\®Ñh”H$eeeJ¥ÒÎì£P(L&Sm»´ZmGG1~Àq}Üý;;;¥Rigg§@ àóù�F­V+•J‹Å¢ÕjÁßF©TÖÕÕ Ëø|>‡ÃiiiQ*•À4¬V«D"a0jµZ£ÑhµZ?‹!àHÃb±x<žV«Õh4:�®¯¯¯££ƒD"iµZ»ÝE/€� °Ý­VkGG°,­V«T*ÛÚÚ,KooïóçÏi4šÅb‘ÉdàÉc‡°X,~þü94Øjµ’H¤ªª*3pÎ4 ‹ÅÒétƒ¡±±âd2¼h½¶ R©***d2™Åb¡Ñhv´Ä®IøÖ�ǶK$}X_(¸5_ýÛ}�ý…^Ŭ›7ý¡]G_ƃ=�ìl¢!ngj£GŽùhªéAjQ©A™’G *€ U¡Šˆ b{P-HàO‹?_¿Ø¶ßhDèÁìÅáæ`0�÷ŠÀ¨ó“É$“ÉÀqE(‚ �AÓÑÑ¡P(Ìf³Éd‚lø|>šîéé‹Åƒ¼íY,–]”­Õj•J¥Ì�‹ËåÂú¸‰D"�7�jµºµµöü�LØV¨§§§»»[*•r8�1»° ’@ P(°‹Ñüêéé‘ÉdÄ–@ä®H$’Éd …üaP� öò‡®µ¶¶ £ÑØÛÛ‹ªÖh4à€$“É`÷b¥r¹vX’Ëå@ŒF£J¥‚L$ÙÑÑ!•J!&,&X,ˆZf³ÙÞ n<Ðe«ÕÚÖÖ&‰`�iƒDkk+�ÇC)•J�û™¶··CTñ�B\5¬B¨Õj¡P(‘HÔj5´¤¯¯O¡Pp8�@€ü©:;;axÀFF;n× |ëÌÞë嘭ì«{ Â>ùfNÿ~£ýç ðŸ�¨b?0—‘%M4¾!�%í¡R`ÄÛîÄ[dî£"È^'&P¥D1$€2‘Ñ9C @~?Xò™/^³Ã7#€5F�8±`ð#ŒF`´À|`Ô¾ǵ¢¯þí9}ÂËýFgM|íü�Ù¶ól|ÀgþdÛŸm‹!dy£²­‰Æ=z ‰A-rÛ†Eýý�Òƒ4;îvj‘” ÖH$DU(MÔ†Ö^ò�#óR«T¥ÅÅ?åääŸ>Y�xæ—óçë_¼Ðj4ÎÇ[ ¹òœvá)%¯„’ý¨)ã!9µ˜ücY_Ò?�TWWwù‡ËõõuΕà§ŒFà]#€ùÀhÙgXFà}"€ùÀ»þnúø€ÛŒ î¯øÀ¤5è<²—|`ŠïÛÅB€,f¢½`Šß¼þ Ií�qïh|‹ÍwdÓC;1âÓ¡t¢|Ĉ¥ˆu9R$Ù?°ä3ß‘ð&�V�p&/*âzLôýocîì�ú1r÷Ùˆ=¿^¸ �Œ•úfÎÁ› á×ê�Þ£Ö ¶þDò-¨Ùp®ôq-åÙ³gååÏÄîÏÎÎr¢?Â`0ïÌÞ§ ‡ëŒㆅB�×ÚÚú¾î>Â*l|ÀmÆ„•v|ü…æö>Ð?€Ö���ì~¢= –4‘ Ûšh‚C&Xêó§¼¶U¨�<ºEõõÓ @ÐürßRâþB¨a¨ ’_8e=êªôˆtO̦Ó/œøîjt8)é=3…•™BO:E>y¸,6:wkèoç dÉPc«žÎ9~Ÿ{‡Æ×HbíæÂ&ÿï×ç•ÉýaÇî�áá»0w²÷ìIÞ¯Q‚þU‚Wæ;²›Qìldv# MÒƒ²Âí "Û}PybÕÈ G¤©" Pˆ¼’æ 8&¡â lÇ8*mZb‹Xðé'|@£V_ËÏ¿¸s[SâIv²:êS IDATv:· ‡��ÎLK¤'|G;~¨bä™ €êÒR½mÇ7Çä KYÊR¶º§§Sah½Ó¬,lT$ÿúdóŽ]ëý}×ûûÞ¾uë÷ZBŸ~úiII ÔõèÑ£   ²²2ƒÁpþüùéÓ§O˜0aúôé'Ož”J¥yyyS¦LùóŸÿü?ÿó?‹-ºsçŽc !‡Ëå:t(33s(»|�FSVVVZZj—ÿö·Ç�?uêÄ‚6­V›””´oß¾7¶8‡jUnnîÞ½{µZíPvùÑÑÑ™™™2h÷ˆx«T*322¢¢¢ˆ™ÎÓUUUNÞŽó²Ã>½páBxx¸í9þüþýû™Læ°Å‡xöìYtt4 ÂA…ïܹ³zõê &; úøø û)¨ªªÚµkWqq±£œ3*Àq¼£¸¿Ðû4‰p]���Ç�—”” ó]§Ólݺu(> R©ÒÒÒþùÏþío;uê”ã·GNNÎÞ½{ao(:�°ðïk�ðRUU~LtYÜ~FÊvV''ƒ�•ÆH=CO8N;~ˆóë¶Í9‡âd¶}0ß�H$ìêjëèhíìlïìlkký¿ººêýû÷­÷÷ Ùœ•}ֱȰ9S§N%ò�ÀÀÀÒÒÒçÏŸOž<ùÎ�;R©´²²²¨¨H*•æääÑ:‹/æñxDýp†%›ÍnhhøöÛo�èt:±XÌf³¹\®\.×ét‰}˜aë@½^/“ÉàsŸ1‡Ãf³e2™Á`Ðh4B¡�ÃáÀF~v5Êd2FÐòñññˆH$hÆ©S§€…B±XÌãñX,–^¯—Ëå\.—ÃáÈd2øž‚"l6[$ÁF~�€m»P =jµzݺuEEEz½^§ÓÁ �ƒA©TŠÅb�N§×ë…B!›Íæp8‰D¯×GGG§¦¦ÒétÐo÷ͨ×ëE"›Íf0©©©Àôz=l!çþ@›Ñ·Z­æóùÄL@ðxu:/Êãñ†ZšP(°‹ \¯×C&—ËÍÉÉA|@.—s8.—›••|Î+åóùpfìÂápƒÁû�ÀÎ$jµÚ�mÌÉɱ½÷ŠŠŠë×¯ïØ±#$$e¢ð€Z ÀÞ‹"‘uV¡PðùüÒÒÒM›6ýüóÏHŠ8�U�#A@©TR©ÔsçÎåW^^^RRÒÙ³góóó³³³“““Ïž=›œœ|Æv¥¥¥ååååçççå奧§'$$œ9s&%%nÓÓÓóóó333“““srrrss¡ (ÌËËKMM=}úô™3gà©ÍÍÍÍÉÉ D˜Ïž=›’’’““c—‰ZḂtvvvRRRvv6ñÑ zˆ(�˜˜˜™™ ·¹¹¹©©©PWZZ4ôC/¨ÄÄÄ´´´DÛe³³³SRRrssóóó„„„„ôôô¼¼¼ÜÜܤ¤$èQ^^^FFFZZZ~~þÙ³gžùùù¹¹¹iiigΜINNNJJBš322Pkí999©©©Ð*ô ·™™™©©©Ð°ÌÌÌÄÄD$–ŸŸŸ“““˜˜mƒvfee¥§§CÕ‰‰‰yyygÏžMMM%–ÊÏÏOLL´ÜNn322RSSaåççgddœ9s&???+++)))%%%!!!;;;++  €�”ŸŸŸžžž’’’”””���’’#0###)))999!!0ÐRRRΜ9càÅ‹2™ ~þ8Nvv6ð­V‹~Ñ—@aaáÚµkïܹóüùóiӦݸq=2 jµÚÛÛûþýûðÃÔÐÐpøðá��0ñA^.—Ÿ>}:((¨ºº:!!aÙ²e‰D(®X±‚N§C5;}û®]»†~„BáÁƒ³³³Qª�Çã±Ùìaý…ÜÝÝ322”JåÍ›7ÝÜÜ.\¸ •JE"ŸÏg0ƒA"‘ÀÏœ\.ëbË–-GŽáØ.�§R©ˆ|@­VCÕB¡LüAqKKKÛ³g•Je³Ù×®]›7oÞ¶mÛ@^©Tòù|6›- ¡Æ¬¬¬��>Ÿ¯R©À€ßP˜T*•‰Ò*• Ìà*•*666..ŽL&ƒA…ðyËÄ@üÀÊ|êÔ)•Je0.^¼¸dÉ©TzâĉcÇŽétºG�mÙ²ÅÍÍmåÊ•yyyjµúÎ�;AAA>>>¿ýöq–B"‘äææ®ZµÊÕÕuݺuåååƒ�ËåîÛ·ÏÕÕ5 ÀÃÃã»ï¾£?,,ÌÕÕ5((hÍš5Àüüü¶mÛ¸iÓ&6›}âĉU«V¹»»8p€N§Ëåò­[·BKbbbètúíÛ·!çüùóľ×××{xxP©T˜Àøê«¯€,FFFÒh4*•êíííæææááqúôi•Jìçççââb÷Íh0Èdò¦M›\\\|||6nÜ|€L&8pÀÓÓÓÃÃ#**ŠËåž?>,, >ç7nÜXµj•L&;{ölXX˜^¯¯®®Þ»w¯»»ûÊ•+ôzý‹/6mÚäáá±víÚüü|Ç9�N÷ÓO?Á{ôððøí·ß ƒH$JLLtuuõòòòõõݺu«@ P©TñññÐBooï½{÷2™Ì˜˜˜õë×oܸqóæÍ/^¼ÈÊÊZ»v­»»{XX‰DÒëõÇ�wwwwssÛ±cGeeå‹/6oÞìêêêææo0ôz}jjê·ß~+:‹¥�Ÿâ+€taa¡««ë¶mÛ\]]ýüünݺÅår·oßþý÷ßÃWmZZÚš5kN�:õ�ücÉ’%»wïnjj*++ vww_»vmFF†Ùs¬ç ‹€V«‹Åt:½±±±a,\¤!.2™ÜÔÔÔÐÐ0ÄóþìÚÚÚ œ={–D"ååå­\¹2)))$$dùòå_ýuHHÈÇI$ÒíÛ·ad._¾|Ó¦M/^¼ˆŒŒŒŠŠzòäÉþýûïÞ½{éÒ¥o¾ùfÅŠžžžÇ�üøñÖ­[ÿþ÷¿/_¾ÜËËëÉ“'ëÖ­[¾|¹‹‹Klllii鯿þºqãF»¶%$$x{{ggg_¾|ù×_­®®&‘H§OŸöòò*((¸~ýúóçÏQ‘§OŸ^¾|9..nñâÅ?ÿü3ʯ¯¯OKK[·nÝíÛ·ë WEEÅÇ ýÉ/¿üòäÉ“õõõ$éÙ³g���[·n---ݸqcxxxmmm^^ž««ëòåËW®\yñâÅúúúÿüç?ÁÁÁ¾¾¾ð…\ZZzéÒ¥µk××ÔÔxyy-·]Û¶m+**zøðá’%K®^½J"‘ÊËË÷Ø®ÒÒÒC‡yxx¬X±bÍš5¿þúk}}ýÍ›7ƒ‚‚¾þúk__ßùóç=z´®®®   <<uÍ.qãÆ oo b~^^Þ’%K çØ±c���EEE$)##ãŸÿü'ôžþòË/³gϾwï‰Dzøðá²e˲²²8püøñòòòE‹•••ð¹Ÿs>ðøÖ­¼Ð ä#ß6Ÿ>>ûöí“ËåwîÜY¶lYff¦\. 9qâêïïÿË/¿üôÓOááá Z­ÖËË+''ñ&“¹eË–Ó§O …B™Lç΂Ì�?þDtJQ( l6["‘DGGïÞ½[¯×ÿôÓOžžž ¥ººzÕªU‹ÅgΜñôôär¹UUUnnnˆ+ •Juùòe??¿ÆÆF‹µiÓ¦K—.•——öÙg���°—¹L&‹ŠŠ:zô¨@ �Édĉ ƒÁp÷î]???˜N`³ÙŽ| 33ÓÝÝ�ËåÂ:Z­6::ÚÃÃò Ù¿?ñõEEEíÚµK&“Õ×ׯX±"** ìï½{÷2 øbÍËË+//߸qã“'Ot:]ddä©S§Ôj5ð¡PxäÈ‘ˆˆà6pÄ©¿¿ÿÑ£GÅbñýû÷CCCÑÒªZ¯×“Éd …¢T*³³³¿úê+½^_RRâááñôéSƒ a<˜;wn}}=…BÙ°aÃÖ­[�ÀÂ,qúúú>}úT$EGG=zT­Vþùç÷ï߇u±X|úôé]»vÁId2šqþüy Q¨UŽ '|`Ú´iwîÜ‘ËåÙÙÙ���l6;==}ÿþýG­V/]ºô矮ªªÚ±cÇýû÷ ƒL&óôôLOOW*•eee6l(**r¬çü.ôz½V«U©TÊ1~ñx<™Læ¼#R©tþüù111/^ܳgOXX؃ÊËË%ISSS@@@ZZšX,Ž��ß±cG]]�T*­¨¨ñññ;wîüî»ïÂÃÃ+++y<ÞâŋϞ=+‰îܹ³yóæû÷ïß½{7  ¡¡A©TÞ½{wñâÅ����€N§Ãñ^{öì±ÃøØ±cnnn�¶kÍš5………J¥òÚµkkÖ¬ ôññ9yò$,š)Šââb??¿E‹íܹ“J¥"Ut:=666&&­õ)•J¹\~÷îÝÈÈH©TŠ$•JåüùósssQÎÉ“'7lØÐÐа{÷8�c»¸\.�Nçr¹ …bÆŒ;vì€ÃËÂÂÂ._¾|ïÞ½€€8…íîÝ»"‘æ ²³³•Jexxø‘#Gà˜¶µk×Þ»wï‡~ ¹ÿ¾H$:r䈯¯/„®mÚ´‰J¥>xð`Þ¼y)))r¹üæÍ›ñññ¨yÄ„D"¹páB```EE1?!!!((rŽ?E§Ó•JeMMÍ_ÿúW"&ׯ_wuumnnV*•t:=000;;ûÇ<|ø0Ø|EEE>>>7nÜ(++ä•J¥——Wff&±ÒÒÒÒ¸¸8‰„2e2YRRÒæÍ›Q�l6û¿ÿû¿=ztóæÍE‹Êåò²²²  ‚äädƒ»zõêšš¹\¾sçÎ={ö…ÂÇ{xxTWW ‚€€€””�@°~ýúÓ§Oóx¼ëׯ‡„„¼xñ"55ÕÕÕ•Ëå644¬^½ø@]]ݾ}ûˆ|@,ïܹóôéÓ0Û’››»dÉâÅÝ»w}}}Y,Ì”-^¼øéÓ§0m·bÅŠÛ·o£yýªªª���ëׯCq— .Èd²-[¶9r$''çÀ�7oÞ|ðàÁýû÷Q3à÷&ãˆU+•J…BÑÒÒBÌtL»»»ïÚµëêÕ« ~~~@9¼¼¼u:ÝÑ£Gׯ_Ïf³�å^¾|Y¯×ïØ±#11(DXX‘TVVþë_ÿzòä‰T*={öldd$›Í®­­�ŽŽv΄Bá²eË.^¼xãÆ� 6Ü¿_.—Ÿ:uÊËËK­V_¼xqëÖ­ƒA§ÓUTTÀ¢ÄñãÇ×­[g0œðƒÁpôèÑS§N9Îý9B1’XBoiiùê%g!Øo´ßYÖŽ ðî�'žâ;orÿŸ£5O°¶_ú݇ÐS°à‰¦¿�‰�$‘]޲ã‰2Ži[Û^Eõ &!�ˆo J@T8oŠßK>°àSgþBOïÝË ÛT÷m4íÈ·´ã‡š¿‹§?D;r°Ÿ |»·1fϳÝaÇý…\î /¦Ÿ‚ÿŸV(äqy¬ÔÔä­[ÃŽ;òã—9\fGGë›ñ�¿ýío�=‚ê %TUUMŸ>ýĉ¹¹¹ ,hllDàhµÚúúúK—.eeeíÙ³ÇÕÕU¯×ïÛ·/.®ÿˆh½^¿ÿ~0W­Z•��m0äry||<â/^„õ¸ððp//¯\ÛK&“½½½<˜™™YZZªV« vîÜyôèÑ‹/²ÙlÔ ƒÁpûöíõë×;á�=òññ9räȹsçêêêÀ_èøñãð)ýí·ß\\\�B­VëâârçÎXc=|øpTTƒÁ Úµk42$$dÛ¶ml6ûÀ�iiiT*¦õz=ð‰´k×.˜ŒÍ�fÒ¤IGŽÉÍÍMIIñðð@_¾¨j½^O¡P®\¹’••uúôéÿ÷ÿþŸR©}ºX,&ò�êêêÿýßÿMKKW�ÀÀ@˜."V‡Ó-|>_§Ó9·*4Íœ9sÖ­[uøðáÒÒR‰DRTT”›››žžÃd2·mÛö€)“ÉâââfÍšƨ^¯¯¨¨øôÓO³³³sssÏœ9xéÒ¥ÁDccc@@ÀáÇssskjjÀs|5ñññóæÍ+**R(IIIK–,†úúzƒñË/¿|ùå—/^¼€‚𨸸8..¾š ƒT*MMMݲe ,º¢*ôz}yyyJJŠ] Ô‚ �XRRå‡V*•.\Ø´iÓÉ“' ¹¶¸™3gB˜©§OŸ~øðaPPPss³N§»wï¸ñx{{Ÿ|ýàúúúÚEÙ‘H¤œœ°ž¡j�F“––†Ì_™Lö?ÿó?Ož<¹wï^PP…B1 yyyþþþÐ…êêêõë×?}úôСCðóg0îß¿¿hÑ"¹\~âĉèèh�ÌÈÈàóùŸ}öüL'''¯X±âÑ£Gþþþ°Ã‡R©LJJ*~@$íØ±ãÌ™3 ðܹs‹-BÃ~ýüü€ÕƒÁÀçó]\\nÞ¼‰ÞNUUUppð¯¿þ ÅÝÜÜ t:Œ·ÂÂBðéJLLŒ��?xð Ú€~/bÕà„<’õww÷¨¨¨ýû÷_½zU¡PÄÆÆž°lÙ²'N ·È'Ož(•Êo¿ý>Õ0Ä�ó�3f$$$€†¬¬,âqSSÓAÛ•••±xñb½^säÈhØ·ß~{ìØ1±X¼zõêsçÎ�ÿúÑ£Gøå—_€DDDøùùA-999EEEjµºªªª   66vÇŽÏž=‰D÷îÝKKK Ý»w/ê;¬~®^½~³9ÎâÅ‹�0\¾|y÷îÝ4M«Õ>xð +++***::šN§GGG;çÅÅÅÀ`vŠÁ`„„„„‡‡ƒ#iNNέ[·4MAAAdddrrò¶mÛ€�8çèudgg£)yÔ‡ñ™™™ ùË_$ɹsç6mÚ2;vì>€¶/ÈÊÊŠŒŒ>pìØ1À955œ¾À?õÊ•+Z­–F£}ÿý÷‡Þ²eËíÛ·•JåãÇ�³²²bbb‚‚‚Àñ)33óÀ�vÑ)¨…�p–/_Žø@HHÈãÇ�U*ÕÎ�;a]kß¾}ƒ�ȪªªfΜ ξyyyÈT²«ß~„ÀïŸóŽk4š%K–\¹rE©T‚}sýúõmÛ¶¥¥¥edd[vä‡úúë¯CCCoÞ¼©V«ËËË¿øâ ðSÏËË;þ|mm-XÉðÝ¢ÓéÊÊÊrrr"""bbb?¿ÐÎäääÀÀ@(R[[ûÙgŸgu:Ý¢E‹~þùgb§¤R©��ÏÏ?ÿ¬Õju:]RRÒ†  ¦“(6TšÈ`)5**ŠÇã0 B¡ð·ß~µçÎ�“Ëå3gÎãO ÄÅÅù@II‰��Ojjjzzúš5kâããµZ­B¡pss+** KIIÑét'Nœðòò‚À€¼¼¼œœ‡S?ƒ!888++ YœŽ�¿w¯ï¥K—À•(põêÕU«VANFFÆ®]»ÀéåöíÛÿøÇ?ˆLìÙ³g‹/´Y,Ö7ß|óË/¿ UÙÙÙGŽ‹ÅË—/çñx(Ó(_ýõ°?8ò�[·nMœ8‘ÅbÝ»woÓ¦M0+78tèxòܾ}ñ�¨¨(p»MIIA|àÔ©SèG–Á`øûûgeõï]®R©RSS‡âàž~ðàA`qqq¾¾¾¨ïð˸jÕ*ðŠár¹hª®®ÎÍÍíÉ“'H¸¡¡!,,ìÂ… 0m7wî\X¿�gÏž;vìÅ‹>>>UUU°�233÷ïßïø{ÑÒÒ–+ªbЄ»»;,"¡q›šš ^£`£C ÄHø@bbâ¼yóÉÜÜÜŸþÙnêµÁŽTWWÏ™3§¸¸8%%eÕªUu“———™™Iäd2922òèÑ£YYYÇ�Ÿ6mšJ¥ºyófdd$L¨]»v�è/4Zëc3æ IDATê §¡ÃªËWÿ^5cBÿá3'º9qÕìþà�ofOZ3ÇvÙÜÉÞs_®  óÈ|!Šìfd—e^#;y°ï‰O‘!Nä v¾ÃÉP=%±Ó‰-~à ¨Í(�„!ñr}à«¿{E†B¯Ü.!~LNú1tCmônò�økŒ oŒÞÕ¹½|ghº¿ïƒk×4ClìÕ2«‘ñùL�ñ°ønEÅS&£I"æÉd"ƒA[[[cWÝHn·mÛ¶qãFð>>gΜÑëõ¥¥¥nnn™™™2™,$$¨¶F£¡R©ð½ðÓO?mÞ¼yÖ¬YàžŽøÀPþB¹¹¹r¹\*•VWW£ÀPƒÁðäÉ“ÐÐÐââbµZ·hÑ"ðòõõ‰DÍÍÍÞÞÞ±±±à— V«›šš¼¼¼ìø€F£ùþûïH$’Z­¦R© £¹¹¹¶¶ö> ¼råJ}}=›ÍÖjµ)))_}õ^©TºvíZøùäñxžžž�=’Éd„æšš:�®Ñh®_¿îççWUUþB555‰dÆ 111jµº¬¬¬¼¼\¯×GEEÅÅÅét:‹åéé¥T*ãã㣣£›››Á°kàéÓ§aaa_}õÚ­ø¬¡GDD0 ¹\ÞÔÔ¤×ëׯ_ …‚D"9úè×ÖÖnß¾½°°P§Ó}ÿý÷ùË_d2YII‰··wCCƒD"Ù¾}{pp°@ xðàÁ’%K txçÎ�aaaD>þB~~~%%%jµšÃá�H$…BQRR¢R©BCC³³³aÂR§Ó=yòäÿø‡@ �J¥GŽ�ͤRi`` ò°Àu:¼î   äˈÞEaaá´iÓîÞ½«P(rrrÀ_È`0üøã�_|ñÐæººº�;wÂòˆT*…ï_…B¡T*)ÊPßਜøx`2™ŽÆ¢]÷5ÍÒ¥K‰«mñññQQQr¹\(úùùEDD¨TªcÇŽíÚµ‹L&«Õêêêj™LvìØ±\ºt)44´¨¨H ,]º4''Ga»šššx<ÞóçÏ×­[K¯4­±±Q¥R]½z5$$¤´´”ÅbýôÓOvíyðà�——×�;w Å‘#GÜÜܤRiCC…B………3gάªªÒh4Ož¿°°pñâÅ÷îÝÓjµà¥ðøñc…B¡V«‘G‡]-ÄÛ œ;wN¥RQ©ÔŒŒ ww÷+W®h4àjµº¦¦†ÏçK$’½{÷‚‘:sæÌàà`¡PøôéÓ   Ÿ~ú ­¤¦¦zyy©T* …âãã|À`0¤¤¤¬Y³fîܹMMMƒáçŸÞ¼yóÇ5�@ xþü98šGDDH¥R‰´páÂôôt�N×ÐÐ`çj0îÝ»÷õ×__¸pA,ÃÞÄ577£=3Š‹‹}}}ûí7>Ÿ°}ûvƒÁ@£ÑîÝ»'‘HÄbñªU«adåÊ•À CMMÍöíÛi4šT*ýú믹\nzzzrr2¬¢õÕW|>ŸX©cø@hh(ŸÏçñx·nÝZ¾|ù®]»` eÓ¦M0õ^YY¹`Á‚’’¹\žššÈãñ:äêê ~kAAA‘‘‘°>àââòìÙ3‹µfÍšôôtØ4))I*•Êåòºº:‰D’ššêíí­R©˜L&DƒÀ×øµk׈?ÁÛ��Éd"-„¾H¥Òo¾ù|„¤RiTTTxx8‹ÅÊÈÈ „Ÿ°óçϳX,X&Ú½{wssóåË—-ZëHƒA ¤§§_¸pA©TúøøTVV2 Xˆ€ß‹ÔÔT"CƒªE"‘@ Éú€Ý‚0‘Øù ýðÃÎý…***¦OŸ^RR¢Ñhø|>™L†]7qƒxb�& KJJüm—D"¹qãÆ¦M›ŠŠŠ`'•²²2¢¿PQQQ```uuµ^¯OJJš6mšR©,))Ù¹sçãÇ�ÕjuxxøÂ… Qü€Á`8sæÌ¡C‡†iŽc�˜£Õj•Je[[¼ý–––Eÿ^5ÝvøÀ̉6>ÐOl‡‘yÛV¼çÙøÀü�ÃÈ/7öAÆ7˜Ô¯ÛÜý~;H,l´Pùè–XYùhMâ�*d¾#IÄ%ˆ9DãéGJˆOQqÔ*¨úOK¿Xò¹ÿWÿÿí]éw•ÕÕç?h¿uU™‡{327¹sr“2Ï ™" ¯­®Zj,ƒ¢V*´µ]ÖµÞÚ~ðC»Zj«µú.‹¨]ÚZ4d‚B€uøþ®½çìçÜçÞ\‚(Òš¬½žµŸ}~{8çÞ${?gxZwŽÒ¶È˜?W®\9õÆOïÜñóÑ�?ï˜8µs+ÑŽ‰¿nû¿‰Íßïí|ö‘=S‘ QL;333Ïþýï>}úí™é÷ÞyçÔÛoÿåäÉ×ßúÛŸ—.ÎÿéÍOR¼õÖ[###>ŸÏívoÞ¼ù¥—^ZZZzýõ×ûúú<Ommm8>räÈÙ³g�=êt: +**°›Íö ;yòdGGGÿ–-[d&ô�7Þ¸óÎ;ƒÁ vy¾öÚkW¯^}÷Ýw[ZZ6n܈çÙR`?ñèè¨Ïç ÇŽ»xñâ/ùËÁÁA¿ßßÐÐðÀ˜)ìéÓ§|ðÁöööñññ»îº«¦¦ ï¿ÿþ®®®mÛ¶544ìÞ½û‰ÇÇÇ»ººî¾ûns?1æ°´qïÞ½MMM~¿¿££ãW¿úÕþð‡p8ìñxêëëxà�·ß~ûСCÁ`›®¢ÿïß¿ÿá‡Ư͑#Gššš†‡‡»»»ÇÆÆÞyç�çž{®¡¡Áãñ„ÃáC‡�?þÞ{ïíëëëèèðz½ýýýï¼óÎÜÜÜ®]»vïÞ}éÒ¥¿ýío£££øC<88(û‰xàì%êêêÂq™ÓÓÓ;vìÈËË;qâþs£ÀÄâÎ�;�€ßïì±Ç°|ll,È?;vì°íÇY �?þx[[ÛØØØÃ?üå/ùüùó³³³ìèèëêêÃ~âoûÛííí[·nÅJ ³ÀÁ§Ÿ~º¥¥;Ÿ~ô£ÍÍ͵··{<ž@ €]†Ï>ûlss3†ôÀ�—.]:yòä׿þutíÔ©SN§ÓüÄñ_< %&&ÞqÇååå˜ö‘_ì'ž˜˜ðz½2=55åv»ý~?æµgfföíÛW[[;<<|êÔ©W_}uhh;ÅwîÜùæ'úU’V™ÿ¦XZZºîSÆèzà•W^éììÄV«{î¹çêÕ«ÿûßï»ï¾úúzŸÏw÷Ýw£ؽ{÷üüü~ðƒîîîßÿþ÷¿ýíoûúú�@}}=v ž={vûöí>Ÿ¯©©éĉ���^¯·¡¡á‰'ž˜™™9qâDmm­<ÚÄÈ/,,<ýôÓ¡PÈív·´´üîw¿›››{ê©§¼^oMMM0<|øð"ÿòÈ#SSSR¼õÖ[¡P¨¯¯oçÎ�ápXê�Ó§O'''÷õõ¡¿333G�moo÷z½ápø‰'ž¸råÊ_ÿú×;vôööÞ}÷Ý.— ó?üá;;;m_ËM›6}éK_ÊËËÛ°aƒßïÿéOj.\¸°mÛ¶çž{�«±Ìåruvvb*àÅ_Á²Æ'N477×ÔÔ„B¡^xá]¼xñ¾ûîûùÏ~éÒ¥‹/îÙ³§½½}ûöíø'xìØ±{L¿6õÀÚµk‹‹‹kjjÂáðž={°6 ó¨.^¼øÌ3Ï`kuoo/ÎóÙµkWOOOgg§Çãéîî~ûí·ÏŸ?àÀ�`0Øßßïõz·lÙòþûï_¾|ù•W^Æ·îk_ûÚ?ÿùÏ©©©­[·vttlß¾]ö¿òÊ+ ¶'ñ“““=ô�Çãq¹\;vì0g¢Ð—}ûöá°,þéééq¹\���?ûÙÏPiçåå½ôÒKX?66ær¹ü~¿¬àÂQúßøÆ7ÐÓ矾···­­ 3 øaÎ$ÈâS¸ÉzàôéÓH?öîÝ‹GEqÖ ---=ûì³­­­>Ÿ/>|xvvöå—_ƒ¶d‡r:�ÕÕÕ¡PèþûïG•;77wüøñÎÎN¯×ÛÔÔtàÀ³˜œœÜ¹sgggçÄÄÄC=„z`vvG ���WUU™õÀo~ó›®®.�ÇsôèQœOÀ\3~®^½ZMóÁ¢yù@‡ •$¶”&µñü@ïPû8cÆ©£ôb[Æ�´Û|œoæßfö]ó|¡È]Õ8)ŠÑ¦Ìì_ŒÃ»-0Y8$­âNj¨àä"×Ô­  í —.ýåõÿÛ{çÖÃ]í/÷½>1ôûñÁÿèÚßÑòÌÃ�~ç�8cff¦/ÌMOŸž��œ™yròSSïÎξ?77¹tñì'Kb®\¹röìÙIþ™››ÃŸ§¥¥¥ÙÙY¾9==�ŠPŽ¡|ï½÷Μ9} ŽÈœššš���››ÃncÓþìì,ŠxAâ7«b°VÇ’ ¸À ¤�à¤Nù*c©ÏÔÔÔôôôÙ³gqì€ggg±/CzîÜ9Ä6;;‹�=³³³òäGjâß!NõB}ÿþûïcC!Ìž9sfrrRâ”H° ²¾¾5Î ›žžž��={öìåË—Μ9ƒSP12çÎ�CÌ“““sssWøçÿ`6ynnnjjjffæìÙ³Øæ|qéÔÔ”œ¼´°°€Æ—/_>wîbÆðš‡|Üf/°Ôgšæççß{ï=¶°°0===33#=bHáŽÐ… .LOOcÄp"->ÊsçÎɰLNNb—ÒÒÒÒO~ò“o}ë[øèŸ}öÙo~ó›¶ßˆ .à8TœR*îЋ .àë799)ǽ!˜ææf)ð•;s挜7:77‡À–Û(­Þ®Ž€Œ¾ØòÇäêÕ«—.]š™™Á¯ÌYþÁ—p~~¿�ø•Ÿç¬Ê˜™™Y\\Ä ¼¶¯â¹sçð;²¸¸855%F®\¹‰D"Œ gggqÞ±œ§Œ¿oˆçüùóòwéÂ… 8.¿Y¸âDÌ.ÇÈAÌ“““³³³ò·èܹs8¤n~~�’ßÊ¢¢¢—_~ù ÿàOâÅ‹ñÛ‡Ó™§¦¦æææäÏ5ÎÉÉÁ¬2"Y\\œžžÆ_iüÑÀ_!ü©Ÿžž†å……[6†§ÎÒSlq6{‡s†‡‡aÒqt²¸Æ9Ôòq¿ÿþûæpá�­<·ÆIÇèàüü|__¦‚M§1ù……Ä ûòx~qqQÎqÆ‚üÿ’¨víÚµÿ~làÆ÷íüùó�>ú(«MNNÊW ý­“ÿæø‡rñâÅééiü×–Påo)N˹0gΜ øï,_os &''ñ…¹té²óß~;Î�;‡ˆ€¥¥¥çŸ^þ_ˆÇbfffð‹æIàÿ^Íaxj&_¶¹¹¹ÅÅÅ¥¥%ùÇ�Ù*üÂâˆRn79z¿Î0ˆð­†üƒÃ‰¢ø@&ƒÜæÌ™3òÚ–-..bq5æ–ût¤×Ë1¯¾úêG}4??ÿÖ[o}ðÁÿøÇ?æææxÿ@£¼‰L6Jû‰¥ˆÜ?`M HB¯®«÷ûê[U*àÑ>®Ò„²Á|f½€G&äíÈøQBȉ¢€‰AÉòÁH !… $ÔÅ"”òcM]VomfwuF[œõB2â óóÿ{ìØ·&¶loi¾§½í;;wþæÅ/òœ‚‰f¦§§Þ|óõ7O¾vòäk'ÿøêßøýÿøêÉ“ ᛯÿå/ŽVY•¬Ž@œ¸råÊÒÒÒEãçºÏ«âX»m›._¾ŒÕM2}Û†ºØí6§N�ZÉ)%·[Ø·mfáòx^qIè%e·%ë¸E+Ô%M—¬]Þ3 0Iñå‘¿8‚A$÷R6˜Ç’šFÌ DTl%ÊwV_]VOuFûÿ,¿^èsüPW]¯Ž@ô¼öÚk]]]uúÇçóamk4ò?ZrìØ1¯×ûýï_[þGwg5ø[9|ðþÞJ§__ 74§�7$üâ¿ø" ΧÒǃ?~Ü|ø½°°€WÚ}*öos#+|ÿÀmÞ‹Ï+<Ù8táÂ…k×®á]Ñx?,&:¨H¨ß ÞLÌû‰õËøed­eI­eIme¨ ø}d¶´[rhÉï‘‹ãÖ o6™�äM9ò~³ä0Õmå‡Ô¦\–IÁ`ÖhµÕ6;kÜYýuY½«õÀçõõ]õ»:«#°:«#°:«#°:«#p“#ðî»ï...^»víOúÓG}´°°ðî»ï~ðÁï½÷Þùóçy~ ̯%¦7Û*IlÅû‰K¹ÀËäp!Yüƒ4ÝLÄÍ´^óïÐBûê#© ¢'Ìä^ZÍü^ž÷£Õ†Á €4‰#D"%�­T¸³új2:þgô 1w“ß¶UõÕX�ÕX�ÕX�ÕX�Ûmþýïøá‡×®]ûðÃq Â‡~øoþ�¼&/¼1¡Dõ€19Pœˆ#†ÔäÞ< y¶0H©%“–œ;š±•r+Ë„$M�¶&MÂHâH"‘&‘Øq F&*ôÁ¦°°Æ“5àÎê¯Éìjs�Ùÿƒ#û¿:¼ÿøá}Çï;ö¤¢gžÜ'ô½'÷}ïÐÞ•ÐѸ°£‡ö Ì÷Xrô –ãʰ¬=±‘(•빓˜EÑ”ÄšŠŠ0¢(Œ4©!0î‘ C·FO ¯{g±ø#Žyôø�§¯èþãG æÈ�ãGHxìI¦Ã¨„¹�‡ëð�ãOì=úøwž~üÐwßó]Í‹�™ï}rß3‡S´ÿ�®˜Ç•äF#mr²óäþgí».[sìÐ>Œ(äãß9jtAº#ÌÓÔÇ=O=þÈwÿÎÑ'÷?cu}±ú¨>è€ôÝ8f¯UŒèî«QZƲ Á˜bàUÓ“ñ†Îá˜Bi�ϬD7ú“‚V´<¾¯èV›Û­àµ|ï÷Œ¯tä×X}ÏŸ~B3ÆW%6òVn}T1=Æ~ãíèàž§îþÔéÈÁÝGb™…mуçúf‚.¼¬‚D®²†©?ªø]³*wJr}s«CtU`F.³ÆëôÐ’¡žªô¶Êô–Š´MiÍiÍåiá²Ô¦²”Ʋ”ÆÒ”PiJCIJ=S°$%P’,N DP²¿Ø �É~�m·�oLöiƦNrieÞؘìÛ¨=²qeJ<ÆaDQ0¦/"†è¾˜€â71CÆ7èqÐBßrñ'*2š*³š¿Ð”Ù\‘*W|sE†È›*2š�©a™áJ“>¿¬ÊÚT•µ)âãËl.M %úòÜDëꈈ÷­c!3…‰¾ÒÔPyFØFÜYt™®Ü*ŒÖMaaÊ3Âe© ÅÉõÅ) šBšICqŠM‚¤„äŠL¾8¥�»Ãñ£Sªkº/è×ÚÚ‚ÏÆä`yz£’­w¸� h*§^ÛFÝDBzSy: N\SÃ%KŠi•¦†J˜d¬lÝ/¦?˜j”c ”1sxí|IJ#«C.v„Á'¢>”(G­Ú�`÷%]¸cZÞöÅס�Éõ…‰¾Âo‘Gˆ%¸õ‚/L Æ”kp„bA‚Gð¦MCÑò²œ-�F*Id$,® ß~ã6û|kvãcJVê”CZV1Ê‘'o]];j ªÖ|uÎ& ƨ¹ ¨WçÜQÅx±V“cÀ4(Z&^x‰D`°8…DTDnJ–ãM]“·á£›˜-<›Ö ÝÆ1%Mà &ûŽ*çW«²¿J×%ÑæF-|2|öUðˆÈ…kÙwTà ÆÐ•{G-ÑںܵPþZoÁ:Õë›6®§“FKød¡b^)$' qIÐQ–DÅ_ÕI£ò”Yµ¤Ñ¶„^ä‚7´š©¿™ßK/~M¼©%e€-ÁËâ"Ó»ÉKm £ )wVÞEàÊìvev¹2;k2Ú«‰Úª3ÚªÒ[«Ò[Ì‚5CyZx…T–.[1x…6ÿã`1Gà†F¦*£¥ÖÙU—Ýý%gw­³«ÖÑértÔ:º"©›o;k�µð¦r}uvÖ*êªsÞÒÁtgw»£?>'�ñU’Ú�XO´>¨®`´¤$¹±:³�»¯;B�íteuXäÐ< ·2€)_•ÑVžÖZaQ›Á›ò|eº n«H³nKSÃTwÐ)Ý nLl(K ×d¶Ql:ZD}€ÙéŽËA`ÇBBÈW%ýåQ#ãÊR£dÊ®Îl×ÔQ�ÑQ•ÞF”Ñ^•Þ^IOOa¸*©ïV÷+ÒZYbm6d¥5ò¸2 0KçC±d¤=˜8êÑM•éËùµ™µÝšZ4¥ÉáâĆ�šŠ@6IIbh9€Èm ì˜6£ÝEcLïfkLã(áà7ê«iÄTŒ)7…°ƒ8å*L¤)^D"·`¢Õ!1‰¢Éýª/Lð¬óÞZò(wk=k=ë|L·8†[ãN÷ôV�0÷n­'Ÿ3ãܵn“òTÆìÎ]ë�\$Ì ŸV*�p’í΋´iÓ£u-_Ú¬òbâÅoƒT^Å&8¿W‰>:•ǽÓß[_Á:!Q P¿}¬(!T”@Ûxç^;`½‰¬„_>P–„—P€z@ÒkÉ¿%¥6§l¹µ¹Šr5 �—zÀ4¢g ¬© ‘HHÂH!Œ˜w"‰Æ@R–Ü©ê�cÀÃ%?šÕSK%A·+³Ó•ÑáÊèà€ª£6h­äò 2}SKeú&ž[ؤå$1HÝV¤ÅXÌ”‹GË&\³qÕ*S¨c³Y :Çu¹ŽH9$ Riã°&å¶¥2­^"Ud””)Á0Cv_‘¶É•ÕáÉéõ~á¨Ï—ÛçÍésg÷Ö9z˜ºÝŽ"g¯"‡4õ¸J¨ÁPé©stk0Ij™êœ=µN®œ]îìžÏkl=9½®¬ÎÒä¦�‰!Eë‘Ká¶acb¨4¥Ù•‰j§»ÎAÄ‘wsýc¿ÿZëè®Îè¬Jï™|UzGuzguºÕ*0ƒY¶µ"­�z±¾~cb½Õ#éZb¨8©±"­Í•¥Ã¦�@wŠÊ9ëVº` ûÒj2Ö€8í6a$渹²ð¤³&³«&³‹k€ŽêŒÎšŒ®šŒ.ŒF Ý*"I“@cdÔ�ÞŒWð)| ¾$ÎjúƒßYmôÈ䶦"µ­4©©4©qe´2d2`M+¶lš½ž–2¾Â€£`ÉM¥7iÁ>VfÀ1�Ëh˜Á˜Z+‘C¦ŠŠ(…BR%W›\nœ{ LR1ÈåjÃË­/Rr±f—&¨È­ މ7CŠÖua€‰ySÑ`iŠŽé©-qdZ°wHsq516€½©`�/ŸÊ-/RçüµÞ|Ρó×y-ž„$/ !ÕšèV?e'FË=ùlPžÁG40É×YÑËN•ѵl*Ezœ�H–1«ª8ŠY•‘T p€÷óiBV%€É�âÄæµL¨¥„· ”šÇ ©WS.n.µ7óo)Ìôä÷f®/¼háTP/< ¢~�RÁôb˜·“Ì*B�bVæP-¬ñ:†|Î!¯cÐË%A]V/“”j®@ ƒšŒvPUºÌ´ò=<“šAžXh«Lo­LW°Jšjh°ÈE" šÄÁGËÙ2ÅwâÔ†Äs>=éa�Ñ Xn%*^XE}‰\$וâ•>JTCäUUz[MF»'»×Ÿ;p;P oè‡áÍé÷8û@^g¿×9àuˆÄã¤V–÷{/­JÂÒ€u­&˜r;{)›töx²û|·|¨ÝŽžÒ䦒$¦ÄPIRcIbSIb#$©­uމ“j›ì^chpÜÎÞ:gO�SÁH‰‘&È]YÝÈwUÖ›qk6Ùøj)¼dÏ•isb¨d}Hu'©‰øÄFt§*½ÃìHt/ÜN{×^w'º§6#æ8l³Yçìqer®ŸÑ]ÍDy¿æMf9y4Æ6J×½•¡³!m–£[m’8·bj9Œ– &Žbt“©Nï*Ki)Mß•%7ß>\¦= ŒíÖT¼y§¥ÉáøFâ·šÁÄäcª/×£•k�Mʼn!~uk½u](Z$¢WºÖ3°Z!Tr�QBC‹¦V�nŦXNˆ”[®!%h–ºn"‰&Ïý’5IDATá·¹¡%ÑZkƒˆÐòˆž­¢ ›–}ÝMS®ìñ¨>²ÄOËldürô¢žº/ƒ&F$8•!" ƒÃ¹5åÊœ:鳟¯>�OãÖ¯gilrdÛh…¡)mÓ;tkJŒ[å. ×­–_›Í鬡"1ûy6 ˆ9�Âuõëè=Ä8]o�3…ð²’ÄÖÒ$µ�˜–ìë“…�Wêz@ì7K¼—@RjJ²y‰&d>¦ hòŠÉjI ó¡¾¼O@’x‘­ ’å‹Gs.B q-GI© îÖøœ›}ÎÍ\ ò^‚wV¿”Àš(¨áåC2]€Ú@®\ÐB|â¥GX€Dו€¼©k&@ìCh‚‡‰‰7…›Œ- ¬°Òë¬T£1FÌ&Š#é‘+«Û—;Èú’?wÐçôgùœƒ^ç€/›xöª_ö /{Ðëôe1CI?¢"H¿0žm’.ê„ö!w;û(Ïðç òý¹DŸéø{}å)-%Ia+�ŸÜ\™ÖÎeÕ0Ø“­‰ß“ÝO˜ì>‘“­z‡V®£æuÔÒqÃ*Ždz"o#05=ÕDˆÛô®RªjÂTÏPüÜ�õTØ”&7W§wÁ»I�e÷‰Pz!]u�“Ý/= Š1{ÊZ*ûÝŽ>·£Ïãè¯ÍìCä5=®ŒÞ&WFoâÎvÛ5=° òˆîg(û^®û�¨"Z6ÐÎU]H�Ò‰„á[š¬Ðé¸jÕSF ¯µÈ¦6yQ”Ù Ûôœ*GflS–ú lñK.´Sê÷ˆñl@°p]}a‚"] „¸Àé¢Mżm 8‘¶—µ–ÒÛp¥7‘•uH.i·™OƒG=€9#�ï0SpIúåñ¿YQH/¹,42Ÿô#³k ë²�j¾Á´,³RÞHð»Æïñ9‡¹*À,Á NBI –eõðò!ZD„™tÞ`@Sêú¶“ª…LšgÇÕ*! 90Ñ×h-›º©b:­ÉPN•}»,^6fØZ·C"§V^;¦G±lZ¡X †,�McbL´#ñÂ=¥*�7ÌÿÂQ w3'÷›ý9ÃþœÍþìÍt%†Jë6gXñÙÜŒ‚ *|%À0ðÊK ·\ž«*E9Cþ\¢@îP os08�Gôé|4yÃG%­µhæ|:\BLsirKMF—î2‚¡*ˆŠ"®pP ãe$ÞìA¯®¦|ÙƒnG?g´}®ŒªÍì¯�”amf_mf¿+£/IMzwâOÞTJj.I —%orevû¨rS�؈¨L!FÌfÑ)ØQW'�^ç Ç9àvô»ýç Û1ˆ¾Ð5sWŠœøø¤ñÜS L#Ã6ÐFh¸¨ÀÐBŒÁ‘Af ¬k�Í¡•ë2ÑŸÅuU ?Vê)>Ö›±ÆÃÛ_›Ñ_�Þ]‘ÒVžÒRžÒÊÔÅC}me¤‰7%Ñxi¶¶V�ëId0- @x6¤²Y‘#h5;bënM_ÊBdÑZ$ÑaD«Ç‘DËB 2 ÕYŸÒäæâõ�BŸñsÙ†� 0¸A3|kÉõ­Í/ÐUt`fS´–Hf2!‰Ç` bó"vb2°ikŠ)´a¢oUx<>¦%×½ŽVŒ) Ý)Z×€§æVê,ÏÑ9�¦‚�²jµÌf]=åÖ¼ø^3 PÈs"Ô*V«ñ�.p%ƒE b3¢ F�Ó30+0Ħ››q¥¹¼eŒ–%4p1 v ¨W $6S1 Ý„eB8c”K‚v<Ý/Kê(åÍœèÓc{I©% c^%Y— [´¤$Œ<à7-@Q�PJŽèžR¨@‚Ä‹é%�,ˆ’ê�È’€ªOÖˆ«‚>¬ ªËêÑK‰¨<¨Í¤5EØiP£ö`ך¬BÀRT­¨›¬KјÚLep$–;¦ít»(NÁ[1À¨Õô|�¾ÑŠ=.mÖðE#�+�™¦t”–MÖ^mVO ws}þXCÁ­¡ñ[å(^wêóGƒ¹Ã�œ¡`Îh0wLn#™Ñ@ÎH�ˆ“‚¹c¦�Œ0& ƒŠnµ1 rFT-‘3È¥*%�³9˜;Ì æÕç�~â«>Ôë¨Jm/KÚT–HOFË(§i«ÍìñçÐhX®¯ $n5›3ã�á‚Jª�œÍç`mæ@]<äV\ã#Ñ:X—9X›1P‘ÒFñ'µ”¥´%·–'s²‡$~®ë¤Óå™*äªvÀ [Uq\ ù³‡yÑã�Ç1èv xƒuYC]æ€;kT— fÈ�9¨(kÈ“2£š4ZÚ,YÖb4N]\xÄR5Œn28­H¼Š?Rhü•"6Ř·vkn@ÀJâ±™%WfUjGEJ›I•©m•©JR™ÚŠ´ rQa&F«¨Û«RÛ«R;*SÛM€X«H¡HÌ[í.^#­&V§`˜¨#ZÝì Õw!ÔaDXS¹H¤�â·’ºI$1ØÆD[«ÒaÓˆõ� âõ�6Òò&^qAׯð5¦�NyßÀg½³©¦bm\›"_Úš¸#³°ŒÄ‹M.á‰AJl¦Á #xÓ2¬¡ #B`D%Ò²5,ÇhH×Ô­aA �DbZ3ƒ¹øEx’}Ä$f6 Ö6ðnÚÂu …œ+㊼Y®h-\§’é¢Ç$¨Äl‚°€™ÞË«¬‰e�µ‡È5H{,à0TH6¹;':¢_1FSØ1,oࣄxZ€ö Ðb=9@Ë„ÑfbªÊhç€Zöƒ7‘I n&Ó2W ©öJ3;—t‰»$ôREÀ œŠqÓBÌŒ_* ‰VtMU®âº"¹s�ß9j”Ã^Ç­Ò› ¨6ÀDúJ'a§˜ZÞuPK{‘‰ê²ú˜p $IÓŠ´QÁTd9jìa€JíofÒ;î¢0S®9TFMº �ðâ(Ëv ˜h)pd$¦éûr.T×–�Txæ`úœƒ ã�…[n 5݈£ßPüÁ¼±úܱúÜq&Å4¨Ûñ 7á¼ ©o¡NøH,�‹†\á#|Õ³Š6ÝȦQŽs, Ë RÉ«Ï'jÈl *ZÉ„ ¶ø³‡ªR;+’ZË“[ËSÚ+RÚÝYÁ\*‡4�ª[rJÄr¾o"ÇøUÉ9£~ª%F¼Î!Θ—I޳†´Á’�:0ú ƒ. ä¬{|ɾöK6mZbÖT‡ â,Ҁء€Oåª)¬Y•¯¢· ðÛˆi¥P oàŒYÞ9@Ë~�C#·63lÉ¡c>ò—œ^Tbæß˜€)™0=šQ¤ C—òrÞü Ã€A˦è ï¢æ˜ÉQ„:÷N‡G*ª;Ìè®ñ°p�ªGÖ()+éE^ zTqénb¨�ñä.rFš ·~‘h"”¿¥>w¼!w<”7Ê›h Ú²·Ü”;n65¨Û­¡<!‰”52¢$ÌÀ&$ì+ÀÖ4>”²Y8µ$y<—Tl°Gª4ò¶4L€š 'â| �[ý9£5é=•)í•)U)�^ÇftWT;à‘=KýƒI®RA‰º }Ù#:µ5âeyoÖ°—2oÅ0âÊè¯Lé¨Ln«Li¯Nëòd y Ä5>ܨ�¤Ú挲GýÙ£>ç¨?{Ì—=мŸñd�x£^&�c·tÍ�Ð뤖(¼xCELqӰݸáˆl:F�gÝaRqŒB®�èÅ6PŸÚí2„;ú\d¢>8^n#>Еù²tMwu™ƒÕi]«t;�=wHiç³Ø7WœÎnJL­È_mòøBi•Üצ¾‰Ë³\0ËÉÅf€D"àë21­a%zL]iŠV4½G·F[3‡<ªAÆ4B‹d6$4™ys1�¾¯I§ãE*‡–ìœêÙƒ+E‚ÎÝ1ùÓ9„rÝ�À9,¯·c¬Ä�tK¯£é#yºo¹cuûãà7$4 Iw8ûo\OT¼¾™H½a/£«5-À›xf ½Ü˜¨à×H�ôɽ™^‹DÖåÛq±`2bÁVˆ\Œ˜õ@L¡éWÀ–Iq"õ@ÉšºÌ�€sLJÌð "³* 3ˆ@^Ç Î#ò8ô‚L&Ð!EL"‰¾åƒŒ8iæ�hòAÛ°Jš ¹š¬ˆ²o9âN”‚ã $6 ƒ°og³rkÆŒ`ÔZ)Ý[xʦ¶¯CY¢¶E¥Ì­˜Ä†0DQ…ô9‡Bùá¢m_*¼³±`‚Óô‰Æ¼‰Æü­�ùw6æo#&�%J¸MËïdÌV @xÑ"X(�oY�“~çßB *³Ô„ZîXw L‘$o"D^Ø‘’‘¬Ž&ån+¼pÑB ’Pþ–¦‚; ¶6L4l�ñán«Ï¯Mï­JíªJëög�Jé‚Áá2i _UE:l£dÒ•�4ÁT gL§°V®ü©Hj3ªR:«’;«Ó»½Ž¡z®ëhШ®£h©4⡨ÏÝÌÒ´Ï®ÆüNE^Ǩ�hL“¤– ‰ä‘HS.ê º­¥å`¸ó;Ç#ý Ff¶~*Ãx3F|ºŒ¹#7©ësPM™ wW§uÕ¤uפÃ$ŒY9ˆ°»ÚBÆÄ RZ¯+éb›€YW‰ÊˆMB²Ù¹�a]‰9¦VL¡ÝŽ18Ñøh z$F® dWUjW9íªlaj¥í•‰à-IÈØª1f« ckb•D^7Höµ…‰áÑ’38âÖPW¦´51ƒ±…‡^ˆ"l²0†/鲉7TÈ�I-£xŠîj*Dž�‰ø]MD:)�-lÊߦ¨`;Æ+-²@E…�جòИ¿ ÞùºÝƒ£b§„ŒíGE«c VøBqË|Á¶¦ü­Täo Þ.â�»è®†Ü‰ºÌ�êôÞ`î8ëÊàè 5 *ë Ë(ŠŒzIPm æŒs&�¼V2oäÖ¶«`Tæíwnáô×S·´d(…rŸs$Dõ’v(oK0w<˜³¥>g¢>g"�½ÅïÜâwŽû�[L| ɸÏI¤åœŽ3R0Öõ9Æü ƒ<�=A¤Ì*˦ 7mñN6äÊ)$@l›dœíŒ#Aµ�m`m#)Èr*9F½Î1.T¤ å*BLÝ"°8Ÿ\ ã�t'.À˜öÇèQÕW„œ‹%»ÄïwgÖ¤÷¬ŒzcÂ\é½®ôØM1ñ×’©˜6]é½µé}×S_a_>ìw3Bñ†† õ¯îkÕ×6Í@ÒVž2"¦5 fÃ˭ͬÍ8ì˜`qa"M^\ ÒT·µJ“€mý5 cjE(–&¶#` ÏŒALÅg"ŒG}"еap«\—%µ”pI€}´Äã©9=8—%46¡Îª-€šyÐ‹ï©ÆÀ£w’èÇðF+Öè3&Â<Æ”GƃUþ¢+Œ`tAm PÛŠùõú!:TT^BÌem(áÓ„øL!ÚCŒmÄTðJ!Iš%¿—DHÊn>ò‡Ð¦E$F̤\J¤õ¢Ž*BT„1³|”R`FÛŠx)KîüÆ ðÕ5—iiIEND®B`‚liquidctl-1.16.0/docs/developer/images/wireshark_4.png000066400000000000000000004033541515166127400227240ustar00rootroot00000000000000‰PNG  IHDR%ÊÊëÿ IDATxì�wtG¶îyÿÌ[óæÎ½3Nã±Ç{ÆwÆÙc¬@49˜lÀœ&gÛ8L29Ùäœs9Š$‚ˆ $$P–P"ï·¾‚:nµúœ>Q:’¾³V©Ïé®®ªÞõëVï¯wUW©Â-@ д-@ д-@ д-@ д-@ д-@ д-@ д-@ д-@ д-@ д-@ д-@ д-@ д-@ д-@ д-@ д-@ д-@ д-@ д-@ д-@ д-@ д-@ д-@ д-@ д-@ д-@ д-@ д-@ ”‚þ_•*U¬R¥ÊªT©^¥J•L´ d€ �2@È d€ ��JÅôèРüóPÙm·ÝöNµððä†õê]oÒ¨‘4mܘ‰6 d€ �2@È d€ �2P‰€] FµjÉ÷ÜsÏ[·Ä èù àÇžzòÉM�4�:Ï>+ÕÃÃ%ô™g˜h2@È d€ �2@È •Œ�ð�¥ <[«–4jÐ@žxüñèUªT ˆ0ñ ‰úuë *¦A1† �2@È d€ �2@ÈÐ Ô¯SG Îá×ÏÿûË_þòN½:u(FT2åKÃÅ%/4d€ �2@È d€ �2`Ç„‰Ûn»í Ï1ñ`ÍêÕÏ2B‚ÚÈíd„ �2@È d€ �2PyPC:ªW?S¥J•ü*ñŸÕª]&X•,ö=ûž �2@È d€ �2@ÜaúÁ­·røM—¯vÃ�Ê™‡�’2@È d€ �2@Ȩ¼ @?¨R¥ ^ê·O Uy�bß³ïÉ d€ �2@È dÀ]0„£J•*5ü¦H 0w+g>‚JÈ d€ �2@È d |1Ьú3òê³UUj]£ªÏ/¹ (Á·dø /"åë"Âþb‘2@È d€ �2à "¦·®*‘/=#ñ¯…K{_~FF6¯*ÈãI™:/E Š^�£âÒ»�v£ÝÈ d€ �2@È( ônô´œz5¤˜a&ðyú5}Úcÿ’¢E �¡)'ÛÈ < d€ �2@È dÀ7&µªj+F˜Š¡Ïy&LP” (AQ‚ �2Pq}VÚ¾Ù]¾îó�¼Ý¬ZÅ=No¦}¼b"¼ÞóòÞ‡_I¿¯ß–†a!^•áò&™ýâ›z{Žp?ö •˜DH˜w÷jè¾0AQ¢Cæò†ˆvᘠ�� À@H�.²*5_ŠòãeüëϲOM}Jûx÷ô¨Á§K%·¨Hr�—váþ%Ø/Þõ ïkh72@È€ÿh^µä��×Ü‹¦mÊ�2Ü銦4wŒÆ<þƒ�¶¤-ÉÐ Ôzs’$åçKâü�¤zˆ½ráÜUo)_N\''ÎeJnVŠÝ<]>i[:J¹°þO‡„Kó÷FÉÞ”<ÉK˜#¯Uuë&G³åïe¥%BjJû†Ê²�'ä|f®äf¦Èñ äûWJX¯iþæ�å‘)2@ŠŠŠÄU #ãZ˜¢$^“‚#;%uÂ×%„ ¬Ã¶x“0áî0Š%ÊôÆ.'Ëä…› ”3j¼*c—Í�ïz ”Ù²yøÇòãÔå2â½ú>_Ÿ‚Þé­#Í:)y…ER�—%陥°¨P.&,•n Ã}>~»s!èí"uZ¾'Cì—ÔüuCFQ¢ìÏïºoO’„üB)*,�ÜŒ4ɼx³oò“WI��çÖŽkn/{FØì2à_ H8³©«mÎöqg}ÔË%ß²ñA®_“´_¿wVëô�ƒ�ܳE ŠNwVæqïD£�h'2àœ�gßž,Iù…Ê)ÏÌΑ̬\),*�„ŸH­ú_ÈöìB)ºxH~jWC=1ï:-F Š äì¼oFT„„I«n#dýÁÉȽ(Ù©IrrÏ y¿a¸8œîÂ,9}줤dæHVÊIÙ8¥—´©y+#¼�ü¸`“nªô{»…Ô ‘š­ûÉÞì)ÊO’ÉïÞ²-ï¯xEÈð®„WÛ¼½ÿl]Ãùä–FÂø] æ¥;¯ ¥(Á“Åo'‹·Ðs?çÎmCÛT ªÕ“ç_î&#מ’œ¼|ÉNØ,C{¾"­ëWwœ»°Æ_ʶô|åȧÄ–ƒÑ±r>~¾¼Y#ô7Q¢‘r.ñ‚äâ o¾ŸÑ]j‡„ü–§°@rÒÎIJ:¢n†IægÉùó™RPX$EùdÁ'Mo†§‡Ö–®“ÉE¬/̴̓ íPT˜%;‡¿¦Ä’ß‘›åž;Ÿ}«œ³2µK ‘&½VJvA‘ä›,ª…HhH˜¼5!Zò‹ %}ýRW NþWUhûà˜CB¥E�¡2®OWyáƒé’œ_è¡(.]§��´ä3/)™ùJàÈ9:I^¬^²ïKôÚÖXú¬IT"DaA–$'¦H6¢|%Ê-·,†·øA‰…¹·ÄC‹<•âZÆãæ=% bÀ•ðàj›·×Þ—j9% :h1Qøn"Œ¿Q–];(J;Ãs;�M2@ÈÀ-BjÊ{HvÁEÙ3kºŠÈ:>KÞ¨æ–(Q£Ó(‰É+”‚ÌíòMóê_Xx¸Š2pùgdÒ;u%4¤š´ýn�¤#2#m­ô¬ö›(qk2̰zÝduRžæÊÚo›KXX¸)õfôÆÜ›Ñá;•ÝYx2|V~ÑZª…T—ú¬“´üBÉ¿°ZzÔ+Ynhøs2xkš*'nfw©*‡FJ^Q‘dí,M…*múl’‹EE’½”´²™DÑQ¢üÚ§ø¼"Ͼ7ÍsQQ¡¡VC4n*-:ö“]ùR”»Wú´¬^¢ïKöQˆTkÓ_åHQ^¬LîÒX‰RMz­r9Ñeeê—°:�eâî)(Ì—˜…ŸI}!�×=þï#d€ x΀+áÁÕ6omýê³%l•o�ËýªÓãV_§,•wo Pv¢Deè—ðÆ]eáñ,),Ì“S+ûÉóZœã5·|_sÙì?2PŒ8ü®’ñÿT ¿»\mó¶M5BŸ‘£�CJV"„Õ:-J`²LwÚÀá<ñÜŘ˜Ç½“Žv¢�È€û „T[–žÃPŠ,Y÷Ãón%J„בFõªß¼–Õj'ã÷fKQQžìÙYÂjt‘U©ùRtkhFhè³òÎØH%äŸ[*ïÖ6Ì;áÈc/J„7ëm¾QM ßPÃBR×JO«á!abvxõЀ¼2ö�úVëe™väæD—;‡¼h;ÑeE·�ñ\ñX” •íTÃc2· ”F¡!{-ÁÐD =iQ~Š,ïÝNÍb'JTø~Á<k“T„Äéµ}¥UõâQ-Æ~ãw÷¯w´mEÈ€3\ #�%ÐŽ‘ÍMC8ðJÐÃ;,ç�€0aõJP¼VÔÙ1×S” (á(Fhø�L2@J���ÚòñÜ8Ç$ƒ)gÎJj6&+üííµ^+ñ¹Y’{Tå—m^—Øwd€ ��rÇ@ëUeB˧%ªSÉ×…nïxsbLw^ÿiuïBQ‚'D¹;!¬@æ:Šd€ �2@È d€ ��À2€×…B x©VUyõÙªâ­aì'Š%(J�2@È d€ �2@È((J¼2ϨŒñ{`ÕLÚ—ö%d€ �2@È d X (AQ‚¢ d€ �2@È d€ ��2a€¢Á+ð‚U¥c»¨ “2@È d€ �2@J�Š%(J�2@È d€ �2@È((J¼2�Êcé)�´5mMÈ d€ �2@È@°2@Q‚¢E 2@È d€ �2@È eÂE ‚W&à«JÇvQA&d€ �2@È d€ ”~%þ÷¡‡„‰6 d€ �2@È d€ �2@ìð»(‘��-L´ d€ �2@È d€ �2`ÇE Š(‘È d€ �2@È d€ ” %^™€g§–q;U2@È d€ �2@È@Åg€¢E Šd€ �2@È d€ �2@Ê„� %Ž=*úÓŸyå•WäÛo¿uüµ,<<\æÌ™£Ú4~üxiÔ¨Q™´/m ýÃ6ø®¨–%×eÝÞžWåÉfæë¬/6ÿûßÿ.[·n-“k /ívwßýë_²~ýz¯Ž¯<1á®=œåóÅNÎÊô×úÊÔþ²Ëñýÿ(mH’2@Üc LE‰ÿüç?R¥J•b 7~çÎ�“¡C‡:n½u<� K—.ÅÚ�v…sYFQbïÞ½2{ölÕÞC‡¹ÜÏ\Ž«ßMš4‘?üÐa�wîܹrÏ=÷Hjjª,[¶L6oÞ\"�Î[ÚË™3gJ�5ä¶Ûn“»îºKÂÂÂdذa’––ð6Θ1CÐ/þóŸ•}7n,kÖ¬ñ¹ÞÑ£G—™èänÿ}õÕWŠßµk×ú|¼ºÎ`¾‰ß°aƒÔ®][n¿ývÅYµjÕÔ¹€¶{Ú_V笻çÕ?þñ�bΪñZ íè%Î-óuÔøö°jCe%À®¸~j»¼ñÆ–ëð¿yp.œyòdyðÁ%##£X;Úµk'ï½÷^±už”¨¼#FŒ�;î¸C $‡–¤¤$Y½zµ<ÿüórìØ±€¶uÃA2dˆà5!!A¦M›&¯½öšÏõzêäší[‚ÌÃ?,wß}·¼þúë>¯n°ÞÄ_¸pA‰NbΜ9#§OŸ–ùóç˪U«Ô±{Ú_¾œ³fQBÛ®´—Ækèßþö7%’êuééé–LTVQöÀµbݺu»<öØcòè£�–X7vìXG«>Åÿ+göÕùƒí<Ò\`é.+úXì–%*ÎÍ¡]_s;ûš �2@üÉ@™‹VOñÌ7ËfQbâĉ‚›H<‰¯W¯žDEE¹¼qtÇ`VOaŒûá)ReÜ{b~CD�•�<]‡è´çÎ }\(gøðáÒ°aCõ„mDZ! @×�cÆqÁICä’‘5£3Õ¬Y3éׯŸc?ìÖ§L™¢Ž6Õ m�=�çÔ©S ÇŒz~øá‡beèvx²„} –Ìû9ë¯éÓ§«¾Ãq¢ pìkuÎÏ+ôŽŒá||æ™g$11QÞyçùÃþ ŽeŽ9R=Q7å:qâ„Ú¶Á¾/½ô’ª<"¢ý…óÆüØ|\žüF] ,Põ Àwæë¬«¾Gõë×—öíÛ«ã‡ÍV¬Xá°!Îeœû¸.ßyç�Ò±cÇb‘‹-R|a¢Z¶lÙRl_œ+ˆª‚¸¦÷EÛf̧X÷6jAÛ焈2!þöêիغßýîwJdÆ>Fg»C‡ªïëÖ­+=ô�jŸ+ÛÏ#”…kwÍš5UßãúÛèv}ùå—rß}÷©m°…N�öÈ#�¨õØnu­Óex²4²bܯoß¾êØÀ|›6m z»«¾4ÚÉߌ[ý�6GJ¸âÝÜ`×?<`xüñÇåÕW_uù B?—¼ 'd€ �2àÊ�(±dÉuÓ†;<¡úñÇÕM²v>½…Äê†G—…§þ÷]¼x±r ¿þúkåŒX‰¾8E¸)ïÓ§�Ë}ô¾Î–ºîøøx§åDFF*g7­pCBBä»ï¾Sùµ“ ‡uàFNæòåËÕo«'ïv¢lñÙgŸ©ýaã�?þX 7€3•œœ,mÛ¶•÷ß_mwv\À� } çÒ¤IŽráLÂqÖÃ:0ôŽ”.û×_UaéèûQ£F)'íÃvãM<¢NàŒëývíÚ¥$s4ÑŽ;”ó®.A8N%ÑÑÑJ�ƒ¥Ëñf‰H ð‹8ßæ~·ê/œ»u„¶A ÐsX�³Æó Döß´i“Ãy'º³ÍÐïpxÐ?ÑnÍÑ¢E å#ÖGDDød£�ަ+îÌ¢„«¾GpÒµ�c†˜‚ˆ$Ô ÃiŽ?.111JœÐQ¸¾`8†¸áüC$Ú¨E9ì ûbD ½ï»ï¾+ݺusØûEãq{ò×p �Ã>œ!¶@¬3®cºL£³ QmÖ¢$úЕíŒç®-pôqÞáœC$~ÃnÛ¶mS\ãúŒzÁ%Î|‡ ¥ Ø|çÎ�޶é6z³4²¢÷Çõã�\3q-Àñ>÷Üsª>»¾4ÚÉߌ[ý�6‹®x7öŽ}q Ì¡/ÀàçŸî»j[réÿ›VÚ”6%d€ TLÊ\”À“KÜ”!á ™o–�žÚôîÝ»Ø�n¬àXú)nxàhê¶`‰( ”‰§Fú¦ ¿áüᆼ4D ÜüÃFÚQÄ�ÿ÷ßï8VOlóÏþS9?xºÝ©S'uó�›[DQ`þ_ì[À~Æ2pƒ�¾AÒ¶‚3htÀpsŽ'ôÆý<ýGÛ\·]¸AÕ}ªE 8Žz¿O>ùÄ1ÂÊÉuG”ÐNÊÄ_íTà7nøqS¬ëóv G6EŸ¢Œ·ÞzËáXá7œI<•Õåãæû÷¿ÿ½Ã™ÔëõNœnü6ÞÄÃqÆ9�vc"\ÌCc 4aýáΨ1Ãkàäèú¼]ÂYC¤ž&ÿ×ý—rT!¢<«þ2׃óF‹av¢žJãÚ„‰á€Ër%J@ Á¹kŒ\ÑûBPÁ“Y8yz�¿–FGÓwÆë¬]_�#£(…¶‚«_~ùEµ,Ï›7Ïq,8pME>Dؘ¯/ˆØ�€íØ‚ª>~ˆyz_°ˆÈ=„ ý€ˆ �×Û%Äœ7(¢¸D?AÔÓë0œO—ot¶Áï|àØfg;ãyQް.K”°/ÊA!ç›1Ú…H-·ùòÝÈŠ.ιl±B*DVÔm×—F;ù›q«ÿÑø?Œ¶i�ÈïÆ~Àq�;=~ƒAD£h;pY1ozÙ¯ìW2@È@p2Pæ¢nrpC�¤Cr�7ËÇèx‡††Êý÷߯ž¸âÆ 7V¸Éô2Üðà&J·KýÄ ¡èxbg,áËÚÑ6ÞìX98Æý¼ùŽcDpºà€á©š.ÇÛ â7›8–1cÆ(Ç7ÉÆ2t¹ž.áp›#%ð}úïÿ[9ÍpÒ‘G÷3ê€è‚IOë3æG(×üÄܘuÂÉÀM³ŽÑ"D ³¨»hÑÂÊɵ%¦®ë‡ „öÁšYÜüjHçóf QuiLjŒÐ6†³Ó¼ysG[P‡±í&LœSx2 ûþç¡ÿF®±ßÛo¿­†À1‡ õSlƒ#‡'ØÈ£�N*ÊÓÇŒ%¢4àôè<þX"òN/ÂéQžUAƒ3ˆcD‚Íô$²Vç¬ñœ@4œl°ƒk öƒ¸ƒº\‰8~³Õ1bŽœ�`C`k«|Þ¬ÓŽ¦wÆë¬]_�#³°�X ;pðŒoßÀÐØíïÑ£‡ âËx,`çÖ¹ÚÛGç)æ¬Ñ­±�q}…Í rA˜Ö‘Hº}Þ.5+Æýa\WŒë`+ˆ&v}i´“¿·ú á×V°lÇ»±plàÎ(�ãø`_ãqó{pÞ¸²_Ø/d€ ��ŠÇ@™‹ú©ª.ãÍ2Ö„V­ZnÜÏ—ï¸á1“0–…H <Í2®ƒ0b%JàÉ'nàŒy}ýþÍ7ßHƒ !ÇæÐeOlƒð|8ˆL€#†Ðw1p–áØûÒN8n1Æ›6Ìåà\?ÉÇͶñFБ¨OÌð´Ó\·~²�¾…c¤Ã�‡Ã­'ÔĘ[8~V¢œ^„Çã†ß_ð#T7É8níè²�Γ�mÐ~„ÓñÄþ˜(7qXgt&uÙž.!H@t@˜1ÚŒÉñ„7¾S§NUuB€ƒ�P`ÎÒ.ßêõºÒn‹»õéö¹Zº[–ÎGQâ·ó[Û„KÚ„ �2@ÊŠ�2%Êê€Y/O63åU”0G #ÔÃbÂ�é@ÖŲƒï- Q`Èæ¼Á’\å¹O(J�§òÌ/ÛN~ɨh P”0Œ1®h�Ëãá‹ �2@È d€ �2@‚™Š%ø’ �2@È d€ �2@È@™0àwQ¯yd¢ È d€ �2@È d€ �;ü.J\¹rE˜h2@È d€ �2@È dÀŽ¿‹—.]&Ú€ �2@È d€ �2@Ȱc€¢EŠHd€ �2@È d€ �2@Ê„Š¯LÀ³S˸�Š* d€ �2@È d â3àwQ¢¨¨H˜h2@È ¥ÏÀž={dýúõ2þüRI¨kÿþýnÿßöö‘ÙÒg–6§ÍÉ d€¢E·o&yÁàƒ �2¼ Àáß´i“ÄÇÇKBBB©$Ô…:÷íÛgû¿$ØÛG¶ƒ—mö û† �2P± (AQÂöF’�Š}`ÿ²É@Å`Q  NŸ>-±±±¥’PêDÝv{ûìÚÏíã»ös;¯Ád€ �2@ÀßE 8Ë�H™™™²mÛ6™4i’Ìž=[Ö®]«„ Ü �={V¦L™"¹¹¹n×½qãF D ı˼xñ¢œ8qB‰! H@˜€‘ššªÖçåå¹mcÙøžŸŸ¯D‡‰'*;GDDÈ�Ô�.žˆaì0Ö¡�mÀ>ær*Úoo.(S×m’¡?–Ó§ã}¶ÛàݵâeëÖ­åþûï—?þñ�jÙ¶m[ÁúŠÆi°ϲeK$"b�>|P&N'Ë—/_®W®ŽwÛö­2hÈ�…Dgâ#ÊB™®êtwÛÆ�òÓàþNÛ†mÈãny:Ÿ•Ó_5¼º"iAK-Jèv8[{ûœµ›ë½»öúÛnVã|µZ¯×ÙmG>·“å/ìö(_ ½(‘““#;vìPOé1ê>ÉiE²d}²\¾r]6oÞ,‘‘‘ýc� ‘––¦nˆqSìkBY(3P'ÚwêÔ)Ù¾}»ŠRÀ,´ø`=n ¯^½*G�Uy¼mùsçdÞ¼yê‰Wrr²*ßÕäÁM&öÁ¾ÞÖ[öÃ�ÍÇ+OI÷ÕgåÝå§åõ%§¥ó¢Ó2h×Ù•”/1™—å­IÒhzœ4ž/õ§ÅKÛùq2i×A9|d— >DΞ=ã“�ØÏ.®2_~ùeùÇ?þ!~ø¡Ò0ö¼~ôÑGj}§N�טòÀ`yk£v ŒËïú|+‰I‰ê²råÊ™;w¶ôþþ©Y·žKÇÂX†»v>b¨¤¦^pu óhÊB™îÖï*ßП)1×Y ô"�«2¬¶Y9ýY™ˆä/Q"mC™Þ´ÏʦæuxøñË/¿HýúõåÎ;ï”*UªÈ=÷Ü#�7–©S§–ŠH_YÛ`Å þ/Z­×ëì¶#Ÿ¹�ùÛ³ÿµ´íEÈ€?ZQx ?cÆ �qùòe‰:–-cgÇË{ß�V]wÊ'+‘C ùyøIJJôº½å¡ «Ž¦ª(ÛÁ]Vt_c˜W«V­¤^½zjˆW‡ä¯ý«Š”hÖ¬™>|XEÕ­[WÚµkçuŸèúÜ]ÆÅÅÊ¢E ä×_'HFFÙÞ £~´íA»Ü=wói§À¸=f„œOO”_"»HDÌ8¹vãŠDîÙ-#Gý,ÇŽE»t.t9îÖÌ‘ƒ‡T×Î7´«„ë*ò¸{¬:_°‰æó6ØÛ§íèl‰HÁ'žxB¥Ï?ÿ\fÍš%+W®TCH¿ùæ Uéøñã÷�³:Íë+sô5À¸´ì¶£,³�ù› d ôJQO/^,6lPbDjæ%é=ü˜"Z¾¿SZ¼¿Sš¿·CVlLQÎ9æQð-J@Œ2dˆO eB”@™{÷î•èèhu G ‘¸±3&=Óú±cÇ<¶ì†(ˆ ˜«<ÁÄŸ6mÚHË–--Âá1dyñ�H�2<‰˜0ß°šû053O6I—«“¤ÏÂD™½3Mæïþ-õ]”¨¶-ß—*ž$”‰²Íõ¹ú�›ÞkOÉëÏH�U§¥×ÆDÙ“|Q®\¿*"7dñ©Li=;F éh9;^ž›/Ÿ•¡÷HÔÑ’pö„lظB†�&))ÉÕ­ÛUÚÐmÔZyªóHi8t»øÓv¬hé%X|üñÇeõêÕòðÃË«¯¾ªD; }‚ ‡%µG}T‰Ÿzß@,qî®[·FÆŽ%¢ö˺ukeÅŠe^qà¯öa(Úuð€jÚ‡vúZ>†à)ÿ !K¤‘£†ITâJ‡#þKäû’Y�,§âUÂÞ½‘¶Â„¯í3î+S¦NR ß�Ûù½4E‰u«$É�Hóyk%J$6—@$oÚçªÏ1Œï¿ÿ¾ˆ¨«-[¶(q÷ øŽuŸ~ú©ŠÂ „0QÙÛ 9þqüB5m±âÿõz«¥ÞŽüØÏ*�«~ç¶ÒwLhsÚœ TNü.Jà¦Ö—„�kܸ`2Å7D ÑxáÃH‡ÑìÝÒô�q¢ èªr:à\xZg D OÛá,?„ IÁ��ëׯ«PT5F1ß.\¨„D)@TpVž³õ>Î{kq¡[·nJˆhÑ¢…à©ò'Ÿ|"}ûöUO�5j$Ï=÷œZß¼ys=¡£&vîÜ©ÊB™Îê3®×7¬ÆuÆïG²ä½qÇä•¡¤ó°(ÿ¤¡T™(ÛX—ÝwÜØ Þ+¶%Êw›Îʸýç%5C‰UrMv'åÊû«äõ¥§å•%gä¥EgäåÅgåÍÅ'¥Û¢ƒòéÊÃò݆h™¹|…Œ;Ò£ºuÛŒmhöF7y®ãkr<Ãl\·á•é‘R»MGiüÊ{~mƒÑW®^–9«÷Jã.ãä‘}äñv¥Z—_¥Ý´h¿ØÁŽm#½¬Zµª 0@ñùüóÏ giðàÁêé¦Þ×ßKLH;cæ4™7o¶Þ<ÏϨuþ®Ë“ò¦LùUÎ&žQíA»Ð>´íõ¤s^̇€áxÚoN¸–m�Ÿê%%0xË r2m›¤¥¥*1£ó믹Êa®ÏÛßkÖ¬’ÑcFJtôa•ðë¼-Ï“ýÜ%<)y­œ~ãSe~·rúÍí5Ÿ·ÁÞ>sûõoü?~òÉ'ÿñ°щ"ð�ÃK‘ðë° ÂDõêÕÕà ]†¯K¶¡À!X¶úd–Ôé2U&,Ú¥æeqÅ5þoþ²8RåÇ~Vy}íîïÛ}?íGû‘2‚J”ÀÍ0Þ¤�È€K—¯Ë—C¢UD„"š¼½]¿µ]¾¹MzþxPÝLãi=„ O�fQCQð"nêq£c#ôoÜáƒ<¸iñÔ¨eaÈ¢´ 1¡ïM›6UåãO�=¤Zµj2nÜ85¦y´0�}ÑV”…2Ýi‡ù†Õ¼ÏþØ ¿>Ib’/ªt*ù¢ �<—{3%åÈɤ9�”˜­ÒñÄl9ž˜%ÇÏfɱ[éè™LQ)!CŽ&dÈèÕgdL†[mÔmÂ�M^A�\½~C®\¿.ס˜ >7—W¯_—Ëׯɕë7äòu‘K×nHÑu‘Âë"×�®KjÆyu¥ËõdilC§×ßPŽÛó/tPN¤³6$_H“6/tPy_yë¿¶AÛáà‰DiÖe¬# H =Öª¯´ì6^Öï>é;رb´#æ:¹ãŽ;Ô9¡7g‚ÖïÛ·On¿ýv5Y¬±|�?¯ß-[7ËÕk—esì$™º¯§¤¤%Êøñcg}‡I,¿úê+5oàÿ-®/41Ñ%æyÀw¬Ã6äùþûïÕ¼6ÎÊôt½«6 þÊÐÍmí÷~c¦q·_,‡dè¼Ø®ùÂ~z½qéi_0àœÚ–¶%•—� %ðŠO8à×oˆ|;â˜#"Â(DÔyu«<ûÊV©Õy‹,Û�¢÷U«¼ · VQãÝá,A�ÐQ Z€°Zb> '<=‘14¢>‚�9$0d£W¯^jnÐñA›âŽpx<BÛð� ñì³Ïªá˜cBã@™(Û®=vŽæöèdyö³iÐk£_ÊDÙví3n‡£UTT€©=Õp‰¼¼9uꄤ¦ž—ŒŒ4‰�=)s1$$WbbNÈùóç$;+C=qFÿ\¿~sòÐÜìTŸD cÎÄKóÖÏ+a¢UÛö²wßGöì�”–Ï·SÛZ´i+1±1~oCÑåKÒèí‘*2â£ó$å|ŠDlÛ#‰É°­í`ÇŠ±¯ð¼þÓ]Qùï½÷^õtÙXŽ/ßwîÜ®†é\¸p^N¥í�A›ÛI߈fŽ´=a†µ.]*W);+K½ÖÒ“¶àÕ•Ø“ߺJp|·ŸžáhÚ7xs;‰IÛ)h7†á8<©yµ(ñíºÆâiún]c9“%Ñчdêä~% ˆž¶Ç˜?&攌9L ÙzzZ‰öa†‘ ò÷õå;®˜Ã‘ˆP�h„ë¨3û`ò ïÔi“Õ¾î½øÁH‰›oñ§(ñ·¿ýM MÄÿ?ܧ *"þïB”ÀðI|Ç:lC ·üûßÿî7†\µõ—E%‚ã7§þ󟱃Žn¨ûþT%4Ô{ª´ûhŒeôƒÎ‹íÈaûéõÆ¥/ç6÷­¼ûž}OüË€ßE 8²ž&8ásçÎUC†O‹gBDÍN[¤úË›¥úK›åÀÑ,IJJRNyZòJ”ð¦-z8õ"pCŠÌê�vb„8úp´ŒâÞÄ�ב9rÄc»ã‰NDD„ðF %ñóÏ?«uø3yòd +–>ûì3ÕW˜Dð•W^qÌ?�2ðY·n�zZ¤�ËÙR;šÎ¶ïcûú¬o&»ÏÌUíÇq¬_¿Ö«ú¿YÓPú[ :/¶#D ì§×—¾ö ÷÷ü¾Ÿ6£ÍÈ03Pæ¢Dvv¶¶�á‡OdKý×·Š1"Â(D„wÜ,¡/n’�et–šsa’æƒrçw°‰¶�ɲÐv|×ÑÊË7üAˆ¦•(�§½î·1D”‡^õ QYB„HMMDa˜ ý{ùòåŽVõïß_ ù:t¨Záeë²ún¾a5çÙu"]Ú =.o��õkB™(Û\Ÿ«ßpôŠŠ.ŠH‘ä]Ì”¨¨ý²{÷N‰ŠÚ'ÙYé²léÉÌH‘ƒF‹ñÅÛ¥°0WÖ¯_'GŽDÉ¥K7£N|%J¶aó–�‚H å€@ѤyKõ½i‹V’˜”°6¼ùÍ4%J Ÿ´8àv°cÅÜwÝ»wW¯ú„˜g'J´oß^>üðC�x0×§ã xº}éò%Yu|ˆÀÉ6§ÏVÔwN(°§Ëwg‰üø¸[ò™ÛˆßkOŽTÇ�ãÁq¹S7òèú=EtÞeǪá£F��cÇ­_ên;ŒùpM�4ùõúÑÌ‚sJ(Òuš—‘�¯*Å>Ø×X–7ßgÍš.‡ßœiôŽWÝ¥�ì‹2ìê¶rú�aêþün‰`nŸù¼µj_¿ý %É›ö™Û¯ßwß}jRi-J�qD X9ã˜Ï[º _—®ÚàLtÜgüÙÍoË�¦K£îSdÚüeêz£×[-q=B>äÇ~Vy|íîOçŠ �2à;e.J`&kŒÇ<�>ß«†f”"6JÈ ¤jû òt»õòŸ¶ëdWTºœ9sFExB°‰¸©ÀMĈ5kÖ(±ÀJ˜ÀS£(�ù à $žÚaÚ´irúôiuÓÛµkW%J`rKˆ7nÜP¯øÔ"„y‰h |ÐF íÀ9ðª4|âââeÛµÇ|ÃjÎy*S:�‰“�f$ú5¡L”m®ÏÕoÜØå*QâÊ•\Ù³g·röÏŸO”cÇ¢eÑÂ’žvNاž,''Ÿ•ØØêiý¡Cûåòeˆ7$';Åc'S·ËUvîÚሎ€8�¨‰è£‡Ú†Z¯ U¢ÄÜ…ËÅ;슌ôÚv¬hé%® p0äsF8& $<ð€ ¦÷õe9mú9t'’¯V×·t>?^VSÜM8ŸÐïž´ ùñq·ä3;æø�ö'fQǃãr· ºþ/VÖwS¯Uueëé›uŒ;Zºt{_ k`ÙœÜm‡1†N,]ºX®Ý¸"£¶¿bÛ.äA^ìƒ}�eyóýø‰c2aÂX%¸¬99Ò¶~m7äÅœØeØÕmåôŸûó»7N°·Ï™}1¬sD@”ÀD–ˆ^Ä} ^Ñ©‡oà;Öaò` ü_tV¦§ë]µAߨèmÐüžŒO”ø³)*ê×½Þj©·#?ö³Êãi_0¿ïÎmH’2`f LE‰óçÏ &HĸçÉ‹C3Â;n’Ðä%DDÈÓíÖÉSϯ•'Û¬•'Ú¬–ÇZ­’-{RÕØYüó7”;¿ƒI”ÀXaD|àæΓpÓgþ@°@ÂðäÃÄ’%0Æ�ã6æ±%>øàÕ¨³}›Åý[‹xÂ\»vmõ–-J Ýþ%öÆdI—I òÃâ¿&”‰²�¶°ûŽ››¢æ•(”k×ò$;+UnÜÀ»„³%9ù´\º”)ׯçIVf’Z�üÉÉ rölœ\¾œ ÇO¢DÉ6$&� ÕÐ"&ÒÒΩ6ª Õ^¤D‰¸„[;:vTmÙG^üä¯ìà©(�þÄ9…aï¼óŽrŒÂÄž={äµ×^SÃ<ðÔÓ®ÿÝÝŽ7G=- ™å‹uå‹åuJ¤ž‹«‹» ç!Øs·~äC~|Ü­ù¬ÚÑáSÅ IDAT‰öŸÍ:¬ŽÇånì^ º)öùtymGBTÆñÔ­j.Ìc±aÃzKÇA;î¶Cç+.ŒpÔklƒÕ÷5'Gx$èúœ-�ÂȈm�lÛ�<ž #Áîô{ûœõ†—†‡‡«×�nÙ²EE5âºó'`¸¾c"!^࢘<ÚY™ž®wÕÔ_Ú ¯Æ%®wÆßæïvÛ‘ßÓ¾`~:Sd€ �ÿ3àwQã¹ÝMpà J¢ÉÛÛ$D Rµýzyº­"ÖÈã­W)!â±V+E¥–+$bg²z"�9ܭϘ/P¢„±w¿ÃYÂ|ˆ:Xºt©0<Âø¦ 8:Š«à;ޝ …¸søða�í€9 p#ƒ�¾ñî»ïªßøGP‹æ%†gàƒÁëÖ­[lønÌP¶ÝñkGÓY¾}1™òÑŒ³2xÕ¿&”‰²�Õkµ76EE9"q¡@bc�IÄúµrþ|‚ÄÄ•ÈÈ-’Ÿw^ââŽËîÝ›¥¨0]RRÎÊÆ k%*j�ä]ÌP“dfÝzû†Uv뜵áØñ(Ǽ-Ú´‘çZµRâD›öíåè±Ckƒ¾1dü[; ?[ ¯õÂ[Z®Š§v°cÅ™í ÖµmÛVîºë.©U«–zSLÍš5Õ+Cÿô§?É=÷Ü£>gû{ºþäÉ2fì(5‰åÒÃä“ŵK¤î󪉻 çúÝ“v ?>îÖ�|Ví\=TŽÇån * ýy� 2°D9j˜ì;»ÌÅñóÖŽj¨æpÀÛ@öî�té`À�p·:ßÌ™ÓC'†míè¨Û.’yñÁÐ ”¡Ëóv‰W=‡�|½º¾Ó¶`›q öu§^+§ß*\Ýë¬"%Ìm4Ÿ·VíÓoFð÷Ò›ö™Û¯cÞFõñÇ+Á¢1/"#�ðë° Q �<òˆ¸ÛoºWK¶!Ïrè®w®x¶ÛŽ}]Ù�ÛÜ¿§§­h+2@|a ÌD Ì%1cÆ õT>bçy©ÚnÝ-!b�<Ñzõ-!â7â±–Ëåñ–Ëä±–Kå±Keõ–$å�Ã9öÆÁ"JàF72ˆ’€À€›6$„œãñß±„±páB‡X�u$Lt‰°MOí`5ÑeóæÍÕë@G�­ê?~| aBOt‰ xk „ Ü„é‰.±eÛµÇ|ÃjÎ 6S¾š›(c"ÒüšP&Ê6×çê7nlŠŠ²•(QT˜!Û¶m–eKÉ¡C‘BfÍœ&Y™ ’”+ëÖ®�œì$Ù³g§¬X¾D-œ'éiIÊÏÌHòØÉÔí²jÃÌ™Ó ›6•ظƒr$zŸ4nÖ\ ϵl%³gÏH†L^­„†Æo–¨ƒ»�ÚawäA¼6´ÿ„e^ÙÁŽm#gK S¹óË/¿¨%ΛÐÐPzý‡?üA^ýu�xpVÖ¯X±L0Ü¡°°@6žœ,ϯ-ΫåHïÏ wÎ1ô»«úÌÛ�wë@>cûÐÞ-§¦©öã8p<æ:Üùm~b‰ß˜Ÿ“7ÙÜAV¦"víÞ)ýö•ÆÍš9"}tÄ�ÕÒ�º�yÌ“Lî=³T6œï4’Û�Ç<ɤ±Lo¿'§$;&ÛWvƼM˜Cá£�>RÂÞÄ�+ˆÖDÂw¬Ã5¿ûÝï¢'††ýôÓOn÷Ÿ«ú±­²·ÁŠ[\ï¬ÖëuvÛ‘ÏÎîÜNG‹ �2xÊL”Àzêæù»½Jˆx¢µsâ±K䱋屿‹TZ¸ú´Éœ9s¼ú‡,¢nì´aœ/>ž�9L‰ù#ðóGàA¯Ãð<©ñô„�£g~%(D D> 2uãƒñªC† Lh‰°T$[Âá©M›6Uïc7¾eÛµÇÎÑ<Ÿ)}'ˤ­Y~M(e۵ϸ76EEY°ºäç]�={vÉ–-䨱ýrî\¼Ì˜>MÎ�;.i©§eíš•’™qVMx¹ys„¬\±H éÀ$™é‰;™ºæ6à­zRË–Ï·•ñÆ9Ú°`Á\iÕ¶­ròš4o!sæL÷{Χž•jRbÃçƒfHbR\ ;¤§Ÿ‘�ûOWyÂ;ô—³Iñj^Oí`ÇŠ¶‘'ËG}Ôñ*;Ìl�ùm<ÙßUÞ #dܸт |£Ïm’Ïç×—3k8Òº£Ôùc÷§°°P0ÂU]æmÈ�ýÜù¬�žàhÚ‡v=·YµíÇ›\Ìå»û[;Æ%¼M±K–,Ro*9›˜àÒ±0–áný:D[Ì �º!Šè×qö˜_M¬®oÆ×qb_”¡ËóuyêÔIÇkI#NN,Ѭӯ%E^Oê v§?ØÛggkˆøß"_ýµºÿ@T#þ�~þùçòÄO¨aØ®_“‰kË7ß|ãQ?ºjGenƒñ: ¿Û‰vÛQŽ+{s[àÚ˜6&d ”™(�›8Þ2ŠD‰¦H³ñhó…òhóòh³ù*}?òæ[#m�O�Qbnx›è„'¹øà•Ÿz¢BðB>ˆ6ÁÜø@Ðð4TõNœ8Q½Ze@`Я…8�›s|à<?¸ Ã</¾ø¢šÈ«Y³fêÕ¡Èaeºsoçh>�)—§Èô9~M—Ÿ”í 3J(Ä DKäÊéÓ'äàÁH¹T”®"¶m��ÌŒx9sæ¸ìܹIrsÎ)±bÏží’˜x\åð�Œô³¾‰·Ú�ž~ZZ´yÞ1Lcÿ�ÝbnCü飱O›[>ÿ¼$'ŸRCOüÕØaþÊ›¯ED«n£dØÄ¹r"6ZöÚ/Ã�/m{ŽU‚¶/Z³Ék;رâI_ê¼ÖñûßÿÞá<<öØcJèÓÛ}]îÛ¿W9·gÎ&HúÅD°¢£t�RM¥ÈØ%ÊAW®†@¬[·Ö#V‘û¹*Ûà ïŽ]âhÚ—ž—(h/œòýöyT¯Ù^Úi0./^¨^o‰!˜¼qÉ’…Ê7æ±ûn®ÇÓ߃‡TÃRºÍ «tõêUAOËõ$ÿ�ûóg@Ü�·ÿ{G;ðë° y<)yñÿBµ1ŠÁUh»/ÛŒu NÔmn¯ù¼µjß‡í¿”@$oÚgn¿Õo< Àk–1‰%æ¬Á5ÃÀðæ*Dbá~ó+!Z"PÂDemƒ¯¸–Y­×ëì¶#ŸU?s�$2@È@é2àwQââÅ‹b—àhãŸ:Þð0fæI5ÃN„x´Ùáü'¸Ä�æˆÐ„…bÒªU«Ô 5¶á•�˜W ßHJJòØf�rq#ñoဠ�èÌ6®ˆvíÚ)áuõìÙS‰¸ ƒ �0Ì�2ðú/Lôåê¸õ6}ê›—¯J•Y»óüšP&Ê6×çê7nl0O„¢%²åÚµLIN>)ù)r©(U.œ?!W.§ÈåKçå|Êq)*L–ë׳%=-NÒÓâU~‘|ÉHKP΢«ºœm3¶áõ·ßpˆ ‰‰G�¶!55Þ1ÑéµWÄŸmÐvX°j“ÔètsxÄsªÙy°,^»Õ';رâÌf®Öc¾ <ÅÔŽÃm·Ý&cÆŒñˆ WåcÛñãÇ”ƒ�×K^½vYî,ý¿ ç3’”ãi· ·�=\Îg$JßE/¨v]½~E½‚æ�ðµn«¡þXçk»´(ÑeF˜X%-JøZ�Ýþ›6oL Šën\ê^•ðë°Ín«í¸–›E ;‘Go·`—¼þÃbißkž4ûh¦Ôï:Mj¿7E-ñë±ù°�•Óon“ù¼õ¥}º�î.½iŸ¹ýÞþÆqãžFÑ×DWx[¦§ûUÄ6Xõ=þ/Z­×ëì¶#Ÿ§¶e~ûû|Úˆ6"dÀSÊD”ÀÓ}Œ½Ä§ñkÕp s$„Y„xä¹9òHS¤ÙòHÓYòx³ÙRtéšÖÇÚÓQ¢B1ñ�Ø€6�/^ì°‘¾¡£pãŒ}0Nß!Ì`X‡§v@t„ØD:haO‚0_^ŠÈLòõÅ_¨h ˆZ�ÐQXPÊt§æVó>GNgɰ52;²À¯ e¢ls}®~ÿ&dÈõëx[Ê™1}ªœ:µO¢¢vÉ¢…³%7'NŽ”ËJnN¼DGï—eKçK\\”\»†(‹)&L`BL [rµ�§ÛÎ%ŸSŽ&†*訣¤¤D™>cª_ëñ´]S§N´´ íƒCŒözZ–U~íø{iU—'ë´(ñÎä±J¥%J Í«W¯”Q£GHtôa•ðë<9c^_œþW¿_,îL6‰|èSoœ~_Úç)GÞ´ÏhK_¿ãAƒ•0Ñ»wo¯û×Ó6U´6X1`':ØmG™žÚ•ùél‘2@üÏ@™ˆˆn€›�ëŽa'B<Üt¦<Üi†<Üdº<Üxšì<�¢ÞÀ�7Vx G0ˆû÷ïWÑ ÅÔb„q‰6bX‡ùƒ¨D#輈<Á80O‡§v@~ˆ xý§à àU­­[·VXB|€@¡…LjÙªU+5dC¿! ê2Ümƒ�£ á`Èš,™µ§È¯ ez'J¤‰H†ä]<'ì–];7Ê�ý[%'û¬Ì�3CÒR�Ia~ŠD¬_.™'¥°à¼¬_·\ŽÞ&—ŠRÔ°DMà&É]óÝF*gìX1ÚÉ“ï8wz­£%ð4³{÷î^õ�«z1Ô s`ÈBôÑ#±a½à‘®ö ô6´ó’è¡ø�vú«^+Âë|mŸ%ÞšøŒX¥Ò%p,'O�Tó]`Î |÷åø¬œ~Æn·œ±`™4è:Ej¿7ÙRœÀzlG>”å�ÓoÕ¾-“Ã$É›öùb{«}µ(`ÊqèÐ!ŸúÙª.gë*R¬ÆÿE«õz�Ýväsf;®÷¿ÓA›Ò¦d€ 8c LD ÝÀÍïÜ•qjH†c˜#!¬DÿnÜà@H@¤wê6ç�@QbnÊñAÔÞ¨1tèP5DÃ4ðë° äE½Øe˜ËuõÛÎÑ<Ÿ-VæÈÌ=—ýšP&ÊvÕ6ó6%¤"fE®\N•={vȺµ+ÕP�ãÇ£dö¬™r.éˆÄÆ–… æÉù”£sXÌŸ+£¶È¥¢d5ô#=5Ö7Q¢’¶ÁŽsyòãÀo¿ýöbÂÎ7OÊp7ïÑcÑêõ’p@SSSR‡»mAýh^w‰v¹»Ÿ»ùü1Tê wëw–O‹oŒ«*VÉŸ¢Ä–­›eÐ�¶ó{àúâNBY(ÓÙ±Y9ýžAŽÅK“f”& H`=¶ëò¼qú}mŸ®Û�¥7ísfW_Ö›EŸqqqNûЗºœí[QÚ`Õï8o¬ÖëuvۑϙݸžÎ d ôð»(§ØUJOOWOááÐ.X'ݾݪR×o·H×ÞH›¥kïMòþ7HUêòõ±Jß�Ø¥ã5kÖ¨a®ê5oƒ€àÎdŒîNr‚²P¦¹g¿1æŠÀ¢„~×¹7Kˆø`X ÊrV§Ýz8bsçÎUúíª`' L`¸öÁ¾vå›·kGÓ¼^ÿŽŠË–oeÉðˆB¿&”‰²u=î,qcSTpA䄉t¹T˜"y1iº\ÌI”´ §ära’äf%HêùrùR²\ÌM”Ô '%;+F®^A¤D†¤§Æ(çÃ�:Íy*sìX1ÛÊ“ßnôÔSO9&¦ƒÓãžÔWYòj§ÀßK_í7ôçAŽ·Y]Ú0Ñ$òøZöÿyøIM½`U�WëPÊtÖ68ýÇcÏJËOfI�.SUÄ–ø�õƾ´rúÍí2Ÿ·þhŸ± ®¾{Ó>sûýõÃ4yä¹ãŽ;üU®'åT„6Xõ·�è`·ezbGæu}�OûÐ>d€ xË@©‹¸QÀ“v~0Ÿ¢<1„@$wÛ€I)YàÏÆÂcÂKwÛ`•,ˆ–À4ðš³µk×ÊîÝ»¡ºM aò /ö±*Ë×uI²eé¾ ™½Ó¿ e¢lOÚ‡›«—1t“]b~ˆÌ[ ¿o¥-~.næÃĘzŸlÉJ¿9|Óºu^¶!pz0~ÿý÷˃>¨D9ms.½·¹•á�u¾öIDÄ:õšUœOV ¯TE_ëÁþ›·lò{¤ÊtÖ6+§ß*ÚÄnÝ35ëIõ¾’ZoOPKü6ïãŽÓon§¿Úgn‹ÕooÚgn/{þÂvVýŒsØj½^g·ùÑV–\ì°?Ød ø(uQ3ÞOš4É6MžÝN.yN‘2@È(=(JP” (AÈ d€ �2@È d Lð»(�×C2Ñd€ �2@È d€ �2@È€%(¢PD"d€ �2@È d€ �2P& ø]”X½zµ0Ñd€ �2@È d€ �2@È€~%®\¹"L´ d€ �2@È d€ �2`Ç€ßE‰K—. m@È d€ �2@È d€ Ø1@Q‚" E$2@È d€ �2@È e€ßE‰¢¢"a¢ È d€ �2@È d€ �;(JPD¡ˆDÈ d€ �2@È d L¸(‘šš*“'O–Ï>ûŒ‰6 d€ �2@È d€ �2d ,X°@víÚ%¹¹¹¥.Lø]”(,,cš4i’Ìž=[|ý@Ôˆ¸ºŠ‰6 d€ �2@È d€ ��RaÀW?¶¼ìA¢oß¾2eÊ”bþ¼Ñ·Ô÷€‹ÌŸéceðÂ#òÓ‚Ã2pþa0ï�ôŸwH~œ{P&¯?eή~S”  CQŠ �2@È d€ �2Pš À�?'3fL•‰Ç©4aâ87~ŒŒ7JÆŒ)£F—#–á#†Ê°áCdÂıW̯MOO—={öÈŽ;ÜNÛ·osÚºu«ÓîÝ»eûë¿;P⃳rËD”¸)Fº)FÌ=$ý放sJŸÙå‡YQ–ö¤(Á‹Oi^|Xy#d€ �2@È dÎ錙7 ;1bèσdȰŸdÐ�2nÜèb~­'‚„YˆÀo£aþŽ(}*„(QPP Æ„ƒ2tTD¿9¥ïlˆQJŒønæùvÆsvõÛ_¢ÄÔ¿ÈíwÝîu¨Oÿ}äÑÐG¼Þ__Øš½ÙTÞî÷†Ïåèò|Y>Qýqé»ä;˶¬Ê["UªT‘åÙ -·ûR/÷åEž �2@È d€ ��`fΨ#vG{÷”ˆŒÐbÄö[e×î�2à§~*[w"$<#6oÞ,:ëòå;ün£?_ßý)an´•(a"¾Ÿ¥„ˆ½§ï—o¦í·´aE%¯ï/c÷Œ G¿2‹˲H³7šÈ�÷Ü)wþõéøYYeePôK0_œÙ6Þ<�2@È d€ TàœêaÛ¶oQ¾jäžÝj˜†#AŸmÛ·z,J¸#222äâÅ‹²wï^G´„"ŒKU¹þx*J´lÙR�Ì:€'¿ËD”ø~V”計ÞÓ#¾šº_zMÙgiÊŠ&JÓ ì­(±¶hy¹wÞ[¼ÝLž©÷´,H™-3b'Ëÿ>ù�tÖ¥ÜW0ñÅ¶ð†… �2@È d ¼2çÔ8gÄÖm›•¿º;r—¦1pÐ�–‚¢%Œ«H Wb„¢¡Ë¸~ýºœ8qÂa$ðÝ_Ÿ !Jäçç‹1á ÌcT„"¾œ²O¾˜¼W>Ÿ´×œ]ý¶%þûþ[f'Ls8�>j§žtøÉÑä©ÚOʹ]=oúZc•Oßè:ô=¹ûþ»åÞî|wv’,Íœ/õ^¨«Êùß§’·ú¾^lø¢þóìSŽíW÷Se�Þý³ÜuÏ]btÜû,þVþùÄ?Õvóð�/§|ªâÛî¼MþñØ?dئŸT¾5…ˤÓå¾þMþrï]‚ý–ç¸J�cúV›þò·¿o ÃÐÇøý‚oä�ÿ]î¼ûiß³­E D ¼úM'Á~ûǽòѸР߀½0ìä‘ЇåÁGPe:³ê{ýÛWä¯ÿ«2ƒü#¶ Qûü°°·üãÑÕzlï1¢«£}º�¥±ý–}層çèîòï§ÿåø]m`ü'MÈ d€ �2@‚“8£zK±}Ç6å£"* c„„Ýð ˆ999j?Oÿ$''«ˆ -JlܸQ�\}ÒÒÒdÀÀ凾ßKX‡mÆün£?o÷]GJØåsµÝï‘æÊ¬D‰¯§î—¯¦îSQF1‚„¿D‰Úmj)çNöê‚¥2jç0åhB”ø¿¿ÿÝMG=‰L<8F‰C"X:¢pèk4¯¦„þ®\ÿ|Øßìo2@È d€ �0€�QhÀw-H BBGLX F¿V‹z®_†olÙ²Å)!Hî~¢$gøÝFÞî{‹-É.Ÿ«í~�”0WHQÎã´“¿:H8—x{‚ñ‚áxšþ‡?þA9¶V‘?}Áe¤¢t™Žéá%0!â³Ï×vlÓyŒK̽Ð{N/©Þ¬Z± �¢„«H ãø£]Öa¬ß!Æ´|§¹ãi¯iŸ©y#° ‘ˆæ0îsÏ÷8D DJ|0²›c;„#ú• ˆÒ·o¤c»;6@]‹.ÌQCAZwiéØë!* J‘±Mú;¢TÔ›1ðv ‹4`U_µŸ»ùt¹Î–˜3b‰³í\š ýá IDATÏNd€ �2@È d ò0çÝ(J ½Þ™0atüµaµÔóCX-u˜èòøñã%ÄOE ]ž³e%%ö¨9$-¡'¹ôdøFHƒªŽ §ÇLR7jQB€žËN=¢*àC”Àœ­Þm®†`ˆ"­ë¯Ñ¡0¤Õ{-Ô6D. ’@GJà©?öÅ< xRTbÞ}¡ÂPÌ �è %€mFQ¢ÿŠ>*šÑQ°?Ú‰|˜äÇ©çbÀ|Æy*t=Æ%æÓ€ø€uˆÒÀÛ%0™%~c^Ìç ‡‘|3ëK%:èáˆèÀña?äDZ»%\ÙbæÉÀ ß@ôF»m”X‚þÑC$ ‚ü»ªõä’Ø“™:KzOwóí„ï“�N/ˆ†ùvîWj(ËÈíCÕ±›óòwåùçþf_“2@È d€ €|´ø`%HèmV„Ññ÷TŒÐsEdgg«W‚îÞ½[ Z„0/�uùò½Bˆx‡ª1ÙEJÌÞ'HÆaVFD9æ &R|$äaÁðD,ÀéÕ¢†(àÍ ·ßu»zË¢°?œ}¬So߸ïnA”æ‰Ðe¿;ð-‡�u¾P·}õ¶‰°Æ!êmZ”Àv e€hGó?à)»vø±ÃH ‚˜çž0Šȇax3†3`¨&ÍÄzˆ¯õèmh#¶9K¢Æ¨öâí#ˆÐÀþZ”À>p¾ÿõŸÿUbDL„©E ˆ"�{½¤ÞÖ(Dºÿü¾KQå9³†d 0„¶AD„!̯›©7£Ü}‡$d€ �2@È d <1ß46.Ö#a‚D\|l1·6--MvîÜYB˜Ðâƒyi%>X­ƒ ‘žž^¬._~TQ"77WŒiÞ¼y²k×._ì¢ö¥(Qüâ…a*÷=ô·©ÝÏsø�‹¡-åéȶgžö =È d€ �2@J›ŸÙrTD“9sæóç�¾} ¾û}ø†¹¡Û¶m“¾}ûÊ�7|ꊼ•öˆõ‘92@È d€ �2P¹ðɉ-G;C�èÕ«—DFFVgŸTÞó1X™¬ÌíâùÈó1PüW¶ÊÓq–§¶ŠK–Ëk ¥ÅÀòåË¥¬>¨;""Bnܸ!×®]S Ç}åÊ•._¾,EEERXX¨R~~¾èÁ‚¢„Ÿþ¾ û$øú¤´.ά'øúžçcðõIE9O* [åé8ËS[+ÊyÀãà5– T^‚Q”€ñÿÙ;󨩪+íó—k¹” t§ $B#‚FâNM@0 ƒÌ�ÈQdRÂÄ0ÄV–I‚È & M@ƒ,» a™îèùÖoûíë©ûVݪûÖËKUݽתºã¹ÃsÎ=gŸçì³7¿�?þXȈ¿ýíoŽß_ÿúW÷ÑG 1qÑH eD’¶¤øýï0BI{ÿB|_Ë“ÏØÉBÌ{¦äå�}�ÉËóÊúΓR¶Šé=‹éY+«œÚ}¬´2`eàb–#%ªr3L‡2"I[RÈÞ|óÍľ!æ·åÉgìd!æ�=SòòƾÇäåye}çI)[ÅôžÅô¬•UNí>VZ°2p1Ë€‘'QÅH‰I‰wÞyÇU¯^ÝŒÿoÒs±>PSЬò¿XeË®¿l]êïqéÒ¥îßÿýß/J½{1¯me-{Y»Ôe«"ò(½ Pßóg?û™ëСCÊ·•ï³9rĵhÑÂ}éK_r3fÌH¹vEàm×Èþ]F†‘•�â*…JJ¬]»Ö­Y³¦ò§o0gD7Þx£«Y³¦;yòd°oåÊ•ŽýzN©,ùp8 ï…ãŽ*UªdüÍ›7Ïýô§?-9 -/ý<ÑgûÏÿüOתU+)—(;7ß|³Û¸q£å…÷Ý*V¶ü¼.3,òÇ"Ý÷H[@]yÙe—¹þçv-[¶tÓ§O—9†ù`þöÛo ñë_ƒéuëÖ­Ëû[¿˜×öŸ×Ös/sQe‹òõå/ÙuëÖͽûî»åÊÿzõê¹mÛ¶•+m®ùxôèÑ2e6œ6Ó{.^¼ø¢>[ø9Âx()ៗï³>Üýà?¨Ô÷òŸßÖsÿþ +ÃÊÊ@a”�B$% $zõêåzöìé~õ«_‰?‰Jó)áLΫ®ºÊýð‡? –$�`ðßÿýßÁ¯víÚ¢ ë>2ÃÇÉÖsÿ˜ÿüç?»Þ½{»¶mÛ–ù±ŸãŠgX)¡ Êéc�=æÎœ9ãÞ{ï=÷ /¸M›6i4m¾Kˆ©|¯aés/†UácþÉ3ÚˆŸÿüçBBÐ)£}¨_¿¾ûö·¿�×÷“Ž8¨¨2r1¯]QϘ´ëd+[tÍš5sßûÞ÷Ê”«\êêp'übàk¤Dj‰dƒ7©˜\Œrg×4Œ­ ”N(4RâÙgŸBBI ˆ‰Õ«WWž£KÂ}è…“ Ö˜&²_I =çÅ_Å”Q2F­wíÚ¤×sŠaÉGýÆo¤}vH :¿ú˜%2}C·»wïî¸ýöÛݾðw×]w¹'N¸ïÿû‚Ý׿þu·oß¾àüßýîwî¶Ûn“‘EŽ�¡^+ ËãÇ�—!& $Øï¿8OðΨÙ_þò—”óü4Ó¦M“NdZçÎ�Åʇã[·nu 4HIwÓM7ùº`ÁצMwÿý÷»ë¯¿ÞÍœ9Ó;vÌuíÚÕ‘ÿXepLï•ô}úH{Jþ�5J¼·ëûÚ2þwc˜fVJ« )�e*}3 Ÿ” /1Q)Ñ74þ(˦M›ºeË–IÓ¯_?™K²bÅ ÙÏqFœjÔ¨á`RþçþÇÍž=ÛÑðÓøø×)†u>ìýû÷§}n%%ô=>,¤„nCJÐÈBÈðîŒ>óÌ3bm1lØ0± à|È :ÌàJ†–mFYôzIXþ×ýW@LPèÙ¿w8O°T¡SÓ¥K!0åõÓüò—¿tuëÖ• Êù‚EçÐA‚”ðÏWR‚}(X—_~¹Û°aƒœÃèÛ7¿ùMQ¢Pð¸÷oû[9fyøYŒbK[/}LÂß#yN�¥D8ÿé @°ŸúpÈ�!îƒ>púÓŸÜ 7ÜÌMd;&¬ÏøÆ0±'ÍÿøÇ”:–}O=õ”‡¬3•br€mHs:`Œ¨³ ©°wï^±à`ÊÇ &9–íÚÙÚ5êúöíÛK›G»�ù=×¶_ù0ÈV¶hW!ûï»ï>Á˜<€DþðÃ¥ìDÕýä cÚÍŸ¨ó)‹™êþ¨ta½@ïå/³½§î�~ô#׺uk!HhϾó�ïÈwÄ9ÙÊ?ßéô›£½Óë‡ñ ý«Zµª[²d‰”ë9sæ¹Ö‰üï�4��›7o–ë>÷Üs¢÷è=:uêäæÎ�Üòî»ïv§N�r`Õ¸qc!(õ|[–ïÛ1Ü 7+¥S ‰”øÇ?þáˆÂ„%#?ˆjÊm$¿J!%`çõGÄèÔ[o½%äì<mös#^8ÓóY2ÊŒ5…¿¯Öé„îÙ³'ísCJÐàê{¨R«Û(JºýãÿXFÑt{çÎ�BZ°Íˆ ³cI'3G_ÖY7–éÞ7]žÐéèß¿¿kذ¡»òÊ+Ý¿ýÛ¿Iù$=#=tpôZ(>t\ ˜âÁhªcÉ(›æ+øc¬Ç±„€p{ÿý÷ƒ}zÌòðó:B1±eéc’î{¤-`>z8ÿï¸ã±{íµ×dÄôܹsÁ9³fÍ’Î%i°fbT•ïÚ¿m Öhþ>:þ|ïìÂ�.=ò#SÛñ9eÊ97Ûµ³µktˆ×¯_Üw̘1ŽÑg}[Æÿ2•-Fíi) 䯖ò€ÁÅ:ªîçÈlÚ€\Î�ªû£îÖ ô^þ2Ó{¦û†˜ªÈ …¦ýõ×="[ùǺ2NÓÒfÑÞév�pû�˜íYIƒ•“^‚bŸö–}Láb J�C ¾úê«Á6º¥ê’zŽ-ã;†™afe tÊ€‘¡èŒüè“<¶ûöí+æë�ìg¾&0ÇÓóY¢4ÒúûŠaƇF?ݳ¢aÆ¢ÇTùÐmH YÝftÀIc´�™ã=ô�¬CÞèëñÇÒëu’¾ŒÊ°aDRŒi3l3„}7”Y,XPî %üc(iš¯ä §DZ ù£ÛþÒòðó:ÂÇÅÖK—tß#m#¦á¼çÛ� ä;ªV­ZP×±ÿšk® &ÒP—2ý�La?#Á|»þu9FûÂ>¿NÕs8¦é½…ü¥óÅ�Î-h.×ÎÖ®Q_ÓáÓûN˜0A¬¾tÛ–ñ¿ƒLe‹)�ËXJø¸’Û·oöEÕý¤£ Ðè5¢Î�ªû£Ò…õ½—¿Ìôžáoë<u¬ûTO`š Ó8èüG•,H˽7dí�n‡ñë,œ—íYÓ¥á›ÒwìØQH ÖñÿÄ3‘—ú äß½nÛ2þwc˜fVJ« )"%Ô™#KNLfY?tè�Œ�?^ö³oêÔ©Ò)ôÓЀ2ÅÃßW ë0�Ì…N÷¬�ŒÊè1Fkh|u[I ÝÖ®n3R‚mæ£Þ{ï½AZ=Ç–Ÿ;U,¢òDÏY¾|¹(6l3UrG�a¶Š"„¯ µVÑc,1aÕ| ççc)�CM? ë–‡eó*Œ‘m—Fé¾G%%üüæÛÁŠ�éN¬3= K ÿœð:­çŸ^LÈ!ÕšÁ?�i"ìóëT=‡cœÃ6�.FŸñek H Ö³];[»võÕWK‡Xï‹ß%æ[ê¶-ã—ý\Ë–b΃¨ºŸ4a”GMu~TÝ•.¬è½üeœ÷ÄÃŽ;‚gö¯“­üc)i£i°Þ„”Ðí0áö�ó²=kº4èEà@zH ¬¢ôžƒX«è6º%õ‡nÛ2þwc˜fVJ« )‘#)AÁ=8õæ›ovU«Vu_øÂe‹p°Ÿ|òIp¼WÑ ayâ‰'!TkÕª%¡yùîTÖ­['!Ý ÇÛºuë¬íjTž¿�Š<ãG¾ø¸—7Oþú׿a‡5dêm·Ý&¯ðë_ÿZŽáL…sþïÿþOühèùþRÓò<þ~Ö  —ÁÇW\!ïñÅ/~Q©¢³!QÇ~ö³Ÿ¹o}ë[ú(²ä:„3ãÓ A·`Á9Gß#ü}Z®KyóI‰ð±\I Ò!}ûöu�<òÈÿßúlQRbêÔ©’—ä'Ögú�_è2*Pþv‹-ä;‚ìa?iM CàÒ!à÷Y*û)¸7í¤)Úü¸¤!A+„Kq¿ŸÿüçbƘíÞX6ø�6çSiÏ�;7[RaïQØUPDÆ�ç|ðA×®];±fèÞ½{Рêù,äDÔ1)ˆ#¤yóæ�I$Jê—¾ô% …Æ1L%ûôé#ç‘–‘�#GŽÈ6‹/6K‰ [1â!0iÒ¤X¤DãÆ�SF  ˜Oçzç¨:2×kØy…‰@T¥ ¢KF©óçϧ¼„߆¨¾æškR¦3¦œ\"D “áWƒ�`:´¦u¨u [t‘(‰Ê“0)qôèQW¿~}·~ýz¹d¾y’‰”À"•i":8QѤ–Z !>)>—”@Ÿ|ôÑGS �KJPþÑS áÊwÑ£G�€ÊFJpc�°IÊÙ†!`TFJ$ÐR‚ô­[·f-dÛ¶msM›6•N- …f›Æ;›0ŠƒŸFó‘ÇòF¡3LÇzÿþýb…�"ÀuÃ¥p§;†’†ÂAC Ag]çßF=Oø¾…¾ v;vì“mÌw=ƒ˜áýU˜'˼YLè‘÷>y£ç)¡HØÒˆ�@\R‚Ž 8£�Ô…ø`Ä7ޤ«㤷s �¨0OM' ÈwÚ:Ê“Öët€ñ€/(Ún¦ùíBá¾uùŸ,)�n€îã[—`]A›ÉH9ߟOÒ§{’¨ÿüórÙ¨ç ߷з!!xW˜~¶éØ0¯Öœï¡(¨ $aM�ÅðáÃS¦»)¡(ÙÒˆ�@\R‡{ŒêÑyÁjlðàÁÒ±Œsçtõ`œôvná"@G“Ž¡/wÝu—[¶l™¿KÖéõú£ò”³!C†¸®]»–IWJ;¢H ¾Myˆ{ÚLˆõãyψ»;zž¿ŒÊ%%ð™À³Ð.«#×È7O¢H ®Ï´ÍÍ›7Ç"%ÔïˆÿެûÖÔ1j…‘íØÂ… ƒÁ'½&¤ÆñãÇË8ºÄ¹èÊ•+õ´`—”à|u˜ÉE 9БòX×ÙOß`ŸYJTögFJ$Œ” qfêD.‚2ÃŒÎÏ# –¯¼òJÖäÌÕà “ ¤†ÎÄË< ‰ ¤ TX¢îtÇ`ßUbô'›HÔóhšbYf"%ÒYJ@Òø~9ôqü…’„‹Š‘Š„- �øÄ%%¸ƒ_gáxX-»r½{ºz0×´v^a#@ç–Qoj#ýøtb€@-àô-F�8'ô;À§sF[^Ê’‰”ÀO í8ÂYH{_ÀHu¿®Gå‰OJp>~³°dQÉ7O²‘ø…ºï¾ûÄJ#L¬äãè’ûâ�Rñó ‹ð1H°V9{ö¬”a° ã£ç„—qI‰°¥ú©NãÁ‚”¨+*8Q÷4¼ IDATI ö)¡èØÒ¸ô)‘0R3<Øì\…ùŠcÇŽÓO¬1²€Ó**y“ù‚"€Â ¡�ßFðuÞÞ²q(µsçN•¸ÿþûeÊ¿F”Â�î4ÌøK b£J*QÏ£çË2)ÁóãˆT-#pT 1ƒ™/B¢’ ̽ÄLJOJ€J/„óm5�$°?CÀˆD )‘©ŽdZÖ|‹t4©#ÃßÜÃ?\&ÄžÿéêAÿ¸­7�õ³fÍ’iŽ„õ®Q£†L§$<#Ön¦’™º[­(ü0£õ#GŽº¸Ñˆ~út¤NËø®ð9ÎÇJ‰(�Y:ßÙ¦¹dÊ“p§›{,4Õ—U¾y’�”@/C?ƒX©HRlp�­‘…|R"|Œ°âÜÝ<ˆ"ºÆGv¦ù‹KJàÈ ôJH^ˆõS�þ‰µŽÐêÓ0)A¨{¦¶’–ïÈÄ0.FJ$Œ”€ÅÖ) ¹»'NˆY s$Qz4š…¦Õ‘ƒpA¢aÇ©" = ?Ö¾pþµ×^+�f¦„¨2ŽâEGšóiÔY'œYÔ1®�Ÿæ×rÏ»ï¾;¥�Éö<þ³úz)ÁÈÀí·ß.�4£¾U óe9F#LëAà¨Ð¨ãÉÅ÷«_ýª[±b…²¥!`¤Ak2­¯¨#QÈÙÆë¾J¦:Eâ”Î%ߤÎçÖt,±0ƒlõ%[=èŸkëÅ��;êqÊu¶oñôÓOË>Ú;¦dúÑ5è«¿ÊÓƒ4ôeq#Röé™¶À7W\q…¬«O�x@:¥ú�²Ä÷”ÊO~òi+‰ ƒn”îÔsu™)OÒuºpÑ©ªåÍ,ex/~Xΰ¼ãŽ;äq°Fŧ„ „AŸL­Ðk³Ä L[¡nC¿ˆ:FÚE‹Ét\ôô ŒJ‡�>·¿ŒKJ�Ö�¾�2ÚÌã�?.yŒO3l(¾0PÃ>tÍl!aýt¶n�@¸/YñwÈ|EîmÑ72ãcG CÀ0 CÀ0 CÀ0 �’FÀH‰„YJ”ti¶—3 CÀ0 C HÀç~¾ÒýfΜY$oa�i†@þ)a¤Dþ¥È®`†€!`†€!`†€!`”#%Œ”(G±±$†€!`†€!`†€!`†@þ)a¤Dþ¥È®`†€!`†€!`†€!`”H‰;§o½$?îmŽ.Ë‘iQI¦L™âêÔ©#Þ„‰jAD}zp®Fz bekذaò08¡WæÌ™#x„_í‰'ž�`µjÕrßýîwß�J\�(*O4ºyÆ�|ñq/ožž›ˆþ�¨Ñ7Ø¿k×.}¥ ú†FâðÓ±®iyžð±ÈuHK4ÞƒÈ/D¥Ðð³QLjnáGáb\çØ±cAHPŧAƒnÁ‚r?}�ðó°o¼h­¡E#„TÐ%í2†€!PNŒ”(!K B}Bw›’ÐJ#FŒ�¢Á>BfiX0H‚\µiÓÆM˜0ABG‚�kg“É“'»¶mÛJh¦wÞyG”‚={öH2U¦_~ùe÷é§ŸJØ;È„XÑûö퓆“çõI‰¨c¤½ñÆŽ¡¸&až“¦!/£žGn\D‹” �”(¢‚`�ZüùÏvýúõ“úõ¡‡Êù™†êºtéâþþ÷¿»7ÞxCÒ¿ýöÛYÓg«³^ÀN( ¢:ÀtÔh7mÚ$ïB¨F´sJ‡síÚµrŒ!@Âj—¢0ð!Q»ví2¤ÄÆ�]½zõ$<8zK§N�$¤%8”G'ŠÊ%%Œ€;a\•lÌ7O^ýõ2á,éÌ׬Y3;Ê}Óuä)+Ꮇÿ<òÀÞŸö“pê3fÌ9%êX.¤ø £ñ>W]u•Û²e‹wg'zëOúÓ”}s£eË–e°¹˜÷³k†@flúF ‘Û·ow›7or›ŠbÁ$åú믎üðC‰M�•� DdB6!ø«¯¾œ6zôh7fÌÙ^³f�kß¾}pÌ_áX³fÍÜòåË£B>)uìÌ™3�\I®‰2òÚk¯É壞ǿ1¬CJ „aiÂúìÙ³ƒÇ¦SCÜvòkÿ‡ ‚t@Qâ8„ʲzõjQru„‡ëÒQ21 �̼ûî»®aÆî±ÇsãÇ��e)ѨQ#G�­Ò»wo7mÚ4Ý̸Œª3&²E‡@TøÔ©SîòË/w.\Þëøƒûè£�d;ÜáìÕ«—›8qbpn)­0òÿ½ï}OH,G|�¤�lWY²d‰ëر£l–G'ŠÊ“0)ÁMèÐ}�|ó$)�¥iݺuݹsçä>MJpÑÓ§O ÙAyóI‰ð±\I yPç\ß¾}Ý#�<¢›²Dg�KJL�:Utô¬Ïô; ¿ÐeT”ó·[´h!ßÑ—¿üeÙOZCÀ¸tø}–Ê~ îmÓ7.ꌜÐ@ëè&€W_}u0’B%Þ½{÷È»cÙàœL¥=wîÜÈt„½GaWA`T7nœ„¿j×®�X3ðÚ êù,äDÔ±÷ßßU­Z5ÅÔ¥ÕªU’,êyüëÃ:�*È%Lt!�æÍ›&‘(©ŒžéÈ ¦’}úô‘óHûƒüÀ9r$xåÅ‹›¥D€†­ñ˜4iR,R‚©tþ(á AƒœšOçzç¨:2×kØy…‰@T2¢KF©óçϧ¼„߆¨ÆjПΘrr‰l@ð…I‰ð«AH0�)�N•'aRâèÑ£®~ýúnýúõr¿|ó$)�E*ÓDtp¢¢I ,% ´,B|R"|,.)�>ùè£�Êuõ/.)AùGOe�ï¢G�”�”àž:a+}[†@å"`¤D YJhÑAQ¡a"îµo9€9'wXaæ úRMë/ñÑ´iSéÔr= Ì6„F6a?Œæ3"�åŒ>Bg˜ŽõþýûV�\7,Q wºc(i(4”�tÖuþmÔó„ï[èÛ`·cÇŽà1Ù†„bôŒüåýUð¼YLèmݺ5…¼Ñs�”P$liÄG .)AGœÑGêBêdF|ãHºz0Nz;·pˆêóÔt°Ð�|§­£<éü{:ÀøÀm7Ó‹üv¡pߺüO–�”@7Àzз.‰«E剒L•{�|_ZùæI&R‡’©» ‡”@_P,Ñ ˆ‡jÕª‰õ$ºdÓQ²Ë•”` –´”ÏÈuõ/.)Ñ¿™b¬é™Ò„ÞŠ)¡¨ØÒ(Œ”(AR‚¢wâÄ qê1�P9£ôêœe:ª°ËªÄ¤+®{÷î•Fa yÇyf.–464bøŠ` ÆüùóS,%|å›FÂ¥p§;Æ;¶jÕJ”�þð‡âô?HÔó„ï[èÛ�¼« L?Ûtl˜Wë Î÷PTP’°¦À‚bøðá)¤•‘Š’- �øÄ%%p¸Ç¨�¬Æ,Ë8wNWÆIoç.t4éúr×]w¹eË–ù»d�‘^ßq ?*O92dˆëÚµk™t¥´#Š”àÛ„�‡¸W)�N•'JJ`™È³Ð.«#÷Ì7O¢H ®Ï´M¦ïÆ!%Ôïˆb¢Kß‚:F­08uláÂ…Áà“^ Rãøñãe]âp}åÊ•zZ°ŒKJp¾:Ìä"�èHy¬ël‡§o°Ï,%*û3 �B$% ôùáÿ‹zb›}cýáÖ J•*7N)ä¿vs.¾ "×2<Dƒ?‚îWÎTÚtP}at'”™e†st~çaùðÊ+¯dJìg®N˜T 5tî ŽŸhHT %h Â¥p§;û®BÂ"Dß/êy4M±,3‘é,% i|¿úŽ'Ož% #% [ñˆKJp¿ÎêСC`Ù•ëÝÓÕƒ¹¦µó :·t0ý©Œô£§0@ pú£F�’Á¶ý0ÛtÎhËKY2‘øi¡ýGø*�N•'>)ÎøÍÂ’E%ß<ÉFJàê¾ûî+�ð`S>Ž.¹/)?Ÿ”ƒäk•³gÏJ›0>zNx—”[J Ÿê4,H‰º¢‚uŸ¤`¿‘ŠŽ- �K�À¥&%ÈþÍo~#N¤±ºÊö£¾!–‘iÊÎO~ò‰¨ACÀ´�‘#GÊœSN¥ÁfD�Ó@ÒÐd3éd¾âرcå<¬am[¤BCE%O¦ø‚"€Â ¡�ßFðuÞÞ² Û¹sçN±Ô¸ÿþûeÊ¿F”Â�î4̼;CUR‰z=§X–™H žG¤j�£JˆÌ|"�•aî%>>|RìPz)Ì·Õt’Àþ C �L¤D¦:’imXGð-Ò QG†¿¹‡~¸Lˆ=ÿ!ÒÕƒþq[/n ëgÍš%Ó7lØàjÔ¨!Ó) ψµ›†i„d¦îV+ ¿Ìh=ºûJYÒ‘8-ã»ÂçTXÊ«eÊ“p§›A!,4Õ·V¾y’�”@/C?ƒ|ªHRÜp�­‘…|R"|Œ°âÜÝ<ˆ"ºÆGv¦ù‹KJàÈ«_ôJH^ˆõS�þ‰µŽÐêÓ0)AÄ:¦¶’–ïÈÄ0.—š” oŒ? ysùQg�ÍH‰4e†Î8Š.a;!þýßÿ=Åo¤•7Þâa³uþ`šK»˜‚Y s$Qz4š…ž #á‚DǧŠ0ô�!KÓqþµ×^+�f¦„¨2ŽâEGšóiÔYÇagÔ1®‹•ók¹çÝwß�ÒÀd{}®bXF‘Œ Ü~ûí’ÏŒð�©àC„c4ÂDàÀ±žïs„FOæ(¾”¡+VhR[†@°&ÓúŠ:…œm¼î«dª#Q”!Né\òM¦«�±0ƒlõ%[=èŸkëÅ��;êqÊu¶oñôÓOË>Ú;YúÑ5è«¿ÊÓƒ4xq#RöéÑOøæÀáŠ+®�uõ)ðÀH§T¿Q–øžR)�N”)OÒuºpÑ©ªåÍ,ex/~Xΰ¼ãŽ;ä°Fŧ„ „AœéL­Ðk³Ä L[¡nC¿ˆ:FÚE‹Ét\ôô ŒJ‡�>·¿ŒKJ�Ö�¾�2ÚÌã�?.ú>Ͱ¡ øÂ@ ûÐ5Ô11 �K‡@¸/Y™O½�”¨LÄí^†€!`†€!`†€!`†@!`¤Äç¾(ŠÞ§D•+{CÀ0 CÀ0 �ðù„Còt¿™3gF¤´C†€!`”FJ)QZ%ÚÞÆ0 CÀ0 CÀ0 C h0RÂH‰¢)¬ö †€!`†€!`†€!`¥…€‘FJ”V‰¶·1 CÀ0 CÀ0 CÀ(Œ”(QRâÉ'Ÿ/Ì~I$l'Ñ7ð2Œ×w UåŸ^'ÄHƒ‡ømÛ¶…OI»ýñÇ‹×i<ÉaÞ¼y)çÊ OÏ„Å+²ÆÀæ$BC  §¢p¡î%ŸI2øãÿèªW¯žòò„€]ºt©ì£='2å�zyúôéÁ¹é�ˆ ÔõÆ “�‡Á Z‰Ò5ÎA·xõÕWuWÚeTžht òŒùâã^Þèh¼¡ëÑõ|)OHP?}Üõ–-[–Á&î5ì|CÀ¨Œ”(AR¢S§NB>ø¤Ä /¼ͦè@RÀX³Ì$~ø¡�X=¨À˜C&db�û üèѣݘ1c$Ùš5k\ûöíÓ^ë�… ÇŽ9"Ê;9DqH'4r?þñ�SÞ‡Ñ#:Ó÷ôe,fÍš•îR½|6l(–ãÇ��e)ѨQ#!kô{÷îí }² Ø5kÖÌ-_¾Ü1Rg¤D6Äìx’€”˜3gŽX~±>{öìàõ!ýî¼óN±ÜjÒ¤‰ó\:L�t\°ì1b„(ë$^½zµÔ{:âÊu!M’ƒ@)±~ùå—» .€`QøÑGÉv¸ÃÙ«W/7qâÄàܤ¬DéŠzÀO<áš7ož¢³èq•'j)¡¤éèÐ}�|ó$)�¥iݺuƒ˜Š&%xöÓ§O ÙAyóI‰ð±\I Ä9×·o_÷È#�è¦,ËCJL�:UêPêQt;ýÈ/êN•ǧl·hÑB¾#,o9�´&†€!péðu¤Ê~ îýÊ+¯¸£G�:ÚØ\~'Ožt Ó/®R¥ÊÍŸS ù¯•DHÐõë×»þýûKçÜ'%`º]÷…Nû›o¾éïJYDz�JÞ*í¹sçú»Ò®ÃÞûÓC–,Y"£ôœi±ƒ„UY¼x±YJ( \Fu€!á!þ±dD‘:þ| B~bŒvv÷îÝ)ç$a#›®�ByË-·8¬*š”@±­_¿¾C'CòÍ“L¤©LQ2´¢I °�Ðb`ñI‰ð±¸¤úä£�>*×Õ¿¸¤å=•A4¾‹=zDP6R‚{¢ úVú¶4 �ÊGÀH‰ÏÉŒ¢'%P„±d`ÊoŸ” QÁ|“Nösüºë®s;wîÌXêðÑ´iSQ¢ICa�Ù†•Î&Œâ0¿Œ2Ê™€ |£Èïß¿ßa…)ÁuÂ¥SN”x@¹¢ƒp 1¤SNcÄô_P4°&xæ™güݲN:¦­hg Ì E´#.)�âBƒÏhØCJùfŸ¹¼º‘¹ dç$ ê²;v¯Ì6æô°ìU«V•ºJ¶nÝÚ­[·N6W­Zå ·nÝšvÞ´‘ŠZ2—Q¤ˆÐ Ã7pLk¤~×ù÷t€ñ€/(Ún$hû’&Ùt�nݺÖƒEJ0Uì8ñ}iå›'™H m:$~¸È_ò[Ë�æw¦éÔOêã�%uñP­Z5±ÖB—ëØ±£LGÉv,WR� ýŽòÉ`“/qI á˜b¬Â”&ôVÄH EÅ–†@q `¤D ‘4$+V¬�’&%fΜ)P:£4ÔøÀáa”¥�FX…! #}4â¹XJÐØ0§_˜ûÏŸ??ÅRÂï 3‚È‚/ø¾ÀE”cMXq,2üÑE¦x@¶è¨�MüJðáFÛ?¯XÖã’8ºde +•Áƒ‹"ç}�”ˆƒ–�› !P~Uyc›º–:֜Ӣ¸«Ði¡3„ÅðáÃÅÚB�)¡H$sIG“Ž¡/8¨^¶l™¿KÖéõú£òÔûC† q]»v-“®Ôw`)‘I×ÀÜÖ·Í…”ˆÊú>­¨Ôb œóÍ“(R‚ë3MlóæÍ±H õ;.¾5m¾¯OEcê­>é5!5ðs¦ø( ‚ž¶råJ=-XÆ%%8_­Ñ¸$u2b¤D«­E�€‘%DJ0êFeÌeÆœuFì^|ñÅÀa$%óÌ™3)fÆéJ+Ê #0:?�s°|`ÎM6a®žïHRCçâø‰†DR‚J¶ž]ýAè~6Ê&Ï<Ÿ’ï½÷ž\G½“k:–œ !�EFزÂ?¯˜Öã’¼›ÿîXŒ¤Ã* #%¢Ð±cID€:6)‘ÎR¢U«Vi}²`ÝE§‹2#%‰d.™æCîOÍÀ/ �iÔâFÑ5j” °íw€Ù¦|F9‰Ök”Ú2J×`ê"–˜ª3]yå• ìÙgŸÍCTžh§[§gá7Ë�ò•ožd#%ðCC42¬4ƒ.™,%r!%¸/)5BšOJ„�q=t?•³gÏJ›0>zNx—”[J Ÿ•Áb�"¶n\:Œ”(!RÂ/FaK {ˆ È ¬$ˆÚà‡ÓôÓúëÌW$R¦Ÿ8�ÂäŸô*4TTò„'óŠt`!4˜gͽµâ'Š¡@™:Bãyÿý÷Ê&©XH¨WqÿšœÏu­€dÀd%M†>*o˜tȆ÷ß?kÉ;qâ„tæIƒÒóÚk¯¥¤Ñ‘ƒpAB‘Æo =Ó4,–&æ|Âr¢¤3�Bî§Ÿ~Zâ…³ßÿáÝa¡©¸.¦¬xSFh UBQóÓÑØ LA¡ó�aÒZl‚õоy‚À6^¾U2å 3˜� ±ÎÕt,±hA9óeXïÉT-¶“bÎÇÅÖ ˆ"%©»ýöÛ¥Þeôη2Ëc|‹DàÀñ,d« Jöm·Ý&õD­NÍÓã¶,}èÜQn¨ë)#¾um%ûh ™féG× ¬þ¨ï™®§me飖ú†™t�Ô³\NŽ.I“)OÒuºpÑé#åÍ,e®¸â ù¡ã°~ÇwÈãc�ê"@pN®¤S+ôÚ,±„EÂÄAèÔgQÇH»hÑ¢@ߢþÒÁ¨tøÈÍBqI ’ûÑ7°†õ§Í<þøãRÿ2hAŒîâ Ä0ûÐk ‘M CàÒ!îKVæ“po‹¾Q™ˆÛ½ CÀ0 CÀ0 CÀ0 �BÀH‰µ”( 2f�b†€!`†€!BGà>ø`ÚÊM CÀH FJ)‘”²nïi†€!`†€!`†€!P`)a¤D�I{CÀ0 CÀ0 CÀ0 �¤ `¤„‘I)ëöž†€!`†€!`†€!`†€‘ "%Ö¯_/žÞñÖ�Çæ\¢oÕñx&ÆKü¶mÛr*„0Ãë4ž¿ñ?oÞ¼”t„2ÃÓ3¡AñЬ1°9‰OÜ‹´xo&&;BؼË.»,ˆ�Çd?¬)ž¡ñJM:¢Œ<÷ÜsÁ= ©‡'lbV „PUÅ.�;wÂtåò.DîèÙ³§„­S§N™ˆ(Ù®�GkBŽ1ÖÄ0>C }£¢p¡î%ŸI2øãÿèªW¯žòò„d^ºt©ì# 7‘9(ÔËÓ§OÎÕHDL ®6l˜„< NHÐJ”®¡0pºÊ¢$*O4ºyÆ�|ñq/ožhxw¢jè½!úûvíÚ<¶FßÐHšF—š–çÑ}º0`€\‡´Dãà=ˆüBT ?uŒè~4.ÆuŽ;„U|4hà,X ÷Ó÷Ðçð—áH"Á‹VÐÊ<D© KÚe C œ)‘R‚øË�„³¢’ÿþ÷¿/�ôlå¦M›6n„ ª²‚�Æ7Ï{” IDAT›Lžèh¼ÏUW]%ºžÞ—eyB‚úéã®·lÙ² 6q¯aç†@Å p)ûeÜÛB‚VL>f½Ê¯~õ+Ç(‹ DA�5¤qÐ}áå‡~($V*0æ� Ù䦛nJiàG�íÆŒ#ÉÖ¬YãÚ·oŸöï¾û®[¸papìÈ‘#¢|±ƒ‘C‡tB#÷ãÿØ1ª Âè�idÅŠŽk© ìÏž=[7‹f > 6t�=ö˜?~|,K‰F� Y£/Û»woé“MȯfÍš¹åË—K2R"bv)>–+)!€8çúöí[Æjµ<¤ÄÔ©S¥¥ÅT¿ò‹ºSåðáÃ)Û-Z´�ï«[Î#­‰!`\:|©²ŸÂH‰JDœÆåXåÌ™3Òȼ÷Þ{º«ÌË*y_¨´çÎ�ëïJ»{OZeÉ’%2JÏö¸qã$üU»víÜ5×\# jÑ çë…AÍ8 Sh„™‚q÷Ýw»·ÞzKOMYîÝ»WFPü}aTdóæÍ’>+?m¡­Oš4))Ѹqã”Q‰Aƒ95×ÌõÝ ¶Œ”È-;/  ÌBðQ·}úD¤ÅbÌ'N/^l–I(@Þ1ª ñ�%#ŠÔùóçS®âw€içhgwïÞ�rN6²éX�ÞrË-k€Š&%Ž=*™L›EòÍ“L¤DÛ¶mešˆ’¡MJ€ „ˆOJ„�Å%%Ð'}ôQ¹®þÅ%%(ÿè© ¢ñ]ôèÑ# ‚²‘ÜB'lE¢ÏbKCÀ¨\Œ”HÈô ÈüBlݺUFW˜Îpå•WЉa¦"‡ÿˆ¦M›ŠMCGa�Ù†•Î&Œâ0¿Œ2Ê™€ |£Èïß¿_¦S0­‚ë†SJ|@(ñ€rE#á@cH§œÆˆé¾ h`MðÌ3Ïø»e�wfôñç?ÿy™cŶ#.)AžÓà3ÚöX’øfŸ¹¼¿‘¹ dç$ ê²;v¯Ì6æôŒfW­ZUê*=غuk·nÝ:Ù\µj•ƒ(¤N›[s‚‘ŠZ2—Q¤ˆÐ Ãb 8¦5R¿k9¢Œ/Ú|Ún¦ûÑf&M²éݺu ¬+Š”`ªØ3pâûÒÊ7O2‘ Ú:tHüp‘¿qH ê'õñÀ’º�x¨V­šXk¡ËuìØ1УŽåJJ ³¡ßQ>lò%.)Ñ¿™b¬×`Jz+b¤„¢bKC 80R"!¤Åñù矗†‹ù¥(¼tÐQl2 �FX…¡qg¤�F<K æTâ+‚‘õùóç§XJø�aFpêׯŸò7nÿQŽ5aűÈðG™âqÝu×¥˜Pû¦1¤C~ã�7¦%-üs }=.)�£KFP–°R|¸X[è1#%‰d.éhÒ1ôå®»îrË–-ówÉ:#½¾ã@TžzÈ�!®k×®eÒ•ú,%2éLC…¬QÉ…”ˆÊú>­¨ÔbŠ{ä›'Q¤×Ç+Ð8¤„úQ té[CÐæ«Ç£Ž1õVŸôZ�Ç�/ãè=måÊ•zZ°ŒKJp¾Z£qHêdÄH‰V[1Š#%DJ`"¬¢„ƒn§[¢Ì0£óó8Ë�dæêá„IRC#^àø‰†DR‚J¶ž]ýAè~6õÍ>Þ‡çSRk®£ÞÉ5K51r©Âðï~÷»ºY”˸¤/é[•tèÐ!-VQ`)…ŽK"™H‰t–­ZµJ;ý ë.:-X”©)¡H$sÉ4:˜þÔ ü’Йf€@-n�Q£FÉàÛ~˜m:gQN¢õ¥¶ŒÒ5˜ºˆ%&ß/?iˆöì³Ïf„!*O|R‚ à7 K•|ó$)�¢‘a¥¡3zï|]r_Rj„4Ÿ”ƒä@÷S9{ö¬”a° ã£ç„—qI‰°¥ú)Qi,ÖÈctJ%,tº¦MßP4li\ZŒ”H)Aã@匣”æ!>þøãYKç�;VL?ñK�É?ÑTh¨¨ä Oæ éÀBh0ÏšC­ø‰¢A㯑@Õ i�`¹A„õ*î_“ó¹£DAIS�¡ÏOÔc�:u§S˜°rB‡!¤˜%)‘)O˜Fƒu&(¶`¶”yøá‡é°1R"*¶/ÉPÿ¥³”«eŽ*q¨¦ßõÏSO=%ÐñMÇ'%èdP¿QgáÀWÓ%뤽;$;~•p6½aÃqNMÇrë%é!µ(+jEáw€­9r¤IÃ/J×c‘‹¥i2åI¸Ó͈=£ê[+ß<ÉFJ —¡ŸA>U$)Á;ã�W#}ù¤Dø–ªÜ] <ˆ"ºÆGv¦ù‹KJ¥ˆi¼ä5ƒ.3ª¢bm„5ý&LJ~ž©t¤å;21 �K‡€‘ !%(bøQ z„ìr.sLOœ8!f�°ï(=¯½öZJiÕ‘ƒpAâÚ8qƒ¡gº€†ÅÒÄœíµ×Š’Î”U¸Ÿ~úi‰Žòîÿƒ‰0 ¤^½zr]LY!YCF•PÔüt46Þ£!&8FgüÁ”FRÑÖ+ú~ä ÛxùVÉ”'4Ì`F4Ä:TÓ±„B9óeXïÉT-¶“bÎÇÅÖ ˆ"%©»ýöÛEifôη2Ëc|‹DàÀñ¬o͆’}Ûm·IG¢–B&ÉB€Î冺ž2â[GÐV²�6–i–~t :Àê/€úžézÚV& A'¾°Òéar%%2åIºN7.:}¤¼y ÒW\!?tÖTA°FUGàlCÄ™¾ÁÔ ½6K,aõ::PÄ6AèÔgaRÂ?ƹ‹-’é¸Dw£þÒÁ¨tøÈÍBqI ’ûÑ7ðOæO›að Ò‚A+bt_ †Ù‡^‰lb—�p_²2Ÿ„{[HÐÊDÜîe†€!`†€!`†€!`FJ$ÈR¢€Ê�=Š!`†€!`‰FGàXn¦ûÍœ93ÑØØË†@²0RÂH‰d•x{[CÀ0 CÀ0 CÀ0 �‚AÀH #% ¦0Úƒ†€!`†€!`†€!`$ #%Œ”HV‰··5 CÀ0 CÀ0 CÀ(Œ”(AR‚ÐsxUÖˆZÚÈl<½ã�¯Èo¾ù¦ʸ$ªâñLLÚmÛ¶e<×?@3¼Ns/<ÇÏ›7Ï?,¡ÌðôL$¼"k lN"Ä“ÿœÄdW!ŠÞ¦¹nÓ¦Ma²Â‚×zîéÇ¿óÎ;ƒxZÆ“ô˜1cÂI‹j»sçÎA˜®\œÈ={ö”è#Da GDÉv ýôS÷ä“O– ý˜®·iÓÆM˜0ABÕAÐÙ§ñÍ&“'OvmÛ¶•ÐLï¼óŽ„ݳg�$ÓÎíË/¿,ÏBè©)S¦È1È BœmÙ²EŽM›6-%¾ú½÷Þ<á>à ázÄ÷I ÿy‰GݬY3§Ïã+†u£öë×OpÒØá¹<÷СC]—.]ñÌ!®Àùí·ßΚ¼öíÛ'Ê iŒ”È ™�� .)A}k¤D‚ RèU£:ÀtÔ¨‹7mÚ$©ÕQ¯�S:œk×®•cté&1„ósÏ=çn¼ñFÑChÇî»ï>7zôhÁ…Î~­ZµÜÆ�E¿;v¬ëСC(R7£òDI Br#àNÈV%ÿóÍ`Âá,éÌ׬Y3;Ê}Óuä)+šSßÈݧK?ì'áÝg̘!¡Ø9u,R|ÐAyŸ«®ºJt=½/Ëò„%ƒpè)&†€!P¼)QB¤¬uê”XC^¸p!‹Bµw8{õêå&Nœœ›”Gú÷ï¼.#óX"/¼ð‚»ãŽ;‚c�|o,3ITž„I ®1pàÀ€É7O2‘è|uëÖuçÎ�“Ç®hR‚‹b¡Êu)o>)>–+)!êœëÛ·¯{ä‘GtS–qI êQêG›°¥ßõ2ú’Öï¼òJÊýlÃ0 _Gªì§âÞÔG�u´±¹üNž<é(¦_\¥J•›?§ò_»9—ÎveƒTÞûa2ç“þuΞ=+fü„ Š:ø(˾`þ?wî\WÚuØ{ßrÉ’%2JÏÉãÆ�“ðWíÚµ“F¤{÷îAƒ¾Ø¬Y³kL-o¹å7dÈaí[·n�2…‘öQ 2‘Œ0Õ«WÏ`ò¯æ�œOC…RŽƒ/8P¤ ¡�ÿF Ôû3£˜IÒx¦ ÒÁŠ õ*î_“u¬!á€�`N6JëaIg)\»T$)‘)OÀëðB±%OÂ~G~øáÀ‡G:œŒ”H‡ŠíK2™H 0Á1°ZFà¨RU¿9œð=õÔSß$‘q|R‚Nõu/¦åš.ÉX'íÝ!ëñ«„³é 6©NÇ_ X×h˜FH-ÊŠZQø`Úø‘#G¦tÀ“‚#m$:Œ:ëf`¿¸ÐBN Ó0̓N}6É”'áN7Ó°UßZùæI6R‚w@?ƒX©HR<ðm£‘¾|R"| «Uî�nàÍTa$Œ�ìLóg¤DPl—!�Œ”(!R’(½ü`§!!XÇÂyúé§Å"�ù…„ÉbŠD6Áª³@Øw”F|Ñ‘ƒpAB‘Ɖ÷bº€†ÅÒ´œíµ×Êó1%Dnž‘p¦úºÄ»)‚Ó.œ]r]–Œ¥“t¤ÊqÝ‹Y°^QLȶñò­’)O Âüeö†næ�j:–�C˜“û‚2¬÷d*ŠÛI 1çãbë†D‘ø–À|ß7Ô=¾•N-9Æ·HÏbb®y ‹udjØÒMϳeé"@çŽrC]Oñ­#h+ÙG[È´F?º`õ@}Ït=Lד&t„ñ§�®AÔ*pP],ðkÀ· ¾�Ùül‘&Sž¤ët3à¢SUË›'XÊ଑zK�BHP?,:„AŸL­Ðk³Ä L[A× >‹:FÚE‹Ét\ê-ê/ŒJ‡�Ü,ô—”@g¡F'á}X燥B¬«Øô E–†@a"îKVæSro‹¾Q™ˆÛ½ CÀ0 CÀ0 CÀ0 �BÀH‰²”( re�b†€!`†€!�ŽÀ ÏžîÇTUCÀ0’‚€‘FJ$¥¬Û{†€!`†€!`†€!`FJ)Q`EÒÇ0 CÀ0 CÀ0 C ))a¤DRʺ½§!`†€!`†€!`†@�!`¤D‰’O>ù¤xaöËÛK/½$žÞñÆ�WäL‘+ü4„xÂC<ð¿mÛ6ÿpÆuBpáuš{á9~Þ¼y)çÊ OÏ„½çž{‚Øœõœ§OŸoÓ\·iÓ¦Ž0YaÁk=÷ôc„AD#H°Ä“ô˜1cÂI‹j»sçÎA˜®\œÈ={ö”0huêÔ)%Û5¡FÈ1æÀš†ÀgàÝ/ï-Ô½„â3I&”©êÕ«§¼*‘7ˆÀA4 ”«€!Ñ7ÐoˆL¥á;õxx•']‚<ãG¾ø¸—7OLD ÿ‡þ†}ƒý»ví U£oh$?ëš–ç 0`€\‡´Dãà=ˆLBhc ?uŒðÇ~4.ÆuŽ;„U|4h aÝý÷?Ûáð¦Á‹†VèÌ…ÆÄ0Š#%J�”8~ü¸(+Tè*|ð�„Û²e‹ûôÓOÝ´iÓrŠ[Þ¦M7a UY@gŸÆ7›Lž T&R‚&ÿƒéŠueÒ¤I±H‰Æ�§ŒJ 4È©¹f®)‘+Rv^R@!†àc´•z"EiÞ¼y`¢Œ‚Ìh¶Ž¤ÒAêÓ§�œGZ,¼ ‹U OÍRBÑHÞ2ª yñ�%#ŠÔùóçSò;ÀctÖvïÞ�rN6˜r€ÀƒXZêà £ÿXúÂ4_§ð�±•'aR=¤~ýú� É7O2‘ Â0MDÉЊ&%°”€Ðb`ñI‰ð±¸¤ú$Ók|‰KJhZ,A¤ùÅôVÈÞ[o½U“ØÒ0 #%>'3Šž”@Æ’Æ<Š”xõÕWÅlñ­·ÞŠ,Žø�ÀoJ4 …f{êÔ©‘é8È(S1`©!e‡ÑGP¾Qä÷ïß/V�\7,áçÄõÊ+¯”k¡ÄCŽ p@F ø­Ði ™H '掖‚Ä%%P\hðí{0ü~Ä#%â eç&ê²;v¯Ê6æô°ìU«Vu(î*�¦ëÖ­“M¦ŸAnݺ5í¼i#%µd.£:À ‚%##ÀXÀA„Q¿ëü{:ÀøÀWm7�o¿& Q¦8V«VM,�-WKK:ÚLiD¯#t&¦}îܹ3#XR!Šº\ÇŽe:J¶c¹’èlèw”ÏÈ=õ¯¢I òBœð±bb…‰€‘%DJÐ�¬X±BJZ&RbãÆ�â"‡•{÷îæ™QˆFúºuë–“¥� s*! 0÷Ÿ?~Š¥„ßf‡_Ò='–>Îh8„üNªxe"%°ÎPGaþýŠq=.)�£K¦­ ,�ÃàÁƒEkœ IDAT‘�óîFJÄAËÎM�tVT0¥fâ¯víÚº[–˜Ž£¸«ÐiÁš ŠáÇ‹µ…3RB‘Hæ’C_ Ô—-[æï’uF‰}Ç�þ¨<õ>Ö…]»v-“®ÔwÐÖã¨ç× d@Ü<ðÀòÚ3gÎRžïý²‚ï5ÊR"*O””`‡i’Ôj1Å óÍ“(R‚ëC¸lÞ¼9)¡~GÂåÀ·† ÍW+ ΋:†Š>é5!5ðs¦ø( ´råJ=-XV4)Aý¬røðaÓm[†@a!`¤D ‘ŒºQó£q…1g�;œ†2Wg@(3ŒÀèqÃy¦„¨Â�í9qÚ…³K®Ë’£t’Ž”@ù ®{1 Ö+šwä ÛxùVÉ”'Œaþ‹2{à 7óG5KÈ!ÌÉ}AÖ{2E‹í$†˜óq±uC2YJp ߘ�ãû†ºÇ·2é%Çø‰À�ãYLÌU o!a±î‚LÕ©yzÜ–¥��;Ê u=eÄ·Ž ­dm!Óýèt€Õ_õ=Óõ0]OšÐÆŸºQ«ÀÁ×yðkÀ· ¾�ï¿ÿ~Vˆ2åIºN7.:Uµ¼y‚¥ ÎùaýÊR£†Ÿ*q|J0µB¯ÍKX$L<0m]ƒú,êi-Z$Óq©·¨¿t0*>úÜþ2.)�ÎBŒNÂû°ÎK5ÈbÖUlú†"aKC 0÷%+ó)¹·EߨLÄí^†€!`†€!`†€!`†@!`¤D‰ZJP³G1 CÀ0 CÀ!€#ð|0í�©ª&†€!`$#%Œ”HJY·÷4 CÀ0 CÀ0 CÀ(0Œ”0R¢ÀФ=Ž!`†€!`†€!`†@R0RÂH‰¤”u{OCÀ0 CÀ0 CÀ0 �CÀH‰$%=‡b�hA™#ä\8úF.á¯ñ„‡x".à%~Û¶m9aBpáuÏßxŽŸ7o^J:B™áé™Ð ÷ÜsO›“^zé%¹iñÞìGØ8}ú´x›æXÓ¦Ma²TðH�'r�Q·n]=äˆZѳgO V§N�2Ñ@‚‹`oÒ~ŠzdòšÐ_&†€!�Î�;aórI�o�DHCB2'ݤô Ž¯^½zÊ‹’yéÒ¥²�0ÜDæ = LŸ>=8W#=1�önذaî“O> Ž'i%J×P8ýˆhQ•']‚<ãG¾ø¸—7O4¼;Q5ô‡^„}ƒ}»ví [£oh$M£KMËóè>]0@®CZ¢qðD&!´±†Ÿ�:Føc?ã:ÇŽ“¡ÜGñiР�„u÷ßCŸÃ_†Ã›/Z¡3CCÀ(^Œ”(!R"€°—�4°>)Ax9”¸Ò¦M7a UYÁ@ã›M&Ož,!¶Pœßyç ºgÏI¦ÊôË/¿,d !�¦L™"Ç>øà!¶lÙ"ǦM›–_�ãú<«V­JiQÐÂ!Kõ9‡êºté"ñÈ!m //ZŒr±H ò×H‰b,öÌ—B v�:塇ÊùQÊ['ѹܷoŸ¶ÜÓH‰œ!/ª£:ÀtÔÈûM›6É;ª¢^;§t8×®]+ÇèÒLbç(]C axo½õV!o*‚” $7î„lÕpèùæ 0 ¸ø)Q³fÍ ì(ÇèЇ;ò” Í©éýçÑ}ºôÃ~Þ}ÆŒ®^½zr8êX.¤ø0HÆû\uÕU]Ï—¸!A5-ú.õ¢‰!`/FJ”)+�ÕÁîÝ»…�öI FÁ1‰#¤‡È€ìP�1‡LÈ&7ÝtSʨÃèѣݘ1c$Ùš5k\ûöíÓ^âÝwßu . Ž9rD”/vœ9sFå¿ÿýïÁq¥~ýúGÛß§ë�5rÛ·o×M×»woáQŒ)1gα4a}öìÙÁk@´Üyç�{½I“&ÎÿÀQÐ P”ˆÍ>bÄQH¼zõjÁYGx¸.ä�‰!`dF€úªaÆî±ÇsãÇ��EJ”·N¢þlÖ¬™[¾|¹cäÜH‰ÌùSÌG¢H‰S§N‰5ä… ‚WÄ¢ð£�>’íp‡³W¯^nâĉÁ¹IY‰Ò5ƒY³f¹'žxÂ5oÞ8Ö¸qãF~РANMƒ“Šd…R…žƒ qDÃŒ X-X°@Öi�=S%‰ý}úô‘c¤ÅBÒGeñâÅf)¡`ØÒˆ‰À¤I“b‘Q')3“Šèô¨0#ÍÿX2¢H�?>åÍü0D5�5+’&Ùt Jt ¬*š”@±e dýúõ{¾y’‰”hÛ¶­LÑÁ‰Š&%ÀB "ñI‰ð±¸¤úä£�>šR,ã’šK�0)Á7„. 9…0ø‚UŒ‰!`&FJ|Nf”4)�bB°wï^i€Q !¢æ™â?¿ tjiè(,0ÛS§NÍZšñiÁT XjFäÕƒAè Ó±Þ¿¿Xa@Jpݰ`JY«V­€<ÁõÊ+¯”kÑ©†ñßáþûï“ULó›ßˆY#Š‚ �L?÷…¸ÀçE1 Øíر#xt¶1ß…Õ«Zµªä¯„¸Y·n�l2Ý…ŽÐÖ­[˘wr‚‘Šš- �øÄ%%*¢N2R"~>KŠ(R‚w`Ð�`,n°h¤<©Ù>`|à Š¶›éEt “&Ùt�nݺ”EJ0Uìüñ}iå›'™H m:$ÓvÉß8¤ú‚úx`‰n€@ä2'¯E‹âZ‹;¤†ÎÄñ � ¤ ” l= zØi3™7¨Ö�5jÔp˜`â¡G�¾`Úª¤û5ë:t¼˜ûiŠa=)‘ÎR¢U«Vi眃J,*FJ(¶4â#—”àùÖIFJÄϧbI¡ŠþÔ üÑ™f€@-àô}F�%ƒlû`¶!­iË“&QºÓ7±Ä¤=å‡&ÑÀž}öÙŒ0Eå‰OJpüfaÉ¢’ožd#%˜š@D5,ÔbFï��£Kî‹CJ,_Ÿ”ƒä@÷S9{ö¬�$`ÆGÏ /�”#bÛ†@r0R"!¤ÄÎ�;e¦B‚(8Ù„ùŠcÇŽÓOæå1íÁw4ICEƒŽƒ/8‘Da†ÐÀï#øêý™H 4þ<�'Ó. -LR‰ð¡^Åýk²N8«™3gŠƒF|$ð�LËð ,-°Á ¬#8¥Žçñ}n„ïSÈÛ™H žG¤j�£JH}O"¢<õÔSòjà€ÿ Ÿ”@©OÌ|!y4]!caÏf ™H‰Lud.uÒÃ?øÔI÷žFJ¤C¥töAÖãW gÓ6lžŽ1 X»é@$3u·ZQø`FëGŽ)DEé “Û›Déá+äb)AšLyît3-‹Qõ­•ožd#%ÐËÐÏ Ÿ*’”à�q�­‘…|R"| «Uî�n DµlÙR ã#;Óü)‘Ûe$#%Jˆ”ÀT‘N(?æÂn³Ž… Â:ÁšcŠ)[69q℘¾£ô„CnêÈA¸ ѱũ"÷bn¥†ÅÒûqþµ×^+ÏÇ”í?ýôÓÎTßC—J.àÇT\—%#F*„–",(Š(q*Dîà�Q䙪s'õx1-£H |KÜ~ûíâk,|«¬b8Æû�gŸT*(p�>XŸ@ ­X±BÙÒ0Ò €5™ÖQÔ‘(älãu_%S™K�YKgÉê5½'s©ïØNbÈG—R\§sG=NÙ¢Îö­#h+ÙG[È´F?º`õ@›Ç”Å\ÚûRÄ0“®~×\I‰Ly’®ÓÍ€‹N)ož`)ƒ³F~èu,ï¸ãy|B‚ª#pv@Äñ)ÁÔ ½6Kô&½Ž±Í`uúE˜”ð�qî¢E‹d:.zú„F¥ÃGnú‹KJðœèDÔ�¼ëü°ÅBˆu›¾¡HØÒ(LÂ}ÉÊ|JîmÑ7*q»—!`†€!`†€!`†€!P@)QB–T®ìQ CÀ0 CÀ0"Àøƒ>˜öÇTUCÀ0’‚€‘FJ$¥¬Û{†€!`†€!`†€!`FJ)Q`EÒÇ0 CÀ0 CÀ0 C ))a¤DRʺ½§!`†€!`†€!`†@�!`¤D‰’O>ù¤xaÖòFÈË.»,ðÚŽ§bbZgB<±ïDmضm[¶$rœfx�Æó7‘æÍ›—’ŽPfxz&Œç=÷ÜÄÀ椗^zIîEZ¼7û6NŸ>-Þ¦9Ö´iSG˜,Âp™ƒö€r0}úôà\�ô@ÄÚ»aƹO>ù$8ž¤•(]Cqàô£W_}Uw¥]Få‰F— Ïø‘/>îåÍÂsQÃÿ¡!Dß`ÿ®]»‚çÕè‰ÃOǺ¦åyÂÇ  ×!-Ñ8x"¿j\ÃÏF#¹ „‹q�cÇŽIˆPî§ø4hÐÀÖÑ÷?Ûá𦒠Í�¢Ð˜†@ñ"`¤D ’Ç�e… ]…p�((q¥M›6n„ :²‚�Æ7›Lž<ÙµmÛÖ¡8’”° {öì‘dªL¿üò˲„�NS¦L‘c|ð� „÷䨴iÓRâ«ß{ï½Áó¬Zµ*¥DA ‡,Õç:t¨ëÒ¥‹#–÷o¼!÷ ¼h1ÊÅ"%È_#%бDØ3_JWܯ_?©Sz衜¥¼u�Ë}ûöIçÖH‰œ!/ª£:ÀtÔÈûM›6É;ª¢^;§t8×®]+ÇèÒLbÈØ(]C a±o½õV!o*‚” 0î„lÕpèùæ 0 ¸øBg¾fÍšAØQŽ¥ëÈSV44§¦÷ŸG÷éÒûIx÷3fH8yŽGË…”t;Þ‡°õèz¾Ä ªi +O½hbÅ‹€‘%HJtêÔÉmܸQ'-šŒ‚3bG¨ä!2°zP�1‡LÈ&7ÝtSʨÃèѣݘ1c$Ùš5k\ûöíÓ^âÝwßu . Ž9rD”/vœ9sFeˆ…tR¿~}‰£�îX£F�ÜöíÛƒC½{÷Â#ØQD+�sæÌKÖgÏž<=DË�wÞ鮿þzפIçà(h�(J1b„($^½zµà¬#<\òÆÄ02#@}Õ°aC÷Øc�¹ñãÇDz”(o�DýÙ¬Y3·|ùrÇȹ‘™ó§˜�D‘§N�r—_~¹»páBðŠX~ôÑG²îpöêÕËMœ8187)+Qº†b0kÖ,÷ÄO¸æÍ›§è,zÜ_Få‰ZJ()Aº�:t$ß<ÉDJ`iŠUè¹sçä>MJpQ,T¹.åÍ'%ÂÇr%%äA�s}ûöu�<òˆnÊ2.)�^ƒ¾a¶”à›À"—úYõ¢W^y%å~¶a…ƒ€ßg©ì§âÞÔG�u´±¹üNž<阢_\¥J•›?§ò_»9—Îveƒ÷~ëׯwýû÷wjò§é8 ShÀ°Z¸ûî»Ý[o½¥‡Ó.±l óê S æÎ�ëïJ»{�®²dɱT`{ܸqþª]»vÒˆtïÞ=hPõ|]¢0¨9 檷Ür‹2dˆ°ö­[·vo¾ù¦ž*SA°†À”õÆotÏ?ÿ|p¬qãÆ)Œü Aƒœš*'É 0¤ #<∆A±R“HdFÏTIbŸ>}ä<Òb¡飲xñb³”P0liÄD`Ò¤I±H‰Š¨“Œ”ˆ™IEtzT˜‘fˆ,Q¤ÎŸ?Ÿòf~¢šÎÚîÝ»SÎIÂF6]…�k€Š&%Pl(A'CòÍ“L¤©LÑÁ‰Š&%ÀB "ñI‰ð±¸¤úä£�>*×Õ¿¸¤„¦Ã$LJð 1}r að«CÀ(LŒ”øœÌ(zR‚Ž)– 0æaRÅ„`ïÞ½Ò£@C8DÍ3Å~èÔÒÐQX`¶§N�šµ43ŠÃT XjFäÕƒAè Ó±Þ¿¿Xa@Jpݰ`JY«V­€<ÁõÊ+¯”kÑ©†ñßáþûï“UL[ó›ßˆY#ŠB£McÓÏ}!.ðyQŒv;vì�mÌwaõªV­*ù«!nÖ­['›Lw¡#´uëÖ´ó4�”PÔliÄG .)Qu’‘ñó©XRD‘¼–ŒŒcqƒE#åIçßÓÆ¾ h»™^D2i’M×èÖ­[`AYQ¤S%ÀžÁß—V¾y’‰”`ÐæÐ¡C⇋ü�CJ /¨�–èÄCµjÕÄz]®cÇŽ2%Û±\I ôNô;Ê'f¾T4)A^¨€S\‹aMkKCÀ¸ø)QB¤ ÉŠ+¤Ô„I‰pQb¤k¤<|Ì3£04ӈçb)AcÜJ|E`^<þüK Ÿ`‡_˜~‚ÿ ß±&–>®ïÀÔ”t‚%Nåzôè!Šû,J\ºt…¾…UÓM¶![j×®­»e‰ó=”$”/,(†.ÖzÌH E–†@|â’Q')?ŸŠ%(:†¾Üu×]nÙ²eþ.Yg”Øwè�ÊSΰ.ìÚµk™t¥¾K‰Lº–±�5*¹�QyâOß`ª(í²Z0r�|ó$Š”àúLOؼys,RBýŽ(ºô­!¨cÔ ƒãQǘz«ƒOz-H üœ)>J‚\wÝunåÊ•zZ°¬hR}IåðáÃ2 ¦Û¶4 �ÂBÀH‰"%§æGçÆœuFÐiÔ{2EKFW¢H ”ÎÑyª¤Ãò!—9y-Z´�ÊZÜ!5tî ŽŸhxT %h T`ëiÐÃN‹p˜É¼Aµî€”¨Q£†ÃG�¾`Úª¤û5ë:t¼˜ûiŠa�ûlF˜¢òD;Ý:]¿YX²¨ä›'ÙH ¦&Q ˵˜Ñ{çãè’ûâ�ËWÄ'%ÂÇ 9ÐýTΞ=+z(Ø„ñÑsÂK#%ˆض!�Œ”(!RÂ/¶aK‰�;w QÓ!AD œlÂ|űcÇŠé'óò˜öà;𤡢QÇŠÁ¢f 0Chà÷’D½? „ÆŸgúì�{ØVSþÿû«ërÑÅ�qœI*JLHLaH4#E)çN(é@JTCI"SDŒãÄ)gR™B*©(C—ï`r¶~×kÍï³­g?{ïû¾Ÿç®ç¹Ÿç½®ë¾÷aí½öÚïýÙk¯Ï{}ÖçÃÇ“i�$LR±�0¯âa™¬ÎjâĉÞA#>¸È ¦e„ ,-°Á ‰)$XGp,�:êõJ1¥‘Ü ÓwÌ2G•�8vŸDD¹óÎ;ý-ƒþ7BR‚N xbæ‹üØy¥ˆ‘ê,¶6i¤DZ™O›4räÈȧNÒýˆ”HB¥æìƒ¬Ç¯ΦçÍ›çIx”^°v³�HfÚn³¢`Fë‡ 扊šƒL~w’Õ׈—��¥ç¤=“¸ÒÍ´,FÍ·VeŸI.R‚~ý3ȧb’Ü3²-²PHJÄó°ZåúôíÀƒ�¨6mÚx¨ãøø� "%@Ñ.!PK)QKH ä™)�5òó1Å”-WZ»v­7 „}§Ó¹i#qAB±Å©" =s+-,–]�ã÷Ùg¯43%Äà™3gúxá(ÓáÏÈ|cà˜ŠrY2bd‰ÐR„¥#€E�8KDîàžéÈí¿ÿþÑÜIË/¥e)�o‰:x_`Zµ`C÷Oœ}BPY¢éƒõ Ä�M²|-…€(‹ÖdÖNÑFÒ!g¯û–ÒÚÈ|Ú$ÈZ”¥0Ñ®Ù5™N{Çvm ùâR×QîhÇ‘-ÚìÐ:‚o%ûø2­1Œ®�lþøæ1e1Ÿï}MÄ0­¯¿×|I‰´g’¤t3àbÓG*úL°”ÁY#?¬_YvìØÑWŸ� æœ…ø”`j…•Í’~“•cEl3˜EÛFÿ"NJ„y{ûí·ûé¸ô#èOØ`T>þb±¿BI êIŸˆ6�ûa�–£X±nIÓ7 -…@õD ®KnÍZrmEߨšˆëZB@! „€B@! ª"%j¨¥D5’1UE! „€B †ŽÀÏ9çœÄSU•„€µ‘"%j‹¬ë>…€B@! „€B š! RB¤D5IUG! „€B@! j "%DJÔY×} ! „€B@! „@5C@¤D "%F�yeDZE¨0™ãayoÜxE^¾|¹e¥. ñDÄ<¼sîóÏ?ŸzlRÆM7Ý佇'å²oÉyƒcUY·nÝ2÷Aìí0âŒÐWÌÅ ‘$.¸àS›ü3fDÙÄ Çƒ¹y­g¹xñâ(¿”Vð&�Wéb'ž5¡¿”„€(�“N:) ›—ÏÙDîèÝ»·O¼×^{•‹P”«Œ´v0×yÊ/ hãwØa‡2•%¬}×ÃMd¾|ï&L˜k‘ˆ˜€l 2ÄýôÓOQ~M\Iëk\sÍ5>Ø{ìáN=õTÇ{g‰h&-[¶ôa>Û·oŸó»šõL,ºÏŒÏ%Ľ¢ÏÄ»UÃ~ôßHDß`ß«¯¾j·Eß°HvŽ- °tø IDATí\êcûlÙ¿_ç�ƒû ßD¨q ?›•G8ò0…QÎêÕ«}ˆP®cø4mÚÔÖ�d÷aõ—ñð¦þ„"þ�yæ™Q„�"«¢„€¨"%j)þƒvæ(é“O>q»îº«ÿ° øÿùÏ.j.~>ÛÇsŒ»âŠ+|èÈ¿ýío>T$ß\‰ð’töÜsÏr¤1ןxâ Or@@„¤çÑ‘JJtª–.]ê —8)qýõ×»Î�;;Bhú‰�£_~ù¥/ŠÎÁµ×^›TlÉíÛR¤ÏW¤Dɉƒ*\Å®¸oß¾ž¾ð ó®Í Aƒ\·nÝÜwß}ç hiÓyœ+åjs�¯üÒ@ KFQC^æÏŸïo†P� 6˜rŠÂ9wî\Ÿ‡BˆXSCÆfõ5þþ÷¿û0èëÖ­óJñŸþô'Ò`è�¡…J�2eŠW¾³¤#ë™)A`¸²Õ¡Wö™¼þúë~P%¬Ê|ýúõ£°£ä¡ÐÇyîÓBsÚùa}lŸ-ðŸ„w§oE8yRV^>¤øÐå~vÛm7G(÷04<·"ëmÚ´)‡MEÊÑ9B@T‘5””àã¹ï¾û:£à÷ÜsO$1| øPe%È+ƒcaÌŸzꩬÓ|l<ñ¹é1š&‚c�=Ö-Z´È³è!)A=ÙIJ<ð€;øàƒÝ¬Y³#FqR‚>tI 6œøÙ5!AJ@øSœõI“&E·…Rsä‘GúgߪU+¾àŒ¬B:ÐQB6†ê;œ}ú¸qãÆEÇÖ¤•¬¾$ d»¥;î¸ÃuíÚÕo¾øâ‹þ;hy+V¬ð7¶�´Ìz&qR‚ó àFŒዪì3I#%èK5lØÐmÚ´É_§Ø¤…nذÁ“È[HJÄóò%%|E�sçž{®=z´múeEH‰«¯¾Ú?Kú5XŸÙ`Ï‹¾Œ%¨pûÐCõï–³ìç\%! ª�PgÙÚµàÚÏ<óŒ[¹r¥ã›Ï›�)ôâ:uê´ý…R¨üZÛ|”í­ RE¯×«W/Ç")}öÙg¾ñ% UVbz�|˜h´'OžîÊ\§Ó'%Â0í I‰eË–yë >´ 4pGu”{ûí·ÃSüzœ”`´‘²n¹å_gv:ï–0­¦ÌæÍ›{ :h°õ¥˜øx¢À0]…ŽÄ„é�C‰L"é¤2zf#7˜Jž}öÙþ8Î=ÿüóÝ|A0}útYJDhhE†Àøñã "% QÃQÂ�:3ŸÎ÷Êñv0ßót\õG KæÛÕºukoÉHG ëÀ0… 0DuãÆ�ý @xLM[ÏÕ×à~!$˜ÎAbZ} ³.A±íÙ³g&,YÏ$NJбmÒ¤‰{ì±Ç|™•}&i¤Ö¡ ôØàD±I ,%è/1 D I‰x^¡¤ýÉ1cÆ”Á¼PRù§ŸJ?’÷‚¾¯A¹H . ¡·")S!m!°Õ)ñ ™QcH Fï`~ùèÆg>Z˜¬}úé§ñì2Ûø�8ðÀ½RË9 Ì6ï|S®ŽBœ” ŇjÉ’%Žõ僟x3“h:¯½öš÷ƒ±jÕ*_Õ«®ºÊwF`úQÄKÙœR⥗^ŠÛ˜ïÂêÕ«WÏãf™Ì“eÞ,é¾ûîóógŸ{î¹ræ�ä‹”0Ô´…#P()�"Aœ6é�7Þð~°.+$ÅÛÁBÎÕ±Õ�,˜š£„a¡ƒÅ Ä4òdfû(ÀøÀßn¦ñ=­É)W_2ëÁкKN¾™ô—ðË’ôIXe=#%°@{¦„Xªì3I#%ðáðî»ïúé°\«R‚{7,é� ¶ß~{o=‰ß/Ȧ£äÊË—” ?·`Á/Ÿ D…©PR¢_¿~~б•Á”&ú­$‘†Š–B 4)QI‰ë®»®Ìø(Ò™Á)�™¬Ž Ä#,ŒÂ0ªÎÈ{�=¶¨¥D¼®0ßÌ™Œwâ�qîRÂ>œ”süñÇ»™3gÆ‹ôÛ`Tª¦z�|l-Áô³�bƒ�0a!ZÌÐIš Š‹.ºÈ[[Øñ"% -…@áJJàp�Q=”ÚªóÎ;Ï+–…\9Þr®Ž­Þ h¢†©S§Nîî»ïwùuFzCÇ�á¨Mß0$´U�€H‰HJð‚Ñ�1 úÈ#�xÓ¼�É�·uæ+^zé¥Þ¢ Œ,à¿Á*y“%¥´Ž‚'%^~ùe?ÚOý!$ˆüAG,ž’:ã„DÅ‘#õã~±X»v­?˜·R&s=±I%ˆ_«ºm§YJPO‘šeŽ*1K5Ÿ1wÞy§¿,Pðü’tjÀ«¦þØyÕíþU!PH#%ÒÚHÍbÁ»ˆ¢‰•Sü�9rd¹{á½'µƒa¾ÖKF“o¸áïlb}§�vòÓ)!îù¾�ÉLÛmV¡Ì7~ذaž¨(m4²kŸÔ×À™%ïUÒTUŽÇJ‰($”YúHYÖ£—öLâJ7#öLŸa:-©²Ï$)A¿‡þÄJ1I êN¿Ê" …¤D<Gå\Ÿ~xàÄ’©Â¤8>~gÂ_¡¤ŽL±p! $/ÄŒù©`@ k£�7ú+ÑžÆI BÝ3µ•sy�”„€¨:DJÔ0R‚Q˜ièxb*TH‹ƒ:È.+WB©Ç,ö�N¾Âd#qAâb®ñÀºÍóƒ<`›u¥#Àº�PଫÎÅ\ÕBvÑ)³ó˜ ÉŸm³ ¡ó…£*Îã>Ñ$¼£2÷’ŽÑ=J9éGП0'’IøX½Ãe¡¤ç†Ñ7ð{¶�;Ö?c¦°AÂÄ@ ûèO2¨£$„@Õ!×%·fM¸6:“¢olMÔu-! „€B@! „€Õ‘5ÌR¢šÈ•ª!„€B@!��ÀÃ?ìÏžô›8qbÆ™ÊB@Ô,DJˆ”¨Y­»B@! „€B@�’A@¤„H‰’VUT! „€B@! j"%DJÔ,‰ÖÝ! „€B@! „@É R¢DI‰›nº)ŠÅJs‰Î°ë®»:¼‡^˜{ì1ïåoÝxlN “–Å:!žˆØ€gb<Ä?ÿüóñC2·ÓêÉI„¬Äûs�ðxuëÖ-ã-›Oa³2¡¯˜‹&"I\pÁ>šù3f̈²/¿ürïÁ<ô½xñâ(¿”VâÑ7ŠUwž5¡¿”„€(�“N:) ›—ÏÙDîèÝ»·YHD »îº+ŸÓ¢cÒÚÁè­”4ï¼óŽÛa‡ÊÜ!`í»Fn"sð=à{7a„èX‹ô@Äd‹pØ„<¬É)­¯qÍ5×øÐŸ{챇;õÔSï�%¢™´lÙÒGëjß¾½ó¬”õL,ºÏŒÏ%Ľ¢Ï„ðÜDÔDµ }ƒý¯¾újTm‹¾a‘8ÂóX·s©O<¯ÿþ¾Î%÷Aä¢RXøÙ¬<¢[„Ñ@(ŒrV¯^…5|š6mê¦N�ê¯g÷¯Ûa6ºÉ"®¡Å"„±X%„@)Qb¤aùø{›I˜ˆÉMçå’0RGu”3GIÄ_†Œ œ�üYg�åW•+sÌ1îŠ+®ð¡#‰M¨H>¾¹RV=¿ýö[÷ÄOx’"$%8�ŽTR¢SµtéRÿQå^â¤Äõ×_ï:wîìï�ðgûì³�#N5‰ÎA)‡ ñØR¤ÏW¤Dˆ´Ö…@n7Ü·o_ß¾^xá…¹OøÿG 4ÈuëÖÍ}÷Ýwž ¥M{ï½÷ržŸ«ÌY€( ²`¾áÈËüùóý½ª‘П¦œ¢pÎ�;×ç¡¢Zèì’¸ù*™Õ× ì9áÅéÿÐoùÓŸþäCZRü'Ÿ|â1´P©S¦LÉ2ë™)A`¸²ÕÈÆÊ>“×_½\8K”ùúõëGaG¹n’"�¬Äï°>¾ÂÁ_öóûï¿wô­À‘”•—)> >q?„ƒ_¸papeç*´Ln´iÓ¦6¡Ã…€("%JŒ”€å>ãŒ3|‡#NJ xc`‰xö‡~¸ß¼ÿþû£,–V­ZåãHóqHK��–`ÌŸzê)ÛL]æª'1£-ZäYô�”€Pad')=ðÀîàƒv³fÍò÷'%ñàC—”`ÉŸ]¤Ä1ÅYŸ4iRt[(5Ämßwß}]«V­\ø‚3² é@G‰ü¡C‡úÎ'Ï™3ÇwÐl„‡r±dQB �õë×»fÍšùv÷²Ë.+ÈR¢E‹î…^ˆ ?ýôÓó"NsµƒQ�Z)i²à�?þØ[nÞ¼9ºÇ·Þz+"áã gŸ>}ܸqã¢ckÒJV_’²ÝÒwÜáºvíê7Äá;hiÅŠÞÂÔ¶“–YÏ$NJpþ€܈#|Q•}&i¤}©† ºM›6ùë›” Ð 6x²y I‰x^¾¤„¯¨sÞšwôèѶé—!%®¾újÿ,yžXŸÙ`Ï‹¾Œ%¨pûÐCõï´ìç\%! ª�PgÙÚµàÚÏ<óŒ[¹r¥ã›Ï›�)ôâ:uê´ý…R¨üZÛ|”í­ RÚõèÌÆI‰N8ÁÍž=;:åƒ>ðL4;èÈ¢¬ZÚ¸q£ÿÈ0Z�–˜Þ~´9ŽF{òäÉi§”ÛŸTÏð LûBRbÙ²eÞ „mƒ ¼µÇÛo¿žâ×!XBR‚ÑFʺå–[|�QعgK˜VSfóæÍ½´,BÆÎ«ŽK>ž(0LW¡#qá@:ä�C"“H:©ŒžÙÈ ¦’gŸ}¶?ŽsÏ?ÿ|‡ŒXš>}º,% -…@�Œ?¾ R5%8p 3óé|/oó=OÇU²`¾]­[·vX2Ò‘Â22L¡ Qݸqc?SÓÖsõ5¸_ ¦s�˜AìKPl{öì™ KÖ3‰“tl›4iâ˜6Kªì3I#%°e@Ê'ŠMJ`)A‰!RHJÄó %%èOŽ3Æ—k…’È?ýTú‘¼½zõŠˆ \¤ׄЉ[‘X]´B`ë" Râ2£äI ¦k0Geågûí·÷ù€_ˆçž{ÎÁvóÛn»í¼‰ašÈá?âÀôJ-:„?|¼óM¹: qR‚ª%K–8>xtôùàÄçÃÆ;ã(ÞLÁ$šÎÁk¯½æï‹ÒUW]å;#Ü;Šx)›³BJ¼ôÒKÑ#`ó]X½zõêyÜ,“y²Èé¾ûîóóg‘�¤yš"% 5-…@áJJÐÓ§Mzã�7üÔ;¬à Iñv°�sulõF K¦æ(aXFbq1�XÒ7 A<Ðwä^ðû™Ãt”\yù’ôç,Xàå“�¨0JJôë×ÏO1¶2˜ÒD¿•$RÂPÑR”"%j)qâ‰'z'XX\wÝu æìYzä‘Gü‡ …R"´R°ãl 1À £0Œ¼÷èÑc‹ZJصm óÍœÉxg!Þ§Ã)aNÎ?þøãÝÌ™3­¨2Kð)US=H>¶–`úÙF±Á×H˜°¡£`‰N„]t‘·¶°<‘†„–B p %%p¸Ç¨Ê mÕyç�çËB®o 9WÇVoP4mPÁjÚ©S'w÷ÝwÛf´d¤7tŽÊ#g8€îÞ½{t|M\É"%x7±L‚¸·Ä7"Âü¸@Þ3bÄŽ.³ž‰‘ �P¾ËfÁH•}&Y¤åc ûì³ÏDJ˜ß‘ðY­!hcÌ #WÞ´iÓ¼EjX¤Æš5kÊ9ºÄjõÞ{ï õë…’o3)’ƒ>I¤„‡AB d)QƒH‰aÆù�‰IœvíÚÙfÔ‡(3a…Î #06?�C˜Áœ›|SVG�2â–|¼ÌË3ùL3 ¹H ŽÅй%:úøŸ á_#¼�+¯¼²Æ‘I–<ÿpš‹aƒ �$Çý"% -…@áJJp…ÐÌHåB®,R¢´JëX”[F½Ã©Œô3Í”³€³»>|¸<`;T€ÙF9ã;Z“SZ_×øøüóÏËÜ>Š,¤}˜ÀȬ+Ãý¶žõLBR‚ã»téRÆÇWeŸI.R¿PD*ÃJ#N¬TÆÑ%×epËð ‹x}N°¶ôÙgŸy›8>vL|Y()·” jS›± %êŠ%¥aaû4}Ã�ÐRT="%j)Á”œD¢Àã‘úˆ#Žˆd>4Î8ú¡“Ã<ıcÇæ”@Ž»ôÒK½é'Œ,à¿Á*y“%¥´Ž‚'%ˆÂh?#Dþ #OI�ñQ£FyŸÔ��Ök×®õ§âOóVÊd®' i£ñkU·í4K ê‰#R³ŒÀQ%f©f sç�wúÛÁÏÿ!)A§¬±:a¾­�WÝî_õÕ�4R"­�ÄÑ,Ö¼‹(š´{ñwnäÈ‘åBì…÷žÔ†ùZ/mM¾á†¼³iˆõ�vÚÉO§„¸çûf>$3m·YQ„ 0£õ X°¯&§¤¾Î,y¯’Ÿs¾”‡RÏ5aßéô@|„ÉFâ‚”UOÈêÍ�‘ :¬ÛÎ*±zà1Wµ�]tÊì<æBòÁgÛB�ÑùÂQçÑqG’ðŽÊÜKp�¸)åð Y¤#:tðiF B«È*òø�Çz�4–ø¨ãÉœŽ/¡_C§©vŒ–B@ü‚ÖdÖ&ÑFÒ!g¯û–ÒÚH:Ê´o´I¼“6ŸÛÎciþ�Â}¹ÚÁðX­—6(w´ãÈmvøMcj"ûøÞA²‡Ñ5P€Í_ò…Õ }GK‘òµÏêku ¥ÔÞQ–8µtã�7úo%táOzíX[¦=“$¥›°ëæ'¦¢Ï„A$úzüè/±ìر£¯!Aé×X‚0(ħS+¬l–XÂ’âăD´mô/²ò8—(g8ø¤AœH&ácõ—…’œFßÀïY8m†Á7H ¦°AÂÄ@ ûèO2¨£$„@Õ!×%·fM¸6:“¢olMÔu-! „€B@! „€Õ‘%f)QMäFÕB@! „€¨ø|:çœs'N¬DÉ:U!PZˆ”)QZ«Ú ! „€B@! „@�A@¤„H‰#̺! „€B@! „€(-DJˆ”(-‰Um…€B@! „€B Æ R¢‘aT ¼ ã•ûðÃ÷ÂJعºuë–ñBMè¤\‰ODlÀ31âŸþù\§”É'ˆÅŒ.“áœ#d%ÞŸãað6lØEÊ ²¡°,eåeÕÕÂsQ#üÕ‚Dô ö¿úê«Q=-ú†EâÏcÝÎ¥>ñ¼þýûûr8—hÜ‘_ˆJaág³òˆnF¡0ÊY½zuÔðiÚ´i²Þî#^¶ãáM£-Ò Z,BH‘ŠT1B@T‘5ˆ”ˆËÀàÁƒ�9J"Ü#”BÓ1Ç㮸â :’xЄŠäã›+q= O'%¾ýö[÷ÄOx’ƒŽ@œ”8á„¢k?:üÈeåå[W:g|°[¼xq®Û¨–ù„7íÛ·¯'� !%Û­[7GôÐCý{ÙÃqœ«$„@Õ!ö‘¶v-¸ö3Ï<ãV®\éøÆæó[·n�c ½¸N�:m¡*¿Ö6e{kƒTÑë¡tó�°´lÙ2o¶Ï¬AƒŽro¿ý¶e'.±$ ‘�öäÉ“Ã]™ë(ÁqR"<Ó¾�”À$•)'\p�gæÛ·oï–/_îOÉÊË·®Œ05jÔÈ­X±"¬FI®�?¾ R¢eË–eF%èÌ\3_DJ䋔ޫ-Й…àcÄ•v"Â�„¢3uêT¿ŽÒÈh¶)-ì?ûì³}ç2ŠûÁømþ Oe)ÁQëV²H Fš[·ní°¤#õõ×_—Á'T€!Æ7nìÊT 6˜ÒJ¸Íã�?ÞcгgÏHyçöéPÒßÀ Ø¤Û&Mš¸Ç{Ì#]Ùg’FJtîÜÙO12´Ø¤Ø@ha]J I‰x^¡¤ýÉ1cÆørí¯PRù§ŸJ?’÷‚¾¯A¹H ® ¡·"±ºh)„ÀÖE@¤Ä/dF�!%M‡ùe.¢%:&|–,Yâ?À(´4äYóLñ�O:Ñ|è˜mXé|S¡¤–Ûm·�cTžŽ:ˆÕ3+/ߺ2rÒ©S§|«_­�+””ÀB…>£o¼ñ†Ÿ‡Œ5K!I¤D!héØÚ€¤ÄK/½Ý*Û˜Óò׫WÏ··– ÉúÐCùM¦¦A>÷Üs‰ó¦EJjµs™EJ€JsXÀn–À IDATA„ѾÛü{`|à Šo7ÓýP k[‚èã}ä{‡Å'¤}K=zôˆ¬‹EJ0Uìü™2eŠ]ÊUö™¤‘Lo}÷ÝwýtX.V)Aûd>XÒ‘ ¶ß~{o­…߯®]»úé(¹òò%%èw2UùdÀ,L…’ýúõóÓ}­ ¦4Ño%‰”0T´¥�€H‰HJ\wÝueæ&‰"Œ2sѹøqŒ°0 ÃÇ�‘>>â[ÚR‚kZ²z2ýK‰´¼|ëʈ‰9 ³k”ê²PRG—Œ"ÐY‡óÎ;Ïwd ¹‘… ¥ck(=t~-1òÆ6ŠÐž{îi»ýç´¡J Ê]t‘'b푆Dí\¢h¢† Býî»ïwùuFzCÇ�á¨<í>–‡Ý»w/w^Mß�¥DH¼3eë–±�5–ò!%²ž‰9ºd‡ÁÚ³˜â•}&Y¤å3MìÙgŸ-ˆ”0¿#†�-Ck¾ùf…A~VÞ´iÓüÔ\+‡%¤Æš5kÊ9ºlÞ¼¹»÷Þ{ÃCýz¡¤Ç›5@rÐ&“DJxô'J‘5�”à#wjÅGÁ¼'#�X!0º’EJЙᛟÇyÌ›fÎM¾©PK‰U«Vy+³à€”Øi§�¼™eV^>uÅOe­]»6ßêWëã %%¸ÕõO<±`‚F¤Dµ U® H#%’,%Úµk—è“3r”,Ä,‰”0$jçÒ,éø%A™f€À,n �áÇûÁ¶C˜m”3¾åµ-ád¥Õ¤Ê0‰©‹{챇W`y‡±Ð$Bǃ>h‡—[f=“�”àD|Y`Éb©²Ï$)�"ªa¥a3víÊ8ºäº8¤´¨%!)σäÀOƒ¥Ï>ûÌ“$`ÇÇŽ‰/ %%â–ôOmÊ0kz,tBɇŠF+†¤T()A8É$j„ 8õd=W^®ºòA"zHMIi¤DÚ3Á‘Ö`IÇ–QÜП¸Œ9²L´“8V"%âˆh»¶#�FJ€ Ž�Í2G•L«³wîÊ+¯twÞy§‡�w’È8!)�’AÛ‡Ù=Sñì¼ÚŽwmºh12õ`Þ¼yžTG1f€ëh€ÔBVÌŠ"T€­6l˜'*jvÜ+QÀ èÿ ¨ŸvÚiqÇ"K ÎI{&q¥›{¦'0�–TÙg’‹” _Fÿ ò©˜¤uÇ·�Eú I‰x­\¼Á'–D· Åññ;þ %%ˆRÄ_ž5ƒ.3æ§‚5¬�p’N¢'%uÏT:Îå=RB ê)QÃH FU˜SHO·Ür‹wòi�(žˆs%¬ 0 „}§ÓóÚk¯•9ÅFâ‚Ä9tÀ¹Î,Y·y~˜T²Í�ºÂ³Ž% ÿ8Ÿâ\–Œ YÊÊËUWÂ�ƒnå•Ú‹ÃŽgB€m¼|[J{&|˜yîtfùÛüQ;�%Ót蜅‰Î°]“9¨t´ØŽ[ã„çh]Ô²H Fê:tèà;Í´=¡•Vjäñ.�dzÆ–hÃ!h±î‚L�={¶eiYK@¹Cnhë‘‘Ð:bæÌ™~ßI¦5†Ñ5P€Í_í=ÓõòùÞ×DXé›ì³Ï>þ›ÅôÓ4r/_R"í™$)Ý� 6}¤¢Ï„>}(~ô—XvìØÑ?*B‚†!Ó! ñ)ÁÔ +›%–°¤8ñÀ`} Ú³¬<νýöÛýÚ-Ú/s"™„�¿Xì¯PR‚ÓÃèø §ÍŒ;Ö·¿8y‡ ¦ï&ˆaöѯ�DVB êˆë’[³&\›>Z>Q7ìˆLEߨšOI×B@! „€B@!°…)QÃ,%¶�œ¨X! „€B@�""ððÃû°¥„.�ÿ˜Æª$„€¨-ˆ”)Q[d]÷)„€B@! „€Õ �ª&%yä÷â‹/úJøDä÷üóÏG?¦½ÛoáÂ…Î~øé«S§NÛ_(…ʯµ¥P%! „€B@! „€B`ë PÕ¤>%p<Ž/~8 ÆÙ8?œ ãgóæÍþ‡¿û‰”Ø:ò¡«! „€B@! „€ØbTGR2‚Q° $p¤Ë�¨hDø�˜¨õ¤ÄM7Ý”I‚ÐsxUNò2 �„�bc>‰OxˆÇ31^â1c)$U¤ž6lð¥ñNÄBaYÊÊ˪«E±(x’¾ä’K¬Ø’\žtÒIQ˜®|n€È½{÷ö¡@÷Úk/G ÷BR¡²SHÙ:V”*ñèźÚ3Bñ)ÕNÞyç·Ã;”¹yB2Ϙ1Ãï# 7‘9�?¾é&LˆŽµH|çhë‡ âCFÔ¢¦U‚РD` dvø`·xñâ\·Q-ó ?Ó·o_2Õb‡çSÑAƒ¹nݺyÆâ 9 Äj®TQÙÉU®ò…@M@`K‘´·"%j‚„Tì²`5Úïùóçû Õ‰oÊ) çܹs} ! `m álD:£X˜äòúª«®*ó@0Ñ=âˆ#ÒÖ®×}J<ôÐC=‰ï'?Ú~§�všï£iúFð„ð'%‚ìr¤D˜—/)�%�|˜x “'Owe®ZOLR?üpwÁxf¾}ûönùòåþYyùÖ•¦F�¹+VdÖ»2Ç�_)ѲeË2£tf®™ïýæ+;ù–§ã„@©#@g–#®´+¹$�©S§úu”FF³MiaÿÙgŸíó8—QÜ>øÀoóy*K‰ŽZ·’EJ0Òܺuk‡u )æ´†)T€!Æ7nì+ÂcjÃú¨Q£|˜Íã�?ÞcгgÏHyçþ×­[çûX›”X¹r¥kÒ¤‰{ì±Ç<Ô•}&i¤DçÎ�ý4#C‹MJ€ „Ö¥¤�”ˆçJJП3fŒ/×þ %%�ú© Lñ^0àdDP.R‚kBèÄ­H¬.Z !°u¨N¤ý²|°)Á }<‘�lªì§æm)�ÿ|:ЉæC‡°ÀlÃJç› ­' Ûm·�â�€áƒÃ‚¬¼|ëÊÈI§N�ò­~µ>®PRK>øŒv¼ñÆ~2V7…$‘… ¥ck�/½ôRt«lcNÏhv½zõ¼×fË„d…}'15 ¢�ðRIó¦EJjµs™EJ€JsXÀA„Ѿ›¡ã _P|»™î‡YÛDï#ß;,>!%èÃXêÑ£Gd=X,R‚©`ß A7eÊ»”·^©Ì3I#%˜Þúî»ïúi»\¬R‚öÉ|<°¤-"A“,R‚ò™&öì³ÏDJÐÙNJ¡5ß|³ÂàØ¬¼iÓ¦ù)Äa™�kÖ¬)çè²yóæîÞ{ï õë…’oÖhÉA›L)áaП(ª#)�;ÚJµ}#E”¶)Ag†›ŸGU˜7Íœ›|S¡õ\µj•÷)“N‚”Øi§�¼™eV^>uE°(kíÚµùV¿ZW()ÁÍ®¬Ÿxâ‰4"%ªµH¨rU€@)‘d)Ñ®]»D>˜‘£´`!fI¤„!Q;—f¡NÍÀ/ Ê4fqcè >ܰ*Àl£œñ-¯m '“(­– %P†IL]Üc�=¼Ë;Œ…&:0×MKYÏ$$%8_X²Xªì3ÉEJ`R|Ê)§x+ ³˜±kWÆÑ%×Å!¥E- I‰xwü4Xúì³Ïûøï$ÓOÓȽ|I‰´g’¤tC‚Øô‘Š>,eèëñ£_DzcÇŽþQ4 ™aPˆO ¦VXÙ,±„%ʼn¦­Ð× =ËÊãÜÛo¿ÝO‘¡Ý¢ý2'’Iøø‹Åþ %%8=Œ¾�Ï�pÚÌØ±c}ûK”búKa‚f}bHd%! ª�¸.¹5kµÃèôÇ x!|e)±5Ÿ„®%„€B@! „€B  )Qb–U #º¤B@! „@‘xøá‡}ØÒsÎ9§Ü’i¬JB@�Ú‚¤DUþ’,%˜BËk ,¾pvÉ+6û1%¾N�:m¡*¿Ö–B©P¡?|ñÅõ’É€d@2 � H$’�­,�<òˆ{úé§õ’�*”thÞÅBuiŽ'Tp)þ¶)�ñB…ž£ã ÇY˜ 3É€d@2 � H$’�¸ ÌŸ?ßõH?a ¨Z¨¨^ !�ߟRûm1R¼…þˆ0Qè9:¾pœ…™0“ H$’É€d@2 ˆË€H‰ªUDE“�ŠêÅ"%~™öá§oàm3í‡çë¤<ÀOÚ¯}éX a#� H$’É€d@2P )!¥Ø”b-«V’ôâ4:|÷EJÄH Â$ý|ðAwúé§'æ~Ò9Ú—Œ¥p.’É€d@2 � H$Å’‘U«ˆŠþ&Iz1:4ºtÖû.R"FJ˜‡M‹KÊrîܹ®OŸ>þîg�ãŸþùÈ3g<_Ûÿ‹ï*„ƒd@2 � H$’É@±e€¾¸H )ŦkYµ²�¤›�N�ôþó‹”ÈAJ„„€Æ�)¡�k\&´-™� H$’É€d@2°ud@¤DÕ*¡"„(Y¤ºt1!RâB‚5ïS‚È·ß~ýxà×»wïèæ±Îñ€?/~œ¶ÁTX É€d@2 � H$’�bÈ}pYJH1c­W�<$éÅ¡.�nïy‡e)ñ 1áI‰o¾ùÆmÞ¼¹Ìïþûï�H‰xÇ?÷Üs.é¼ø±Ú.‹«ð’É€d@2 � H$•‘úà"%ªN  ìCHÒ‹�”@§Nz×y‡EJäAJžq EJèC— mK&$’É€d@2 � l)!¥8Tе^µò�FJ¤´“"%~!$¢éóßÿþ7ñ7gΜrû9ð³ÎK+Oû“q.ÂE2 � H$’É€d  .K‰ªUDE“�$½8I‡ßmÞaYJüBLøé_ýµûꫯòþqüÂ… ]¡çr ›ÿóVÂJ2 � H$’É@í‘úà"%¤›R¬eÕÊBEôbÞa‘"%ò&`ô�¯=x=k=kÉ€d@2 � HJAPhžyæ·nÝ:ý„�d Še@¤Ä/äBE×"K ·B~~!çèØÂ0^ÂK2 � H$’É€d Iþñ�¸�>úH?a ¨b¨¨^,K‰_( OJ<õÔSN?a � H$’É€d@2 � H$’É@– Ô©S§í/”Bå×Ú~ñÅN?a � H$’É€d@2 � H$’É@.)!E$’d@2 � HŠ&˜€ãœHeÖsu`”¯N®d@2 � Hj† ˆ”PG´hQ5 5£QÐsÔs” H*#¢Œ2*³^™:è\ɰd@2 � HJGDJˆ”)!� H$’É€d@2 � H$’�*‘�¢“Y,”''’É€d@2 � H$’É€d@2 � ˜ lRÂ9Éô¦tLoô¬ô¬$’É€d@2 � H$’É@í’�gžyÆýüóÏîÇô¿~øÁ}ÿý÷þ÷Ýwß¹o¾ùÆmÞ¼Ùÿ°Ä%IJì»ï¾T¼Ìï–[n©S“|_¶N8Á 0 LÛµkçvÛm·è÷«_ýÊ 2¤Ì1/¼ð‚Ûf›m܇~Xf¾×�÷ÙgŸ¹¾}ûº]wÝÕíµ×^. ·cŽ9Æýþ÷¿Ïëš7ÜpƒëÖ­[^ÇÆëÃv¯^½ÜË/¿\áó“ʬŽûæÌ™ãöÞ{ï­zŸkÖ¬q�7v/½ôRtÝ‹/¾Ø!k¡ìÅã§ÉÝ<àxÿ~ýë_»¶mÛºW^y%*7 ó=÷ÜÓ-Z´(óØ .¸ÀËB¼œåË—»®]»fž?‡íµk׺&Mš¸ø½%[È>÷í¿ÿþn—]vqGu”[µjU¹º]~ùå¾}Ê·Ü|ðI+kêÔ©îºë®+W‡´ã«óþÖ­[WÙ}€!mQ!øŒ;Ö�|òÉeΡÝäý°÷«Aƒeò)ÿÏþ³kÕªU™ýü±;å”SÜî»ïî~ó›ß8ÞÓ|êÂ{…üä:öw¿û]b{_Ñö—÷Š÷‹÷,×µ·V~EÛØ-!w<Ïã�?Þí¼óξ½íÙ³gµÁ)ß瑯lå[^¾Ç]yå•^¦icO?ýt÷ïÿ»hØ¥½aÝøÞ¤õ�ÂãXß’u�_KÛµK¹ÓóÖó.EH"% #ø}ûí·žŒ0_S_}õ•ûòË/äDI“?üp^©M›6åuÜ–zðo½õ–;ãŒ3|'5NJ„×üüóÏKS 6lØàî¿ÿ~¯Ö­[·h¤ÄøñãÝÑGíÖ¯_ï–,YâÖx§ræÌ™®iÓ¦[�”8øàƒk)±ôÜsÏå”ÇbÊìÙgŸí.ºè¢2×8p »âŠ+Êì3YÌ’;”o:ØO<ñ„£Ž”q衇&–cåÙ2¥ûÍ7ßtK—.-WDHEH ®�’rà�úúZ]*³DÑ€Ì{ðÁ}™çž{®»ì²ËÊÔ™û@á„8Í÷Zùà“VÖàÁƒk)A›´Ç{ä�Y} %% Ëxn|ðA™:#o|”“êI!Á}ÆI éãŽ;Î}òÉ'îÝwßõm3r–TN¸/_Åâ÷ý÷ß/W^eÚ_ˆÄþýû—+3¬ßÖ\Ï·� ëT,¹£ÌPöøŽB^òÌÃë•Òz¾²UÌ{¢cÚ°aCÇûųéСƒWü‹u�´÷ ,?_RbK×5¬“Ö¥ J$¥ %GJ@(’â�‘Ú4RbôèÑ^ Ca¢ÃX¯^=¯|SÆÊ•+½BÎèÎ>ûìã¦OŸuÁ¾ð ]£F�ÜM7Ýä•­pôŸÎáàš7oîŽ<òH‡â¯W|û�wÞñ×aÄkøðáå,%Âã¹f8âvÞyçùQØùóç»m·Ý6‘”@!‚ÈËɵ¾ß~û¹gŸ}6õœuëÖù2o»í¶‚H ,Aø1ÂÇHá{ï½ç¯†Œ&†õbt™Ñ]ö1B…%£Š(¬qRÙ -Æh®ºêªÄrÂk‚íî%—\âÛîeÉŽ9r¤Ç 9‰�þfµ¿ù´±´1X…ĉ»vÒ2­ýåXd€6†o²•FžÆËÍjc‘;0Ï6mÚøoÎÛo¿íñÉ’;®‘õ cžç_ÿúWÿ>b}Æwœó�5ÚÆ°Ýâ9�gï-l|Î?ÿüèY‘ÿè£�z"òÂ(lÓ²êùi?¾ÃaÛÝ£G�2ÛÈ}Ú Ú7³þÊ’-ð<묳ü9X @¨q¾ rð]µï(m4±Õ�vàÒK/õ×¢_Å63äó ­„æÎ�›7ùmå'-³ÞÚ¡#Ž8Â?ÇO<Ñýá(÷®$•¹¥êšt-íK—oa#l$ÕGJŽ” s\16>|i¤Ä]wÝå;3§�všï€Ó0e•¦€”·páBoRùé§Ÿúm:t éѠúÓN;y…’/ÎáÜk¯½ÖwÊãõÊÚ5jT*)Áµ¸>ŠiRi¤Ä°aÃüÇ3霤}7nôÇõ×_ï; (àÜsx,ÝqǾQÈô :df@„ryNv ÃeÁöaÞvÆmÿ!‡âGÙ¦l:Ÿl£° P°ŽbÏõ’FÙ­,[þë_ÿòÏòÅ_ôçNš4Éqòé€�µa‚BL'ÖÎM[N™2Å+Zä¯^½:ª#£¡(òv÷'%ÈCž©Ê&ÛÖ93¬**wÜE»¾-!�¬ÓOǘΡ½#v Ë4¹³cP˜°º±í¬%ÏŽŽ0÷Fgy1âÊÎK©¦£Ÿf)A¹FΛ7ÏñžYy¶Ä’�öÀ¶+³:t¨ëÓ§�ïx–töyæVæ}÷ÝçÎ<óL‡|j)‘†äÖ=÷Ü]""ì´s^Òô :ó(vàNÇ’Âêšvvl¸D;�D› IDAT3R åBÄ”ð¬6¥ˆçnÏkРAîœsΉêƒÂq^‹õ\¤DV›ið§?ýÉ·<'Èh¦ßP.ï7d'„Ï Å‰¶+~ý´mȵPa´ã ‘PlP*Q¸fÏž]®Ì'Ÿ|²)a糤>´‹V×0/¾>�ï&´G´íñãÒFÓÚß|ÛØN�:¹[o½µÜõâ×g;«ý%™„b}ÅŠ^©g´<©¬¤}Im,rA™Æ9(Òá4É4¹ãجo÷‚ì3ÕÑÚyk»97­Ýº÷Þ{=iÁ÷92‰w•wÀ¾¥·ß~»ÿfXûœUŸ$lt|�­ÏEùG Ã2 `:t§žzªÿ8±�Î�ÞPA§3A'0,+¼NÒz)�ŒE@ÒyìË¥¦�ß�’ËH$�>êŽàЩúç?ÿé¯�¢Îç1ªÞs¼¬p›NŠ“íã`ÂÌ6�)p4€NJ|nmR§˜ßvÛmWf.)õ± £QûÛßÊcuH[B¸0zcùtÄÀ—‘!ž?2aylÓa´í´åßÿþ÷h$ÙD)ÅŒ8nE�Ôa¦Lˆ¦xù••;”ç4%å ÃÇèz8ÚmõÈ’;¬VÕ|õÕWËÕÛΗ(!‘È=Ç•µŠ�à͘)á5mý±ÇKTÒ,¿�%ä÷òüóÏ{e–ε�f( (¿!%Òð¹ù曽õDéA&ßxã�÷4R‚NvH^€C8Ý&ìâØ@$¡€Ð–Z²nÊXVK;¶)Œ‡ÖiÊ!ï!˜Ûõ8.ÜÎjó¹ÇР‹&SHy–¡…Ölù’Œ´ƒƒÝ·Õ�%ÏK°`r;|^“EJÐ&uîÜ9"]ò“ÖÁ‡wÕ¬iXBˆÅ§ $)c”—Ôþ²?ß6 �„Nª_¸/«ýå8ž+ß%;‡m#¼l_Ö2©�Eî ì<¶±Ö±í4¹Ëõ ¢ÎiÖti¤ßDÚ»>ß\#uÀœé –DZFzæª��“´Ì"%�e¾U|oâý¦,Ùâ]KúXMq]¾í XÐG2¢ƒ<,Œ\¥>¡ Ûf½Çýs2±9Å»–t_Ù—ô@ŠÐ>ZyÔ5nUdyárK×5¼–ÖË+?ÂD˜HªŸ $‘è$ &ãš Z’ùq¡££Ig üÑÉã8:öI£Dä1m�Î =�s:r6z‚âÌ:"€ãxöñÁFYBYeÛ~Œ†Ù¹ñú%mg‘¹L³”äk¥í£ƒ)Ö›k3•‚ÎX³6(””`dЮ˔p²mLCe›�}øñg_R§˜Î%Ó: o–X„Ê3#:tZ�Á–»fÚòꫯv'�tR™ãx–t¾r)?ieBh0ºÅˆSp�-F8QPÃs’:ÌäCè Ä„Dz^Y¹cÇ:zñ²Ãm¦×„SF,/MîPQ°L°cs-9>t¶‰ÜA†çU„”@¡@ d$ SôP¡±²!NŠá«€ò°”Wds}òPvm„¯"¤D>”…|¡œ È‡Š=×M#%è|ƒ‹½C(aÛ˜v†¡-!cx–¶_fµ±(0a;Á±a;‘¦æz/³Ú|pƒÄ1 ˜æÀ¨(õæ]¥=°{À=|¶¶?i‰…D>„%ç"ë“'OŽ®Ã¾4RB�÷ëŽ�øIªƒíŸøH2ß+#›í¸$eŒ¼¤ö×Îɧ�ÅòŽúÚ9Yˬö—ó�-îÇÊ ná¶íO[&µ±ÈJ¯�Yn§É]®oχ>d¿•.ÓH üz0ðA{Å·‚ï�)ÀIøX™¹êcÇ%-¹_p°<ÚŒpò ë941ó=’%[¼+Ô›þH”Í>¾ÑIízvͬúp}Êe°†oíw\¾í>*²Lzh¨³•gu°í´¥·¥êšv]í¯~Š˜ž‰ž‰dà2'%LF¯6Rbb¢Z8º4K‰Ê�á¨b(ìOó³™ÁÔ ŽGAÇDÏt:­¬'‘(Œø‘¯Sèz)Áh >lŽkR¹iÊaÒ±¹öqŸáÇ—3&¢˜T3ZB§�Š>#áÈjZÙt4ÂÑ”VÌ¢íxÊF!b‰by,“:Åtôx>I#‘Ṭ3’B=¹�x^|;>Rþ†/°PᢳnÇË ·Qz™1mÚ4? ÇzÜ"$©ÃL�á|[+·²r—FJÀX†#bÌÉÏ—”À2…çeæÅV×\Kp I ,%ÌDØÎ­)açBHñî2]ÁöÙ²˜¤D õ­lH »&–;ܧýPXX7¿ vNÒ2>4â¼g´™XN„e¤‘Œ4òlÃc“Ö³°‹Ÿ4ŠÀG}䝓կRÿÐ"Œ•YTq�4å�‘r¬r¬.6•˶³Ú|H3�·ãm‰% Ö¶�ÃÐÊ’Hqÿ%|;ò!%x¼³XÞäÓîY½i·h«�”5K {&v\’2F^RûkçØ2«�-„”Èj¹ïAHBT%)‘ëd¤Dhõ`x±L#% Å Æíyñí¤íâœ8>|+ùnpl®ú„׎¯cbS®ÈC™6‚ <–{¡~fý•%[Y¤DR;�üØp½,R‚ ³fâX¾ƒœÖ³2ëIï턯•ËÀ•=Û—´ÜÒuMº¦öIù• Hª³ „¤ú ß“8)Á”jôžjEJЙÌ'ÅÁçRR‚Q3³¨àƒŒÒËŸò³H F(é›"ÆŸ�¶Åë–¶�FJÄ;ØIç›ÒÏãÃ�ïœ~;—‘^>Ê(ã\ò!‰)ÔRbŬ,P ˆð`×dɼc:BIÓxž˜­Ò§ókçaUa)LWéX™)+Ê–)gtÜ�͇”`ˆ{¶QiÊ·‘çÊ�tšPJ©'�î)œ¿Ï=JJTVîxIJ)#bÌý§£‹B‰ì'YjÄå3}”†°ófÏ*×’ólÎ.r‚¼€Ux^)�l0ß"‘N3õà<ΧCo~Fp€iAXnÚô ¦Ùðœâ$Yxn|“xF6ñÿ�R!�dºN=!%âç§mç‡)B�W�{!¡Dy´EÖ¡¸Ø´2Ìʹ?æ©s�(Ʀˆä‹]R}!yVäA$ð>Ù»ŸÕÆrmFðÍŸ�á‰íL Aæh�hŸÌç÷‹ù¶É íxÙyY¤í ²Ž²Ža¾[ÑÅß òCÙ8úË—”ÀAbÒô °G>î¾ûn_?>ÈŒ>s¼Õ—e’¥Ä˜1cüÔ²B䑲h·°*C¡eb4${ìºIÊyiío¾ml!Ó7²Ú_êÂsÝÚ¤DšÜQŸ¬oPEI žƒM«£/AßÂÞ'Þ_äÇú´}!‘ŸU{ÎIK7óÕa€å�µ�ƒÖ6s.Î`CR"M¶²H ÊÁRЮAÛLÛ`mw)A‡+$ÚÚ[lóMA¹hµ 𝅄ñF'ª"¤ (f†tîé cBIGGZY¤×§ƒÏügŽcÎSŽ×϶©âCÌ��$ë¦@psk’:��v.`:l‡&¹6çÒ®—Ï’8 8›ã?·R\ù�t Åh¨)V.î%ÆöÙr�{ÿE8åËÈ œ1R®uÜ8� d²À�N•�ØÙµÃ%Dï%m!mÎ=-?«�Ei#°4á}æý5âÁ·(B‰G1 C(ã7„ç¡F9`oçd‘´w|oÀmÚ È Î…øO¬œ�”ë$|í:ñ%²˜äè’�¹|#�g,5°L²sñgCÝy÷ `X7GÀ`‚Œ³Ï~!iceÄ—8äþpê FJ¥þÔ³¦‘f…P›I?¦Ã¢¶”äPuݺߠbã�]!ab‹}}•WÚò£ç§ç'ز2 Râ‹- °¸âøbF̈t8gUxVÏB±cjS ̇F¡ç—òñø"`ZÓJù>˜Å4‰¤©¥t_5�”{¢„SJéyT¶®È#mKÜ¡feËÕù[ïû ¬…µd@2 � S’H‰ï¿ÿÞñïÄ7ß|ã6oÞì_ýµ³SëÔ©Ó¶NS[ -v*&X*K/Ÿd@2 � H$’É€d@2 � HŠ'ø\|ñÅŽíGÔGûáÈÙ~ .tö)! ‹’AV#R¼FDX KÉ€d@2 � H$’É€d ¢2!ñóÏ?;"oXô�k)�gn¼'‡`á¯ÀÂ7áDÇvLÀËÿ¸qã¢c™‹Hú¨Wü IŶ…Gƒ”˜9s¦ÏƒP`¾9±êÃò“Ös‘„}ã<œÐÍ›7Ï„¾4RÏääaÒBlûåË—ç¼fR=´O ”d@2 � H$’É€d@2 � T7)ñÿ-%�¸Í6Ûx2Àq¶qxÇvHJ°}ê©§ºK/½4'A�/)a×$Ö7±éCRÂò°Þ€¸°m-Õ H$’É€d@2 � H$’É@)Ë€H‰ÿOJ`�pÐA¹#�<ÒÍ™3§\ب�”xýõ×ÝÞ{ïíæÏŸŸ“ È—”àú„îÛyç�ñÛCR‚<Âîµ×^åêUʧº«ñ” H$’É€d@2 � H$µ[J†”ÀßÃgœ‘ø#/-…ž5}ƒã�xñÅ;¬ðå0pà@Ç´ò %ðíP¿~}ïë�º|úé§•&%°Î`šS3ðgaÓGŒ”€¤àºäCp„÷£õÚýòêùëùK$’É€d@2 � H$¥.%CJ@:$Y„ç„Rå>Ü×¾}{wë­·–ÙGþË/¿ìýFLœ8Ñç…–ÄVïÛ·¯ûãÿXî¼°lÖ!Ž:ê¨2ÇAD¼ùæ›ÞÑ¥ù”5j”;þøã£ãŒ”À§åàKâˆ#Žp&LˆŽ‰_KÛj�$’É€d@2 � H$’É€d ”d ¤H‰81‘‹�ˆ“(øD´X¿~}¤Ø·hÑ“ø�¸çž{¢ý<ÄÁƒ»sÏ=×ï I ò’¬.’<Î1[·n•»råJ_H¢o)A�ˆú�CKʉ“ìKš ’tMíS#$� H$’É€d@2 � H$¥ %GJ1‘!'%x M›6uW]u•Û°aƒw(¹ãŽ;:È ¢l„Ñ6V¬Xá ,ÌŠ"$%>þøc7hÐ ?¥#×CÆÂ�© O?ý´'† æ>ø`O<„¤å\wÝuÞ¯¡Fã¤~&:tèà† ¹®­|5B’É€d@2 � H$’É€d@2P�e $I Ȇ|S|È|7à§ß¡uÄÔ©Sý>È Y†Ñ5 %êÕ«ç òÿð‡?8BwÆËOÚ¾ñÆ]£F�HÛ¶mýÔŽ‹“ø¨hܸ±»å–["RBƒVg�u–ߟt íSC#� H$’É€d@2 � H$¥&µŽ”(µ¤úªQ‘ H$’É€d@2 � H$’�š*"%¾�p×TáÖ}I¶%’É€d@2 � H$’É@õ–‘"%òš‚¢¹z¿Èz>z>’É€d@2 � H$’É@)Ê€H ‘"%$’É€d@2 � H$’É€d@2P%2PãI‰|bê8! „€B@! „€B`ë" R¢xŸþù>œhÆ }ÈN+’0£¿ûÝïÜo~óÍc„ –Uc–„L=õÔS·ÈýÌœ9ÓÝ|óÍåÊ&„+Xó«S§ŽûꫯÊ£B@! „€B@!Pý)Q„g)qÍ5×”)é‡~ðDÅüùóýþýë_n—]vq¯¾új™ãбñÓO?£˜ •±%I‰áÇ'’aEEJ„hh]! „€B@!PZˆ”(ÂóJ"%>þøc·Í6۸͛7GWxë­·Ü—_~é·YžqÆ®yóæn¿ýösãÇ��Ž‹+úÓ§O/c�pÌ1Ǹ'žxÂõìÙÓí¶Ûn®Q£Fѹ� Xgì½÷Þ®M›6nñâÅQÞûï¿ï:uêäöÝw_׺uk·`Á‚(ÏV8à7tèPÛ̹¤®'Ÿ|²¯– ‡~¸[¿~}tÞßþö7wà�úkvèÐÁ½÷Þ{QÞ;ï¼ã~ÿûß»-Zøß=÷Üå <ØýêW¿r;ï¼³·4iÚ´i”®ˆ”ÑкB@! „€B ´)Q„ç•DJüüóÏ^ñ‡@xüñÇÝ×_]æJ(þ� ÷ŸÿüÇóæÍóÇä"%è•üÛo¿Ýa%a–Ÿ}ö™Û}÷ÝÝÒ¥K}9³fÍr�7ö×`Ça‡ænºé&ŸÇ1{î¹§ûïÿë·íïè£�.C�Øþ´%u…8X²d‰?„{5j”_߸q£·Y¶l™ß¾í¶Û|¬¬SN9ÅAÝO;í´è^8†í¤év>K‘!ZB@! „€B@”"%Šð¼’H Š%Ëå—_î­õ2dˆcZ k…… FW¿ì²ËÜ Aƒüv.RbäÈ‘®]»vѹ¶2gÎwÔQGÙ¦'#6mÚä·!¶Ûn»èúìÄráÉ'ŸŒŽ¯È uýÃþ�Êv¯^½üö½÷ÞëŽ<òÈ(ïûï¿wÛn»­ûüóÏý¾þýû{+ ,H’’H‰$T´O! „€B@!Ps)Q„g™FJ„E¿ù曎)S§Nõ»ýë_»+VD‡`Á`#s‘X"pÍxš4i’Ãú )q}¦“`9a?,%þò—¿$ž÷¾¬º&Õg×]wuLÛ á rذa®I“&~ Ž-Ã$R"DCëB@! „€B@�š‡€H‰"<Ó$R‚Ñÿ‡z¨Lé8n42!n)1zôhwá…ú㙖ѽ{÷èÜn¸!",Ø )‘ä÷!n™ÀÔȈüÑýûßÿv;ì°C™éÑ*±’EJÄëóÝwßyK ,HâiÑ¢EÞ?ÆÚµk£,‘ZB@! „€B@ÔHDJá±&‘¯¼òŠ�¶Á’´nÝ:תU+w÷Ýwûm ¦9@ ¤CR<ûì³>ç�t�ÏcÊCÇŽó"% °D0Ÿ÷ÝwŸ·Bà¤öíÛ»)S¦øu¦sp}›Þáw:ç¯5vìXÛ̹Ì"%>ýôSïSbùò微͔K]»võ¤ ÛXMà°ó£�>²l7`ÀÇ÷öÍ7ßDy¶"Ÿ†„–B@! „€B@�ÒC@¤DžY)A±LG ²S5˜21nܸèj(á}úôñdÇ` a ¿(ìDÑèÒ¥‹ƒ$ Â…¥4K òŸ~úi >Ž-Ãh«W¯öþöÙgOV$9‘¬Hô ›vÂõã‘B X c ]pú¹jÕ*» G÷Hô�–-[ºiÓ¦Ey¬¼þúë~ÊËŽ;îèš5kMû)¢¡u! „€B@! „@i! R¢Ï+�”(BÑ*""%r¤l! „€B@! „@5F@¤DŽH‰"€XÁ"DJT8�&„€B@! „€¨ˆ”(ÂC€”`ŠFÆ }ØÏ"©"2øàƒ<Öà-R"(e ! „€B@! ª9"%ªùRõ„€B@! „€B@ÔTDJÔÔ'«ûB@! „€B@!PÍ)Q„”4}ƒð•L-à·Ë.»øèD¿(V:ôÐCS‹"²×-æõ>üðÃ2@âüñÇ}„‘øþªÚþç?ÿé¶Ùfn5ß:¼óÎ;>d)aU‰²hÑ¢¼NýöÛoÝgœáŸóoûÛ(ìª�ܺuk?Ýdûí·wà¤$„€B@! „€ÿC@¤D$!ÉÑ¥‘ÿþ÷¿ ýyç�çÃ[nÞ¼¹ÒWüúë¯Ýž{î™ZÎO?ýä^y凲\¬DøÎ0,i¼Ü/¾øÂ-]º4¾{«osÏO<ñ„Ûÿý]ݺu "%:è 7qâD÷óÏ?»;ï¼Ó“,?þøcÎ{¸òÊ+]çÎ�Ýÿû_ò´AƒnñâÅåÎëØ±£H‰r¨h‡B@! „€µ‘Exú¹H .Q°ß~û¹{ï½×_k†3Ï<Óí»ï¾®eË–îÆo,S“+®¸ÂçqN—.]ÜçŸîó?úè#·Ç{x…û7¿ù�ã7uêÔèÜãŽ;ÎïC!�[JpÞ´iÓܱÇëš7oöÚè¼Ï>ûÌqnÓ¦M]³fÍÜìÙ³£¼9sæxGž;ì°ƒ/›kb‰@Bg{÷ÝwO´”€Ì8ðÀý½tèÐÁ½÷Þ{Q¹Yõ±ƒ8à7tèPÛ̹2dˆ¿?¬¶ÝvÛ¼I‰�7:,B¢Q£Fîµ×^ËyM,!,X7bÄwÉ%—DÛ¶"RÂ�ÐR! „€B@!ð?DJAò!%¸ÌÙgŸí† 毈âÚ£G¯oÚ´ÉX7�V¬Xá Œï¿ÿÞoO™2Å=úè£~�¿÷ßߓю„H‚8)y0hÐ ôºuëܯ~õ+‡Õ eþÜsÏõëK–,q;³ë³súôé™–o¾ùf9REŸ¨$Ë–-óåÞvÛmî°ÃóëüeÕÇ:úè£Ýøñãm³ e!¤Ä§Ÿ~êêÕ«ç~øá‡è-Z´p÷Ýw_´�¶R¿~}·~ýú(ûŽ;îpݺu‹¶mE¤„!¡¥B@! „€Bàˆ”(‚$äKJ >Ü 0À_…7]3fŒ»øâ‹}ÞÚµk½2ÿý÷»/¿ü²\ +CJ„#ÿø?ø×¿þåËG§–@J¬Y³&ºvEH ¬BŽ<òȨ Hˆ³ú€”H«OtR%V !%¸ ×\s�'c # mf̘‘³ø®àžÌªcÖ¬YÞZ#~¢H‰8"ÚB@! „€B ¶# R¢�/)Át 3ëÇ’a¯½öòÖ�7vø!èß¿T›§Ÿ~Ú+¶ŒÂwíÚÕ1’o©2¤Î-5lØÐÙö믿îý"´iÓÆµmÛÖ“¡¥EEH‰I“&¹SN9Å.ç—8‘´kBJØ:™a}ÊœTÁ�BI êÒ®];ÿ,ì�^>òÈ#9¯¾óÎ;{«”«®ºÊ=üðÃî–[n‘¥DNÔt€B@! „€BÀ9‘E�‚|H |J4iÒÄ=ôÐCþŠŒª~®„ï ¬+ljÇo Rß“'OöÕÁ¢+�Ê’qK‰ï¾û®ŒŸ‡êFJðŒ,�ÄѪU«lWê’H(O>ùd”�<Œ=:Ú¶YJZ ! „€B@! þ‡€H‰"HB.R+‡ /¼Ð;{´ˆ(­={öô>%؇¯‰—_~Ù׿©§žrŒj†Ì�”ذaƒWî™æ�¢Ïv<¥ù”H³Làø^xÁsë­·zR?–pvI˜L”uˆ¢m„)ɧ÷�O‰åË—ûCñ��³KKù�(òcÇŽµS Z¦YJ–“kã¤3L‡rˆã>qv‰£ÑN�:Öbl£ IDAT…Ù~Šçýãÿ(³‡¡ø¾`ª þ@ˆŒbg‹”0$´B@! „€B@ü‘E�„,RÅ«"[¬\¹2º qß¾}½ƒK¦n@Ba�o‡Þ½{{ß„› )RH¿~ýS;˜áA"bJ3?¢oÝ‚õ|Ð糞FJ@uã÷¿ÿ½ÃQcŸ>}üõÍæÿýßÿù¼�vÚÉá‹Â¢spï” ©�oÖù}üñÇþšDß€Ì ÊÈ1ÇSÆò «>þdç"? ¶�k9jÔ(_êS§N·Ûn»•³x˜;w®Ïƒ\ ÓK/½äÀ"娣Žr8 á])R#L581å<žå]wÝfGë"%"(´"„€B@! „€ðˆ”(‚ $‘E(VEÔ0DJÔ°ªÛB@! „€B Òˆ”¨4„Ή”(ˆµ ‘µà!ë…€B@! „€(‘Á•|0¤¦ûD�2dHòAÚ[k Ô(²±ýöÛ—›úQkAÑ� ! „€B@! œ¢oH„€B@! „€B@�*B@–U¼.+„€B@! „€B ¶# R¢@$‹vØ¡L „†œ1c†ûæ›o|¤òùi‚©?ýô“?¾mÛ¶®^½z>2Ç^{íU&¯L�)DŽ ÄêÕ«SŽp>,eãÆ�Só ɘ8q¢¿¢}žô‡~Èût¢4mÚÔã@4 J„Ð<ôÐC=;ï¼³»í¶Û¢r‰PòÇ?þÑO�!‚Éé§ŸžWÞ˜1c|$‘}öÙÇ�vÚi>Tgtb°cJ(Ð .¸ÀGìØ{ï½ýs´Ã?üðCΔ:î¿ÿþîù矷,¿œ>}ºã9ñdðàÁîçŸöû,XàŸ3Ñ@ìwÓM7ù¼yóæEû,�gjQXÊ\ e㤓NŠ¢¯Ø!§žzª#¬kZÊz–Yyiåi¿B@! „€B ¢ˆ”¨(rÎùðš¹H ÂH’ öÛo¿(\$¤¡)-¥ý/ù‹ßÎçrã•W^ÉT`ãJw>å&ƒ� ¤£˜"”p™(¯ù¦8À‡5EÝ–œ�?Ž3Ï<3‘äÎ%i<¥åýõ¯ut�ƒÐ£SN9Å�1"~ºßŽãsýõ×ûð«Üãûï¿ï 5¾üòK,áL¯¸â qA˜S¢B<‘-Zä xÆœKXÕ… ú¼GyÄ—é7rüQ÷O<1ÇQÿËþè£�|HY|™XHX;1‹”Èz–YyV¶–B@! „€B@�b" R¢hæc)a¤—0`@¤ ‡¤y}úôqãÆ�Ë«6Çwœ·Z¨[·n9K‰É“'{áw¿û�?~¼W–ÃB©£ñ�?þx¸;s �Ë/¿<:†þÃ?ÜoSgKW^y¥;ùä“ýæ]wÝåë¹Í6Ûx‹¬EøA¼ûî»~ ¬,ïÿø‡?·eË–ÞB¬LÈ;vlÎ<®ß¯_?«Ž›:uªÃšÀR>\óõ×_·C£å_|á-9B †Ã;Ì=õÔSþ˜óÎ;ÏM˜0!:>\™9s¦ëÕ«W¸+qý»ï¾sû·±ž|òIO°°RdÍš5>kýúõÞ„grÙe—%’ÇwmÚ´ñäÉ9眑>YÏ2+ÏꤥB@! „€B ˜ˆ”¨š…�+W®tMš4q�=ö˜¿bHJ¼÷Þ{ž<`Ľ�„É8}eµ~ýúÞ¢�r°@ˆOߨ´i“�ñÌ3Ïä}©N8ÁÍž=;:þƒ>ðSØÁ4”ßG}Ô \/$b8†ÈX%$%¦WÜ|óÍIYŽ)FpÄHËÃz%~ãÆ�EŸºO›6ÍŸž…Çn»í¶î–[nñçc¡ñÀøó/^ì÷…uèÝ»·ƒà a9Ã4,^F�Mß`ªÆÁì,SP 9â‰i+X8XÃ]vÙÅ-Y²ÄïâZ�Qññ”d)ÁòùçŸ{Ë�-ZDV9YÏ2+/~]m ! „€B@! Š�€H‰J ˜)�yýŽ;îè4hà¦L™] R‚ýX `¹Ð·o_÷ý÷ßGùù¬ÄI ¦4tèÐ!:uþüùåH‰(³€¦k<ôÐC~ªÅ!‡âÖ­[çÃ[Zàмys¯œ'Y`lMR‚:¡¤~ì�<òHON°? H,O ä§e¼öÚkþÙ¬ZµÊû�8ðÀ=ÙbV&øÕ¸úê«=”±aà 0kÖ,Ÿ÷ðÃ{?Ÿ|ò‰Ÿ Âô ,â©U«Vî¹çž‹vßÿý®cÇŽÑ6¤ >H6oÞíc%�”5jTtÜÈ‘#£PµYÏ2+/*L+B@! „€B@�"" R¢`2å7L�:urwß}wäèEõ…^ðÖL[°ZJüç?ÿñŠk÷îÝ-;¯eœ”`´Ç�–e�[JX^!Kiœwb9pÝu×¹·ß~;²”°rºuëæ‰‰Ð_„åmMR‚zBÌà‡ÿLIÀb„”…„P|:ÌñÇï˜~a8â/o½õ–ëÑ£GK ®k Œìš¶Ï–XÃàŸ#Læ“"܇õ¤ÏÏ~8 -c8>�”0+Ž¡>æ$4ëYfå…uÓºB@! „€B Xˆ”¨’Œœ£¬ZbÄ_}ƒcH]ºt)ã—!$%ÈÇÚÿ …¤8)Áèzûöí£"pÈX Rbذaîâ‹/ŽÊÅâ ]»vÑ6NñaÁT‹n¸!Úo+[“”À¿…E·àúX<4jÔÈW%>÷ÆoXµ¤�F<szÉXGØþI“&EçA`IA‚ÐÀi¦%^¸8)±·žcüHäJi¤DèŸ$´”Èz–Yy¹ê¡|! „€B@! „@E)QÔ‚s˜¶€"ŽD@î´ÓNÞŒ?NJ,[¶ÌOÀ¯)$%° @!d_!)NJàåŸøzÀò"NJàg§‘æP2Ÿë¡Øî’r±@8âˆ#¼IÎ%4)>pùé§Ÿz…›0ŸaÚš¤JzçÎ�£¨$øwÀW)>Ly€XaªÄÒ¥K½O‡µk×ús)óÒK/õSl°�Xà8X"LÑ€„Ÿ¤‰)Eø‘€Ô ¬-ÂÔµk×Èï…íÇ÷áE© |û÷ïoÙÑ2�”À�r…B „”õ,³ò¢ jE! „€B@!PDDJTÌ—_~Ù[ `jOÈO|/�â¤ûpêxÆgø||]‡†ŒÊ‡#êþ „?NZ¤ ¦ ¸²ýàƒú£‰A¸Jˆ"OÄGåͺ#É÷CÂå¢]Xì¹çž¾®ø] Ü&‰H¡Å}÷Ýç>BŠXÚš¤¸ãŸƒpžÍš5ó¸>ÓR>(ñ={öô¾( ìYr.äþ)xÎXàÀ‡ r| o B,1-„¨+ä1ýâì³ÏöDŽå³ÄA¦‘á~,1°@Á‚ƒå‚ |6–Rü¨Dë\‡Å3AÆxþ�Le±”ö,ÉÏʳóµB@! „€B@ ‘ÅBRå! „€B@! „€! R¢ ¸t°B@! „€B@!P,DJ I•#„€B@! „€B@„€H‰‚àÒÁB@! „€B@! „@±)Q,$UŽB@! „€B@!P"% ‚«ìÁï¼óŽ�žî=úè£ÝŒ3¢èD×àG„Œ!C†DQ+,ú‘ˆØæ…奭±¡º§[o½ÕwÜqeª¹í¶ÛºÕ«Wo1|Ízî¹ç:"~ñ‚ˆ«V­òuÈ·>D´ zÉ]wÝåÏ{á…\�:u¢hD¿à™Ƀ4tèPŸÏ1ö#L¨E`±}á²��¬×]w�ëÕ«—¿VøG„ʤ~aâ~�=öX× A/wD|—0ÞY�§Å‹»¦M›úð¥ñnܸq9kóÑGy…¸nݺ~ Œ©S§úózöìéP6Ä‚>sæL¿ EÚ”öV­Z¹É“'G‡~õÕWîÌ3Ïô-[¶t7Þxc”g+矾;ä�Cl3ç2_À *>ýúõs#GŽ´"Ý_|áxN¤Bë³÷Þ{»çŸÞ“(úlCvœx≮{÷î[…”¸ð #™‰n*XÁÊfÍš5ÁçŸáßÿþ÷hÄÆÇm³rûí·»³Î:«Ì>Ûøä“OÜ.»ì’J„ØqZ ! „€B@! *‹€H‰J X)±råJפI÷Øc�ù+†¤Ä{ï½ç7nì-Z”WmÞÿ}·ûî»—;–)x`´ŸÑõ_ÿú×Â��±@úôÓO}ž)«�%=zôp?þø£Û´i“kÖ¬™{å•Wü±ö7zôh‡ržo*„(>?ü°Ûyç�½e€‘Vß|냅ÁO<áI¬R˜q '¸Þ½{»Ù³g»-Z¸Ë/¿|«��L©HKÿ�½3�Ú©êÿ¿¿¬eÅ2fî1+SÆD’ÌÄÓ,2””‡B*D%S¥ ‘ÌIR† �Æ�¨eˆPYÆz2µëµÏ>ßs]÷u�kºï››÷g­Ëö>ûìó:çºÜû}>ŸÏF@:räHH1¡@„ŸF´ÿþ�2·1{öl2ä¶Ã—Í›77S¦L ß­mHW%RÀ�(�(€‹=ñýãÆ�óΆ(Á~ÐäèÚµ«9uê”W´M”`0�¸±qãF{8wÝu—×¢Äòå˽í ñmîÿ�>ú¨W7™•xD€Œàƒ8së­·šüùó[‘fÕªU¶ûñö‡<„n¼öÚkö8D B3æÏŸo*W®lúôé“)¢Äž={l?Ξ=¿œü¨�'Äu×]gråÊeû.N��‚œÑŒûï¬hu´_D@D@D@D@D@R% Q"‚[¶l±ƒF�7¶o˜]’C¼Ô’xñÏ?ÿôªú=%HœØ³gOàUX‰&JpÈàÁƒí ™uD‡eË–y-!Jøó0Ðv9.ð¼à­<¢D”nݺyÇ&³Â žð¿åȑÆd$w>ÎÁàška o8ž�ø!$9Q‚d‘ˆ(ˆ™á)�‡÷$;pà€%Ú¶m›P3/¿ü²õœIè U� H”H˜¿:‚^¸ø;#WÃâÅ‹½™\‚B²Îü¢ûðºà }<$J�_€Ü, Á{¢ÄgŸ}æ6M½zõÌ{ï½g·«V­jxÒÓHäéŸ%ä÷ß·¼ ü¢çL/> Ä�!q�¸‰ô‡ãñ¬ I¦%Øç<ÎWQâ�?þñÈ¡Ï~ø¡áþ&b%¡¥º" " " " " É�(‘,¹ÿW¡B3jÔ(;åâÂ… mÈàðA7!„jìÝ»×é%8À¾x W|¦ÖĽÿäÉ“iò�ছn2ä€ð¢a"ØöíÛmøI 1ê’(“œxП+VØ2÷ $çøte‘–x ´Ð<8G�:ulՌ⃈@G„"¼#HæÉÌ&X"ý�K“&Ml‹_”p×™¢IM # ßpýqKq)RÄz…p:tè5©¥;.|©ð�p"ÚÈ%R¤Ê€»fÍšv€Ï”Ÿsçε-†ºÙÉàðî»ï¶åÄûçÉ“ÇÎt@I< â5f™(P €)\¸°a†¿Íœ9Óz„·‡(ñôÓOÛ< xSð6Ü‚ . w¸ÿþû­8áÊY&:ûÇ�Û� ò;Ô¯_ßlÚ´É6™Q|l˜z“p> þ�•Xýá~ð�á+ òc‰$ E$bFÂSX_ºt©�IvJP¦ Jtr’ÿm^kfÐà:È+BòÒDŒ°%ºL„˜êŠ€ˆ€ˆ€ˆ€ˆ€$C@¢D2ÔÎócD“!Ü ’C–u�k$Õ„£‰^-ÂŽ¦M”šê‹€ˆ€ˆ€ˆ€ˆ€$C@¢D2ÔÎãc½hÚ´©™5kVš^"J„O“™¦Òy¾ãÙgŸ5÷Þ{oÄÓx^höóÏ?¼%ÈÇ‘YFè΃>˜Y§ÓyD@D@D@D@D@.b%. ›�Û~ñâÅmèE¤ËºD‰H×u¡ï1b„Í÷‘×I¨Hùòå 3ÂÈD@D@D@D@D@D £ H”ÈhÂj_D@D@D@D@D@D@D "‰±h§ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ@F�(‘aò30SƒßÈçðæ›ozS‚úgsx衇¼éÝìL™Y²dIã/ó·mýꫯŽVtNö3Ý'¡#\¯›‚3#;2yòd3vìØŒáÙÁüeL%[¯^=³råJ¯� •S§NÙ™R˜™…ù!˜êÕy9¸WÌÞÒ¥Ko–jRŸG°åË—ÛY¸˜H”Hán»ƒg¼=%vÝ/JPF†Aƒ¹jö ­KtÉNÌx ÄcÑDŽE”ðç p표�7îέŸ·É ÜœÅ%\=¬ä àͳ³hýáúÈ#Í%j×®­8p�(Á@1`Ú´i6W‡kÆ0pžî9rľUgŒð·îîØd— ŠûôéãþÎ;ïØ™4Øáx†È�áòXøËÜÁÜ#Â+bÏ ór¡.Þ ?ü°= ÏO:£?$`Åœ(Á:÷o‚DE Ž ÖwÞ{ï={þA€ëÖ­›ÝÎQ‘/Ü1Æ…Ý*Ã,9|WÈ¿ÁýwFXì�qÿ˜YÆÞDÔq9UÜ~ÿR¢„Ÿ†ÖE@D@D@D@D ˜€D‰`>1Kɉ0jÔ(;­" yóŽXἬc$Öã-¬‹W÷{JàAÁÀ•}ñ9˜í÷uB"ØvM”À€¾‘s€�7yüy)‚D DrU8{ñÅã%% É¡{kÏÌ n0J[©ˆ š][Ž·ëá!LÛˆ ⢔!JÀÍ%�dÉÞYƒ ¼) g é#×àŒ�(ÂýŽ×pÿ'¿÷жð6aæ,\xÀ³„¼ÜƒhÞìÂÁ3Ëh‡ÐǰiÒ¤‰2dˆ= ¼Eð2àM?ìçŸÞ–ùE <"ÇHF”Öy¶ÉWâŸ}ÃåOIE” OE¤ð .†4H¢Šçá"x™ð]Áàã¼RHzÊ Î,)"— ‚ ߌK¶ý^Bî8ÿ’¤¢ ßðѺˆ€ˆ€ˆ€ˆ€D' Q":›¸Jˆó'Û>a ¼qž;w®=.\”`'o÷Ý‚·ö¼�'d«V­âšyÂuŠ˜B)‡`gÑD Ê™áƒÁ¹ð”`°ÌÀ %ä“(�úä`ÀçÄŽ�æ)A¢|ÈeÀÒyP–Š(�ÀÁ¬pçm7‚ƒß-ˆú=¨ƒXAÞ ®…ÏW_}å†Û~óæÍ퀞¤¤ ^ýÆßå(ðïZÇ+ƒ·í f¹WpvùüÂm0€FL`JNÊÈwÁóÁ[®uôèÑA§òÊ1x»� ijÅl%þ¼ #FŒ°ýáùñç2ñ‹4Æ3šŒ(Á±þg�ç箻¢Ž?· ¢L‹Ü‡ïB¼†Pá;  IDATžè’c�ãáù@x"üãY%”Ê…^ÀœP&—gƒí.]ºXA†gÅMá˱xŽ ‚ æ¹"R¸®ƒè'ˆM@¢DlFª‘ ÷?pàÀ�ž#J0ˆ•]8AL9Ÿ ñ �™ˆ€ˆ€ˆ€ˆ€ˆ@l%b3R�,F€·äx:ìÚµ+¤çˆ¼©Ïʆçǽ÷Þõƒ'ÀÅdx· 4ýþûïçÅe#F Jà­"ˆM@¢DlFª‘…�ï‚A*!áv!ˆáפmcG!±é¹6òPfCh‘LD@D@D@D@D >%âã¤Z" " " " " " " éL@¢D:Us" " " " " " " ñ�(§ˆµÜ Ìàÿ0£@¢vûí·G 9H´ê?~Üö‡xûDlòäÉifœHäøHu™aƒY.˜µqãÆ!³vDªïö9rĺäãÏì$®tÆ´¦ÌbÂÌ„jøgspu]úï%ír?"ñ«]»vºÝ§xúÈ”�A–Ùý‰Öúáÿ°ÎÌ#³x0c‹³Aƒf‰‘‰€ˆ€ˆ€ˆ€ˆ€ˆ€D‰ž7�eªÈT-=E ’!®\¹Ò0xOÄúöí›®¢âÓR.Y²ÄNIùØc�™o¼1®.1�å}÷Ýg=zÔÆê/\¸ÐûÔSOÙAîŸþi~úé';Íg¤i!ã:Ñÿ*ùïåÎ�;Í<`ÏÉt–~Û´i“9xð WÄõôHtxâÄ ;ugÄüog¼ý j#=ËòçÏoè“ß% ,hïû%Jøéh]D@D@D@D@.n½(1oÞ¼¤Ÿÿ@6R# È_{í5Ó¢E S¡BóÜsÏyÕöíÛg4h`Ê—/on»í6ÓªU+ï ²÷3_¾|f„ ^7ž}öYÛíuíÚÕp.gK—.µ³5À¢N�:Ɖ+»wï¶‚÷‘ûÁç•W^q‡™ þ�pOž9Îé÷2áÙ¢¬cÇŽæÚk¯5xb0[‰ß½Ïþc£‰<ËnêN‰~bZ�‹›ÀE/J0@KV˜Ȇ?J ${õêewÿòË/vÐÏÛo¬{÷îæþûï·ëÌ áì¾úê«¶®›Ò²OŸ>öÍ=•8`ß:»ÁüøñãMݺum;þŠ-šF”êÇvèÐ!ÐSâ‰'ž°â‰ÿĦáÇÛ2öqŸœóöÛo›²eËzÓI2½'åA©?�<òˆ }Á[/„ çe³…ׂ Má90`@È)½Ïþƒ£‰ ,°¢÷S¢„Ÿ˜ÖE@D@D@D@Dàâ& Qâî»í›ãd„ 7�EPðÜ#…°zõj·iólÛ¶ÍnW­ZÕ,[¶Ì+Ãk½�gàˆw„3÷6�m¼5jäŠÌ©S§Ì%—\bþøão+ÑD‰hýá˜X¢DÈ âØ:t¨eæÌ™có à)Á}ÅŠÞш ÔqñGœpFè‰sûÏ•+WÈÀ9GŽözaÈœÁ<Þ(©˜»—þPÂY´û-’À@› Ÿ|ò‰¿ª]GxbîŒ{Îua3gÎ4Mš4qEVŒÀcÄY²¢9<>ýôS׌8p 'Žñlùó;àɃCzY4Q‚p"ÎÃó+Q"½h«Èú$JüO”HÆc"Ò@ÖÿH Jàá¬T©RÞv‰%̆ \‘͵à%ðp¶víZS¦L»9zôhÊàÊX.\Øk×í�&JDëÇ¥·(1räH+øp�„0x/^¼¸ç)Á9ñš`@ÿÖ[o¹®Û%÷ãᇶBI/mHĉá•À›þ§Ÿ~Úz¹¼üòËâ)�`I” ¡#×à4ÜÅP¿H‘"Ö/øÀó  S„9�·‚•áM›6µTfØ@|p†xáBTØG8Ç]wÝe‹ ùX´h‘«jBR±p�‰P‹råÊ™¹sç†4$Jà nˆ1$æŒdá÷„¨8�‘dE‰pO ØôîÝÛvá\Št€ç±G³oDz"´OD@D@D@D@.>%Ò!|#Òr¥ O‰{ï½×Î.A=¬ûE ’%ºP�{î¹ÇôìÙÓ>�ÌüÀ›p——�Ä…¼}·dD Bºuëf›âš¨û�Ü$ÒŒ×'O“°ÒÙØ±cÍÍ7ßl7Ÿ|òIëUáÊ+HæˆÊÁ69*0 ¶IèˆGçpù&(ÿõ×_­çB"S³úE ÓW÷á3˜$*JÒQ¹re›SÑ�ü„L`0ÆËÅå” ¿!ÔÃöïßo'QÂ�íp‹ÔÂN• Ä*®Ã… Å#J$zŸý} ò” Þ!<¿%üÔ´." " " " /‰é�èOÿ‡é$± Q‚Ù˜ý€59î¼óN;`å8Ž7Ýt“°3HEt` íŒÙ7ªU«f›ÌRÁ´˜Ø´iÓ¼™˜µ�Ù6èÃ;ï¼c˃úCÂDH(‰ ‚ç‚?Ôƒòdfe`– Å´I.7�&^„³¸YEÈ�ÁŒ".·ׄBø�›�:K’P2¸% fÒ¤Iv¿ûB%œÇ�Û´t¢÷�ˆsïØ±ÃB¨ìø�;„ó²Nx æÂ7"yJP>jÔ(›l²dÉ’¶]î½3fì¨Y³¦ Ï!a©&êüç?ÿ1$öD¼pÞ±úC?:uêd¹“ä’ó;‹G”Hæ>“'v„±¸ï‚ãO9%0rfÀW¢„»#ZŠ€ˆ€ˆ€ˆ€ˆÀÅMà¢%Ü ø|z 8"RÈ’#À@ÞMš\ :JD@D@D@D@D@D 3\ô¢Df@Nôáo³=þb¯_¯^=ã¦^½ØYèúE@D@D@D@D@Dà|& Qâ<¼;%ÎÛ¢.‰€ˆ€ˆ€ˆ€ˆ€ˆ€¤;‰éŽT Š€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ÄC@¢D<”TGD@D@D@D@D@D@D Ý H”H©›±� *d˜ž‘™ÒË,X`g‘H¯öRigèС¦téÒvˆ^½z™³gϦҜŽ#Q"…‡À‰¿ýö›Ù¹s§a*P¦¯ü믿Rhõÿ=|ø°Y¿~ýÿí8GksçÎ5*T°Ó’þñÇv Ë &œ£Þè´" " " " " "  ‰)ÜI¿(A3xTªTÉLŸ>ݶúã�?šÆ�›Š+šZµj™åË—Ûý[·n5yòä1GŽñÎ>þ|S¾|yóÏ?ÿ˜?ÿüÓ\vÙe¦hÑ¢=%–.]j…<êÔ©c¾þúk¯�E‹™5jØs6kÖÌìÚµË+cϼ0âµûï¿ß 6Ì«>iÒ$sà 7xÛZ�dH”H†ÚÿŽ %ØÝ¥KÓ§O[£nݺf̘1v�‡âÅ‹[Á�”Mž<Ù–ñO»víÌ Aƒ¼mV6mÚ”F”øý÷ß­Xá<(Þ~ûm[1Á�0’uëÖÙv^zé%Ó²eË�6:dJ•*e>ùä“�ýAx€ <Ø«2kÖ,+¾x;´"" " " " " " I�(‘4wH$Q¢oß¾¦{÷îæÀ�&gΜæôéÓ®º¹þúë ž ‚�ó68~ü¸ÉŸ?¿Ù±c‡W—•H¢ÄÌ™3M“&M¼zˆ bAÆ ½²“'Oš\¹r¥N‚a){öì1´ç/[¶¬w­ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ@2$J$CíÇD%:wîlú÷ïo…9rX/ð|ð”˜:uª=šÁ}Þ¼y­wû,Â-’(1zôhÓ¶mÛðªv{ìØ±&_¾|!ç,\¸pº$ßÄS¢L™2¦víÚfĈ6|$b'´SD@D@D@D@D@D@â$ Q"NP‘ª…‹ä”(W®œ!1$¡ä�š¥¢uëÖfüøñ¦U«VfâĉiNI” _E£F�¼ºxJPïÌ™3fΜ9†<a´ïläÈ‘æî»ïv›ZŠ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ@R$J$…íÿä%ð|èÝ»·M0ù÷ßÛ 40ãÆ�³ë„s´oßÞ µ`'¡„pàÍpìØ±ÿߨïßH¢bõ]N‰3fX!Ä…q+VÌ+[»v­éÖ­›¯Ec˜=ƒ$šüqÈþ  ’b^}õտĉÖë‚›Ÿ}öYÐ!*�˜$JÄD½‚%.¹äŠARI^ˆŸþÙ4oÞÜΪ�á~cêЂ šŽ;úw›=zx³o‚ˆÀgß¾}¶ÞG}dÃ'§ a&³y8#�eÍš5m¨K7ã‡+Ofö ¼=7˜ ¤D‰žÐâÚÔRD@D@D@D@D@D@’! Q"j:FD@D@D@D@D@D@D e%RF¨D@D@D@D@D@D@D@’! Q"j:FD@D@D@D@D@D@D e%RF¨D@D@D@D@D@D@D@’! Q"j:FD@D@D@D@D@D@D e%R@øÃ?˜mºtébJ—.mÛîÕ«WO Ä—lÙ²™ãÇ�Çu>*ÑOÄ Ž­Y³fÜÇ©¢ˆ€ˆ€ˆ€ˆ€ˆ€ˆ@Ö! Q"…{•ˆ(±cÇS®\9óþûïÛ3úE‰­[·ÚÁþš5kbö†söA˜†çEÕªUíz,Q¢mÛ¶Æ ¿ÿþ»éСƒNóÄÆ˜M›6¥%fΜijÕªeþþûo+:T«V-�(ñᇚR¥JYq#žóøë|ñÅ%ü@´." " " " " ‰)ÜÌxD‰‚ š|ùòYï†qãÆygC”`ÿ¥—^j½ºvíjN�:å•G[᜗\r‰¨ƒ€á±D‰nݺ™Ûo¿ÝlÞ¼9Zó�û#‰=zô0O>ù¤wÜÀ�Óˆ^a+%’€¦CD@D@D@D@D@D ‹�(‘Â�Ú²e‹É�;wH �76S¦Lñ]’S‚�u¸§€ßSâèÑ£¦gÏž¦M›6!mEÚ@x(R¤HHâÆO?ýS” |¢OŸ>ÖcƒÐ�É“'‡´k#’(Ѿ}{3zôhïБ#GJ”ðhhED@D@D@D@D@D ˆ€D‰ :1ÊðR8qâ„W“ð…Å‹‡ˆ¶nÝÚ 4È«ç%؉Ø�7o^¯<Ú õß8s挭â<%6¶mÛfŠ+æJRÊh3u*‚¸±gϯ~¬•H¢Äý÷ßoðŽpÖ·o_‰†–" " " " " " �$Jâ‰]X¡B3jÔ(F±páB“?~ƒXá¦u³olܸцjìÝ»×6ê%H$‰ûb¢DŽ9ÌôéÓmUrD¸D�ÇŽ³ž°e %nºé&›‚B¼&ð–Ø½{w¬Szå‘D f ©^½ºÍÁyI¼>ûS‰"Žp�‰šÂ7%¦ú" " " " " "�uH”Hñ^­X±ÂŠ„P0åçܹsm‹á¢;I,éìx<äÉ“Ç*TÈ´jÕÊ0[F,#ÄW\agñ@¨\¹²Yµj•wØ�!C¬0ТE óꫯfÌpFÂI f߸òÊ+Ík¯½æŠ—ä�@T -ÖùìÛ·Ïœ‰^ÿÊ•+ÏQ¢oß¾I‹|ïþõ¯¾ƒ~kÖ¬™hòæÍk=à�¨—ˆõîÝÛôë×/äÄ<Úüû�ýuëÖ5‹/ö¶YáÜ"2�sG@¢D ìÃE šêÒ¥‹éÓ§�m•�ƒ` �‡âÅ‹Û,Û”¹ÛíÚµ3ƒ ²uÝ?›6mJ#JüþûïV¬po¿ý¶­ƒ˜ÁÛâB… ™uëÖÙ&ä·lÙÒ5¸|å•Wlß©ÄÛå=z˜íÛ·Ûc.\h*T¨`87ƒI•Ç÷ÚCˆä)K”`Êy°ƒZqcß¾}^»ÑV8`±7ÜpƒÙ»w¯­æ¹A}¥n�¬W ¼îºë.ƒðà,H”º—Aìh;w^<)èâF¼6kÖ,{Oî¹çë™ÃõðÁ¤ßqÇö>:tÈ\qÅÂo‘D‰ v”!š9Û²e‹ÉŸ?¿'¤ Dð,b#GŽ4bÎx¶Ïø¾ðl6²dÉWl:tè�´§DÉ’%CD9E¤CXó[ÇŽÓˆ^_}õUÈ5ùëk]D@D@D@D@D sH”H�s$Q‚7¯Ý»w7 œsæÌiNŸ>í��w<0Õo¶àíØ±Ãn»"‰¼yoÒ¤‰«b¢ <1ª 6ôÊNžû,¤Ï4vÿý÷‡&Ë–-3×\s�wžhƒîxD ç=Bc 40óæÍóÚ�¶ÂuáYðÉ'Ÿ¤©ÔW<ü|ð8‰G”ˆu/ƒØÑÁh|Òt>� êñ8vìXš£ªT©âyåPøä“OšG}4¤^$Q"ˆb¢ÚªU«l;´¢Žk”gÌ=ëkÖ¬ ì#Jà•âìÎ;ï4¯¿þºÛLZ”سg�É�;·çuá$DõêÕ­HÇsBn–ûî»Ï<óÌ3®Š]ž:uÊ\rÉ%V )Іˆ€ˆ€ˆ€ˆ€ˆ@¦�(‘êH¢nó¸¹#(äÈ‘Ãz1�¬’ƒº©S§Ú3âÀ ïö!X„[$QbôèѦmÛ¶áUí6É epçcY¸pḓoŽ7ÎÔ®]Ûz[<üðÃö­6 ãAbD×.a#þ$‰ÑÝñˆß~û­w-¸÷Oš4ÉÛŽ¶Âà—Áfx�X}?~¼¹ù曽fñ(‰G”ˆu/i0;Ê¢ññ:’ÄÊÇrüMöƒ�»_„¨tëÖÍ_ÅzNøï!…±î3¡=ô�mÏÄ)g„,RƒG ‚çv†(ñꫯºM+B„o'“è�®3ܸ¯œÿĉÖgóæÍÖs$RxßÉï¾û.¼ m‹€ˆ€ˆ€ˆ€ˆ€d‰)€%!(W®œ™;w®0“7Â…D: ƒpÊ­Zµ2'NLS%’(Áà¯Q£F^]\ö©Ç›l<ünó^¥WHþ‡'„sÇ'Ä‚Ñ,Ú {Û¶m†¼Î9!DÂëxf8«W¯žyï½÷ÜfÔ¥%"å`ê+ž$xc8san›.XgäÊ@XAüˆu/Ý1áìØ��;&™%¢R$Clà‹d‘<%‚ØÑÖÚµk­@þý.\„k&§…Ë%‚§Â¹%Ž=šÆ‹&‘¿ñÆšA*;B@Xçã’@2ë³o”)SƺË3›‡3–®Œ¥?gƒ«i‰(@ ƒNfØ ¿ƒZg£F�²ûñ&à::c\÷˜2Ä´iÓ\‘2dˆj˜a—}ÿ`•kzúé§­»?!!/¿ü²w\ÐJ�(ÁqA}}þùçm¹F’�úE <'•ðDaÐ�Ѐ º—±Øñ¡ídfß%7{HpIè÷Ò eöbŒ±÷�‹û€wÄŽrîWöìÙ½™>\{�:u²á$¼ˆç%­D‰ô½ekˆ‰¼OoH%Ò›hæ·‡ Þ„%bû÷ï·‰gñ¨�‰€ˆ€ˆ€ˆ€ˆ€œ;ˆ DχœvxîK”8w÷ì‚9³D‰ æVžÓ 1b„Í¡‘H'n½õVÃL62�sK@¢Ä¹å¯³‹€ˆ€ˆ€ˆ€ˆ€ˆ€ˆÀEK@¢ÄE{ëuá" "ÎEt IDAT " " " " "pn H”H�¿›}#[¶l¦P¡BæöÛo·³4ÄÛääÉ“ÓÌÈï±™]oçÎ�öú2û¼™}¾Î�;{3n$znfÙ`6‡o¿ý6Í¡LOÙ´iÓ4ûcí á ³»D²[n¹Å¼øâ‹‘Š´OD@D@D@D@D@²‰)Ü&'JüöÛo†Aû<`§6dª’x¬oß¾YF”`ºLD—Œ´þù'#›�«í:uê$-J0õ&âC$#ïÁm·Ý©(dß_|aüS¼®Y³Æ)R$¤ŽÛøõ×_m²F½ÈD@D@D@D@D@D +�(‘Â]ó‹4söìYS©R%3}útÛêêÕ«ÍUW]e…ŠZµj™ 6xg{ðÁMÞ¼yÍ¥—^jHøxùå—{e Î)ç­{Ù²eÍÃ?앹•9sæ0'«9~ü¸ÛsY¬X1óÚk¯™-Z˜ *˜çž{Î;æØ±cæî»ï¶û¹†aÆye3gÎ4 4yòä±}¥¿ß|ó�WmeóæÍ¶ÿO>ù¤iÔ¨‘©Q£†aÐíì©§ž²ƒxúÁ ¹rå2?þø£-æºðZ¨X±¢¹òÊ+C<þüóO+�ÐOÊyäã4ž}öY{(ïÚµ«�×–FéOÕªUÍ Aƒl8–/€³«¯¾ÚäÈ‘Ã-ZÔ^gÇŽ]QÌ%³9.\8ê,¯¿þº¹çž{"¶ÃsóÎ;ï˜zõê™ë¯¿>ÄÛfÛ¶mö9ˆx 1ö9AÜ’‰€ˆ€ˆ€ˆ€ˆ€ˆ@V$ Q"…».JÐT—.]LŸ>}l«o¿ý¶]9r¤iÖ¬YÈÙ:tèÑSbþüùv ~òäIƒXP²dIóå—_†‹çB©R¥ ôx 1¡W¯^¶:o×ENœ8a·Øßyç�vpôèQ;¨_¸p¡×ô„ ö”`ºÏìÙ³›Y³fÙv>øà{]®Qö#Ž0XÇ»aÁ‰ ýúõ3wÜq‡9sæŒ9tè�¹âŠ+ÌÊ•+í¡¯¼òŠåÌå=zô0Û·o·eô™6™"’Á~›6mÌðáÃmý!böìÙv±åÚk¯µëî˜2Uh¢6~üxóïÿ;êaœó¡‡ )çš¹ÄfƒXµjUH945kÖL³ßíøê«¯E WOK8 H”Há®D%xkݽ{wÛ*ƒÎÓ§OÛuÜðñ|ð[4Q‚�¹ß¢U«VfÊ”)þC“ZG”À{ÃÞ ¼‰Çúé§®È 8Ð0Ø™¬(‘3gN�"ÅáÇíy–,Yb…„—p«R¥ŠY¾|¹·o‹G}ÔnϘ1ÊŸ}ö™×¶«HžΖ-[f®¹æ»‰(‘/_>Wd¶lÙbo‡1VèIF”¸÷Þ{C¼Küm²ÎsÀóâ7ž•Æ�‡„køËݺÿYpûÜòÔ©SVhA¼�‰€ˆ€ˆ€ˆ€ˆ€ˆ@V# Q"…;I” ä ÿþ¶UÂ8êׯoêÖ­kªW¯nCü§‹&J0ÀìÔ©“!œ€5ao¾ù¦ÿФÖ%˜;Ã+Àmžñý÷ß»"3fÌÓ®];o;YQ"<BþüùÍO?ýdÛýøã�m8…wß !xˆ¾Â§D‰¦[·n^�qãÆ™ÚµkÛ£„· x`ä½àœî¸Ò¥K{çàZaàŒPÿ6û“õ”ÀK‚�D Qñ…c?ÿüóD ©[¼xqóÝwß…ìÓ†ˆ€ˆ€ˆ€ˆ€ˆ€d%R¸Ká¢áåÊ•3sçÎ5„G�#Áå^`ÐÉ@ÙoÑD ßmÛ¶õÚMš4ÉpQ"ÜSâ‰'ž0½{÷öº›¬(ç-âx1K†(�°ÉÈý²©œn\˜ ¡䪈dç›(AñŠ!\§Aƒ6”dÞ¼y^K¤kˆ´O¢D$*Ú'" " " " "�H”Há.¹A6³oàÝÀ žÁýßÿmóàÀ:byxûï7Â<ÜÛÚ =Œ·ý.ÑäÚµk *ÇŽë?Ô,X°À¾åO4§„óŒ 1¿§¡íÛ··bÂ+¸Bœ‘¡Zµj†p \†+�´ä\äpp¡',iÃY�(�(BŽ < `HžŽ+VØC&Nœh×Ô3«…%x +W®lsJPöÆoØäžTŽG”àXÂC¸g‰ÌjA.‘hbˆ»ÞXKB|È£Á5Äk>0VøF¼ÄTOD@D@D@D@Dà|" Q"…»áD …$�lÙ²¥Ù±c‡×"!¼ñgF<%è3ðw†àÀ¬ä9 ‘£ ð .IILÉŒ„¸A9Ç'3ûFPøBýå¼ÌZ1jÔ(×M»Ä»�P„rQL›6-¤<Ò×CØÅ€l»´MbFgA¢b 3gÀ…6È�8�‘Ô¦ô•2¾A9}g?áܓݻwÛãâ%;�˜…°›x�{”è2Þv­Ç3ž«$Ñ6T_D@D@D@D@D@ΉçŠüEp^DŒ‹ÁöíÛ8%hF1À;ÇÍö’QçP»" " " " " "�Q$JdYµ›&\âBGB8Îã�?ži—¹ÿ~C>‰={ödÚ9u"HO%Ò“¦Ú !.Rxn�gƒPŠo¿ý6S®îÖ[o5£G�Δsé$" " " " " "�$JdUµ)" " " " " " "“€D‰˜ˆTAD@D@D@D@D@D@D #H”H�*á yòä i¡iÓ¦æÍ7ß´Ó{fË–Í–S‡™/zè!;Õ$\sÍ5&W®\vÖf‰ð—…4˜E6¾ùæ“#GŽ4S…’÷€0 *dªW¯n˜q$ÜC a£ß˜}£cÇŽv:Tfß4h�¿ØL˜0ÁήÁt©>ø �ÊÔU>|¸�±ƒ²víÚ™£G�º"óá‡ÚY;賉lÞ¼Ù+Û¹s§�Õƒ™7˜ÙƒSœq¯™ñ£páÂvZS¦ïtFߘA…Y;Üç믿vÅZŠ€ˆ€ˆ€ˆ€ˆ€ˆ€D! Q" ˜xvÇ#JüöÛo¶©ŸþÙNS9iÒ$»�(Á´žeL :uêT»�•þašÎ>øÀâ³gÏžF”`šÌÁƒÛ);g̘a w}LÕÉ´Ÿ L#J0�(Ç2í*3[�«aÑ¢EöP�²eËZn'Nœ°â§Ÿ~jË–,YbÊ”)c~ùå{ì-·Üb}ôQ[öÇØsQ÷Ÿþ1Ï=÷œ‡\š5kæõñ‚™C8?V£F 3räH{Ó†r~7 )‚mÉD@D@D@D@D@D@# Q"1^!µ%8�ÙúõëgÛð‹ìèÔ©“:thHûÑ6æÍ›gßÖW©RÅ\}õÕÆÿVž�;èŠ+Ù»víòšAüÀk¡téÒ¦B… E�ªU«šGyÄ;&Ö ò-Z„‚K.¹$D”8pà€õ8yòdšföîÝk®¸â ë1pàÀ4¢ÄìٳͦM›¼ãðš5j”Ý~à�ÌóÏ?ï•ùWV­Ze½!ܾ7ÞxÃÜtÓMv“s¾öÚk®Èl߾݊ì IeÞ¼y "‹³ºuëšÅ‹®#wîÜžA9ÂÇêÕ«mÕÎ�;›×_ݦ¥ˆ€ˆ€ˆ€ˆ€ˆ€ˆ@œ$JÄ *RµDD‰;v˜råÊ™÷ßß6å%¶nÝjß¼ûC"�Ïí#ĉ „ 6Ìá•AXºuëìöK/½â™@¸Â¸qãlÙ¶mÛ a ,ýFø‰kÏ¿?žõpQâã�?6õêÕ3={ö´ƒø Dœ™‚ó…‡oøÏwüøqSªT)³råJ»›ë@ÀA�ÁÃä‰'ž ßð‹ A8G$Cä@¤Ávrü†ÃÚP›Ó§O{ÅBx~`„Ÿ Ì ôàÑAßðÄ�‰€ˆ€ˆ€ˆ€ˆ€ˆ€�(Ì'°4Q‚Ðò �Á 4Š(Á~„rOÆpêÔ©Àó¹ÂJ•*™!C†ÞüûmÖ¬Y¦aÆÞ.<È[ñ×_r;ð¶ß?°Æ;àìÙ³^ýTWÂE ÂSræÌiÞ~ûmëeÀŸ�ø9ƒD ˜Üxã�¦K—.^÷ðæ@˜@„áº8G¸!FT«VÍ^xÙòåËm¾Šï¾ûÎ!î�ó‚6¹ ,0÷ÝwŸyæ™gly­Zµ¬¸A#ðª wöôÓOÛ28ã}‘UCqìÅèÈD%R€½eË;Ð÷7Ѹqc3eÊ/Ñ%ƒÜ/¾øÂ¾é'y£3¿§‰ñ&hÓ¦�+\þøã�¦C‡¦H‘"Ö[À…Œ;Ö ä;p3¶±aÃS¼xñÀvS- %ð” Îð(P €!¡¤ß¢‰„R�WâŽ;îS$œ @;#FŒ0„Pø�6¯¼òJ›�¿ŸuòN�/ŸÈïúJŽŠ=zؘœ!C€ºîºë¬¸DbM’^¾÷Þ{áMÛmúƒ—…LD@D@D@D@D@D ˜€D‰`>�¥î­:Yg¼™' yãN¬uëÖ!3HøE Êôòö=#Ñ"ƒsÂ0<È#ÉH‰×„߃�ÿÌ‘ŽKd_¸(ñÓO?ÙœÎ3Q"þü6 ¥¿ÝH¢׆ �·‚;Þs×]w™Ñ£G»M+JPÏI' í ±e¸}öÙgV Z¿~}HàìØ1o?|A0`È,\¶páÂ�ãžzê)‰–Œþ�`%‚ùÄ,E 7oõœ2èFˆ%6nÜhC5\È…_”Àƒ¢OŸ>!3AD;1I›4ibœ×Sq:QâСC6$Á ¸™~³[·n^SäwÀ›ÃۂРüFø¡!ÉX¸(Ax5¸Y+^yåNžo!’(AØD£F�"æfÀƒkþõ×_-k<"ÜL&_~ù¥õ!D¸®‚‡ÄÒ¥KËìö 7Ü`{ì1+Ü�h“„ .IgíÚµÍÌ™3m ³‰àãŒ|$üDHAèÁãÂõÇÕÑRD@D@D@D@D@D -‰i™$´gÅŠ¦fÍš6l‚\sçεLJ‹ì$äâî»ï¶åˆx.äÉ“Ç&§lÕª• â99¹8¹êÔ©cÃCÜqÜPúÃì,É�àŒsóæÍí ™A½KºéÊY&:ûÆã�?n½ðÀ3„�¿I<C@XnÞ¼ÙžÏêñ!·^ ¬3C FRPW‡%!.Î2G)Y²¤MtéöÆAî ÿqäƒÀ&Ožl˜¶Ô_Æ:S“b{öì±BýÁãÅ…ÅPöÕW_YÞ\¢SŽ:ãxf’d”þhzPGFK& Q"˜�JE@D@D@D@D@D@D@2ˆ€D‰ «fE@D@D@D@D@D@D@‚ H”æ£R� " Q"ƒÀªY�`%‚ù¨TD@D@D@D@D@D@D ƒH”Hì?ü`gÏð7Ñ´iSóæ›ozS‚2»ŸË.»ÌNyöìY[Ý;Á¬ÌØÀ”’®Ìß^V^gêÏðÙ.Ú¶më]3q0e(3�0ëÇüùó½²ãÇ�ÛÙJŠ+fJ”(2ÃÓ¡vìØÑNJÙ Aƒ¼ãXa Rx.\ØÜwß}æôéÓ¶;¨7nœw6D ö_zé¥&[¶l¦k×®æÔ©S^y´•X¢D¥J•Ì�!CÌÞ½{Cš8pà€É™3§—_�Âë¯¿Þ {¨\¹²AÄpÆ`?\ peñ.ðbX·n�½6¼4\îŒ-[¶XÑ¢hÑ¢6ÌßSÂ�ƒ>““cüøñn—·„×�7ÞhºtéâíCø˜;w®q^¿üò‹É�;·-�Õ¯­ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€d ‰)`fPí¼®Â#¦L™â%º$§Ä_|aßæ;¯êú=%Ž=jzöìiÚ´i㚉ºŒ%J¢Ñ¡Cë@øÆêÕ«m[„;äÈ‘Ãzd¢Á/—Çñäûï¿�zÞô( ¤@�6,Á�âÝwßµM#àñî �€±aÃCþ‰·ÞzËë¹&ðЏãŽ;B„D �â1bÄë™á<%¼ƒÿ·âïOx™¶E@D@D@D@D@D@2ž€D‰#8àå@BEgäsX¼xqˆ(AYëÖ­CrøE ʘ‰#–mÛ¶ÍÎ:áê†áÏ1áööÀàœ™-0úŠÇ�óRpõÜ�àÓO?u›fÿþý!ù¼‚V#qaFŸ¸FB*@˜Ão„s¸D /¼ðBÈù ;i×®�­N;̬~=}úô1�>ú¨×,ÉD¯»î:»Ôï­ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€d‰)¢fÐO’EÞÜ“T1þüVøïÿk 7ûù Õpa~Q Óì‹eÇŽ³Þ„c`ä‚p¢û_pß|ó�'JP·AƒÆ…�P·}ûöÆÍvÑ¿;ègÀ�ÈrÕUWYQÃßÎÕ²eKÿ®Àõ+VXo Â*î¾ûn[ŽÁìx/*TÈ&�$ô"#gž $�|õÕW 9œ >ÜöƒÙ7êÔ©cCG\Ó’6oÞÜN¡IRɱcǺ"+DàyÀôšL©É9R�}ƒÆ_~ùeS¦L+@Úâ¿Æ�?þØŠW\q…í³8O „ ® ±âÞ{ïµL)£ïˆ?”¹á/Îðªà¸öêÕ+Ä›"¨?îx-E@D@D@D@D@D@2‡€D‰Ìᬳˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€„�(D›" " " " " " " ™C@¢DæpÖYD@D@D@D@D@D@D@ÂH”¢M�Ì! Q"s8ë," " " " " " " a$J„Idó‡~°³gø�iÚ´©�JÓ;Áì|˜¶ó¡‡òf‚p³oäÍ›×Naé/ó·—ÌúÕW_�ÌafòäÉ!3r$ÕH:ô×_™N�:ÙY6`7zôètj9ùf:wîl6mÚµ�GyÄ›]%j¥,^püøq;Õ-3¹ÈÒ—ÀªU«ì¬:nJßX­?úè£ö^dË–Í[2¶`ÁoŸ+üñÇmÙ¢E‹lçsF�Ó§O{³¹ß­Ë/¿Ü›R—ºîw‹r¦ô½é¦›Ì¯¿þj›‰õ�e¶föa¦¢n¸Á;ŽþdÏžÝþNò{Èlúè£d.+ð˜³gÏ–û ™b5H”صk—Ù¾}»ÿ� n^+W® ÜeæE†OS›çΈ6í\«U«–Ð3Ž(Ñ£G�ÀS1H¿ýöÛCê (P D@ %øÝ‚ ß½"EŠ˜O?ýÔ¶áÿÝ:zô¨iÛ¶­¹ë®»lYÐw–ÿh.½ôRÛ¢ Sø¶lÙÒGªV­j×9ççŸn'˜>؉îwÔVúß?ˆ(#K—.µ{¶mÛf§vbK«V­Ì“O>i¯ƒ�ûµ×^kž}öY!ñÁ ÙÏÆÎ�;Í¿þõ/©_ÑŽ?r䈘®8\”@,ùàƒLåÊ•­@ã%Þ{ï=+âDk—ýˆP´y><ËAýT™ˆ€ˆ€ˆ€D" Q"•8÷%"JÐd÷îÝM¿~ýlëþ?îÙ�WÀСCã:ó¼yóì¦J•*¯÷†l÷îݦX±bö�ZÞòyå•W¼6W¯^m®ºê*ûV­V­ZfÆ ^˜3`àÀqˆ$Î^}õUÓ®];·i&L˜²=xð`û†Ñ¥uëÖæ�?þð겂øÂ ‡·ìñ×ÁÚÎz÷îm:vìh7Û´icPxÛZ»vmsÏ=÷Ø·¼®.ú§k×®v`ãÊš5kfÿø¿óÎ;í`«L™2®Èñ�3o0yK ׿m-û`ÇÛØp{æ™g,ŸŠ+ÚãÜ›ÙÍ›7ÛÁØ AƒL£F�l¾�ñ|^{í5û&¸B… æ¹çžó£}úÁ~ 6Ì–-\¸Ð\ýõ^=·Âô'žxÂmF]2ˆä:y«î)ÔŸ¨ c‚îå™3g¬§Ì÷ßoêÕ«g ~î~ø¡©^½ºåÆumݺÕ;Õ—_~ix0wüá�=õÔSæ±Ç³ÌXæÊ•Ë€)ãÅ#†ã®¼òJóâ‹/zm²ô¬Gû^†4eƒc½±TD‰-Z˜R¥J™C‡ÙSF%\_î»ï>ïùÿÝš9s¦©[·®­ô�å;ÊwÑÂß7Ì/J¸rç<¯A¢Ä¾}ûìw gÜc÷ýâ.Y²Ä„Žñ¢g¡B…8žß#÷[îo/h½~ýúö{Éïa¸(� Ã=Y³f�¹ä’KB<%ð`kß¾}PÓ¶Œ6ùNÈD@D@D@D «�(‘ÂKD”رc‡)W®œyÿý÷íýÜ3˜*[¶¬ýƒ4žî00ä­<Æ[E7èd›·‹ œ#BÄÛo¿m‹FŽi û­C‡=%‚D Œ |O�:e›7nœ™?¾¿Yû‡2 xÝÒ8`E Dg'N´‚ Û$ˆ+'Ož4 \a9{öl[•� ƒñßÿ݆Ê0è>|¸kÆÜÿývÀùúë¯Ûr¿§D,>\C�§îéᢠƒ#Þ|ò“Á…Ìðü0q}g€ÇÛÜxŒg W¯^¶ê/¿üb%¼d0Þþ"ºp>Þfsà‚;{É’%m꺷±wÜq‡™6mšÝÏ?<_á¢DP‚Ú º—‡ðÆ wÅŠ¶w¿xFxK¾qãF»üøñÞà˜ˆÎóhÔ¨Q&wîÜÞØ¬Y³ì3Â@™-œÜfî àŽݿ (A]¾³üŽñ=sÏ¿; ×Çw�PÚŠfÍ›77S¦L‰Vq?ß#'G¬°ó‹/¾H#Jø«‡‹„jð{ǵò„gŠûîú�{úé§­@ëß§uÈ $J¤p—â%øãšjâš°;ã�{öóv�oÝÀÞÕ‰¶d�9dȳwïÞ4U‚D `¸¡ð¶´-" " " ™I@¢D ´Ýâ~·a’Õ-^¼8�Û1ûßà»?îÝé0ñ¦/ÃÅœ·� œE%pñçm!ÙÝ1Â>â%xÛèL\¸A®;/KÞP“7ƒôT�dp$xs†h㇜Ogýû÷·oHÙFp g@4C” ¼!Üâᓌ(î)ÁÎy(pÏý"Dz‰ážxðFã>2ðëÒ¥‹}‹L^�p.‘¶lE ßpƒ~ŽID”ˆv/iQŸ[Äõ'ÜS¯çöÎÛsÖÝsÞäã9áú‡(A.’H†Xi ^7èY�ô½ ?>|;H”Àûƒ·ä|8¯³ô%b ŽÇ¼b‰þß-Ä@D gAßÙ>}ú„äEàù‰$Jð[ÊwÂy«õ‡üsçÎu§·KrÍð3¿g…ä[ˆ$F¥§(Áyܽbé¼uü�LT”@øá·ÁϧD GCK� �€D‰ï"‚ƒtÞ�·Ï[gÄŠð?¦yCŽ´ ¹ðÿqO®þhg_,ã�_“&M¼ü ˆ ~Q÷dd¸ó±sWæ-"}£Ÿ¸OÏàÒo nàï®�rþ˜ÇÅŸnÜäñXp¢ !ÎH .J0¨d oN Ú‚‰ÿøÃÞ;ÁBŒs3°gÀ“„„ï¼óŽ-ã�Æ%�œô B:‹&JÄÇv™Š~ˆá)§ì x³Ìq ]|~F‰ ÌÈQÀõ3@çü¼ Ç(¸¼²îÞš‡_O´íô%¢ÝKÎM”À�¼>0 þ$ž|'p{we €ã%àC>„¾+<‡.ŸEгë{i;ðoøãCüM¤‡(Áo\ÑDE ~ã8ÖqúÎâÂï¿|gÉáI”àúø‘?�ïKøï¨ÿúÉõA’J—óƒï$¢0ms<¦øîÓ¿x‚ñ»n‰†o�ë&3Ã7HÔÚ Aû]&|ƒ| ‘¼½¾~gµ-" " "�UH”HñN1`aPÅ›FbÊÝ›»HLóG±K„ˆ�ç˜ó‡5Ó×ù߆u‹Ä�œ‹8jî¼yóoçyóŠ;»{CN93|ð¦�Áž VýYÝü38âZˆqwƒ8+„ep�x|ðfÛM3Èÿ$£-úÃÌNxq}Jfö Ú%$ƒ� ‚†ÿ­'¢±ãÌÈÀ ˆøj÷Vœs"ÁkÜþ„™ÑD‰xø�l“9â’›q€ã@ÑGö3¸c�¾9s³?ÀÁƉ3%Jð6�{ÍùààÜæéÉ�GÛÔñ?#®ÏáKar]|ð:ÀuŸu'±îžŽMÄS"è^F%8‚ƒP®�d‡ä5p†€À³Œ˜†PF·Â‚<%¸7äwáù'tÁ q‹õ¬Çú^ÚF¢üƒ’L¢Kî÷ÓÿAˆ„ ûÈÕàê81Œp ¿…¸¾�(Éüb*åÌÄÄÊ ï,uôðÎâ{ÂoýÀüálÓùnðs¿£þëcý�°Ç23Ï8mûg0bjPž~_y>ù=q³�؃ÿ÷¡g‰&º$‡K¢‰.ñ*á÷ƒ¾r ¬»ü2ü.±Í‡{� Â:Ï4<ŒñDá7/'¿ÇŒ»~g"‰.®\K8_ H”8_ïŒú•¢„ßû!jEœ÷2ë^2Äëæ|5Ä�x<¥Î×þgÕ~!à$3%(ádˆ9ç“!ðÁçS—Ôˆ‹€D‰¸0©ÒùD€�,Ӕʲ>�Œº—äoqaE$§$oá,ç«b€^²Ì#@ÈɃ>˜ð }Â[‚0±óÁ#%Îçgü|à¤>ˆ€ˆ€ˆ€œŸ%öíÛ÷‡°]¼áñŽÎ–-Û5ÙÒÑ®¡Q™Ä"�QÙXçUyúȨ{ɹO ÄÃ?Ejú_Eú´HnB!\xOú´ªV¢ ü‚çƒÙ�’±#FØü#É›žÇ�g‚P%Âïd" " " "� H”ÈŠwM}� €€D‰ à&êD@D@D@D@D@D@D +xï½÷ìLtLàà>LÌà>Ÿ}ö™q< ÝGáÆØÙÜ´vîæ7mÚ4$k<å|ÈþÎ,ÄŽcnö fk`–™k+Ú’h�,íѲäG;6Ùý;wîôfÜð·An\ð“5¦¶# !³#ÀÀY*nýÑúêÚNfɬô‘Y'j×®�L�a–¦å$Ù3lÞ¼ÙÖczY—�ß-¹ßn&fº`ŽÃåŸNd" " " " " "�Õà)An¬3gÎØ3+2¦°gF6fzãÃTïî#Q"NQ‰$FcêºI“&ÙgÄ?µeÄ3ðMÄ;\û‰—L]ÏnPÿñé!J0•b¸¥"JDëkø9’Ù^¾|yº‰üñ‡dPúø>÷ÜsQg`x÷ÝwÍ�7Þèu™¤vcÆŒ±Ç}ùå—v×ó%éž×I­ˆ€ˆ€ˆ€ˆ€ˆ€ˆ@ ‘D Ä>¼”EŒ ï¦F'§„D‰E îsÍ÷ë×ÏÞ¿(ÁŽN�:™¡C‡Æ¸]¡Å‘D‰E‹™5jØ·çÍš53»víòâ-?Si¶hÑÂT¨PÁ‚]!Ó%6jÔÈ&~»óÎ;Í]wÝeÆ�g‹gΜiÏÎã/�o¾ùÆ–!J V "àIP¯^=³wï^×lÌ%žÑD‰¾}ûš:uêØ,÷÷Þ{¯A1Û²e‹)\¸°ç1À V¬XaûÍÀ>¨¯Ô âƒ÷Þ UªT±Ÿ·Þz+MÿƒD fOxä‘GÒmœüS›nß¾Ýr¯Ï—oˆï¿ÿÞÁ�${,�qo7lØà6µ�,A@¢D ·‰A,u¿…‡o8O†;v˜råÊ™÷ßßV÷‹[·n5eË–5kÖ¬ñ7s=\”à\¸ó¯[·ÎûÒK/™–-[zí &ôêÕËn3;¡#(LûøcdqÏ—/_È´›&Lˆê)q饗zçDÐxüñÇm;ñü$J\yå•oúˆPàBæÎ�ë5Ï”~Lé,Z_cñiÛ¶­qB^:tðÂm\ÛA¢÷~ذa®jÂËQ£F…Ü/×Àøñ㣆ȠŽ;ÖòÁ½I&" " " " " Y‰€D‰îV<¢ùà—(QÂó<à”ˆìg@O®€®]»Ú˜™Dº.JÌš5ËNƒèÚà {®\¹¬» û%V¯^튭¶mÛì6y>úè#¯Œ�?^΢ ô©Ó¼ysWÍÓ¾}{o;ÖJ�(á7 à團8q¢¹õÖ[mÓäè '¢�³h}�ŧ[·nVxqy\{þe�(ᯗè:íâíðÝwߥ9”)-IìnìË‘#‡½�L')�¬FÀ/Jðò¯}" øtìØÑ~xaŒW¼Â7Âî.¡¹sçÙÛ¸qc3eÊ›ŒÃ%¢$ƒ(¡ ÄÀ8ó{J=zÔôìÙÓ´iÓÆǵ %xcŽÐ�×…ûê@Î Q!Å}rÛåË—7_ýµ+²}‰W”ð'ºDðo{ FY %ðôpF¸'ƃHòÇC‡™¥K—Ú„�®Ëh¢D,>´Û§OëÑR¦L3yòd³v=#D‰%K–Xa�ì²á†÷ ÷2š‘ôï„L% 3Ú%ɦÿúÝ9‚D‰Dgß <${öì6…p÷ñ !W_}uˆãú±jÕ*ˆg‡{�0&�¬F š(¡)A³Ú�Lçþò†~ÆŒéÜjÚæ¢å”H[3íf» §DfZ�(‘™ýйD@D@D@D@D@DàB QâB¸‹ép äÁ¨[·® Ø¿¿ IÔs#™n$+J0Sá$ÿüóO2§Mú‰I£Ó�" " " " " "�†€D‰4H.Î$!y$¡—_~¹3fL¦€@” Éz衸ÎIØ ¹<ü³…Äu` •¦N�jûHΦO•‰€ˆ€ˆ€ˆ€ˆ€ˆ€¤N@¢Dê Õ‚ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ@"‰$÷çC^ ò5þõ×_öÃ̗¶lٮɖŽv �ê#zô èÐ3 g@Ï€ž=zô èÐ3 g@Ï@¬g ÝE ¦HÔG ô èÐ3 g@Ï€ž=zô èÐ3 g@Ï€ž�XÏ€D ‰(‘ô èÐ3 g@Ï@º=ü±ùóÏ?m{©¬ÇúFåú#WÏ€ž=zô \Ï€D ý!šnˆêGáÂøQÐ}Ô}Ô3 g •gA‰©¬§Ò«gXÏ€ž=zô d�g@¢„D ‰zô èÐ3 g@Ï€ž=zô èÐ3 gàœ<é.JÄJb¡r%:Ñ3 g@Ï€ž=zô èÐ3 g@Ï€ž=zx2D”È*®2IÌt¢CD@D@."Ÿþ¹™8qâEtźTÈ<çL”Ø»w¯™7ožyóÍ7ÍÌ™3Í�?þ蹉dDY4‘$ê�;wšë¯¿Þ\z饦råʆ?N�•¹:AË[o½ÕôîÝ;¤Êe—]f~øá‡�}±6Ž=jŠ-òÉ™3§�–5Ö±AågΜ1={ö4EŠ1¥K—¶÷ÊÕoذ¡)X° wÎR¥J¹¢ÀeP›Éòܼy³©_¿¾©P¡‚©Zµª™?~Ô>Àé矎Zî/øþûïÍÕW_mòæÍkïÿøñã½â 2¯R„• ã‚Ê"4sWÐ=âã¹.T¨�©X±¢™3gNÌö¨t�¶mÛf8§kóÝwß�«Í ût¾ ÆƒŽs×^¸paS­Z5³fÍš ¦¼² 6]¥HßiWiÔfPY¤¶Ü¾ ã‚ÊÜñ‘–Ž™»·ñ>/‘ÚÊŠûøÝêß¿¿yæ™gÎi÷IY³fMÃÿü&?ÿüóç´?:¹ˆ€ˆ€ˆ€¤�s&J¼ÿþû櫯¾2‡²ƒð·ÞzËüþûïV˜Èˆ²dE‰fÍš™Áƒþ(ýðÃÍ¿þõ/óßÿþײ* º9»wï6]»vµƒúô%ÂÏõË/¿˜+®¸Âœ8q"¼(¡í^xÁÜpà ¶D£òåË›cÇŽÙ6øÃxõêÕ µGå 6“åY£F 3uêTÛ—�7šüùóÛç*Rç%zôèa:wîlNŸ>�¦© ²4•};‚Ž *ó5÷jÐ=¢l̘1æŸþ1_~ù¥É—/ŸýþÅj<è]{íµæé§Ÿ¶m~ñŦ@�QïƒÿðŽG”زe‹}é<$x+ɇ·”Ae^"¬T¡©¸wE»G nFŒ"¶+VÌlذ!°í {„¸A›Ç�÷ÚàMîúõë½íh+Ñî_Ðù¢µÅþ ã8`rçÎ"B”)S&¦ÀÔf¬ït´¾µT­½Xמl›±ž<�Z¶lißÜã­ä ~žoeÉþFfæuð—#Gó×_y§ÅËÈ ÅÞÎ,²‚¨}Çw˜J•*™�>ú(‹ôZÝÈçD”øé§ŸlÈ$»Ï’%Kì8#ÊÜ9"-ƒ ~ýõ×v0ë¯Ó±cGóÒK/™ 2ý õaÆE%Ξ=k¶nÝjE‘_ý5¨™�2ܬ úßî#¤ðVc�È �)Ú‚ìäÉ“æ’K.1/¿ü²e@XÄìÙ³½Cp}¿í¶Ûì¹xóüÞ{ïyeÑV‚ÚL…'Þ¼ùÆxëÏ`œsaUªT1³fͲë¼Ïž={Üá܇±cÇÚcÃÿ * ¯ëß:.¨ÌßF¼ëñÜ#8\#œN�:Øt"÷hݺuVŠõœqÂh÷/‘óù;t¢'"ˆÿûÁµÏ˜1ÃßDšõ 6ý•#}§ýåþõ 6ƒÊüm„¯TÞN´íHÏ ¡SNùĺ¡fDY$1Âí ºýä�¨^½ºùí·ßÈjÿ˜ºï¾ûl\qPYP›þ²H÷FÞÕÃ%>ž¿«ÿÀ˜!C†¸MÛaòKøaüA¸hÑ"¯N¤®™|¯^½l¸ oµl a  ‰+§]Þráª�n�µ™ O< Zð‚À»Áå”à|+îÚtó¦1ÞœA"APYƒ ã‚ʂڌVF{A÷è³Ï>³<IZ¹re´f¼ýñÞ#>DHV<íþÅ{¾ðsÄ:Ž�ÝðáíƒÁ3Cn› ‹Õ¦;6ÒwÚ•…/ƒÚ * oÇ¿t\P™¿�h둞~ÃñÝà¥n‘ÊIO,ï¹çû¼#úò[‘ìo¤;o¤ó¥ZæŽ_Â/;„4žÛ‡z(„}Fô%=Û$ÑÜ… „_Ÿ¶E@D@D@.NçD”``;mÚ4¾±lÙ2³k×.;H&T #ÊœitÛyÛK¼9¹ˆ÷ÇUwS<%‚Ê‚Úô—EÀ J|ûí·ÿ¯½3�ö£¨òxþâzdsadßD`D–ˆ€€"ˆ e  $( ‘ qaI �!À„  K!�²'faÉÆ(›,3cÍù”ÞN½Nÿn÷ûå÷~¿¼äû;ç½®î[u«úSÕU·nWwgÑŽ:ê¨ø¨KvÀ 01à™ãtÒ=mÚ´8ñä<ì� |Ùk&ðùU”eÈ�!…%@vË-·Êì §³^ž¬ˆàÑ {©" ^ºÉ–?x¤?+)ŸT–{NO–דî{éÒò-ÊoMe–ÞÛRî�vÚ) 4(‹Öei¤NêàÐC�/ëÄH�YÙI( " " "°Þh‰S‚;Ø,¥gkŽ–Ø3)ê™åQ´õjœ¯Zp7*}f—ÇXÕáÉ<�©¬hƒS‚;šöc¥„Ýù·cµ¶¼?�÷U¤?xn´ÑFuݹäYûô=Lj‡ ßÀ¯ôÇ’â2§ñk鬗'«lxL!ýñ8ï,á(+%챜K¬xYœ¼Û¡VÑ&X)�þøj“5ïWVGmƒ6L–¼_™NK[tM›,¿õtz²¼žtßKçÉRù°×^xÏ�ÃØ5FZVL‘Wgù­IÙÌsÄ)λ—Òß%—\æé±ÎÆItòÉ'Çþ'•Ǽ:Ãy©Œ" " " õh‰SçÏ•2‰^¹re¼SÅd—pGÉŠ+û1ÁíÝ»w4ºyä„¥§ö¾OV¦yѧÄ9眓Ï�;7~I‚Éu•ßõ×_N:é¤Õ¢tÐAÙ3ßèÂä«'e¿>}ú„ã�?>ž/F$oz_¼xq¼Ûˆ#àÞ{ï�*x�oð‚²_-�¤«‡'Æ,«!žx≘5“$îÜÚ :qÒØª^ÄÈj}pJpG¸V1�LW˰´�}ÞÇQöóêèˆ#Ž}ûö-SÑF^V^~måv¼tûî»o|§ _ÔáË:¼¶ÊÏÓié‹®i“m=�ž¬H—óÒy2KŸß–µ—/}éKÙ»WxüŽë‘¾«3ýêí#›yŽÈã¬yøá‡-™»õtÖÓÌX‚½Ï>ûÄU"¼É=]Î̳Ë,q摎þýûG¦U'LÞãžÌà¥ódžÎZ2¯ŽøŒàþûï'9¬^Á¡UåW«ŽxlƒU(Lš¬}³-{�$yzõW+¿²²zéø1ÏäÓ®YJÎä®Ê¯–βkÚÓ]K'iGGÛ…÷•W^Ùì"(?h8�–9%òÎ�Ví7œ¨Š€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€T" §D%LŠ$" " " " " " "ÐhrJ4š¨ô‰€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€T" §D%LŠ$" " " " " " "ÐhrJ4š¨ô‰€ˆ€t:|Š™OUë'" " " "Ð\-sJ¼úê«áþûŸçãSrö²KOfqøÚ_°}¶UÒ¥ñ —ýøªÀÁ¿2±ûî» ×ô÷Ê+¯„/~ñ‹ñ+|‰¢=_ËHõXxÆs¶  IDATŒ1?>çÈ×>ž{î9UÚwÜqá‚ .¨·,ŸL<ï¼óÂ[l¿ZA]Ù¯Œ‹ÅËo½tž,¯'Ý÷Òy²TG>ì¥ódy=龗Γ¥:ÚæSŸ‡rHü"Æ®»îF�•%ç8oð·/eðu’5ýyíÅÓí�ûôéÓ׿üåøU¾òòÀxª2™§Ó“e í) \«~zÖëC�–wJxéòÎÛ/«¼Ã;,ôë×/`°Ž3&l½õÖáý÷ßÏ’õìÙ3œvÚi™‘˜ ê ì½÷Þáºë® ÿûßã];>ûFÞe?¾÷~ÖYgʼnf£œ|šôÈ#� ï¾ûnÀi´ãŽ;†·ß~;¥ŒK­òzéçš~ÞÖÓSUæµO‡WG\wÜqGL>eÊ”°é¦›fçP¯N/?Og{ÊÒ§„ׇx2¯¬^:OÖl�^~’µ%€“úÿþïÿÂùçŸÆ�¯ƒ<0|øá‡m#jOD@D@D@:�–8%–-[n»í¶Ì �ƒà¾ûî‹Î Oöú믇»îº+:3žzê©6N /�9 ж^}ã�7|ðAm¿ýö @›9sføÌg>“­� Ìߣ�>šÅ­`2¸Ï>û„�vÚ)|á _/¾øbŒºtéÒðÉO~²�b»í¶+�<²Bdç�wW\qE¸üòËW[)�Cá+_ùJàn9ù=þøãµŠÖæø{ìžþù6ÇØñ¸¬99à¥ód‰ŠÕ‚^:O¶š¢ä€—Γ%*V zé<ÙjŠ*À©uíµ×†wÞy'K±í¶Û†É“'ÇývØ!°’¢½?¯-Õj/^eçþ‰O|"àˆ´ßV[mpNx?O§'ót"óʂӇë‹?®Á*N ¯ñd^9½tž¬Ù:½ü$+&@ÛâG?ç�w†ïÿûÑ9Q[GE@D@D@D óh‰Sbþüùñ‘ &ö÷È#�Ä °'³¸lŸyæ™6N‰ªéR„½ß¤I“â$#�Ó­[·0pàÀìÐ)§œn¼ñÆl¿JÇÀ°aÃbTVEpç–Ž&>¶4—cŸûÜç¢#&F¨ð磌®ZÍ)�#å†nˆ©™”2±{ï½÷\mÜ}Ûpà ÃM7ݰt~äÈ‘1M.Eʽtž¬H—óÒy2K_´õÒy²"]vÌKçÉ,ýšn_xá…8Q¶zçñ –�ã¨`ÀèÑ£+eQ«-yíÅS\vî¬Ôáá‡#gJÙ�aO§'óʉÌ+ ×éˆ#¢ –Ôo°Á•ßðúOæ•×KçÉš­ÓËO²¶XÝô׿þ5œ|òÉq ¢õ�u�@KœÜme‚ûÆo„›o¾9ð<2ËQ'L˜¨%K y§„§3M—{•Èû#öÚk¯°|ùòÐ¥K—ðÐC…îÝ»·y†·ÿoû[æxà�<a?×\sMøè£�¢3‚•é»,^­mÞ)Áê‹�üãY~¤ãcÇŽ­¥"眙X±T˜ÇUXÝÁ;3pþTáR¤ÜKçÉŠtÙ1/�'³ôE[/�'+ÒeǼtžÌÒ¯ÉvÉ’%q% �HÙ�v{Ï=÷Ävñ‡?ü!>Ú1oÞ<n½¶äµ—Beÿì¥ódy=龗Γ¥:ÆQŠC›±#ÿ«W–דî׫³ÞtiÞùð AƒâõŒóúè£�Ž/ç´8õæ·6¥³sÑVD@D@D`ý!ЧwYâÌÖœ,}Ƹ÷d—mÞ)Q5]ªƒ°÷{ë­·âÝY{¹#qyŒ�Uök¯1Î]kÑx饗¢ îܦN ^df?&zÜ!ÆáRõ—wJÀe£�6Š/H«ªÃâñ> {ßǘ¸òØI.¦#Ýzéù°wâ1“ôÇ#¼�Æûy:=™§Ó+ +HX)ÁõÊ'&+«ä”ðˆJVñëÚµk|Ô�Uuü=ôÐP¶Ê©ž¼”FD@D@D@šE %N œ< ÁËáV®\¸Ëd—p™Ìœ y§DÕt–Þ¶e ™õîÝ;N8x¬„gðÓgÚÛë”à\ù‚Ëeq@œ~úéÑñ`åØwß}ãû6øâ_ýà•íùå�¤=蠃¯ý먆 Ï$óÕ“²_Ÿ>}ÂñÇÏ—wQl¾ùæañâÅ1Y—Zº½tž¬–>Ž{é<Ùº Ó;‡#Ž8"ôíÛwµ(<>ÄdÿÞ{ï�2Þç—9ø‚KÙÏkK^{ñôÖª#ÞÁ ¾²Ã�åê¬ò)zùj^-�Äódy=¶_V^4k«�xÁ(ŽG9%Œž¶�"ÀxÁW«pN°ÚŽß1Ç�lTÒ#" " " Í&Ð2§ Kà®'«$¸ÓcŽ‚Z2îÔÞ~ûíñ�t¬¶`ŸO„’¶V:Ó[´-Î$œ;S›l²Ià“lùÏ(¶×)A~ßýîw㊠ÞíÀJ –¨ã(à‡ÁÉKó˜ŒqŒ•e?îþ²¢‚?Êɳ÷„{ôè“29:üðÃã»+xQ`Õs2;餓bY¸ãÎRìWÆÅâå·^:O–דî{鈯éðxIÿþý£órîܹžºLæõ!ž,SPðÒy²UÙ!/�'Ë(°FxÑë™gž™é8ûì³Ã‰'žûh¾¶£Ÿˆ€ˆ€ˆ€tV-sJ9Zq¬³VœÊ-" " " " " " ��€œ�½U~è¤ä”褧b‹€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ@g' §Dg¯A•_D@D@D@D@D@D@:)9%:iÅ©Ø" " " " " " "ÐÙ ´Ì)ñꫯ†ûï¿? <8~sΜ9Ù×7<Ÿ-ä«C† ‰é¦OŸ^)]­—hV­ÀãŽ;.\pÁ…Ñ=YQ¾ŒÀ—7øòÁî»ï¿À‘�×H�UòËçϾ—Γé²c^:Ofé‹¶^:OV¤ËŽyé<™¥/ÚzéãáÈ`â³téÒÒtõ:%p‚œuÖYñ³˜y§„'óšÔa‡úõë˜Ä�3&l½õÖáý÷ß�I:B§—_½å”Îâúk6O/¿½÷Þ;ÜqÇ1Ê”)S¦›n¸ÞøuDýýò—¿ Gydx÷Ýw׿Ž;îÞ~ûm¯ˆ¥eéˆr®ëטw~žÌ«(¯êÕéå'™ˆ€ˆ€ˆ€ˆÀúC %N‰eË–…Ûn»-sBà0ÀÙ€s“o„ aùòåÙêˆaÆ… ”¦«Ç)ÁŠ��wÞ9\qÅáòË/o³R“y͇rl¼ñÆáƒ>È¢í·ß~�Šè�^~Y ^:OV *;ä¥ód™‚‚€—Γ¨Êyé^{íµ,þV[mpNÔ›_Yº=öØ#<ÿüóY~UžNOæéöÒ­ëטw~ž¬Ù<½ü$X¿´Ä)1þüøè“û{ä‘Gâ„Æ“Y\Û÷öÛo�Î�ö¤³ôl«þ®ºêª6N‰4�'Kãž4iRØu×]ÛîÖ­[8p`›c�ÒY5¿6™—”S:Ëë¯<óyä÷YµpÝu×ÅÃO=õTØa‡‡~X¹ æõyõŽÞ 7Ü0ÜtÓM±}ó¸ÈÈ‘#ó*VÛ÷tz²Õ%ª¦[¯±CðÎÏ“¥:wÏ|ÚX ´Ä)ÁÒn&,o¼ñF¸ùæ›Ã+¯¼Æ�WAx²Ô™Àà»îº+»ó[5]ª£N‰'Ÿ|2ìµ×^qµG—.]ÂC=ºwïú÷ïߦ¶gÒàéôdm2Ìíxé|x\áðØc�…… †±cÇf+%jÉÌ¡À2dÏ=÷\¶ÒÂÓi銶U«Ù3â=Y^ÿ /¼¶ß~ûøÜ}Ïž=/#<á„Öh¥„§Ó“åË–î{éÛzé<™¥/ÛzççÉòz«–¥=:óy´wŸwðàÐfìÈÿÖYþœÒýuáü¼sHÏUa�õƒ@KœÜU½õÖ[Û¼bĈqÂäÉp*°º‡Ä‹/¾˜9$8^–®È!Á±ª?Ïàödyýo½õV¼k�¾�¥î¬I�ÒY5¿4oÂ^:O–דî{é¾ÈÉàé,ŠÏ±ª?ψ÷dEú™öîÝ;pw™ÇX¶ÝvÛø¬·‘:«ä—æma/�'³ôE[/�'+ÒeǼtžÌÒm½tž¬H—óÒy2Kßží{ソóÄOÄd<îÄ£ö"ÊzóóÒõéÓ'üñ±-Ož<9l¾ùæañâÅ¥Åötz2Oq•tëê5f\¼óód–>ÝvÏT¿Â" " " " ë/�–9%˜$�=:Þ¹e•ļyó2GC-�m°dwÈ�!ñ—¼ä’¿©S§Æ´µÒÕrH”9%¸SËóøüm²É&q…á=zĻ͵de͉‰Z×®]£Î=÷Ü3ðü=?/¿zu’®V~ÒY›€ÇÌ“ÕÖè×C½:½ü}ôѰÏ>ûÄ/Èì¶ÛnaРAYôzóóÒá9餓¢3d—]v‰_ÔÉ2tžNOæ¨¬Ùæ×õkÌ;?Oæ±DV«ÖDgYž’‹€ˆ€ˆ€ˆ€¬Zæ”ðÍ”­Õ¬³�µ�€œk_�¨D" " " " " " "°^�Sb½¨f�¤ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€¬}ä”XûêD%�õ‚€œëE5ë$E@D@D@D@D@D@D`í#Ð2§_Ò¸ÿþûÃàÁƒÃÝwßæÌ™“}}Ó-Z´(¦ã ¤ãs¢öbL/�ÅÉo˪äÏþs8øàƒÃ§>õ©°û'Ÿ|2KâɲH/�'+P•òÒy²LAAÀKçÉ Te‡¼tž,SPðÒy²UÙ!/�'˼tž¬@U¥CžNOæ)÷ÒÍž=;rÈ!ñS »îºk5j”§*“y:=Y¦  à¥ódª²C^:O–)(xéø î·ß~hž,‹\ðÒy²UÙ!/�'˼tž¬@UvÈKçÉ2/�'+P•òÒy²LAAÀKçÉ TU:äéôdžr/Žˆk¯½6¼óÎ;™Šm·Ý6Lž<9Û/ x:=Y‘.;æ¥ód–¾hë¥ódEºì˜—ΓYú¢­—Γé²c^:Oféµ�@KœóçÏ��^`ÐÚß#�<W@x2‹Ë‡Æ¤I“¢œUÓ¥:{?ô³ =ýuëÖ- 80æ]K–ÆÏ‡¥S<­M¬i[2=EÛf·³|^xá…°å–[†÷Þ{//j³ßìrzùµ)XnÇKçÉrjÚìzéò1oÞ¼èØ¨’ÎÒ§Û\âaÞ±×^{…åË—‡.]º„‡z(tïÞ=ôïß?¾[¢–L:‹ ˆgcÛR1åm6ë´,K–, ;ï¼s¼>ÓãEáf—Ó˯¨|vÌKçÉ,}ÑÖKçÉŠtÙ1/�'³ôE[/�'+ÒÕ¨c¬^»óÎ;ïÊÿÖYþœÒýuáü¼sHÏUa�õƒ@Kœ¬j>|x\íðØc�…… †±cÇf+%jÉRg+%pfÜqÇ�—_z:Ótù°WÍÜíÝ~ûíûï¾zöì¦OŸN8ᄸR“Ig1�™'+Öö�£^:O¶.è\›ÎÁÊÂKwÙe—0`À;än½:òdžR/�'“Îb3OV¬­1Gy¯mÆŽüo]�åÏ)Ý_ÎÏ;‡ô\X?´Ä)Áʃ[o½5®@0'Áˆ#¬Y³â±Z2VVðN KÃöá‡ÆžÎ4~>ìUó[o½ß)ñöÛogÑ>ÿùÏÇUž,‹\ðÒy²UÙ!/�'˼tž¬@UvÈKçÉ2/�'+P•òÒy²LAAÀKçÉ TU:äéôdžò²t¯¿þztHðE�ª?O§'óô{é<™tð˜y²bm:*" " " " m ´Ä)�c€G!xC?ïƒà³žÃ† Ë^`YKF\VFL™2%:&X!Á‹.ù G™Î¼3ÂöÛâX}ïÈ#� ½{÷}ôQ|ä„—÷}øá‡1¢'[]Óª#^:O¶JÃê!/�'[]Óª#^:O¶JÃê!/�'[]Óª#^:O¶JÃê!/�'[]Óª#^:O¶JCûBžNOæåâ¥;âˆ#Bß¾}½ä…2O§'+Töσ^:O&�ÅüðÃᢋ/ ÷Þ{O»óio¹Ý÷ò©ŽUÇjjjjjjjjjjjÕÛ@Ë�óp¸ðë_wt?3<õ£KÃÌ«¯ 3~Ò7mY¸}ʲðãß � œü±bƒÔhÙ«¯¾®¿þú†çÙh'B=ú¾ÿýï‡m·Ý6:]¶Ûn»ð“Ÿü¤ô<ÛÃcÊ”) qèÐñÜqÇ¥ektÝ{úF�>øàØ!n¹å–ᤓN ,ÈʸdÉ’püñLJ�7Þ8|æ3Ÿ ¿øÅ/2ÙK/½Ž;î¸ØAm¶ÙfQÏ3Ï<“É|ðÁðå/9lºé¦aÇwÌŽ[y<ÝeåBGï޽ÿþë¿ò>ýôÓòe˲ºté’ým²É&™üÉ'ŸÌŽ[œLoѶG�áä“OÎô0Èí´ÓNáœsÎÉŽ¥ûóŸÿó£}§òC9$|êSŸ œkzœºçœ8o®7øÛ#ii<…WŸ‹ÉºÃdÏ=÷Ì®SúÌo}ë[aîܹm®•öÔw½N‰›nº©¡gå_úÒ—bI¿™Ú 8Ò­Ob{ÄGdçûøã�‡}÷Ý7öôLæŸþù(_¾|y8묳Â;ìû�=öØc�Æ@c¿ÁÄüÈCž|Œ9ãÎO<‘íÛñöl[5h�S‚óNë„pÑÍŽÛo¿=ÆËO™`Ð�ÓŸýë_óçϯ»Î~ô£…üàóçž{.ÚŒý´¥sÏ=70&æë VÙÒxžñÚk¯…¯}íkáßÿýßÉ'žV®\™åqöÙg‡ßþö·Ù>:çÌ™í˜üØ–æç…k�9ÜvÝu×xnkrý{ù5ZÖ^§„g'å˶xñâÈváÂ…sÚÁ~ûíû”Ýwß=Œ3&“åÓ{ö`³ë9_¶ü¾õC´…5.¸à‚ÀÆò¸÷Þ{³þ«‘ý�•Ùë;­ E[Ž´ùÙ³gge-ŠWåXÞ)A?Ī•*i;"NËœ¼/b驧 ®¹*,üåÏâ�Ââ_Œ[ö9ÎJ‰¹}. ³/¹ Ürâ·ã;&ª@X°`~tDüÃ!�S⎠œ£Gßׯ!1ðÆZ¿è\Ò½Hî«Ç‰P¤�É ƒV=úÆŽ˜ 3™¦ao½õÖ…Å¢|«[S§„ñep¦“®’g³âÜxã�qàž6mZ,ÛüÇ„ï|ç;Y™ìãX`0ÿ¯ÿú¯èx衇¢üøC¼#Å9Íœ93:è\l¢:nܸðûßÿ>\sÍ5…N OwY¹n½õÖhì<õÔS�c÷ÒK/ÍÊÍàû…/|!üñ�Œ�èý÷ߟM²9W:Wt01gBÏ9œ6ˆ¡qþùçBV3áôøÓŸþå8>p˜Ì˜1#Ì›7/êÀ±A8­3Îù€(tJ`ìcñ÷ÆodépJl³Í6™ y‘!—æC8uJpàHáüóñòûEN ûØÇ§?ýé6ÎÒbtÞwß}aÖ¬YѸÀ1C=åõjÝ™€¯ËuYïÒ]Œ;Ú=ýúäɓㄨ[·nu_kƒSCsóÍ7W_}utÐ☥ï´úÇ)1a„¬oJÀ8t‰ËÁ8À�XœÀ¤¥;óÌ3³~˜sýä'?Y÷8˜²§ß2dH\}ȤÚÊÚˆm#'í)O{�Ü0°±„­�½–'=Æ3œÉ©SG;öÈÓO?W7 Ç¶·ÎpüÛ¿ý[›:¥þW¹ùÃ5‚Sêºë®kSGµÊfe·­gGüò—¿ŒNâ~ãßwÝuW̃±ô ƒj“ŸéáFýÚ~{¶ŒµÜ¸áÚgÌÇ>8ðÀãù¥7sR�fÿ¥ÇZn�S³“ŠÊÿ«_ý*:hMF»Øm·ÝBÏž=c£þéG°;,NºõìÁŽªçŽªÔ=NíÔœ2id?´¦}'v>}FZ¾zÃrJüsY /²|¼×yaþOû…?»:®–Xxý/â–}ŽÏëÛ'ÌýÑ%aöŽÂ#gœ_„Y÷¹ø¸��;žpî”##>Rd8èè¸ÛÌDoÿý÷Ll,Ýe—]ˀǜ‹â�Èd¤å. wêy¬�‰_ê”ÀûLùÒɦ魵% Ëö³ŸeùŭŃ;/œs3¼ÐñˆÂ’?Œ3d]tQÜgrÆ’Q`òzá…"'øÂñÛßþv윙ìá0aMgE=‘¦ÔazÇšÉ*\™`2)ÆX±‰¯WOÇ�ç�Nê‹Î¼èük»í¶Û²öÀ„˜¼Ó:càHïʧz0láÄ„==>lذ՜íÕ�– ݇vX¸ä’K²|p0P7ÈàD[İNËaaîá0°}Ê‹÷þt¼œƒÕ%q4RO¶¥c‹ñC½â±ãè£ Â­h¥†¹ÅM·æ”H�U ›S‚óÅ8äšKÓýô§?�××[l¾ùÍofwu‹œ,¿äèÕ«W›~%Õgá3Î8#œzê©Y^ÞµnilKÿC|Ú5wP¾÷½ïµqÐ0ɡެÿüç?�ù°Òˆë‡þ„úN¯s¸²Â›~ƒëö?ÿó?³òYCŒ¥|_Å];Vô09ãÎ^{&v^Úv‡L½KwÇX¥`u}ÕUWÅöFßamãí´ÓN‹F‹Ç„�¾mŒÉ ²Ô)A¿ˆƒƒþ�É!}*i'hï¶rЉ×3QŽsM «Ö8Í䙕%¿åzçúÈ·}®CÆ5Û÷¶×^{m<¿Zq°Qn¾ùæJºò:òì‘Ó÷ÒÏšM’>¾A??XÁœ~�;º¤óú t2à�ÕØ,Ü)5[½ŒÁôi„=;¹��E}NY�ÙRoôÔúÃAÄxÇDôÐCãõ 7Æ.0Œ•p¢ÝaÛÙ„µÊ¸…Ý…�̘ÆJÆÔÆöìAê•q ;Ž>…>)}|µîP{vRzþfh:¹Æ™Dÿ”ÚRðHûNK[fvT=7z à|ŠæVµl0úzlUnцøcõ¬õói?„n¯®Ëú‹*}g­þ ÝÌ]è#(#mÙë)+sšÔùÇci´Edéü‹9 ý7׺íz&^³þZ¶R‚¯lLûáEq5DtL\sU|d#®�øi¿x|Þ�/ s/½(̾ð¼0¹Ç™ñ«UÀÌ_0?¼óî_ÃË/O sçÎóçÏ £ïo»BbèÐÁq5E#�x3éph 0ŸýìgcåÒ1›Œ >mœ�†É/qŒ¸™ÜŸÕì3Á?~|Ô‹~Ò2y³NC†É/Žt±Ê)§d� }ÜYEç¯ýë8€Ó‰£‡¸”ƒ²±O98Æ`ËÝ&ܹAVöÇÃ�ÆÍÒuòôÒñ8òÈ#£Á…ÉŠ�ßüæ7QGÑJ îsw�|8c°åòoLløÃÆôœe�'ƒaò4hP¬0>™”1hX™YÒÅ•ÁÅX§N V¬Ñ·À�>ƒGMluš×¥“�²±fv‡ž2Q‡öN ÏN`lgBBŸÆùþøÇ?nÓç”Õv6çA[ãñºt‚17E(Þ)Aæ�ŒeÖw¦lËê ;ÉVZ:œÛéJ Æ`ÆW“{e³8ùm‘� E}sÞŒ'°äŽ=}{>½íó¸%íÅöó[n6™�–—9%ˆƒÓÀì7®g®sÊP6ø8ÃYMA§^p�¶Ê¸Å„ÐÆ-®-ãíÙƒ´wÎgí 6\{©SçYêHHÏ׳“ÒxæÆ"ýŸícԎaKÕM™=Øõleªg›öCé€.®ÇtnåÙ`Ä?æ˜cÚÔvJ‘S«kô”õi™ÓsNûN¯¿b.‘Ž!eýbU§eÁž7;.-[G†ÉÏÞ)ÕR§ÄÔô 8XÁû#æ_Ù÷ï‘èÛ'Ÿ{ÙÅaöz…Y½Î /œuZu§Äüùáí·ÿ;¼óÎ_Â{{;Lzab0àº0hÐ�q¥Äˆw†÷ß'¼ÿþ» ])A¥ah㕤Qbd3¡¦11²Ž²hž> Ï€F§ž6.:L<Îx¾yQ#†S‡ (ܘdÑøÓ8i˜Á Àcù´v ÏñXSOª“0“7Œ6&FÜåÄÉÇI÷‹x¤D @¤)rJÀÃ&ÿÄÁ ¥3"lN‰tbËñÔ)Á~úGy0èì“)—°}ÛzõDœ 26³tU¶,Í'_�10TR‘eŸE:ì9ÿôý –g‘1ÑÝùr¡—r2ÈZL(+7F“S– St>8îh¿ÄÇéBçkiÙ²²�¶Ã¹²R†;¯Ô1“UV¤ñY�ÁÝJ _“‘>ûEN‰{î¹'¶c\°”gñ);¬Xñ€qˆ¡ÉÅt×ÚÒN9?R îi< r3Ö-8Ñ>òN 817ュÖä' wm¼ë,½ÖÓ2¦­¤†<×u€Œ;Kpù4Eû¤©qÇ�Ð4+¿¬MÒß\|ñÅ™Êú*îd¤/Ä ãZ’S¢m?•²íìáÔ(iϹÐfxwF>sÒ§z˜Øš�þŽþ½èzaŒe¥!FwÎh{èaÜ¥ïIû_–@ÓŽ‘ç�Þ8�–«(Ì„‚1�±Ç.Jž·¸¬l`Œ£¯âÙ}lŽt|câE¿ÁªÆ_ëk-=[l8LàÒãi˜>“þ©ˆñjÖÜE¦Ï&Nê”À�3ˆr§vây}Pê”HËG8?VÓÿ`+!ãyz Äaß³ès¬}—zf\«ÚçPWŒØƒŽý•9ß9Wú>#óN lC&ºÔ)õH�Â�ñ‰²Ø_•:cüC¿¥aË]ìtòǤÜäee³xùm‘ÁĈq›—úg\¦�à$£ÂÀÚ…éÈßöó[®9žëÏg¿–S‚÷+Ù]`®g{|ÉtàÔÃF·}l {ˆ_6ná0´´Ø%ÿøÇ£ãÓ³©òMûì�Ô)a:‹¶ž�TŸ¼ìærÆqn–¤qqÊ]ÿeö`GÔ3åêˆ1€~%�[y6e¨ê”ðê:e\+\¥ïôú«¼S"ŸO¾_\Û�é*™–9%x|ãѳΈ+!xDƒZFEŸKã#q…‰ Î 3Ï=+ŒívRåÇ7æÏŸþú×á¹çž Ó_ž.¾øqbtÁ½Â¨Q÷ÆcÇaÁ@�¯Ð5ÙÇ€`âÁÝ_<ŠtÂ4àtp¦Á`@Y>\8öœ<Çp,Щ0�ØwXÍã�^&fcܲ‰ {ÓËEÎdÄöy§4ºð†1 ³Ÿ´ù•ÃØ+›ð˜þ¢-N�üö|¼"69$.ç ?Ây§wœhY‘a¬˜PÙ*Œ8åóL�Ü�Å#OzcƒNÓoŒS=eõÄ$šÎc9$R=ù0/ ¢ü¬�1Y™÷Úâáàü1²ìXº-2&ªê.*º½•h°´Ç]ˆÏ5b+YÊîp}b¨ê!M§ðªIÍÚÌ"5JÚSNŒ;&b´ÿÔIÏ>“;Æ?[±hïî,íc�ÉPêT$ ã¥�1lqÐgPÞ¼S‚cµÆé²óceVÚþ¹‹Oš¾´Ît0v1yN�ø&cË=œ¤87ì8#Wä/�$™¼ê¶–a s ¦v}'ý+u‚]A_AùÉÏëƒR§„7V£‡z§ïb"L]â á¸�ãµìúœüн5és°¥˜„“7w©S‡vÞ)�c€•´'¸Ð×ãLarHzþªÖY~¥%l "̪WÊe+áÊÊfùç·EvD>uÏÍ9ųG4¸^ÒI¢w-æõå÷m¬Íg¼:üðÃ#7Ú€]£ÄÃéõ”Ž—ØÉ\óÈ«Œ[é�Ò�§”g2våW*`UuJ”ÙIy¹R"ŸW£ê¹ÑcåÌÏ­<ŒøU�^]çùí—õ�eýUÞ)QÖ/®íN‰”QËœ¼è’—Wòhóà Ü^·ìsœ8$f|ÿŒð»ã¾YùE—8%þòæaÖ¬éaþ‚Ùáè£� ={žî52ÌžóJ<¶àÏsÃÛïüwÃ�tòã4:&ÐLú� éü€_6 Ç«™¾‹"­°4ÌD�;Šx§9îúXLXVj:¸ �:%R‡†éc�ãƒsJ�>ÓQ¶åÙE:T/^�Ô)Á$/uè £Ì&Ÿù|pJààÉO�”tVöH Ëä¸ìú‹VJT­'Œ1ŒŒÍ|9òû�<òH4"òF&�Æ¥½Ø’t ¾LðMåÇ $/;–ßUt×*úifä°ÏÄ›I*a{”£–S‚Þ–?c�å–\;ìçÿ˜›s./cŸ‰;× õÎJŒ<þ¨oê”p:Ou0i¶Iuzœ0uÊem"/·ýÔPâN×½=v�q”4œ+eʯ” ½°Ò‚‰‘•Ÿ}ârÇÅòâÑŒ®;ƶìZOãfàN�%¬š¨²R‚:fâEûA#ã‡qG[LóâTºR"íoR*}ŽVJ¬ÞöS– ÿƒO-ãŽ~‘þãV¬.0§„­”(r0Òni{ÜåæÚ²U¤¡±•yþL1üòÇÙÏ�ÓEqÒcLàÒ ²9%è'Òx„™Ð2éd[^Æ>N ú s°p­b�0i«g ?ÿbܳþÛ;‡5•‘‡=²‘†[æ”°O‚>vÆ©ÑùÀŠˆìgDϳÃÌsº‡gŸÆ�ò�v}§Ä¯|5,Z8',}cQX±lIX²d^X¸pVX²xn<¶té’ðÖ[+î”xñÅãd‚%•Tw(h\L0Xöı|#È_8LV040àIƒñÄ27Œî3AÆsŽQÁÝ :gôzN œtŠÖ)±4�ÁªÌ)ÁÄ�¼˜°qAÛ95H¼Ðܵ‚ï>àExœ7[Q|;VÆ#uJ`d2¤1V9pGÄ H&�¶ô±ŠS‚2§Þt&V°1V¼�å³8D0JñŠóˆŠWO”“»f³Ô—ŽÈιhË i+¼Ÿ�¼ùK gCζÄÅÐ1'†/«xFÐÒ²Åh%/ÊÍ>F Ï"N�ROwY¹ÔY‚IÛ„ ï7H�gÙäÉŠŒsºØ³¼´®ŒØÔIAgE}¢—;H´a{·=Œ1�ó¼&/+Çì�vn�CІ) Æ.ºa‡Ë�Pœ/ð¢|èg"€C‚÷X˜‘UTwv,5”`ÏäˆÁ‡‘9kpÔÐ.x�«-µMWJPGÔ-l¬ülyï…½äƒæèâ\ø³k³ìZg% ƒª•™þ‡T”‘¶Å`e/.%_Ê †~ÊIû'-†³9I¸6è³R§¼yuA_†{+º×W1�€Ò;%ÖÇDj”X»¬²-2îHwôÑGg«Å¸6¸~Íãº$LŸG_B?˜§:ûp*rw™4,f:ièOéï(7qé_¸ÎíôÆiŒOïE—8¸ûŠ£�²Ó'Ú]wôò8ÎÊE¿JŸh«(;XÑÆuÌ£g£Lþ)?eæEÏô¯\ÇÖop}Va��{®oìÊBÞä•ÞPI�<¢EßLYèsáÅä½^”:%ÊÆjtÑÏ2b{ØXÁqÏN`òN†íB\ž=Ç0§DY�‘'¶õÀy¦+[9–öã<G?i}![&�Ô í ǺMÜÛ[gć¥}–ºeœ`ì¤�Sê‡9çYV¶üX�~ÚM-;�äÉõö;,?ìUsD!Ãî*³‰WôÇXË /Úí�•¥ØGØ7°$M‘S‚ëž±œ8´ÛÏþóÙ{ˆ_6na£1r­sCÐ…m-»n´wÚå¢�á˜J�8h¬?ÉŸo™�”�?`À€èô°ãäÏM1Ú¶Ôt<Î׳gšÎF×s£ÇÊ™Ÿ[y6ñ«:%¼ºFOYQ¥ïôú«¼S¢¬_ä‘&sºRÿÌgl<ÌÏ¿8NŸkõÜQÛteLn™S‚ýÓ˜‡C߯þxj·è€À ÿzœ�3ºŸ=ùÄpùÑGǸUáà”X±|q˜}rX¼xn˜:uR˜2åùðâ‹LêS§LŠ«)ä«ê­�‰Î×âSÉésÙùF�¿pHÇrq:XJ :Q:2&uLú¸kÎqŒxÒx†>r&×tŒèbùF§ié€ñ¾’ƒÇò VÜ5§ÓfrH^éÝÐ||Û/ã‘:%HÃPÎ�N•‹Ÿ²á�ÇÃGGO¾örš*N &‡,ׄ wÉR§Žر îÔ'ƒ e©UO8h¨?ÊH21·Éœ�w~‹G¾é†•ÅcÒÎ]&l¢Ü�1�HšÎÂöÈ<;fÛôÙIOwY¹(F6wáƒbÆ92œEöEê(õà#çûÛ´= óóIDAT®“ÔáD½ÂÆ6eÂQ�Q‡s�Ï왼Ö6uJc€‰F2éYÖÌ�®@[�ƒ�D½`|ÐÍù�æƒÑO»‡-ƿգmÍÁAïZçÚ€›é¦ÿá:eå¬y–>&ÇX`ƒ1,¬Ý1Às­Q/œ#bê” « yl!µR§Ž_ú-ârnô8(ÐíõA©S¢l¬F}lè“Òr{vñxÌ€%ö8°èÇ9sJ”Õ+B©SÆ Æ &µœ=ô‹é×7¨[&Œ¤…+�K=uF[OCä¦N-¸3~ÀÅ")Âù²åÇŠ2;¬à³‹³�ýD;äúcbdíÇÌÒ±&_oŸ:²ögö&cz-]þzæ8mˆ1޼i‡Œ•f¯¿lÜ‘O®Mn¤�hֲɗ—Bc£0–bGóιÔ)�3*oÙy°õì¤4aΑ±šÇ˜LÆ ò‡í ç¥ÉòõìÙƒ–¦ÑõÜè1€ræçV\Wµl0âWuJ׫ë²þ¢JßéõWy§DY¿ˆ}Éø„ÊãÐ8ðÇÇöêWüòÆ'Fb¤6P­ °ª†Ç%¸ÃÙ f�žpeÆ]Ùyòøwи«Æ]Gذê¤,�äÕÚÜÚÆ)5PÖ¶²©<ߦÙñ™VV«¨¿èøz[×®�²q«39%:[Ýh X÷¯×t5L­ðZá”èlÏú\^ž¥bÀ/úãno-6, *JcKˆj¥[׎³dµˆƒ}�b];ßuñ|x죨yœ¡žóeÂÍÒÍ¢—©Ö£¯½i9!°¼ËŒ;‹WkË3­,…gi=¼ÓÇvj¥ÑñÎkÔ¤Šê±óÖc½uר>ˆ¥É¬ªJ¿ðPo™”nýk‡eã–œ×&4tÛÎÔ—É)Qðn„ÎT�*«.dµµµµµµµµµµµµ�µ¥ ¤+`ª„å”�S¢®»»kKƒW9Ôùª ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¬=m ]S%,§„œrJ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ´¤ 4Ü)ñO…ûkÛE ºˆ�®µµµµµµµµµµµµ�Ò6ÐE?¨‹Àÿ6Û^ÌÜ ˆ³IEND®B`‚liquidctl-1.16.0/docs/developer/porting-drivers-from-opencorsairlink.md000066400000000000000000000216261515166127400263460ustar00rootroot00000000000000# Porting drivers from OpenCorsairLink _Originally posted as a [comment in issue #129](https://github.com/liquidctl/liquidctl/issues/129#issuecomment-640258429)._ In essence, writing a new liquidctl driver means implementing all (suitable) methods of a [`liquidctl.base.BaseDriver`](https://github.com/liquidctl/liquidctl/blob/main/liquidctl/driver/base.py#L9). Note that you shouldn't _directly_ subclass the BaseDriver; instead you'll inherit from a bus-specific base driver like `liquidctl.usb.UsbDriver` or `liquidctl.usb.UsbHidDevice`, which will already include default implementations for many methods and properties. And for the new driver to work out-of-the-box it's sufficient to import its module in [`liquidctl/driver/__init__.py`](https://github.com/liquidctl/liquidctl/blob/main/liquidctl/driver/__init__.py#L23). Next, in order to port a driver from OCL, the first step is to check the `corsair_device_info` struct that matches the device, which defines the low-level and driver (protocol) functions used for it in OCL, besides a few other important parameters. ```c { .vendor_id = 0x1b1c, .product_id = 0x0c04, .device_id = 0x3b, .name = "H80i", .read_endpoint = 0x01 | LIBUSB_ENDPOINT_IN, .write_endpoint = 0x00 | LIBUSB_ENDPOINT_OUT, .driver = &corsairlink_driver_coolit, .lowlevel = &corsairlink_lowlevel_coolit, .led_control_count = 1, .fan_control_count = 4, .pump_index = 5, }, ``` —_[in `device.c`](https://github.com/audiohacked/OpenCorsairLink/blob/61d336a61b85705a5e128762430dc136460b110e/device.c#L107-L119)_ ## The low-level functions Starting with the low-level functions specified by [`corsairlink_lowlevel_coolit`](https://github.com/audiohacked/OpenCorsairLink/blob/61d336a61b85705a5e128762430dc136460b110e/drivers/coolit.c#L27-L32), and implemented in [`lowlevel/coolit.c`](https://github.com/audiohacked/OpenCorsairLink/blob/61d336a61b85705a5e128762430dc136460b110e/lowlevel/coolit.c): the equivalence between these and the methods in a liquidctl driver is: - `init` -> `connect` (in some cases and/or `initialize`) - `deinit` -> `disconnect` - `read`/`write` -> `self.device.read`/`self.device.write` (see next paragraphs) This is a HID device, so the liquidctl driver should inherit [`liquidctl.usb.UsbHidDriver`](https://github.com/liquidctl/liquidctl/blob/c9f2244200a552ce8af3d64b937d3b01cebdb126/liquidctl/driver/usb.py), meaning that in the driver `self.device` will be a `liquidctl.usb.HidapiDevice`. Additionally, liquidctl already automatically handles how to write to a HID, but does so mimicking hidapi; `HidapiDevice.write` follows the specification: > The first byte of data[] must contain the Report ID. For devices which only support a single report, this must be set to 0x0. The remaining bytes contain the report data. Since the Report ID is mandatory, calls to hid_write() will always contain one more byte than the report contains. >—_from [`hidapi/hidapi.h`](https://github.com/libusb/hidapi/blob/24a822c80f95ae1b46a7a3c16008858dc4d8aec8/hidapi/hidapi.h#L185-L213)_ Practically, it means that you only need to implement `init` and `deinit`, and that in the translated driver, when OCL would call `corsairlink_coolit_write` with `[byte1, byte2, byte3, ...]`, you'll instead call `self.device.write` with `[0x00, byte1, byte2, byte3, ...]` (note the prepended 0x00 byte) ## Higher-level functionality The remaining `get_status`, `set_fixed_speed`, `set_speed_profile` and `set_color` methods (required by BaseDriver) will encapsulate the functionality specified by [`corsairlink_driver_coolit`](https://github.com/audiohacked/OpenCorsairLink/blob/61d336a61b85705a5e128762430dc136460b110e/drivers/coolit.c#L34) (implemented in `protocol/coolit/*.c`), and are for the most part what users will access through the CLI. Data that is read from the cooler, like the pump speed, will generally go into `get_status`. The firmware version is an exception in this case: it's read with a specific command (instead of being part of other replies), and so it belongs in the output of `initialize`. _(You can fetch the firmware version directly in `initialize` or, if you need to use it anywhere else, you read it and cache it in `connect`, and only return the cached value in `initialize`.)_ The other three methods are self-explanatory and should be fairly straightforward to implement, apart from the special considerations that I go into next. ## Protocols with _interdependent_ messages A big aspect in the design of the liquidctl CLI was not requiring the user to configure different aspects of the cooler in a single command: you should be able to set the pump speed without resetting the fan speed or the LED colors. For most devices there's a clear mapping between the CLI and the implementation: the CLI command `set speed ` implemented with `set_fixed_speed` won't depend on other BaseDriver methods (apart from `connect` and `disconnect`). There are however "complicated" devices where, at the protocol level, functionality is grouped (all channels must be set at once) or even completely consolidated into a single "state" (everything must be reset when changing a single parameter). Messages can also be required to follow an arbitrary order. So, besides looking at how each individual parameter is configured, you also need to check the "logic" part of OCL, in this case implemented in [`hydro_coolit_settings`](https://github.com/audiohacked/OpenCorsairLink/blob/testing/logic/settings/hydro_coolit.c#L32). This doesn't mean that all OCL devices will fall into the "complicated" category, or that you'll necessarily need to match that order exactly. In fact, in the case of the H80i (or other devices using the same protocol) I think that the different aspects of the cooler can indeed be configured independently, at least for the most part. This is mostly due to the empty implementations of `init` and `deinit`: in more complex cases these functions usually involve some type of opening and closing of a "transaction", but there's nothing of the sort here. The ordering in `hydro_coolit_settings` also seems to be strictly due to natural requirements (you need to know how many sensors there are before reading them), instead of being totally arbitrary. But I could be wrong... Anyway, the main concern I have right now is the [`CommandId`](https://github.com/audiohacked/OpenCorsairLink/blob/61d336a61b85705a5e128762430dc136460b110e/include/protocol/coolit.h#L93) byte that's sent in every message. It starts at 0x81 and is continually incremented. On one hand it clearly doesn't need to be a perfect sequence number (as OCL doesn't guarantee that in multiple invocations), but on the other the shorter message chains in liquidctl (due to only a few parameters being read or changed at a time) could cause the cooler to complain. I'd start following OCL: initialize a similar variable to 0x81 every time the driver is instantiated, and increment it every time it's used. But if that somehow doesn't work, you can use the internal [`keyval`](https://github.com/liquidctl/liquidctl/blob/main/liquidctl/keyval.py#L1) API ([example usage](https://github.com/liquidctl/liquidctl/blob/4e649bead665bf692d7df9b8bc1a9a79791d356d/liquidctl/driver/asetek.py#L281)) to temporarily persist it to disk, allowing you to implement a true (wrapping) sequence number _across_ liquidctl invocations. No matter what, just don't forget to explicitly wrap `CommandId` it at 255, you'll probably be using a normal Python integer instead of a `u8`. ## Advanced driver binding liquidctl driver don't normally need to check anything super special to know whether or not they are compatible with a particular device. As long as `_MATCHES` lists the compatible USB vendor and product IDs, besides any additional parameters required by `__init__`, the bus-specific base driver will do the rest. This wont be the case with the H80i: it shares a common vendor and product ID with other devices, and is only differentiated by a "device ID", that has to be explicitly read. Reading of this device ID is implemented in OCL by [`corsairlink_coolit_device_id`](https://github.com/audiohacked/OpenCorsairLink/blob/61d336a61b85705a5e128762430dc136460b110e/protocol/coolit/core.c#L32). There are two ways of handling this in liquidctl. One way is to override `probe` (implemented in `UsbHidDriver`) to fetch the device ID, filter out any unknown IDs, and (only) yield driver instances that have as field a know ID; each instance should also map that ID to the corresponding parameters for that device (`description`, fan count, pump index, etc.). Another way is to have a generic driver that only fetches the ID and customizes itself accordingly at `connect` time, meaning that before that it identifies itself as something like "Undetermined Corsair device". Because having the driver instance in an undetermined state will cause some issues, both for us and for the user, I think you should try the `probe` method first. liquidctl-1.16.0/docs/developer/process.md000066400000000000000000000134301515166127400205170ustar00rootroot00000000000000# Development process ## Branches and tags The main branch is `main`, and it tracks the changes that will be included in the next release. This branch is kept functional (barring the occasional bug), and its history is never rewritten. Pull requests and patches should generally be developed for it (i.e. using it as base). Releases are tagged as `v` (e.g. `v1.6.0`). Updates to past minor releases are managed in branches following the naming scheme `..x-branch` (e.g. `1.5.x-branch`). Other branches and tags are generally for internal use, and may be deleted or rewritten at any time. ## Release cycle and pre-release freeze periods Besides unscheduled patch releases, a new minor release is expected once every 13 weeks. In the four weeks before a scheduled release, major changes, like new buses or large refactorings, stop being merged into the main branch. This period is referred to as the _major change freeze._ New drivers on existing buses can still be merged during the major change freeze. Then, in the two weeks before the release, only bug fixes and documentation improvements are merged into the main branch. This period is referred to as the _minor change freeze._ Occasionally, scheduled releases may be anticipated (if the activity is low and the freeze periods can be retroactively respected), downgraded (if it only contains bug fixes and documentation improvements) or skipped (if there are no changes). ## Stability and backward compatibility This project adheres to Semantic Versioning, version 2.0, and there are no plans for a new major version release of the project. Because of this, liquidctl releases (minor or patch) retain backward compatibility with previous versions. The stability guarantee that we try to uphold can be better defined by: 1. No breaking changes to the *effect* of CLI commands *on the device,* 2. and no breaking changes to *documented* behavior of *public* APIs, 3. except when required by a bug fix. In particular: 4. The output from CLI commands is *not* guaranteed to be stable, 5. and neither are the items returned from `get_status()` or `initialize()`. Additionally: 6. We occasionally provide backward compatibility for undocumented behavior or private APIs, on a (use) case by case basis; 7. Even when a change is allowed by the policy above, we still try to weight in the possible disruption versus their benefit (e.g. when changing an existing item in `get_status()`); 8. If a tree falls in the forest and no one is around to hear it, it does not make a sound: breaking changes that will not observed by any real users (at the time of the change ) may be ok, on the condition that they be reversed should one of those users come forward; 9. Some APIs are documented to be *unstable* and, thus, are exempt from the stability guarantee. The use of deprecated features is discouraged, but deprecation is not directly correlated with (eventual) removal. Feature removal depends on whether the feature is no longer useful and whether its removal is allowed by the stability guarantee. ## Communicating changes to users The project communicates relevant changes to its users through the [CHANGELOG], the minimum recommended liquidctl versions (MRLVs, listed in the README for each device family), and the "new/changed in" notes in the documentation. The CHANGELOG and MRLVs are both owned by the project maintainers, and updated periodically. Contributors _should not_ attempt to update them as part of their normal patches. However, either can still be the subject of a patch if a correction is necessary. ### New/changed in notes On the other hand, contributors _should_ add "new/changed in" notes to the relevant documentation, when applicable. These should be kept in blocks, and look something like: ```markdown _New in 1.8.0._
_Changed in 1.9.0: the firmware version is now reported during initialization._
_Changed in git: modern firmware versions are now reported in simplified form._
``` "New in" notes are generally applicable to the corresponding subsection of a document, and do not usually go into more detail. "Changed in" notes can appear at the top of the subsection, when the change is significant, or just after the corresponding feature is mentioned, when the change is minor. When adding "new/changed in" notes, contributors should use "git" as the placeholder version. The project maintainers will be replace them by the appropriate version number as part of their release checklist. ## License and copyright Liquidctl is licensed under the GPL, either version 3 or, at the option of those receiving the program, any later version. Changes must be licensed under the same license, but their authors retain the copyright of their individual changes. Each module contains the copyright notice and a [short SPDX license identifier] to unambiguously yet concisely indicate the applicable license. For example: ``` Copyright Jonas Malaco and contributors SPDX-License-Identifier: GPL-3.0-or-later ``` The copyright notice should explicitly list the most important contributors to the module, and then end with "and contributors". Contributors are encouraged to update these notices when submitting major changes to modules. The project's copyright notice explicitly lists the major contributors the project – in this context, a major contributor is someone who has authored at least one non-trivial module of the `liquidctl` package (e.g. a driver) – and then end with "and contributors". Only project maintainers are allowed to update the project's copyright notice; contributors should contact the maintainers if they want to ask to be included among the explicitly listed names. [short SPDX license identifier]: https://spdx.github.io/spdx-spec/v2.3/using-SPDX-short-identifiers-in-source-files/ [CHANGELOG]: ../../CHANGELOG.md liquidctl-1.16.0/docs/developer/protocol/000077500000000000000000000000001515166127400203575ustar00rootroot00000000000000liquidctl-1.16.0/docs/developer/protocol/aquacomputer.md000066400000000000000000000612311515166127400234120ustar00rootroot00000000000000# Aquacomputer protocols Aquacomputer devices share the same HID report philosophy: * A sensor report with ID `0x01` is sent every second to the host, detailing current sensor readings * A HID feature report with ID `0x03` contains the device settings which can be requested, modified and written back to the device * A control/configuration report that can be requested and sent back to the device, controlling its settings and mode of operation. Contains a CRC-16/USB checksum in the last two bytes * A save report, which is always constant and is sent after a configuration report (the devices seem to work fine without it, but the official software always sends it) These devices also share some substructures in their reports. All listed values are two bytes long and in big endian, unless noted otherwise. ### Sensor report details & substructures There's one important substructure that keeps recurring in sensor reports, and it concerns fan info. The definition of fan here also includes pumps, not only 3/4 pin fans in the literal sense. Here's what it's known to contain: | What | Where (relative offset) | | ------------------ | ----------------------- | | Fan speed (0-100%) | 0x00 | | Fan voltage | 0x02 | | Fan current | 0x04 | | Fan power | 0x06 | | Fan speed (RPM) | 0x08 | Temperature sensors, if not connected, will report `0x7FFF` as their value. ### Control report details & substructures The control report can be requested from and sent to the device using `GET_FEATURE_REPORT` and `SET_FEATURE_REPORT`, respectively. What it contains depends on the device, but it always carries a two byte CRC-16/USB checksum in the last two places. The checksum is calculated from the data between the starting `0x03` report ID at the very beginning and the (existing) checksum at the end. Fan speed control subgroups can be found in the control report, and it's currently known that they look like this: | What | Where (relative offset) | |------------------|-------------------------| | Speed curve type | 0x00 | | Speed (0-100%) | 0x01 | The `Speed curve type` above understands these values (list may be incomplete): | Value | Meaning | |-------|-----------------------------------------------| | 0 | Manual mode (directly honor percentage value) | | 1 | PID control mode | | 2 | Fan curve mode | The liquidctl driver currently supports only the manual mode. ## D5 Next pump The D5 Next pump can, aside from itself, control and monitor an optionally connected fan. ### Sensor report An example sensor report of the D5 Next looks like this: ``` 01 00 03 0B B8 4E 20 00 01 00 00 00 64 03 FB 00 00 00 51 00 00 00 0E A4 00 00 00 45 00 10 42 C4 00 00 00 00 30 C9 00 00 00 A8 9C C2 B9 00 00 01 49 18 87 A1 3C 5C AB 04 BA 01 F8 00 00 00 52 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 00 00 00 00 00 00 00 00 0A 31 7F FF 00 00 7F FF 00 00 00 00 00 00 00 00 00 00 00 00 00 1B DC 04 B9 00 C5 00 EE 0B A8 00 00 00 1B DC 09 AA 08 4C 09 A9 08 4A 00 03 00 06 00 00 00 00 00 00 00 00 00 00 00 00 01 08 E5 00 E7 27 10 27 10 7F 7F ``` Its ID is `0x01` and its length is `0x9e`. Here is what it's currently known to contain: | What | Where/starts at (offset) | |------------------------------------|--------------------------| | Serial number (first part) | 0x03 | | Serial number (second part) | 0x05 | | Firmware version | 0xD | | Number of power cycles *[4 bytes]* | 0x18 | | Liquid (water) temperature | 0x57 | | Pump info substructure | 0x74 | | Fan info substructure | 0x67 | | +5V voltage | 0x39 | | +12V voltage | 0x37 | | Virtual temp sensor 1 | 0x3F | | Virtual temp sensor 2 | 0x41 | | Virtual temp sensor 3 | 0x43 | | Virtual temp sensor 4 | 0x45 | | Virtual temp sensor 5 | 0x47 | | Virtual temp sensor 6 | 0x49 | | Virtual temp sensor 7 | 0x4B | | Virtual temp sensor 8 | 0x4D | ### Control report An example control report of the D5 Next looks like this: ``` 03 00 03 1E 00 00 00 00 00 0A C0 00 7F FF 00 00 00 00 02 02 0E 10 0B B8 00 00 00 00 0A 00 01 00 0A 00 06 00 0A 00 0C 00 0A 00 00 00 00 00 00 01 01 F4 27 10 27 10 07 D0 00 00 00 27 10 27 10 13 88 02 07 D2 00 00 0C 80 01 F4 01 2C 00 00 00 64 00 1E 00 01 0A F0 0A 8C 0A FD 0B 4C 0B 9D 0B E9 0C 46 0C 9F 0C F3 0D 3C 0D A2 0D E5 0E 42 0E 8A 0E E6 0F 35 0F 70 00 00 00 00 00 00 02 D6 04 D6 06 D6 09 81 0A 01 0D AC 12 02 16 2D 17 AD 19 D8 1E AE 22 2E 23 2E 02 12 D3 00 00 0D 48 01 F4 01 2C 00 00 00 64 00 1E 00 01 0A F0 0A 8C 0A FA 0B 4C 0B A4 0C 00 0C 4F 0C A3 0D 11 0D 51 0D A6 0D FD 0E 56 0E 9E 0E EE 0F 20 10 82 00 00 00 8C 00 00 00 00 00 00 00 00 00 00 01 00 01 80 03 54 07 81 0A 81 0B 01 0C 81 0D D7 0E AC 03 E8 FF 00 00 00 00 0F 03 00 00 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 FF 00 32 00 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 0F 0F 08 00 00 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 FF 00 19 00 28 00 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F 03 E7 FF FF 00 FE FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 1E 0F 0B 00 00 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 FF 00 1E 00 28 00 01 00 06 00 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 FF 02 FF 01 FB FF FF 05 25 FF FF 00 C5 FF FF 03 F5 FF FF 05 F3 FF FF 00 2D 0F 04 00 06 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 FF 00 28 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F 00 00 FF FF 01 FD FF FF 03 FF FF FF 00 FA FF FF 01 CE 10 FF 00 3C 0F 04 00 06 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 FF 00 28 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F 00 FA FF FF 05 DC FF FF 01 C2 FF FF 00 00 FF FF 07 D0 10 FF 00 4B 0F 04 00 06 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 FF 00 28 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F 03 E8 FF FF 01 C2 FF FF 00 00 FF FF 00 64 FF FF 03 20 10 FF 01 00 06 03 00 00 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 FF 00 1E 00 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 01 00 06 00 00 00 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 64 00 1E 00 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF C0 04 01 C2 0F A0 01 10 FB ``` Its ID is `0x03` and its length is `0x329`. Here is what it's currently known to contain: | What | Where/starts at (offset) | |------------------------------------|--------------------------| | Pump speed control subgroup | 0x96 | | Fan speed control subgroup | 0x41 | ## Farbwerk 360 RGB controller The Farbwerk 360 exposes four temperature sensors through its sensor report. ### Sensor report An example sensor report of the Farbwerk 360 looks like this: ``` 01 00 01 41 BB DE 92 03 E8 00 00 00 64 03 FE 00 00 00 11 00 00 00 09 D3 00 00 00 5E 00 08 A4 DD 00 00 00 24 BF E6 C0 34 A2 B4 FF D7 FF D5 FF D6 5A EC 0A 1F 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 FA 01 FB 00 07 00 00 00 03 00 00 00 0B 00 00 00 00 00 15 20 1A 00 00 00 00 00 00 00 00 27 10 27 10 27 10 27 10 27 10 03 E8 00 00 03 E8 00 00 03 E8 00 00 03 E8 00 00 00 00 00 00 00 00 00 00 00 06 00 06 00 05 00 06 01 17 00 06 ``` Its ID is `0x01` and its length is `0xb6`. Here is what it's currently known to contain: | What | Where/starts at (offset) | |------------------------|--------------------------| | Temp sensor 1 | 0x32 | | Temp sensor 2 | 0x34 | | Temp sensor 3 | 0x36 | | Temp sensor 4 | 0x38 | | Virtual temp sensor 1 | 0x3A | | Virtual temp sensor 2 | 0x3C | | Virtual temp sensor 3 | 0x3E | | Virtual temp sensor 4 | 0x40 | | Virtual temp sensor 5 | 0x42 | | Virtual temp sensor 6 | 0x44 | | Virtual temp sensor 7 | 0x46 | | Virtual temp sensor 8 | 0x48 | | Virtual temp sensor 9 | 0x4A | | Virtual temp sensor 10 | 0x4C | | Virtual temp sensor 11 | 0x4E | | Virtual temp sensor 12 | 0x50 | | Virtual temp sensor 13 | 0x52 | | Virtual temp sensor 14 | 0x54 | | Virtual temp sensor 15 | 0x56 | | Virtual temp sensor 16 | 0x58 | ## Octo The Octo exposes four physical and sixteen virtual temperature sensors and eight groups of fan sensor data (outlined in the preamble) through its sensor report. ### Sensor report An example sensor report of the Octo looks like this: ``` 01 00 02 3A 92 C9 EA 03 E8 00 01 00 65 03 FB 00 00 00 01 00 00 00 48 8E 00 00 00 C2 00 3A DF 11 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 04 9D 84 FF DB FF DC FF DD A7 B0 5B FC 10 17 7F FF 7F FF 7F FF 0F 00 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 B9 00 02 00 02 00 00 05 5D 04 B9 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 21 3B 04 B9 00 02 00 02 00 00 00 00 08 00 00 00 00 03 E8 05 5D 00 00 00 00 03 E8 00 00 00 00 00 00 03 E8 00 00 00 00 00 00 03 E8 00 00 00 00 00 00 03 E8 00 00 00 00 00 00 03 E8 00 00 00 00 00 00 03 E8 00 00 00 00 00 00 03 E8 21 3B 00 00 00 00 03 E8 27 10 00 00 00 00 03 E8 27 10 00 00 00 00 00 00 00 00 15 B3 15 0A 27 10 27 10 FF FF ``` Its ID is `0x01` and its length is `0x147`. Here is what it's currently known to contain: | What | Where/starts at (offset) | |------------------------------------|--------------------------| | Serial number (first part) | 0x03 | | Serial number (second part) | 0x05 | | Firmware version | 0xD | | Number of power cycles *[4 bytes]* | 0x18 | | Temp sensor 1 | 0x3D | | Temp sensor 2 | 0x3F | | Temp sensor 3 | 0x41 | | Temp sensor 4 | 0x43 | | Fan 1 substructure | 0x7D | | Fan 2 substructure | 0x8A | | Fan 3 substructure | 0x97 | | Fan 4 substructure | 0xA4 | | Fan 5 substructure | 0xB1 | | Fan 6 substructure | 0xBE | | Fan 7 substructure | 0xCB | | Fan 8 substructure | 0xD8 | | Virtual temp sensor 1 | 0x45 | | Virtual temp sensor 2 | 0x47 | | Virtual temp sensor 3 | 0x49 | | Virtual temp sensor 4 | 0x4B | | Virtual temp sensor 5 | 0x4D | | Virtual temp sensor 6 | 0x4F | | Virtual temp sensor 7 | 0x51 | | Virtual temp sensor 8 | 0x53 | | Virtual temp sensor 9 | 0x55 | | Virtual temp sensor 10 | 0x57 | | Virtual temp sensor 11 | 0x59 | | Virtual temp sensor 12 | 0x5B | | Virtual temp sensor 13 | 0x5D | | Virtual temp sensor 14 | 0x5F | | Virtual temp sensor 15 | 0x61 | | Virtual temp sensor 16 | 0x63 | ### Control report An example control report of the Octo looks like this: ``` 03 00 02 28 00 00 00 A9 00 00 05 14 02 BC 00 00 00 00 00 01 F4 27 10 27 10 07 D0 02 01 F4 27 10 27 10 07 D0 02 01 F4 27 10 27 10 07 D0 02 01 F4 27 10 27 10 07 D0 02 01 F4 27 10 27 10 07 D0 02 01 F4 27 10 27 10 07 D0 02 01 F4 27 10 27 10 07 D0 00 01 F4 27 10 27 10 07 D0 00 05 5D FF FF 0D AC 05 78 04 B0 00 00 00 28 00 14 00 01 0A F0 0A 8C 0A FA 0B 4A 0B A4 0B F4 0C 4E 0C 9D 0C F8 0D 48 0D A2 0D F2 0E 4C 0E 9C 0E F5 0F 46 0F A0 00 00 00 8C 01 18 01 F4 03 20 04 B0 06 90 08 D4 0B 68 0E 4C 11 94 15 2C 19 28 1D 74 22 10 27 10 00 00 00 FF FF 0D AC 05 78 04 B0 00 00 00 28 00 14 00 01 0A F0 0A 8C 0A FA 0B 4A 0B A4 0B F4 0C 4E 0C 9D 0C F8 0D 48 0D A2 0D F2 0E 4C 0E 9C 0E F5 0F 46 0F A0 00 00 00 8C 01 18 01 F4 03 20 04 B0 06 90 08 D4 0B 68 0E 4C 11 94 15 2C 19 28 1D 74 22 10 27 10 00 00 00 FF FF 0D AC 05 78 04 B0 00 00 00 28 00 14 00 01 0A F0 0A 8C 0A FA 0B 4A 0B A4 0B F4 0C 4E 0C 9D 0C F8 0D 48 0D A2 0D F2 0E 4C 0E 9C 0E F5 0F 46 0F A0 00 00 00 8C 01 18 01 F4 03 20 04 B0 06 90 08 D4 0B 68 0E 4C 11 94 15 2C 19 28 1D 74 22 10 27 10 00 00 00 FF FF 0D AC 05 78 04 B0 00 00 00 28 00 14 00 01 0A F0 0A 8C 0A FA 0B 4A 0B A4 0B F4 0C 4E 0C 9D 0C F8 0D 48 0D A2 0D F2 0E 4C 0E 9C 0E F5 0F 46 0F A0 00 00 00 8C 01 18 01 F4 03 20 04 B0 06 90 08 D4 0B 68 0E 4C 11 94 15 2C 19 28 1D 74 22 10 27 10 00 00 00 FF FF 0D AC 05 78 04 B0 00 00 00 28 00 14 00 01 0A F0 0A 8C 0A FA 0B 4A 0B A4 0B F4 0C 4E 0C 9D 0C F8 0D 48 0D A2 0D F2 0E 4C 0E 9C 0E F5 0F 46 0F A0 00 00 00 8C 01 18 01 F4 03 20 04 B0 06 90 08 D4 0B 68 0E 4C 11 94 15 2C 19 28 1D 74 22 10 27 10 00 00 00 FF FF 0D AC 05 78 04 B0 00 00 00 28 00 14 00 01 0A F0 0A 8C 0A FA 0B 4A 0B A4 0B F4 0C 4E 0C 9D 0C F8 0D 48 0D A2 0D F2 0E 4C 0E 9C 0E F5 0F 46 0F A0 00 00 00 8C 01 18 01 F4 03 20 04 B0 06 90 08 D4 0B 68 0E 4C 11 94 15 2C 19 28 1D 74 22 10 27 10 00 00 00 FF FF 0D AC 05 78 04 B0 00 00 00 28 00 14 00 01 0A F0 0A 8C 0A FA 0B 4A 0B A4 0B F4 0C 4E 0C 9D 0C F8 0D 48 0D A2 0D F2 0E 4C 0E 9C 0E F5 0F 46 0F A0 00 00 00 8C 01 18 01 F4 03 20 04 B0 06 90 08 D4 0B 68 0E 4C 11 94 15 2C 19 28 1D 74 22 10 27 10 00 21 3B FF FF 0D AC 05 78 04 B0 00 00 00 28 00 14 00 01 0A F0 0A 8C 0A FA 0B 4A 0B A4 0B F4 0C 4E 0C 9D 0C F8 0D 48 0D A2 0D F2 0E 4C 0E 9C 0E F5 0F 46 0F A0 00 00 00 8C 01 18 01 F4 03 20 04 B0 06 90 08 D4 0B 68 0E 4C 11 94 15 2C 19 28 1D 74 22 10 27 10 00 00 FF 00 00 00 00 0F 03 00 00 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 FF 00 32 00 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 0F 0F 08 00 00 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 FF 00 19 00 28 00 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F 03 E7 FF FF 00 FE FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 1E 0F 0B 00 00 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 FF 00 1E 00 28 00 01 00 06 00 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 FF 02 FF 01 FB FF FF 05 25 FF FF 00 C5 FF FF 03 F5 FF FF 05 F3 FF FF 00 2D 0F 13 00 00 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 FF 00 19 00 0A 00 05 00 05 00 19 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF 02 00 FF 78 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 3C 0F 04 00 06 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 FF 00 28 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F 00 00 FF FF 01 FD FF FF 03 FF FF FF 00 FA FF FF 01 CE 10 FF 00 4B 0F 0F 00 00 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 FF 00 28 00 04 00 1E 00 1E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 78 00 78 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 01 00 0F 03 00 00 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 FF 00 32 00 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 01 0F 0F 08 00 00 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 FF 00 19 00 28 00 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F 03 E7 FF FF 00 FE FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 01 1E 0F 0B 00 00 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 FF 00 1E 00 28 00 01 00 06 00 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 FF 02 FF 01 FB FF FF 05 25 FF FF 00 C5 FF FF 03 F5 FF FF 05 F3 FF FF 01 2D 0F 13 00 00 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 FF 00 19 00 0A 00 05 00 05 00 19 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF 02 00 FF 78 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 01 3C 0F 04 00 06 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 FF 00 28 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F 00 00 FF FF 01 FD FF FF 03 FF FF FF 00 FA FF FF 01 CE 10 FF 01 4B 0F 0F 00 00 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 FF 00 28 00 04 00 1E 00 1E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 78 00 78 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 01 00 00 13 88 13 88 13 88 13 88 01 5E 01 AB 59 ``` Its ID is `0x03` and its length is `0x65F`. Here is what it's currently known to contain: | What | Where/starts at (offset) | |-------------------------|--------------------------| | Fan 1 ctrl substructure | 0x5A | | Fan 2 ctrl substructure | 0xAF | | Fan 3 ctrl substructure | 0x104 | | Fan 4 ctrl substructure | 0x159 | | Fan 5 ctrl substructure | 0x1AE | | Fan 6 ctrl substructure | 0x203 | | Fan 7 ctrl substructure | 0x258 | | Fan 8 ctrl substructure | 0x2AD | ## Quadro The Quadro exposes four physical and sixteen virtual temperature sensors, and four groups of fan sensor data (outlined in the preamble) through its sensor report. ### Sensor report An example sensor report of the Quadro looks like this: ``` 01 00 03 5B 72 FF 40 00 01 00 00 00 65 04 08 00 00 00 01 00 00 00 13 C5 00 00 00 91 00 32 CB B0 00 00 00 00 00 00 00 00 FF D5 FF D6 9B 54 FF D8 A6 FD 5B 97 7F FF 7F FF 06 51 7F FF 09 59 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 7F FF 13 88 7F FF 7F FF 7F FF 03 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 04 B9 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 27 10 04 B9 00 00 00 00 00 00 00 00 08 05 BB 04 B9 00 00 00 00 01 64 00 00 00 15 E0 04 B9 00 00 00 00 00 00 00 00 08 00 00 00 00 03 E8 00 00 00 00 00 00 03 E8 27 10 00 00 00 00 03 E8 05 BB 00 00 00 00 03 E8 15 E0 00 00 00 00 03 E8 27 10 00 0A 00 00 00 0E 00 00 00 00 27 10 FF 00 00 01 ``` Its ID is `0x01` and its length is `0xDC`. Here is what it's currently known to contain: | What | Where/starts at (offset) | |------------------------------------|--------------------------| | Serial number (first part) | 0x03 | | Serial number (second part) | 0x05 | | Firmware version | 0xD | | Number of power cycles *[4 bytes]* | 0x18 | | Temp sensor 1 | 0x34 | | Temp sensor 2 | 0x36 | | Temp sensor 3 | 0x38 | | Temp sensor 4 | 0x3A | | Fan 1 substructure | 0x70 | | Fan 2 substructure | 0x7D | | Fan 3 substructure | 0x8A | | Fan 4 substructure | 0x97 | | Flow sensor | 0x6E | | Virtual temp sensor 1 | 0x3C | | Virtual temp sensor 2 | 0x3E | | Virtual temp sensor 3 | 0x40 | | Virtual temp sensor 4 | 0x42 | | Virtual temp sensor 5 | 0x44 | | Virtual temp sensor 6 | 0x46 | | Virtual temp sensor 7 | 0x48 | | Virtual temp sensor 8 | 0x4A | | Virtual temp sensor 9 | 0x4C | | Virtual temp sensor 10 | 0x4E | | Virtual temp sensor 11 | 0x50 | | Virtual temp sensor 12 | 0x52 | | Virtual temp sensor 13 | 0x54 | | Virtual temp sensor 14 | 0x56 | | Virtual temp sensor 15 | 0x58 | | Virtual temp sensor 16 | 0x5A | ### Control report An example control report of the Quadro looks like this: ``` 03 00 03 1C 00 00 00 A9 00 00 02 58 05 14 FA EC 05 DC 00 01 F4 27 10 27 10 07 D0 00 01 F4 27 10 27 10 07 D0 00 01 F4 27 10 27 10 07 D0 00 01 F4 27 10 27 10 07 D0 00 00 00 FF FF 0D AC 05 78 04 B0 00 00 00 28 00 14 00 01 0A F0 0A 8C 0A FA 0B 4A 0B A4 0B F4 0C 4E 0C 9D 0C F8 0D 48 0D A2 0D F2 0E 4C 0E 9C 0E F5 0F 46 0F A0 00 00 00 8C 01 18 01 F4 03 20 04 B0 06 90 08 D4 0B 68 0E 4C 11 94 15 2C 19 28 1D 74 22 10 27 10 00 4C D0 FF FF 0D AC 05 78 04 B0 00 00 00 28 00 14 00 01 0A F0 0A 8C 0A FA 0B 4A 0B A4 0B F4 0C 4E 0C 9D 0C F8 0D 48 0D A2 0D F2 0E 4C 0E 9C 0E F5 0F 46 0F A0 00 00 00 8C 01 18 01 F4 03 20 04 B0 06 90 08 D4 0B 68 0E 4C 11 94 15 2C 19 28 1D 74 22 10 27 10 00 05 BB 00 03 0D AC 05 78 04 B0 00 00 00 28 00 14 00 01 0A F0 0A 8C 0A FA 0B 4A 0B A4 0B F4 0C 4E 0C 9D 0C F8 0D 48 0D A2 0D F2 0E 4C 0E 9C 0E F5 0F 46 0F A0 00 00 00 8C 01 18 01 F4 03 20 04 B0 06 90 08 D4 0B 68 0E 4C 11 94 15 2C 19 28 1D 74 22 10 27 10 00 15 E0 FF FF 0D AC 05 78 04 B0 00 00 00 28 00 14 00 01 0A F0 0A 8C 0A FA 0B 4A 0B A4 0B F4 0C 4E 0C 9D 0C F8 0D 48 0D A2 0D F2 0E 4C 0E 9C 0E F5 0F 46 0F A0 00 00 00 8C 01 18 01 F4 03 20 04 B0 06 90 08 D4 0B 68 0E 4C 11 94 15 2C 19 28 1D 74 22 10 27 10 FF 00 02 00 00 0F 03 00 00 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 FF 00 32 00 64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 0F 0F 08 00 00 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 FF 00 19 00 28 00 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F 03 E7 FF FF 00 FE FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 1E 0F 0B 00 00 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 FF 00 1E 00 28 00 01 00 06 00 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 FF 02 FF 01 FB FF FF 05 25 FF FF 00 C5 FF FF 03 F5 FF FF 05 F3 FF FF 00 2D 0F 04 00 06 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 FF 00 28 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F 00 00 FF FF 01 FD FF FF 03 FF FF FF 00 FA FF FF 01 CE 10 FF 00 3C 0F 04 00 06 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 FF 00 28 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F 03 FF FF FF 07 D0 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 4B 0F 04 00 06 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 FF 00 28 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F 01 CE FF FF 03 FF FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 2D 0F 00 00 06 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 64 00 28 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F 00 FA FF FF 01 CE 10 FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00 2D 0F 00 00 06 FF FF 0F 19 00 00 03 E8 01 64 00 00 03 E8 01 64 00 28 00 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F 00 00 FF FF 01 FD FF FF 03 FF FF FF 00 FA FF FF 01 CE 10 FF 01 00 E0 A8``` ``` Its ID is `0x03` and its length is `0x3C1`. Here is what it's currently known to contain: | What | Where/starts at (offset) | |-------------------------|--------------------------| | Fan 1 ctrl substructure | 0x36 | | Fan 2 ctrl substructure | 0x8B | | Fan 3 ctrl substructure | 0xE0 | | Fan 4 ctrl substructure | 0x135 |liquidctl-1.16.0/docs/developer/protocol/asus_ryujin.md000066400000000000000000000036061515166127400232610ustar00rootroot00000000000000# ASUS Ryujin II liquid cooler protocol The data of all usb packets is 65 bytes long, prefixed with `0xEC`. ## Generic Operations ### Get firmware info - Request: - Header: `0xEC 0x82` - Response: - Header: `0xEC 0x02` - Data: - Byte 4-18: Firmware version (ascii) ## Cooling Operations ### Get cooling info - Request: - Header: `0xEC 0x99` - Response: - Header: `0xEC 0x19` - Data: - Byte 4: Liquid temperature (integer digits) - Byte 5: Liquid temperature (decimal digit) - Byte 6-7: Pump rpm (little endian) - Byte 8-9: Embedded Micro Fan rpm (little endian) ### Get duties of pump and of embedded micro fan - Request: - Header: `0xEC 0x9A` - Response: - Header: `0xEC 0x1A` - Data: - Byte 5: Pump duty % from 0x00 to 0x64 - Byte 6: Embedded Micro Fan duty % from 0x00 to 0x64 ### Get fan speed of AIO fan controller - Request: - Header: `0xEC 0xA0` - Response: - Header: `0xEC 0x20` - Data: - Byte 4-5: Fan 4 rpm (little endian) - Byte 6-7: Fan 1 rpm (little endian) - Byte 8-9: Fan 2 rpm (little endian) - Byte 10-11: Fan 3 rpm (little endian) ### Get duty of AIO fan controller - Request: - Header: `0xEC 0xA1` - Response: - Header: `0xEC 0x21` - Data: - Byte 5: AIO fan controller duty from 0x00 to 0xFF ### Set duties of pump and of embedded micro fan - Request: - Header: `0xEC 0x1A` - Data: - Byte 4: Pump duty % from 0x00 to 0x64 - Byte 5: Embedded Micro Fan duty % from 0x00 to 0x64 - Response: - Header: `0xEC 0x1A` ### Set duty of AIO fan controller - Request: - Header: `0xEC 0x21` - Data: - Byte 5: AIO fan controller duty from 0x00 to 0xFF - Response: - Header: `0xEC 0x21` ## Unknown - Request: - Header: `0xEC 0xAF` - Response: - Header: `0xEC 0x2F` - Byte 4-17: ? liquidctl-1.16.0/docs/developer/protocol/asus_ryuo.md000066400000000000000000000012441515166127400227330ustar00rootroot00000000000000# ASUS ROG Ryuo I 240 Liquid Cooler Protocol The data of all USB packets is 65 bytes long and prefixed with `0xEC`. ## Generic Operations ### Get firmware version - Request: - Header: `0xEC 0x82` - Response: - Header: `0xEC 0x02` - Data: - Byte 2–18: firmware-version (ASCII) ## Cooling Operations ### Set fixed fan speed - Request: - Header: `0xEC 0x2A` - Data: - Byte 2: Fan duty % from `0x00` to `0x64` (0–100%) - Response: - None ## Notes - Only the `"fans"`/`"fan"` channel is supported as of this driver. - No real-time status or telemetry (e.g. fan RPM, temperature) is available for this device as of this driver. liquidctl-1.16.0/docs/developer/protocol/commander_core.md000066400000000000000000000223051515166127400236600ustar00rootroot00000000000000# Corsair Commander Core Protocol ## Compatible devices | Device Name | USB ID | LED channels | Fan channels | Temperature channels | AIO | |:-----------:|:------:|:------------:|:------------:|:--------------------:|:---:| | Commander Core | `1b1c:0c1c` | 7 | 6 | 2 | Yes | | Commander Core XT | `1b1c:0c2a` | 7 | 6 | 2 | No | | Commander ST | `1b1c:0c32` | 7 | 6 | 2 | No | The Commander Core is typically shipped with the Corsair iCUE Elite Capellix AIOs. The first two LED and temperature channels go to the EXT port, typically in use by the AIO. Newer releases of these AIOs may instead come with the Commander ST. The Commander Core XT is a standalone product that shares the same protocol, but does not include support for an AIO, and as a result channel numbers are offset down by 1. ## Command formats The Commander Core works in different modes, so ensure the proper mode has been sent for each command. Unless stated otherwise all multi-byte numbers used little endian. Host -> Device: 96 bytes for firmware v2.x.x | 1024 bytes for firmware v1.x.x | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x08 | | 0x01 | Command | | 0x02 | Channel | | 0x03-... | Data | Device -> Host: 96 bytes for firmware v2.x.x | 1024 bytes for firmware v1.x.x | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x00 | | 0x01 | Command | | 0x02 | 0x00 | | 0x03-... | Data | ## Global Commands Global commands should work in any mode. ### `0x01` - Wake up/Sleep Wakeup needs to be run every time the device has not been sent any data for a predefined number of seconds. Sleep should be run when the device should return to hardware mode and no more data will be sent. Command: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x08 | | 0x01 | 0x01 | | 0x02 | 0x03 | | 0x03 | 0x00 | | 0x04 | 0x01 for sleep or 0x02 for wake up | ### `0x02` - Get Firmware Version Command: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x08 | | 0x01 | 0x02 | | 0x02 | 0x13 | Response: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x00 | | 0x01 | 0x00 | | 0x02 | Major | | 0x03 | Minor | | 0x04 | Patch | Note: the `0x01` Init/Wakeup command is exceptionally not necessary before this command. ### `0x0d` - Open Endpoint Sets the mode for the channel to use. Needs to be run **before** a read or write operation. `0x05` - Init/Wakeup will likely need to be run first. Command: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x08 | | 0x01 | 0x0d | | 0x02 | Channel | | 0x03 | New mode | ### `0x05` - Close Endpoint Needs to be run **after** a read or write operation to close a previously opened endpoint. Command: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x08 | | 0x01 | 0x05 | | 0x02 | 0x01 | | 0x03 | Channel to close | ## Mode Commands These are the commands that are used in each of the modes. ### `0x06` - Write Command: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x08 | | 0x01 | 0x06 | | 0x02 | Channel | | 0x03, 0x04 | Data length | | 0x05, 0x06 | 00:00 Unknown (Before data length starts) | | 0x07, 0x08 | Data Type (Included in data length) | | 0x09-... | Data | ### `0x07` - Write More For writing data that does not fit in a single 96 byte Host->Device packet. Can be sent multiple times consecutively until data is completely written. Command: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x08 | | 0x01 | 0x07 | | 0x02 | Channel | | 0x03-... | Data | ### `0x08` - Read Initial/More/Final Read More and Read Final are used to read data larger than the 96 byte device->host packet size. Byte index 0x03 must incremented as each piece of the data is read (i.e. 0x01 first, 0x02 second, and 0x03 third). Command: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x08 | | 0x01 | 0x08 | | 0x02 | 0x00 | | 0x03 | 0x01 for Read Initial or 0x02 for Read More or 0x03 for Read Final | Read Initial Response: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x00 | | 0x01 | 0x08 | | 0x02 | 0x00 | | 0x03, 0x04 | Data type | | 0x05-... | Data | Read More/Final Response: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x00 | | 0x01 | 0x08 | | 0x02 | 0x00 | | 0x03-... | Data | ## Modes: ### `0x17` - Current Speeds of Pump and Fans Data Type: `0x06 0x00` | Byte index | Description (Core) | Description (Core XT) | | ---------- | ------------------ | --------------------- | | 0x00 | Number of speed items | Number of speed items | | 0x01, 0x02 | Speed of AIO/EXT port | Speed of Fan 1 | | 0x03, 0x04 | Speed of Fan 1 | Speed of Fan 2 | | 0x05, 0x06 | Speed of Fan 2 | Speed of Fan 3 | | 0x07, 0x08 | Speed of Fan 3 | Speed of Fan 4 | | 0x09, 0x0a | Speed of Fan 4 | Speed of Fan 5 | | 0x0b, 0x0c | Speed of Fan 5 | Speed of Fan 6 | | 0x0d, 0x0e | Speed of Fan 6 | | ### `0x1a` - Connected Speed Devices Data Type: `0x09 0x00` Connection State: 0x07 if connected or 0x01 if not connected | Byte index | Description (Core) | Description (Core XT) | | ---------- | ------------------ | --------------------- | | 0x00 | Number of Ports | Number of Ports | | 0x01 | AIO/EXT Connection State | Fan 1 Connection State | | 0x02 | Fan 1 Connection State | Fan 2 Connection State | | 0x03 | Fan 2 Connection State | Fan 3 Connection State | | 0x04 | Fan 3 Connection State | Fan 4 Connection State | | 0x05 | Fan 4 Connection State | Fan 5 Connection State | | 0x06 | Fan 5 Connection State | Fan 6 Connection State | | 0x07 | Fan 6 Connection State | | ### `0x20` - Connected LEDs Data Type: `0x0f 0x00` | Byte index | Description | | ---------- | ----------- | | 0x00 | Number of RGB channels | | 0x01, 0x02 | EXT RGB mode | | 0x03, 0x04 | EXT LED count | | 0x05, 0x06 | RGB Port 1 mode | | 0x07, 0x08 | RGB Port 1 LED count | | 0x09, 0x0a | RGB Port 2 mode | | 0x0b, 0x0c | RGB Port 2 LED count | | 0x0d, 0x0e | RGB Port 3 mode | | 0x0f, 0x10 | RGB Port 3 LED count | | 0x11, 0x12 | RGB Port 4 mode | | 0x13, 0x14 | RGB Port 4 LED count | | 0x15, 0x16 | RGB Port 5 mode | | 0x17, 0x18 | RGB Port 5 LED count | | 0x19, 0x1a | RGB Port 6 mode | | 0x1b, 0x1c | RGB Port 6 LED count | RGB Mode: | Fan Mode | Value | | ------------ | ----- | | Connected | 0x02 | | Disconnected | 0x03 | ### `0x21` - Get Temperatures Data Type: `0x10 0x00` | Byte index | Description | | ---------- | ----------- | | 0x00 | Number of temperature sensors | | 0x01 | 0x00 if connected or 0x01 if not connected | | 0x02, 0x03 | Temperature in Celsius with 10ths decimal (3b:01 = 315 = 31.5C) | | 0x04 | 0x00 if connected or 0x01 if not connected | | 0x05, 0x06 | Temperature in Celsius with 10ths decimal (3b:01 = 315 = 31.5C) | ### `0x60 0x6d` - Hardware Speed Device Mode Data Type: `0x03 0x00` | Byte index | Description (Core) | Description (Core XT) | | ---------- | ------------------ | --------------------- | | 0x00 | Number of Ports | Number of Ports | | 0x01 | AIO/EXT Speed Mode | Fan 1 Speed Mode | | 0x02 | Fan 1 Speed Mode | Fan 2 Speed Mode | | 0x03 | Fan 2 Speed Mode | Fan 3 Speed Mode | | 0x04 | Fan 3 Speed Mode | Fan 4 Speed Mode | | 0x05 | Fan 4 Speed Mode | Fan 5 Speed Mode | | 0x06 | Fan 5 Speed Mode | Fan 6 Speed Mode | | 0x07 | Fan 6 Speed Mode | | Speed Modes: | Mode | Description | | ---- | ----------- | | 0x00 | Fixed percentage | | 0x02 | Fan percentage fan curve | Note: This list is not complete and currently only contains what has been confirmed so far ### `0x61 0x6d` - Hardware Fixed Speed (Percentage) Data Type: `0x04 0x00` | Byte index | Description (Core) | Description (Core XT) | | ---------- | ------------------ | --------------------- | | 0x00 | Number of Ports | Number of Ports | | 0x01, 0x02 | Speed as percentage for AIO/EXT port | Speed as percentage for Fan 1 | | 0x03, 0x04 | Speed as percentage for Fan 1 | Speed as percentage for Fan 2 | | 0x05, 0x06 | Speed as percentage for Fan 2 | Speed as percentage for Fan 3 | | 0x07, 0x08 | Speed as percentage for Fan 3 | Speed as percentage for Fan 4 | | 0x09, 0x0a | Speed as percentage for Fan 4 | Speed as percentage for Fan 5 | | 0x0b, 0x0c | Speed as percentage for Fan 5 | Speed as percentage for Fan 6 | | 0x0d, 0x0e | Speed as percentage for Fan 6 | | ### `0x62 0x6d` - Hardware Speed Curve (Percentage) Data Type: `0x05 0x00` | Byte index | Description (Core) | | ---------- | ----------- | | 0x00 | Number of Ports | | 0x01-0x1e | Speed Curve for AIO/EXT | | 0x1f-0x3c | Speed Curve for Fan 1 | | 0x3d-0x5a | Speed Curve for Fan 2 | | 0x5b-0x78 | Speed Curve for Fan 3 | | 0x79-0x96 | Speed Curve for Fan 4 | | 0x97-0xb4 | Speed Curve for Fan 5 | | 0xb5-0xd2 | Speed Curve for Fan 6 | Speed Curve: | Byte index | Description (Core) | | ---------- | ----------- | | 0x00 | Temperature sensor to use 0x00 for water 0x01 for plugged in sensor | | 0x01 | Number of speed curve points | | 0x02-0x05 | Speed curve point 1 | | 0x06-0x09 | Speed curve point 2 | | 0x0a-0x0d | Speed curve point 3 | | 0x0e-0x11 | Speed curve point 4 | | 0x12-0x15 | Speed curve point 5 | | 0x16-0x19 | Speed curve point 6 | | 0x1a-0x1d | Speed curve point 7 | Speed Point: | Byte index | Description (Core) | | ---------- | ----------- | | 0x00, 0x01 | Temperature in Celsius with 10ths decimal (3b:01 = 315 = 31.5C) | | 0x02, 0x03 | Point speed (%) | liquidctl-1.16.0/docs/developer/protocol/coolit.md000066400000000000000000000055061515166127400222000ustar00rootroot00000000000000# Coolit Protocol ## Compatible devices | Device Name | USB ID | LED channels | Fan channels | Temperature channels | AIO | |:-----------:|:------:|:------------:|:------------:|:--------------------:|:---:| | Corsair Hydro H110i GT | `1b1c:0c04` | 0 | 2 + pump | 1 (internal) | Yes | This device also features a pump channel, controlled with the appropriate command (see below). ## Command format Unless stated otherwise all multi-byte numbers used little endian. The device expect packets in the following order/format: 1. Request ID byte (usually a counter that rolls over) 2. Opcode byte 3. Command byte 4. Optional arguments See the `_build_data_package` function for data package construction. Multiple "data packages" can be merged into a single command, i.e. one single TX to the device. To do so, simply create a list with data packages, and send the list altogether with `_send_commands`. See `get_status` for a usage example. ## Opcodes The device can be read or written to, in 1/2/3 byte(s). |Opcode|Description|Name in driver| |-|-|-| |0x06|Write 1 byte|`_OP_CODE_WRITE_ONE_BYTE`| |0x08|Write 2 byte|`_OP_CODE_WRITE_TWO_BYTES`| |0x0A|Write 3 byte|`_OP_CODE_WRITE_THREE_BYTES`| |0x07|Read 1 byte|`_OP_CODE_READ_ONE_BYTE`| |0x09|Read 2 byte|`_OP_CODE_READ_TWO_BYTES`| |0x0B|Read 3 byte|`_OP_CODE_READ_THREE_BYTES`| ## Modes and speeds Fan modes: - Fixed duty = 0x02 - Fixed RPM = 0x04 - Custom curve = 0x0E Pump modes: - Quiet = 0x2E - Extreme = 0x0C Pump speeds: - Quiet = 0x2E09 - Extreme = 0x860B ## Commands |Command|Name in driver|Description|Opcode to use|Arguments| |-|-|-|-|-| |0x01|`_COMMAND_FIRMWARE_ID`|Get firmware ID|`_OP_CODE_READ_TWO_BYTES`|n/a| |0x0E|`_COMMAND_TEMP_READ`|Read temperature|`_OP_CODE_READ_TWO_BYTES`|n/a| |0x10|`_COMMAND_FAN_SELECT`|Select fan channel|`_OP_CODE_WRITE_ONE_BYTE`|0x0 to 0x2 (fan1/fan2/pump)| |0x12|`_COMMAND_FAN_MODE`|Set fan mode|`_OP_CODE_WRITE_ONE_BYTE`|See fan/pump modes| |0x13|`_COMMAND_FAN_FIXED_PWM`|Set fan channel duty|`_OP_CODE_WRITE_ONE_BYTE`|duty as RPM| |0x14|`_COMMAND_FAN_FIXED_RPM`|Set fan channel RPM|`_OP_CODE_WRITE_TWO_BYTES`|pump speed| |0x16|`_COMMAND_FAN_READ_RPM`|Get fan channel RPM|`_OP_CODE_READ_TWO_BYTES`|n/a| |0x17|`_COMMAND_FAN_MAX_RPM`|Get max fan channel RPM|`_OP_CODE_READ_TWO_BYTES`|n/a| |0x19|`_COMMAND_FAN_RPM_TABLE`|Set fan channel RPM curve|`_OP_CODE_WRITE_THREE_BYTES`|duty encoded as RPM| |0x1A|`_COMMAND_FAN_TEMP_TABLE`|Set fan channel temperature curve|`_OP_CODE_WRITE_THREE_BYTES`|temperature data| ## Custom curves Fan curves are written in the following order: 1. Fan select 2. Fan mode set 3. Fan RPM curve set 4. Fan temperature curve set Temperature is encoded as (0x00, temperature) pairs. RPM is encoded as (A, B) pairs, where: - A = rpm % 255 - B = rpm - (rpm % 255) >> 8 - rpm = duty * max_rpm / 100 `max_rpm` is read from the device for each channel.liquidctl-1.16.0/docs/developer/protocol/coreliquid.md000066400000000000000000000237751515166127400230570ustar00rootroot00000000000000# MSI coreliquid AIO protocol ### Compatible devices | Device Name | USB ID | LED channels | Fan channels | | ----------- | ------ | ------------ | ------------ | | MPG Coreliquid K360 | `ODB0:B130` | 1 | 5 | ### Command formats Most of the communication with the K360 uses 64 byte HID reports. Lighting effect control uses a 185 byte feature report. Incoming and outgoing reports generally share the same size. Write commands start with a prefix of `0xD0`, and multi-byte numbers are little-endian, unless stated otherwise. | Feature report number | Description | | ---------- | ----------- | | 0x52 | Get or set board data, notably lighting control | | 0xD0 | "get all hardware monitor data" (currently unused) | It can be noted that the feature report for the board data seems to be designed to include information about all the leds connected to the motherboard. The driver only needs to set a small subset of the data in order to control the cpu cooler. ## Get General Information ### Get APROM Firmware version - `0xB0` Request: | Byte index | Value | | ---------- | ----------- | | 0x00 | 0x01 | | 0x01 | 0xB0 | | Fill | 0xCC | Response: | Byte index | Description | | ---------- | ----------- | | 0x02 | X | Firmware version is `(X >> 4).(X & 0x0F)` ### Get LDROM Firmware version - `0xB6` Request: | Byte index | Value | | ---------- | ----------- | | 0x00 | 0x01 | | 0x01 | 0xB6 | | Fill | 0xCC | Response: | Byte index | Description | | ---------- | ----------- | | 0x02 | X | Firmware version is `(X >> 4).(X & 0x0F)` ### Get screen Firmware version - `0xF1` Response: | Byte index | Description | | ---------- | ----------- | | 0x02 | Version number | ### Get device model index - `0xB1` Request: | Byte index | Value | | ---------- | ----------- | | Fill | 0xCC | Response: | Byte index | Description | | ---------- | ----------- | | 0x02 | Version number | ## Sending system information for fan control Fan profiles are **NOT** controlled by any internal device temperature measurement. Instead, the device expects periodic reports of the CPU temperature, which it uses to interpolate fan speeds and to show on the screen. ### Set CPU status - `0x85` | Byte index | Description | | ---------- | ----------- | | 0x01 | 0x85 | | 0x02-0x03 | cpu frequency (int, MHz) | | 0x01 | cpu temperature (int, C) | ### Set GPU status - `0x86` | Byte index | Description | | ---------- | ----------- | | 0x01 | 0x86 | | 0x02-0x03 | gpu memory frequency (int, MHz) | | 0x01 | gpu usage (int, %) | ## Lighting effects ### Get all board data (lighting) - Feature report `0x52` Response: | Byte index | Description | |--------------------------|---------------------------------------------------------| | 0x1F | **Lighting mode** | | 0x20-0x22 | **RGB values for color1 in JRainbow1 area** | | 0x23 | **Bits 0-1: Speed (LOW, MEDIUM, HIGH)** | | 0x24 | **Bits 2-6: Brightness level (0-10)** | | 0x24-0x26 | **RGB values for color2 in JRainbow1 area** | | 0x27 | **Bit 7: Color selection (0: Rainbow, 1: User-defined)**| | 0x29 | Number of LEDs in JRainbow1 area | | 0x34 | Number of LEDs in JRainbow2 area | | 0x3D | Bit 0: Stripe (0) or Fan (1) selection | | 0x3D | Bits 1-3: Fan type (SP, HD, LL) | | 0x3E | Bits 2-7: Corsair device quantity (0-63) | | 0x3F | Number of LEDs in JCorsair area | | 0x48 | Bit 0: LL120 outer individual mode (0 or 1) | | 0x4E | Bit 7: Combined JRGB (True or False) | | 0x52 | Bit 0: Onboard sync (True or False) | | 0x52 | Bit 1: Combine JRainbow1 | | 0x52 | Bit 2: Combined JRainbow2 | | 0x52 | Bit 3: Combined JCorsair | | 0x52 | Bit 4: Combined JPipe1 | | 0x52 | Bit 5: Combined JPipe2 | | 0xB8 | **Save to device (0 or 1)** | Ligthing effects are sent to the device by sending the feature report `0x52` with the desired data in the above format. | Byte Value | Lighting Effect Name | |------------|---------------------------| | 0 | DISABLE | | 1 | NO_ANIMATION | | 2 | BREATHING | | 3 | FLASHING | | 4 | DOUBLE_FLASHING | | 5 | LIGHTNING | | 6 | MSI_MARQUEE | | 7 | METEOR | | 8 | WATER_DROP | | 9 | MSI_RAINBOW | | 10 | POP | | 11 | JAZZ | | 12 | PLAY | | 13 | MOVIE | | 14 | MARQUEE | | 15 | COLOR_RING | | 16 | PLANETARY | | 17 | DOUBLE_METEOR | | 18 | ENERGY | | 19 | BLINK | | 20 | CLOCK | | 21 | COLOR_PULSE | | 22 | COLOR_SHIFT | | 23 | COLOR_WAVE | | 24 | VISOR | | 25 | RAINBOW | | 26 | RAINBOW_WAVE | | 27 | VISOR | | 28 | JRAINBOW | | 29 | RAINBOW_FLASHING | | 30 | RAINBOW_DOUBLE_FLASHING | | 31 | RANDOM | | 32 | FAN_CONTROL | | 33 | DISABLE2 | | 34 | COLOR_RING_FLASHING | | 35 | COLOR_RING_DOUBLE_FLASHING| | 36 | STACK | | 37 | CORSAIR_IQUE | | 38 | FIRE | | 39 | LAVA | | 40 | END | ## Fan control ### Fan temperature config - `0x33` (Get) or `0x41` (Set) Format: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0xD0 | | 0x01 | 0x32/0x41 (response/write)| | 0x02-0x09 | Radiator fan 1 config | | 0x0A-0x11 | Radiator fan 2 config | | 0x12-0x19 | Radiator fan 3 config | | 0x01A-0x21 | Pump speed config | | 0x22-0x29 | Waterblock fan config | A fan temperature config consists of 8 bit integer values: - Mode index - 7 temperature points in Celsius. ### Fan speed config - `0x32` (Get) or `0x40` (Set) Format: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0xD0 | | 0x01 | 0x32/0x40 (response/write) | | 0x02-0x09 | Radiator fan 1 config | | 0x0A-0x11 | Radiator fan 2 config | | 0x12-0x19 | Radiator fan 3 config | | 0x01A-0x21 | Pump speed config | | 0x22-0x29 | Waterblock fan config | A fan config consists of 8 bit integer values: - Mode index - 7 duty cycle percentage values. ### Get current fan status - `0x31` Response: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0xD0 | | 0x01 | 0x31 | | 0x02-0x03 | Radiator fan 1 rpm | | 0x04-0x05 | Radiator fan 2 rpm | | 0x06-0x07 | Radiator fan 3 rpm | | 0x08-0x09 | Pump speed rpm | | 0x0A-0x0B | Waterblock fan rpm | | 0x16-0x17 | Radiator fan 1 duty % | | 0x18-0x19 | Radiator fan 2 duty % | | 0x1A-0x1B | Radiator fan 3 duty % | | 0x1C-0x1D | Pump speed duty % | | 0x1E-0x01F | Waterblock fan duty % | ## Display control ### Show Hardware Monitor - `0x71` The device is capable of displaying a maximum of 3 different parameters, which will cycle on the display. | Byte index | Description | | ---------- | ----------- | | 0x01 | 0x71 | | 0x02 | Show CPU frequency (0 or 1) | | 0x03 | Show CPU temperature (0 or 1) | | 0x04 | Show GPU memory frequency (0 or 1) | | 0x05 | Show GPU usage (0 or 1) | | 0x06 | Show pump (0 or 1)| | 0x07 | Show radiator fan (0 or 1) | | 0x08 | Show waterblock fan (0 or 1) | | 0x09 | How many radiator fan speeds to show separately (1 or 3) | ### Set User Message - `0x93` | Byte index | Description | | ---------- | ----------- | | 0x01 | 0x93 | | 0x02-0x3E | Message bytes (ASCII) | | 0x3F | 0x20 | ### Set Clock Display - `0x7A` Sets the clock display style on the OLED screen. `clock_style` determines the visual style of the clock. | Byte index | Description | | ---------- | ----------- | | 0x01 | 0x7A | | 0x02 | `clock_style` (0, 1 or 2) | ### Set Brightness and Direction - `0x7E` | Byte index | Description | | ---------- | ----------- | | 0x01 | 0x7E | | 0x02 | brightness (0-100) | | 0x03 | direction (0-3) | ## Image Upload Commands ### Upload Image - `0xC0` (GIF) or `0xD0` (Banner) File uploads are initiated by a single report, after which the data is transferred in chunks of 60 bytes. Uploaded images must be 240x320 px size, and in the standard 24-bit color BMP format. A short sleep (2 seconds has proven safe) should be placed between the transfer initiation and start of the data transfer to make sure the device is ready. **Transfer initiation report** | Byte index | Description | | ---------- | ----------- | | 0x01 | 0xC0/0xD0 (GIF/Banner) | | 0x02-0x05 | file size to be transferred in bytes (uint32) | | 0x06 | Slot where the image is saved | **Bulk transfer report** | Byte index | Description | | ---------- | ----------- | | 0x01 | 0xC1/0xD1 (GIF/Banner) | | 0x02-0x3D | data chunk | | 0x3E-0x3F | 0x00 | ### Get Image Checksum - `0xC2` (GIF) or `0xD2` (Banner) Response: | Byte index | Description | | ---------- | ----------- | | 0x02-0x03 | checksum value | liquidctl-1.16.0/docs/developer/protocol/lian_li_ga-2-lcd.md000066400000000000000000000067751515166127400236750ustar00rootroot00000000000000# Lian Li GA II LCD AIO protocol The device is controlled by USB HID based custom protocol. In this protocol host submits a PDU to the device, and depending on type of the PDU sent device may return a response. The device never submits a PDU to host on its own. The first bit in any PDU indicates the type of PDU, either `0x01` or `0x02`. From now on we will call them type `A` and type `B` respectively. The type `A` is used for most operations. The type `B` PDUs only appear to be used to submit H.264 frames for the AIO screen. All bytes are big endian. ## Type A PDU bytes ```txt 1 : Fixed 0x01 2 : Command ID 3 : Unknown 4-5 : PDU number 6 : Payload size rest : Payload ``` ## Commands ### Get fimrwamre version Request: `0x01 0x86` | Byte | Value | |--------------|----------| | Type | 0x01 (A) | | Command | 0x86 | Response: Two part type A PDUS with ASCII encoded payload. The first PDU appears to contain some hardware information and a firmware version. The other PDU appears to contain fimrware build timestamp. Example response: - Part 1: `N9,01,HS,SQ,CA_II-Vision,V2.01.02E,1.4` - Part 2: `Oct 22 2024,10:39:15` ### Handshake The handshake command is used to check status of the device. It will return RPM nubmers of the fan and the pump, and the coolant temperature. Request: `0x01 0x81` | Byte | Value | |--------------|----------| | Type | 0x01 (A) | | Command | 0x81 | Response payload: ```txt 1-2 : Fan RPM 3-4 : Pump RPM 5 : Unknown 7 : Coolant temperature in celsius. Fraction part ``` Example response payload: ```txt 1-2: 0x05 0xa0 - Fan speed (1440 RPM) 3-4: 0x0a 0x64 - Pump speed (2660 RPM) 5 : 0x01 6 : 0x25 - Temperature integer part (37°C) 7 : 0x08 - Temperature fraction part (.8°C) ``` ### Set pump speed Request: `0x01 0x8a` | Byte | Value | |--------------|----------| | Type | 0x01 (A) | | Command | 0x8a | | Payload size | 0x02 | Command sets the pump duty cycle. Payload is an integer between 0-100. No response from device. ### Set fan speed Request: `0x01 0x8b` | Byte | Value | |--------------|----------| | Type | 0x01 (A) | | Command | 0x8b | | Payload size | 0x02 | Command sets the fan duty cycle. Payload is an integer between 0-100. No response for this type of request. ### Set pump lighting | Byte | Value | |--------------|----------| | Type | 0x01 (A) | | Command | 0x83 | | Payload size | 0x13 | Payload: ```txt 1 : Unknown. Set 0x00 2 : Mode 3 : Brightness. Set 0x00-0x04 4 : Speed. Set 0x00-0x04 5-7 : Color 1 RGB 8-10 : Color 2 RGB 11-13 : Color 3 RGB 14-16 : Color 4 RGB 17 : Direction. 0x00: Default; 0x02: Down; 0x03: Up 18-19 : Unknown ``` No response for this type of request. ### Set fan lighting | Byte | Value | |--------------|----------| | Type | 0x01 (A) | | Command | 0x84 | | Payload size | 0x14 | Payload: ```txt 1 : Mode 2 : Brightness. Set 0x00-0x04 3 : Speed. Set 0x00-0x04 4-6 : Color 1 RGB 7-9 : Color 2 RGB 10-12 : Color 3 RGB 13-15 : Color 4 RGB 16 : Direction. 0x00: Default; 0x02: Down; 0x03: Up 18-19 : Unknown 20 : Unknown. Set 0x18. ``` No response for this type of request. liquidctl-1.16.0/docs/developer/protocol/lianli_uni.md000066400000000000000000000073331515166127400230320ustar00rootroot00000000000000# Lian Li Uni Fan Controller Protocol ## Compatible Devices | Device Name | USB ID | Fan Channels | |-------------------------|--------------------------|--------------| | Lian Li Uni SL | 0CF2:7750, 0CF2:A100 | 4 | | Lian Li Uni AL | 0CF2:A101 | 4 | | Lian Li Uni SL-Infinity | 0CF2:A102 | 4 | | Lian Li Uni SL v2 | 0CF2:A103, 0CF2:A105 | 4 | | Lian Li Uni AL v2 | 0CF2:A104 | 4 | ## Command Formats ### Host to Device Commands are typically 4 bytes long. ### Device to Host No specific response for commands. ## Set Commands ### Set Fixed Fan Speed To set a fixed fan speed for a specific channel. **Command Structure:** ``` [0xE0, Channel Number, 0x00, Speed Byte] ``` - `0xE0`: Command code for setting fixed speed. - `Channel Number`: `0x20 + channel_index` (where `channel_index` ranges from 0 to 3 for channels 1 to 4). - `0x00`: Reserved, always set to `0x00`. - `Speed Byte`: Calculated based on device type and desired speed percentage (0–100%). **Example** To set the speed of Channel 1 to 80% on an SLV2 device: - Channel Index: `0` (since Channel 1 corresponds to index 0). - Channel Number: `0x20 + 0 = 0x20`. - Calculate Speed Byte using the formula for SLV2 devices (see Speed Byte Calculation). - Construct Command: `[0xE0, 0x20, 0x00, Speed Byte]`. ### Toggle PWM Synchronization Enable or disable PWM synchronization (hardware PWM control) for manual speed control on a channel. **Command Structure:** ``` [Command Prefix] + [Channel Byte] ``` - **Command Prefix**: Device-specific command: | Device Type | Command Prefix | |-----------------|----------------------| | SL | `[0xE0, 0x10, 0x31]` | | AL | `[0xE0, 0x10, 0x42]` | | SLI, SLV2, ALV2 | `[0xE0, 0x10, 0x62]` | - **Channel Byte**: - To disable PWM synchronization (enable manual control): `0x10 << channel_index` - To enable PWM synchronization: `0x11 << channel_index` **Example** To disable PWM synchronization on Channel 2 on an SL device: - Channel Index: `1` (since Channel 2 corresponds to index 1). - Command Prefix: `[0xE0, 0x10, 0x31]`. - Channel Byte: `0x10 << 1 = 0x20`. - Construct Command: `[0xE0, 0x10, 0x31, 0x20]`. ## Speed Calculation ### Speed Byte Calculation The Speed Byte is calculated differently depending on the device type: **SL and AL Devices:** - If speed percentage is 0%: ``` Speed Byte = 0x28 (decimal 40) ``` - If speed percentage is greater than 0%: ``` Speed Byte = floor((800 + (11 × speed_percentage)) / 19) ``` **SLI Devices:** - If speed percentage is 0%: ``` Speed Byte = 0x0A (decimal 10) ``` - If speed percentage is greater than 0%: ``` Speed Byte = floor((250 + (17.5 × speed_percentage)) / 20) ``` **SLV2 and ALV2 Devices:** - If speed percentage is 0%: ``` Speed Byte = 0x07 (decimal 7) ``` - If speed percentage is greater than 0%: ``` Speed Byte = floor((200 + (19 × speed_percentage)) / 21) ``` **Example** Calculate the Speed Byte for an SLV2 device at 80% speed: ``` Speed Byte = floor((200 + (19 × 80)) / 21) = floor((200 + 1520) / 21) = floor(1720 / 21) = floor(81.90) = 81 (0x51 in hexadecimal) ``` ## Notes - Channels are zero-indexed (e.g., Channel 1 corresponds to index 0). - PWM Synchronization must be disabled on a channel to set a fixed fan speed. - Initialization: The device disables PWM synchronization on all channels by default upon initialization. - The device does not provide feedback or responses to commands sent from the host. ## Acknowledgements Special thanks to EightB1ts for identifying device IDs, PWM commands, and speed byte calculations. liquidctl-1.16.0/docs/developer/protocol/lighting_node_rgb.md000066400000000000000000000117061515166127400243520ustar00rootroot00000000000000# Corsair Commander Pro and Lighting Node Pro protocol ### Compatible devices | Device Name | USB ID | LED channels | Fan channels | | ----------- | ------ | ------------ | ------------ | | Commander Pro | `1B1C:0C10` | 2 | 6 | | Lighting Node Pro | `1B1C:0C0B` | 2 | 0 | ### Command formats Host -> Device: 16 bytes Device -> Host: 64 bytes ## Get Information commands ### Get Firmware version - `0x02` Response: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x00 | | 0x01 | X | | 0x02 | Y | | 0x03 | Z | Firmware version is `X.Y.Z` ### Get Bootloader version - `0x06` Response: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x00 | | 0x01 | X | | 0x02 | Y | Bootloader version is `X.Y` ### Get temperature sensor configuration - `0x10` Response: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x00 | | 0x01 | `0x01` temp sensor 1 connected, otherwise `0x00` | | 0x02 | `0x01` temp sensor 2 connected, otherwise `0x00` | | 0x03 | `0x01` temp sensor 3 connected, otherwise `0x00` | | 0x04 | `0x01` temp sensor 4 connected, otherwise `0x00` | ### Get temperature value - `0x11` Request: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x11 | | 0x01 | temp sensor number (0x00 - 0x03) | Response: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x00 | | 0x01 | temp MSB | | 0x02 | temp LSB | Divide the temperature value by 100 to get the value is degrees celsius. ### Get bus voltage value - `0x12` Request: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x12 | | 0x01 | rail number (0x00 - 0x02) | rail 0 = 12v rail 1 = 5v rail 2 = 3.3v Response: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x00 | | 0x01 | voltage MSB | | 0x02 | voltage LSB | Divide the value by 1000 to get the actual voltage. ### Get fan configuration - `0x20` Response: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x00 | | 0x01 | Fan 1 mode | | 0x02 | Fan 2 mode | | 0x03 | Fan 3 mode | | 0x04 | Fan 4 mode | | 0x05 | Fan 5 mode | | 0x06 | Fan 6 mode | Fan modes: | Fan Mode | Value | | ------------ | ----- | | Disconnected | 0x00 | | DC (3 pin) | 0x01 | | PWM (4 pin) | 0x02 | ### Get fan RPM value - `0x21` Request: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x21 | | 0x01 | fan number (0x00 - 0x05) | Response: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x00 | | 0x01 | rpm MSB | | 0x02 | rpm LSB | ## Set commands ### Set fixed % - `0x23` Request: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x23 | | 0x01 | fan number (0x00 - 0x05) | | 0x02 | percentage | ### Set fan curve % - `0x25` Request: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x25 | | 0x01 | fan number (0x00 - 0x05) | | 0x02 | temp sensor to use (0x00 - 0x03) 0xFF to use external sensor | | 0x03, 0x04 | temp point 1 MSB | | 0x05, 0x06 | temp point 2 MSB | | 0x07, 0x08 | temp point 3 MSB | | 0x09, 0x0A | temp point 4 MSB | | 0x0B, 0x0C | temp point 5 MSB | | 0x0D, 0x0E | temp point 6 MSB | | 0x0F, 0x10 | rpm point 1 MSB | | 0x11, 0x12 | rpm point 2 MSB | | 0x13, 0x14 | rpm point 3 MSB | | 0x15, 0x16 | rpm point 4 MSB | | 0x17, 0x18 | rpm point 5 MSB | | 0x19, 0x1A | rpm point 6 MSB | ### Hardware LED commands - Send reset channel - send start LED effect - set channel to hardware mode - send effect (one or more messages) - send commit ### Reset channel - `0x37` Request: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x37 | | 0x01 | channel number (0x00 or 0x01) | ### Start channel LED effect - `0x34` Request: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x34 | | 0x01 | channel number (0x00 or 0x01) | ### Set channel state - `0x38` Request: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x38 | | 0x01 | channel number (0x00 or 0x01) | | 0x02 | 0x01 hardware control, 0x02 software control | ### Set LED effect - `0x35` Request: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x35 | | 0x01 | channel number (0x00 or 0x01) | | 0x02 | start LED number | | 0x03 | number of LEDs | | 0x04 | mode | | 0x05 | speed | | 0x06 | direction | | 0x07 | random colors | | 0x08 | 0xFF | | mode | value | Num Colors | | ---- | ----- | --------- | | rainbow | `0x00` | 0 | | color_shift | `0x01` | 2 | | color_pulse | `0x02` | 2 | | color_wave | `0x03` | 2 | | fixed | `0x04` | 1 | | visor | `0x06` | 2 | | marquee | `0x07` | 1 | | blink | `0x08` | 2 | | sequential | `0x09` | 1 | | rainbow2 | `0x0A` | 0 | | speed | value | | ----- | ----- | | slow | `0x02` | | medium | `0x01` | | fast | `0x00` | | direction | value | | ----- | ----- | | forward | `0x01` | | backward | `0x00` | ### Commit hardware settings - `0x33` Request: | Byte index | Description | | ---------- | ----------- | | 0x00 | 0x33 | | 0x01 | 0xFF | liquidctl-1.16.0/docs/developer/protocol/nzxt_x3-z3-2023.md000066400000000000000000000112321515166127400232330ustar00rootroot00000000000000# Fourth-generation NZXT liquid coolers protocol ## Generic Operations ### Get firmware info - Request: - Header: `0x10 0x01` - Response: - Header: `0x11 0x01` - Data: - Byte 3: Firmware major version - Byte 4: Firmware minor version - Byte 5: Firmware patch version ## RGB Operations ### Get RGB info - Request: - Header: `0x20 0x01` - Response: - Header: `0x21 0x01` - Data: - Byte 14: Number of rgb channels - Byte 21: `0x10` IF device has ring rgb (Kraken X3 Only) - Byte 27: `0x11` IF device has logo rgb (Kraken X3 Only) ## Cooling Operations ### Get cooling info - Request: - Header: `0x74 0x01` - Response: - Header: `0x75 0x01` - Data: - Byte 15: Liquid temperature (integer digits) - Byte 16: Liquid temperature (decimal digits) - Byte 17-18: Pump rpm (little endian) - Byte 19: Pump duty % - Byte 23-24: Fan rpm (little endian) - Byte 25: Fan duty % ### Set speed profile - Request: - Header: `0x72` - Data: - Byte 2-4: Channel to configure. Possible values are: - `0x01 0x00 0x00`: Pump control (Kraken X3 and Z3) - `0x01 0x01 0x00`: Pump control (Kraken 2023) - `0x02 0x00 0x00`: Fan control (Kraken X3 and Z3) - `0x02 0x01 0x01`: Fan control (Kraken 2023) - Byte 5-44 (40 bytes): the representation of a cooling curve where every byte is a value 0-100 setting the speed of the channel at the specific temperature (temperature 20 to 60degree). This is almost always set as a flat curve with all identical values. - Response: - Header: `0x73` ## LCD Operations ### Get lcd info - Request: - Header: `0x30 0x01` - Response: - Header: `0x31 0x01` - Data: - Byte 18: lcd brightness % - Byte 26: lcd orientation (as index of [0, 90, 180, 270]) ### Set lcd brightness/orientation - Request: - Header: `0x30 0x02` - Data: - Byte 3: `0x01` - Byte 4: lcd brightness % - Byte 7: `0x01` - Byte 8: lcd orientation (as index of [0, 90, 180, 270]) - Response: - Header: `0x31 0x02` ### Set lcd mode - Request: - Header: `0x38 0x01` - Data: - Byte 3: Lcd mode. Valid modes are: - `0x02`: show liquid temperature - `0x04`: show image/gif stored in selected bucket - `0x05`: fast rendering (only Kraken 2023 elite) - Byte 4: selected bucket (only needed for mode 4 ) - Response: - Header: `0x39 0x01` - Data: - Byte 14: `0x01` if the operation has been execute successfully ### Get memory bucket info - Request: - Header: `0x30 0x04` - Data: - Byte 3: Bucket index (0 to 15) - Response: - Header: `0x31 0x04` - Data: - Byte 15: Bucket index (0 to 15) > The following are all 0 if the bucket does not exist - Byte 16: asset index (typically bucket index + 1) - Byte 17: `0x02` - Byte 18-19: starting memory address in kilobytes (little endian) - Byte 20-21: memory size in kilobytes (little endian) ### Create memory bucket - Request: - Header: `0x32 0x01` - Data: - Byte 3: Bucket index (0 to 15) - Byte 4: Asset index (typically bucket index + 1) - Byte 5-6: starting memory address in kilobytes (little endian) - Byte 7-8: memory size in kilobytes (little endian) - `0x01` - Response: - Header: `0x33 0x02` - Data: - Byte 14: `0x01` if the operation has been execute successfully ### Delete memory bucket - Request: - Header: `0x32 0x02` - Data: - Byte 3: Bucket index (0 to 15) - Response: - Header: `0x33 0x02` - Data: - Byte 14: `0x01` if the operation has been execute successfully ### Start data transfer - Request: - Header: `0x36 0x01` - Data: - Byte 3: Bucket index to write to (0 to 15) - Response: - Header: `0x37 0x01` - Data: - Byte 14: `0x01` if the operation has been execute successfully ### End data transfer - Request: - Header: `0x36 0x02` - Data: - Byte 3: Bucket index to write to (0 to 15) - Response: - Header: `0x37 0x02` - Data: - Byte 14: `0x01` if the operation has been execute successfully ### Cancel all data transfers - Request: - Header: `0x36 0x03` - Response: - Header: `0x37 0x03` ### Transfer data > the following data is sent to the bulk_transfer endpoint of the device - Transfer 1: - Header: `0x12 0xFA 0x01 0xE8 0xAB 0xCD 0xEF 0x98 0x76 0x54 0x32 0x10` - Data: - Byte 13: data type. Possible values are: - `0x01`: GIF data - `0x02`: Static RGBA data - `0x06`: Q565 Image data (only kraken 2023 with firmware >= v2.0.0) - `0x08`: Q565 Image data (only kraken 2023 elit with firmware > v2.0.0) - Transfer 2: - Data: The binary data of the image you want to send to the deviceliquidctl-1.16.0/docs/developer/protocol/vengeance_rgb.md000066400000000000000000000067031515166127400234740ustar00rootroot00000000000000# Corsair Vengeance RGB DDR4 UDIMMs Unbuffered DDR4 modules with a 4 Kbit SPD EEPROM, a temperature sensor and non-addressable RGB LEDs. The SPD EEPROM does *not* advertise the presence of the temperature sensor. These are I²C devices, connected to the host's SMBus. Each memory module module exposes three I²C devices, using a 4-bit Device Type Identifier Code (DTIC) and a 3-bit Select Address (SA) to generate each I²C Bus Slave Address. The Select Address is set by the host through the dedicated SA0, SA1 and SA2 pins on the DDR4 288-pin connector, and is shared by all I²C devices on the module. Because CorsairLink and iCue acquire kernel locks on the relevant I²C devices, capturing the traffic from/to those devices with software tools is severely limited. Fortunately, connecting a logic analyzer to the SCL and SDA pins of a memory slot (directly or through the use of some dummy module) is a cheap and effective alternative. ## Device 0x50 | SA: SPD EEPROM EE1004-compatible SPD EEPROM. See [JEDEC 21-C 4.1.6] and [JEDEC 21-C 4.1.2.L-5]. ## Device 0x18 | SA: temperature sensor Appears to support the same registers and features as in a TSE10004 SPD EEPROM with temperature sensor, *except for I²C block reads.* Instead, the registers should be read as words, with the caveat that the temperature sensor register values are supposed to be read in big endianess (MSB first, then LSB), but SMBus Read Word Data assumes the data is returned in little endianess (LSB first, then MSB). For the register map, see [JEDEC 21-C 4.1.6]. Note: the SPD EEPROM does not advertise the presence of the temperature sensor. ## Device 0x58 | SA: RGB controller Register map: | Register | Size in bytes | Purpose | | :-- | :-: | :-- | | `0xa4` | 1 | Timing parameter 1 | | `0xa5` | 1 | Timing parameter 2 | | `0xa6` | 1 | Lighting mode | | `0xa7` | 1 | Number of colors | | `0xb0–0xc4` | 1 | Red, green and blue components (up to 7 colors) | Lighting modes: | Value | Animation | | :-- | :-- | | `0x00` | Static or breathing with a *single* color | | `0x01` | Fading with 2–7 colors | | `0x02` | Breathing with 2–7 colors | Timing parameter 1 (TP1): influences the total time in the transition states: increasing *and* decreasing brightness, or fading through from one color to the next. The valid range for animations appears to be from 1 to at least 63, but a consistent conversion to seconds cannot be inferred; the special value 0 disables the animation. Timing parameter 2 (TP2): influences the total time in the stable minimum *and* maximum brightness states. The valid range appears to be from 0 to at least 63, but a consistent conversion to seconds cannot be inferred. Note: CorsairLink always sets both T2 and T1 equally. ## References ([JEDEC 21-C 4.1.6]) Definitions of the EE1004-v 4 Kbit Serial Presence Detect (SPD) EEPROM and TSE2004av 4 Kbit SPD EEPROM with Temperature Sensor (TS) for Memory Module Applications. [JEDEC 21-C 4.1.6]: https://www.jedec.org/standards-documents/docs/spd416 ([JEDEC 21-C 4.1.2.L-5]) Annex L: Serial Presence Detect (SPD) for DDR4 SDRAM Modules. [JEDEC 21-C 4.1.2.L-5]: https://www.jedec.org/standards-documents/docs/spd412l-5 [SMBus captures] in liquidctl/collected-device-data. [SMBus captures]: https://github.com/liquidctl/collected-device-data/tree/master/Corsair%20Vengeance%20RGB [OpenRGB wiki entry] for Corsair Vengeance RGB modules. [OpenRGB wiki entry]: https://gitlab.com/CalcProgrammer1/OpenRGB/-/wikis/Corsair-Vengeance-RGB liquidctl-1.16.0/docs/developer/release-checklist.md000066400000000000000000000052041515166127400224300ustar00rootroot00000000000000# Release checklist ## Prepare system - [ ] Ensure publishing dependencies are installed: twine - [ ] Export helper environment variable: `export VERSION=` ## Prepare repository - [ ] Update last update date in the man page - [ ] Update the CHANGELOG - [ ] Review and update MRLVs in the table of supported devices (merging lines when appropriate) - [ ] Set the version for "new/changed in git" notes - [ ] Update version in pip install liquidctl==version examples - [ ] Update latest version in the bug report issue template - [ ] Regenerate the udev rules: `(cd extra/linux && python generate-uaccess-udev-rules.py > 71-liquidctl.rules)` - [ ] Commit: `git commit -m "release: prepare for v$VERSION"` ## Test locally - [ ] Run unit and doc tests: `python -m pytest` Then, optionally, install locally and: - [ ] Run my personal setup scripts: `liquidcfg && liquiddyncfg` - [ ] Test yoda.py: `extra/yoda.py --match kraken control pump with '(20,50),(50,100)' on coretemp.package_id_0 and fan with '(20,25),(34,100)' on _internal.liquid --verbose` - [ ] Test liquiddump.py: `extra/liquiddump.py | jq -c .` - [ ] Test krakenduty-poc.py: `extra/krakenduty-poc.py train && extra/krakenduty-poc.py status` ## Test in CI - [ ] Push HEAD: `git push origin HEAD` - [ ] Check all CI job statuses ## Build source distribution and wheel - [ ] Stash any subsequent changes (e.g. to this file) - [ ] Tag HEAD with changelog and PGP signature: `git tag -as "v$VERSION"` - [ ] Build the source distribution and wheel: `python -m build` - [ ] Check that all necessary files are in the `dist/liquidctl-$VERSION.tar.gz` sdist - [ ] Check the contents of the `dist/liquidctl-$VERSION-py3-none-any.whl` wheel - [ ] Sign both sdist and wheel: `gpg --detach-sign -a "dist/liquidctl-$VERSION.tar.gz"` `gpg --detach-sign -a "dist/liquidctl-$VERSION-py3-none-any.whl"` ## Release - [ ] Push vVERSION tag: `git push origin "v$VERSION"` - [ ] Upload sdist and wheel to PyPI: `twine upload dist/liquidctl-$VERSION{.tar.gz,-py3-none-any.whl}` - [ ] Generate SHA256 checksums for the release files: `b3sum dist/liquidctl-$VERSION{.tar.gz,-py3-none-any.whl} | tee "dist/liquidctl-$VERSION.B3SUMS"` - [ ] Upgrade the vVERSION tag on GitHub to a release (with sdist, wheel, and corresponding GPG signatures) - [ ] Update the HEAD changelog with the BLAKE3 checksums ## Post release - [ ] Merge the release branch into the main branch (if appropriate) - [ ] Update the HEAD release-checklist with this checklist - [ ] If necessary, update ArchLinux `liquidctl-git` liquidctl-1.16.0/docs/developer/style-guide.md000066400000000000000000000160741515166127400213030ustar00rootroot00000000000000# Style guide This is not the code; this is just a tribute. ## General guidelines This section has yet to be written, but for a start... Read [PEP 8], then immediately watch Raymond Hettinger's [Beyond PEP 8] talk. Write code somewhere between those lines. In this repository, newer drivers are usually better examples than older ones. Experience with the domain helps to write better code. Try to keep lines around 100-ish columns wide. Be consistent within a given module; *try* to be consistent between similar modules. We are starting to adopt [psf/black], and new files should be formatted with it. They should also have the following top-level comment after the module docstring: ```py # uses the psf/black style ``` Old files should be maintained in their current style until a comprehensive conversion is performed; black has already been configured to ignore them. [PEP 8]: https://pep8.org/ [Beyond PEP 8]: https://www.youtube.com/watch?v=wf-BqAjZb8M [psf/black]: https://github.com/psf/black [#321]: https://github.com/liquidctl/liquidctl/issues/321 ### Nits for old files **For new files, use the [black code style], with 100-column lines.** For *old* files: - indent with 4 spaces; - prefer to continue lines vertically, aligned with the opening delimiter; - prefer single quotes for string literals, unless double quotes will avoid some escaping; - use f-strings whenever applicable, except for `logging` messages (more about those bellow) which wont necessarily be shown; - use lowercase hexadecimal literals. [black code style]: https://black.readthedocs.io/en/stable/the_black_code_style/index.html ### Grouping and sorting of import statements In normal modules, import statements should be grouped into standard library modules, modules from third-party libraries, and local modules. In test modules, an additional group for test scaffolding modules (inclunding `pytest` and `_testutils`) should come before the standard library modules. Within each group, `import` statements should come before `from <...> import` ones. After that, they should be sorted ascending order. ## Dependencies When adding new dependencies, their benefit must be carefully weighted. Additionally, the new dependency should: - have a small number of transitive dependencies; - support Linux: * be available on ArchLinux; * be available on Fedora; * be available on Debian; * be expected to be packaged in other distributions; - support Windows: * be easily installed (by being pure Python or have binary wheels); - support Mac OS; - be compatible for use in a GPL v3 program (including being distributed under the GPL in the case of the Windows executable). ## Driver behavior ### Fixing or raising on user errors Drivers should fix as most user errors as possible, without making actual choices for the user. For example, it is fine to clamp an integer, like a fan duty cycle, to its minimum and maximum allowed values, since values bellow or above the possible range can safely be interpreted as requests for, respectively, the "minimum" and "maximum" values themselves. On the other hand, if a device has two channels, and the user specifies a third one, the driver should raise a suitable error (`ValueError`, in this case) so the user can check the documentation and decide for *themselves* which channel to use. ### Case sensitivity of string constants Channel and mode names, as well as some other values, must be specified as strings. While this is more explicit then using magic numbers, it introduces the problem of whether comparisons are case sensitive. In fact, from the point of view of a CLI user, the comparisons are case *insensitive.* As of this version of the style guide, ensuring case-insensitive comparisons is a shared responsibility of both CLI and drivers; but whenever possible this should be kept in the CLI code, making the drivers simpler and the behavior more consistent. On the other hand, the liquidctl APIs are **not** specified to ignore casing issues; when that happens it is usually just to keep the implementation simpler. ## Writing messages Liquidctl generates a substantial amount of human readable messages, either intended for direct consumption by CLI users, or for _a posteriori_ debugging by developers. While discussing the format of these messages deviates from the usual tab × spaces wars we have learned to love [citation needed], it is very important to keep the messages clear, objective and consistent. ### Errors Raise exceptions, preferably `liquidctl.error.*` or Python's [built-in exceptions]. Error messages should start with a lowercase letter. [built-in exceptions]: https://docs.python.org/3/library/exceptions.html ### Warnings [warnings]: #warnings Warnings are used to convey information that are deemed always relevant. They should be used to alert of unexpected conditions, degraded states, and other high-importance issues. By default the CLI outputs these to `stderr` for all users. Since the messages are visible to non-developers, the should follow the simplified guidelines bellow: - start with a lowercase letter; - string values that the user is expected to type, or that absolutely need to delimited: use single quotes; - other values: no quotes or backticks; - command line commands or options: no quotes or backticks. Deprecated guidelines for warnings: - outputting values as `key=value` pairs. ### Info Information messages are normally hidden, but can be enabled with the `--verbose` or `--debug` flags. They should be used to display complementary information that may interest any user, like additional `status` items or computed `temp × rpm` curves. Since these messages are also targeted to non-developers, they should follow the same simplified guidelines used for [warnings]. ### Debug Debug messages are only intended for developers or users interested in dealing with the internals of the program. In the CLI these are normally disabled and require the `--debug` flag. Since they are intended for internal use, they follow relaxed guidelines: - start with a lowercase letter; - use `key=value`, `` `expression` ``, `'string'`, or `value`, whichever is clearer; ### A quick refresher on `logging` Get a logger at the start of the module. ```py import logging ... _LOGGER = logging.getLogger(__name__) ``` Prefer old-style %-formatting for logging messages, since this is evaluated lazyly by `logging`, and the message will only be formated if the logging level is enabled. ```py _LOGGER.warning('value %d, expected %d', current, expected) ``` _(While `%d` and `%i` are equivalent, and both print integers, prefer the former over the latter)._ _(The rest of the time `f-strings` are preferred, following the `PEP 498` guideline)._ When writing informational or debug messages, pay attention to the cost of computing each value. A classic example is hex formatting some bytes, which can be expensive; this case can be solved by using `liquidctl.util.LazyHexRepr`, and other similar wrapper types can be constructed for other scenarios. ```py from liquidctl.util import LazyHexRepr ... _LOGGER.debug('buffer: %r', LazyHexRepr(some_bytes)) ``` liquidctl-1.16.0/docs/developer/techniques-for-analyzing-usb-protocols.md000066400000000000000000000277441515166127400266150ustar00rootroot00000000000000# Techniques for analyzing USB protocols _Originally posted as a [comment in issue #142](https://github.com/liquidctl/liquidctl/issues/142#issuecomment-650568291)._ ## USB transfers At a basic level you can view USB traffic as a collection of transfers. Transfers can be of a few different types, but for the most part we're only interested in control transfers, interrupt transfers and, very occasionally, bulk transfers. I'll skip over the purposes of each type since we'll merely use whichever ones the protocol mandates. But our devices at not necessarily always manipulated as USB devices. In fact, it's rather common that we need to work on a layer further up the abstraction chain, on a Human Interface Device (HID). USB HIDs are a special type of USB device specified by a corresponding "interface class".¹ Working with HID protocols is almost identical to working with other classes of USB devices: they use control transfers and interrupt transfers, and we capture them with Wireshark. The distinction does matter in a few places, most notability around the "report ID", but I'll get to that later... ## Wireshark, part one So, you have captured some USB traffic to your device with Wireshark. How do you approach that data? First, I would filter the packets to only those coming from or being sent to the device you're interested at. If you know the device address in the bus you can filter with `usb.device_address ==

`, and in Linux it's easy to find the device address with `lsusb`. I usually save these results into a new file, and only use it from that point forward. Another way to find the device address, which can be useful when dealing with old captures or captures made in another OS or machine, it to look in the various `GET DESCRIPTOR DEVICE` responses for the one that matches the `idVendor` you're interested in. You should know that the address on the bus can change, from OS to OS, from boot to boot or if the device is reconnected. Next, I would add a few custom columns: `usb.data_fragment` for data sent in control transfers, and `usb.capdata` for data exchanged in the other types of transfers. _Update: the latest versions of Wireshark have improved HID decoding capabilities, and HID data may also appear in `usbhid.data`._ Wireshark actually works one level of abstraction bellow what I called a transfer, with USB request blocks (URBs), so there's a lot of uninteresting entries in the captured data. You can reduce this by ignoring URBs without any data_fragment or capdata, since only in a few cases these are useful in understanding the protocol. Most of the protocol we need to implement lies in these two Wireshark fields. In interrupt or bulk transfers all data is this `capdata`, the rest is just USB metadata. Control transfers do need to be inspected more carefully, but their use outside of HIDs is very rare (Asetek 690LC coolers being one example). With HIDs is common to see control transfers, particularly if the device has no OUT endpoint (an endpoint is something you write to xor read from). In this case then all writes will be sent as control transfers (instead of interrupt transfers), usually as `SET_REPORT` requests; and this is also where the report numbers I mentioned before become important. HIDs don't just send raw or opaque packets of bytes. They have the concept of a report, which is supposed to structure the data and make the device capabilities self describing. A HID can support a single unnumbered report, or one or more numbered reports. Knowing the correct report ID (or its absence) is part of understanding the protocol, and is especially important when `SET_REPORT` transfers are involved. ![wireshark-hid-set-report2](https://user-images.githubusercontent.com/1832496/85924521-3fd19c80-b869-11ea-9bd1-43f5db6fe6ce.png) The report ID can be decoded from `wValue` argument of the transfer: the most significant byte (MSB) is the report type (0x01 for input, 0x02 for output, 0x3 for feature) and the LSB is the report ID, or zero if the device doesn't use report IDs. Both values are import when implementing the protocol. Some protocols also read data from HIDs with a `GET_REPORT` request, instead of directly from the incoming endpoint. In those cases the report type and ID will also be in `wValue`. ## Groups of transfers Decoding the protocol involves figuring out, for each action of interest, which transfers are involved, what parameters are sent in each transfer, and how they are encoded. The devices we're working with have two very separate sets of actions: - reading data (usually fan/pump/temperature monitoring, but sometimes also less variable device information such as firmware version or accessories) - writing new device configuration (fan or pump speeds, lighting animations and colors, etc.) Sometimes reading monitoring data requires a previous write or the use of an explicit `GET_REPORT` request. Besides obvious `GET_REPORT` requests, you may spot other protocol-specific write transfers that appear to serve no purpose other than to request data. Other times reads will simply timeout if not preceded by a write, which you'll only discover with some experimentation. Mapping between actions and transfers is usually simple, based on what fields you can identify in the data of each transfer. For example, the presence of color parameters is almost always very easy to spot, and clearly indicates some type of color-related configuration. ## Common fields and field encodings ### Fan and/or pump speed (read) Usually in u16le or u16be (16-bit unsigned integer of either endianess). In the case of power suplies, could also be encoded in LINEAR11/LINEAR16, as defined by the PMBus specification ([`liquidctl.pmbus.linear_to_float`]). [`liquidctl.pmbus.linear_to_float`]: https://github.com/liquidctl/liquidctl/blob/d1b8d2424948c564e218e2f0cf5ffb86f21b1445/liquidctl/pmbus.py#L104 ### Fan and/or pump duty values (read/write) Usually a single byte, either as a fraction of 100 (0–100) or 255 (0–255). ### Temperature (read) Usually some custom type of fixed point decimal, taking two bytes. One of the bytes is almost always `floor(temperature)`; the other is used for the remainder, encoded as a fraction of 10 (0–10) or 255 (0–255). "Endianess" varies. ### Temperature (write) When temperatures are sent to the device, either as part of a speed profile or to trigger visual alerts, they are almost always simple single-byte integer values (context will dictate whether should use round, floor or ceil). ### LED colors (write) Almost universally sent as 24-bit RGB. However, endianess varies, and some devices may also use custom orderings. In summary, any order of 16-bit red, green and blue values for each color. ### CRC checksums (read/write) Some devices end all messages (received and sent) with checksum (sometimes known as a PEC byte). They usually, but not always, follow the SMBus specification and use the 8-bit `x� + x² + x¹ + x�` polynomial. The desired CRC function can be constructed with `liquidctl.util.mkCrcFun` (which efficiently wraps the crcmod package); for an example, see `liquidctl.pmbus.compute_pec`. ### Action type (read/write) This indicates to the cooloer how it should interpret and act on the rest of the message. Usually a "command" byte, but may also be the report ID. ### Sequence numbers (read/write) Sometimes received and sent on every transfer. May also be (shifted and) OR'ed with a "command" byte or other indicator. You can spot this in byte offsets where the value follows a pattern that repeats every n transfers. May or may not be required for correct operation of the device. ## Techniques for identifying fields Spotting fields in transfers is critical. They tell you not only where to place things, but also what each message is used for. The first technique is simply to watch the transfers and compare, in real time, with values shown/entered in the software you're using to interact with the cooler. This works well if the protocol is simple, and if the rate of transfers is small. In other scenarios it doesn't work that well, but may still be required to decode specific parts of the protocol. A related technique, particurlary when you think you're already close to understanding the protocol, is to try to read and/or write some packets yourself (make sure your writes at least resemble the real packets before trying this; sending arbitrary data to the device is a bad idea). Next you can start to analyze the data in batches, that is, looking at a set of transactions at once. In many cases some fields will become immediately obvious this way: you can see that there's a field, and the value will tell you what it's related to. Taking things one step further, you can compute some basic statistics for every byte offset: min, max, average, median, .... Even if there's a lot of noise (either from too many messages, too many unknown fields, or both) this will usually make the interesting fields more visible. If you see a byte more or less uniformely distributed in the 0–255 range, it's likely a LSB of a two-byte field; if you see bytes with some variance but that are restricted to a specific range, just try to decode them as a fraction of 10 or 255; finally, the second byte of a two-byte field is usually (but not always) just before or just after the first. A similar idea can be applied to bitfields: you count how many times the bit in each position changes, and this will usually tell you where the LSBs are (they are the ones that change the most). This technique could also be applied to the entire transfer, but this isn't really necessary in the protocols we're dealing with. While doing all/any of the above, you still want to pay some attention to the parts of the message you don't understand. They can be "random noise" (either in the true sense or not), but there may be important things in there as well. If you spot patterns, particularly those _not_ of a simple constant, it's worth trying to make sense of what that value could represent. It could be a required aspect of the protocol, or an additional monitoring variable not shown in the official GUI (for example: voltage and current for a fan channel). In the end, it comes down to spotting patterns, and besides knowing more or less what you're looking for and how it's usually encoded, you get better with experience. But it's not very hard, it may just take more than a couple of tries in the really tricky cases. ## Wireshark, part two, and other tools _this section is incomplete; there are many tools, and I'm not particularly good with any of them_ You should know you can export the Wireshark capture to JSON. In fact, it's the only way I know of of getting `usb.capdata` and `usb.data_fragment` off of Wireshark into a standard data manipulation format _without truncation._ This can be done from within the Wireshark UI, or with `tshark`. tshark -r .pcapng -T json > .json You can preprocess this data with `jq`, and then further manipulate it in any tool you're familiar with. Heck, sometimes I even use spreadsheets (not very elegant, I know). You also easily write a custom script to do some analyses or test hypothesis on these JSON captures. For an example, check the [script I used when working the Platinum coolers]. [script I used when working the Platinum coolers]: https://github.com/liquidctl/collected-device-data/blob/master/Corsair%20H115i%20RGB%20Platinum/analyze.py Alternatively you can use: tshark -r .pcapng -2 -e "frame.number" -e "usb.data_fragment" -e "usb.capdata" -Tfields > dump.txt To pull out only the frame number, data_fragment, and capdata fields and output them in to a txt file. The frame number field is really usefull for if you have a seperate text description file that had a description of what commands got set to the device and arround what frame number the message corresponds to. (you can write down the number of one of the bottom messages shown in the wireshark console while the command is being sent) ## Notes _¹ There are Bluetooth HIDs, but these obviously aren't very relevant here._ liquidctl-1.16.0/docs/gigabyte-rgb-fusion2-guide.md000066400000000000000000000104571515166127400221030ustar00rootroot00000000000000# Gigabyte RGB Fusion 2.0 lighting controllers _Driver API and source code available in [`liquidctl.driver.rgb_fusion2`](../liquidctl/driver/rgb_fusion2.py)._ RGB Fusion 2.0 is a lighting system that supports 12V non-addressable RGB and 5V addressable ARGB lighting accessories, alongside RGB/ARGB memory modules and other elements on the motherboard itself. It is built into motherboards that contain the RGB Fusion 2.0 logo, typically from Gigabyte. These motherboards use one of many possible ITE Tech controller chips, which are connected to the host via SMBus or USB, depending on the motherboard/chip model. A couple of USB controllers are currently supported: - ITE 5702: found in Gigabyte Z490 Vision D - ITE 8297: found in Gigabyte X570 Aorus Elite ## Initialization RGB Fusion 2.0 controllers must be initialized after the system boots or resumes from a suspended state. ``` # liquidctl initialize Gigabyte RGB Fusion 2.0 5702 Controller ├── Hardware name IT5702-GIGABYTE V1.0.10.0 └── Firmware version 1.0.10.0 ``` ## Lighting The controllers have built-in support for six color modes: `off`, `fixed`, `pulse`, `flash`, `double-flash` and `color-cycle`. The `color-cycle` mode fades between all color hues, but the extra [`extra/contrib/fusion_rgb_cycle.py`] script can be used to fade between specific colors. As much as we prefer to use descriptive channel names, currently it is not practical to do so, since the correspondence between the hardware channels and the corresponding features on the motherboard is not stable. Hence, lighting channels are given generic names: `led1`, `led2`, etc.; at this time, eight are defined. In addition to these, it is also possible to use the `sync` pseudo-channel to apply a setting to all lighting channels. ``` # liquidctl set sync color off # liquidctl set led1 color fixed 350017 # liquidctl set led2 color pulse ff2608 # liquidctl set led3 color flash 350017 # liquidctl set led4 color double-flash 350017 # liquidctl set led5 color color-cycle --speed slower ``` For color modes `pulse`, `flash`, `double-flash` and `color-cycle`, the animation speed is governed by the optional `--speed` parameter, with one of six possible values: `slowest`, `slower`, `normal` (the default), `faster`, `fastest` or `ludicrous`. Some more elaborate color/animation schemes supported by the motherboard on the addressable headers are not currently supported. ## Correspondence between lighting channels and physical locations Each user may need to create a table that associates generic channel names to specific areas or headers on their motherboard. For example, a map for the Gigabyte Z490 Vision D might look like: - led1: the LED next to the IO panel; - led2: one of two 12V RGB headers; - led3: the LED on the PCH chip ("Designare" on Vision D); - led4: an array of LEDs behind the PCI slots on *back side* of motherboard; - led5: second 12V RGB header; - led6: one of two 5V addressable RGB headers; - led7: second 5V addressable RGB header; - led8: not in use. ## More on resuming from sleep states On wake-from-sleep, the ITE controller will be reset and all color modes will revert to fixed blue. To work around this, the methods used to [automate the configuration at boot time] should be adapted to also handle resuming from sleep states. On macOS it is also possible to use the _sleepwatcher_ utility, installed via Homebrew, along with a script to run on wake that issues the necessary liquidctl commands and restores desired lighting effects. [automate the configuration at boot time]: ../README.md#automation-and-running-at-boot ## Fading between colors The [`extra/contrib/fusion_rgb_cycle.py`] script can be used to have one of these controllers cycle through a list of colors of the user's choice. It uses the `fixed` mode but updates the controller continuously. It can be started with: ``` # extra/contrib/fusion_rgb_cycle.py 350017 ff2608 ``` If more than two colors are specified, they will be cycled in turn. The [color space] for cycling can be specified with `--space `, channels can be specified with `--channel ` and the time in seconds for each color transition can be set with, eg `--speed `. [`extra/contrib/fusion_rgb_cycle.py`]: ../extra/contrib/fusion_rgb_cycle.py [color space]: https://facelessuser.github.io/coloraide/colors/ liquidctl-1.16.0/docs/kraken-x2-m2-guide.md000066400000000000000000000166711515166127400202770ustar00rootroot00000000000000# Third-generation NZXT liquid coolers _Driver API and source code available in [`liquidctl.driver.kraken2`](../liquidctl/driver/kraken2.py)._ ## NZXT Kraken X42, X52, X62, X72 The Kraken X42, X52, X62 and X72 are the third generation of Kraken X liquid coolers by NZXT. These devices are manufactured by Asetek and house fifth generation Asetek pumps, plus secondary PCBs specially designed by NZXT for enhanced control and lighting. They incorporate customizable fan and pump speed control with PWM, a liquid temperature probe in the block and addressable RGB lighting. The coolers are powered directly from the power supply unit. All configuration is done through USB, and persists as long as the device still gets power, even if the system has gone to Soft Off (S5) state. The cooler also reports fan and pump speed and liquid temperature via USB; pump speed can also be sent to the motherboard (or other device) via the sense pin of a standard fan connector. All capabilities available at the hardware level are supported, but other features offered by CAM, like presets based on CPU or GPU temperatures, have not been implemented. Pump and fan control based on liquid temperature is supported on units running firmware versions 4 or above. Monitoring and/or configuring the coolers is not possible with CAM running, otherwise you'll get errors such as `OSError('read error')`. ## NZXT Kraken M22 This driver also supports the NZXT Kraken M22. However, this device has no pump or fan control, nor reports liquid temperatures. ## Initialization [Initialization]: #initialization _Changed in 1.9.0: the firmware version is now reported after initialization._
_Changed in 1.10.0: modern firmware versions are now reported in simplified form, to match CAM._
All devices should be (re)initialized after the system boots or resumes from a suspended state, or if there have been hardware changes. ``` # liquidctl initialize NZXT Kraken X (X42, X52, X62 or X72) └── Firmware version 6.2 ``` With this generation of Kraken X coolers, it is especially important that (re)initialization happens before fan or pump speeds are adjusted. The device should also be reconfigured, as previous settings may have been totally or partially cleared while device was off or by the `initialize` command itself. ## Monitoring _Changed in 1.9.0: the firmware version is no longer reported (see [Initialization])._
The cooler can report the fan and pump speed, as well as the liquid temperature. ``` # liquidctl status NZXT Kraken X (X42, X52, X62 or X72) ├── Liquid temperature 29.9 °C ├── Fan speed 853 rpm └── Pump speed 1948 rpm ``` ## Fan and pump speeds First, some important notes... *You must carefully consider what pump and fan speeds to run. Heat output, case airflow, radiator size, installed fans and ambient temperature are some of the factors to take into account. Test your settings under different scenarios, and make sure that they are appropriate, correctly applied and persistent.* *Additionally, the liquid temperature should never reach 60°C, as at that point the pump and tubes might fail or quickly degrade. You must monitor this during your tests and make any necessary adjustments. As a safety measure, fan and pump speeds will forcibly be programmed to 100% for liquid temperatures of 60°C and above.* *You should also consider monitoring your hardware temperatures and setting alerts for overheating components or pump failures.* With those out of the way, each channel can be independently configured to a fixed duty value or with a profile dependent on the liquid temperature. Fixed speeds can be set by specifying the desired channel – `fan` or `pump` – and duty. ``` # liquidctl set pump speed 90 ``` | Channel | Minimum duty | Maximum duty | | --- | --- | --- | | fan | 25% | 100% | | pump | 50% | 100% | *Another important note: pump speeds between 50% and 60% are not currently exposed in CAM. Presumably, there might be some scenarios when these lower speeds are not suitable.* For profiles, one or more temperature–duty pairs must be supplied. liquidctl will normalize and optimize this profile before pushing it to the Kraken. Adding `--verbose` will trace the final profile that is being applied. ``` # liquidctl set fan speed 20 30 30 50 34 80 40 90 50 100 ``` ## RGB lighting For lighting, the user can control a total of nine LEDs: one behind the NZXT logo and eight forming the ring that surrounds it. These are separated into two channels, independently accessed through `logo` and `ring`, or synchronized with `sync`. ``` # liquidctl set sync color fixed af5a2f # liquidctl set ring color fading 350017 ff2608 # liquidctl set logo color pulse ffffff # liquidctl set ring color marquee-5 2f6017 --direction backward --speed slower ``` Colors can be specified in RGB, HSV or HSL (see [Supported color specification formats](../README.md#supported-color-specification-formats)), and each animation mode supports different number of colors. The animation speed can be customized with the `--speed `, and five relative values are accepted by the device: `slowest`, `slower`, `normal`, `faster` and `fastest`. Some of the color animations can be in either the `forward` or `backward` direction. This can be specified by using the `--direction` flag. | `ring` | `logo` | `sync` | Mode | Colors | Notes | | --- | --- | --- | --- | --- | --- | | ✓ | ✓ | ✓ | `off` | None | | ✓ | ✓ | ✓ | `fixed` | One | | ✓ | ✓ | ✓ | `super-fixed` | Up to 9 (logo + each ring LED) | | ✓ | ✓ | ✓ | `fading` | Between 2 and 8, one for each step | | ✓ | ✓ | ✓ | `spectrum-wave` | None | | ✓ | | | `super-wave` | Up to 8 | | ✓ | | | `marquee-` | One | 3 ≤ `length` ≤ 6 | | ✓ | | | `covering-marquee` | Up to 8, one for each step | | ✓ | | | `alternating` | Two | | ✓ | | | `moving-alternating` | Two | | ✓ | ✓ | ✓ | `breathing` | Up to 8, one for each step | | ✓ | ✓ | ✓ | `super-breathing` | Up to 9 (logo + each ring LED) | Only one step | | ✓ | ✓ | ✓ | `pulse` | Up to 8, one for each pulse | | ✓ | | | `tai-chi` | Two | | ✓ | | | `water-cooler` | None | | ✓ | | | `loading` | One | | ✓ | | | `wings` | One | #### Deprecated modes The following modes are now deprecated and the use of the `--direction backward` is preferred, they will be removed in a future version and are kept for now for backward compatibility. | `ring` | `logo` | `sync` | Mode | Colors | Notes | | --- | --- | --- | --- | --- | --- | | ✓ | ✓ | ✓ | `backwards-spectrum-wave` | None | | ✓ | | | `backwards-super-wave` | Up to 8 | | ✓ | | | `backwards-marquee-` | One | 3 ≤ `length` ≤ 6 | | ✓ | | | `covering-backwards-marquee` | Up to 8, one for each step | | ✓ | | | `backwards-moving-alternating` | Two | ## Interaction with Linux hwmon drivers [Linux hwmon]: #interaction-with-linux-hwmon-drivers _New in 1.9.0._
Kraken X2 devices are supported by the mainline Linux kernel with its [`nzxt-kraken2`] driver, and status data is provided through a standard hwmon sysfs interface. Starting with version 1.9.0, liquidctl automatically detects when a kernel driver is bound to the device and, whenever possible, uses it instead of directly accessing the device. Alternatively, direct access to the device can be forced with `--direct-access`. [`nzxt-kraken2`]: https://www.kernel.org/doc/html/latest/hwmon/nzxt-kraken2.html liquidctl-1.16.0/docs/kraken-x3-z3-guide.md000066400000000000000000000225251515166127400203110ustar00rootroot00000000000000# Fourth-generation NZXT liquid coolers _Driver API and source code available in [`liquidctl.driver.kraken3`](../liquidctl/driver/kraken3.py)._ The fourth-generation of NZXT Kraken coolers is composed by X models—featuring the familiar infinity mirror—and Z models—replacing the infinity mirror with an LCD screen. Both X and Z models house seventh-generation Asetek pump designs, plus secondary PCBs from NZXT for enhanced control and visual customization. The coolers are powered directly from the power supply unit. All configuration is done through USB, and persists as long as the device still gets power, even if the system has gone to Soft Off (S5) state. The coolers also report relevant data via USB, including pump and/or fan speeds and liquid temperature. The pump speed can be sent to the motherboard (or other device) via the sense pin of a standard fan connector. Monitoring and/or configuring the coolers is not possible with CAM running, otherwise you'll get errors such as `OSError('read error')`. ## NZXT Kraken X53, X63, X73 The X models incorporate customizable pump speed control, a liquid temperature probe in the block and addressable RGB lighting. In comparison with the previous generation of X42/X52/X62/X72 coolers, fan control is no longer provided. All capabilities available at the hardware level are supported, but other features offered by CAM, like presets based on CPU or GPU temperatures, are not part of the scope of the liquidctl CLI. ## NZXT Kraken Z53, Z63, Z73 The most notable difference between Kraken X and Kraken Z models is the replacement of the infinity mirror by a LCD screen. In addition to this, Kraken Z coolers restore the embedded fan controller that is missing from the current Kraken X models. ## NZXT Kraken 2023 Standard, Elite Kraken 2023 AIOs use the same pump and as their Z3 predecessor but the integrated LED controller has been removed. The LCD resolution is 240x240 for the standard version and 640x640 for the Elite variant, which also features a light ring on the pump housing. **Controlling the light ring is not yet supported**. ## NZXT Kraken 2024 Elite RGB The functionality of the 2024 RGB AIO is identical to the 2023 model, retaining the 640x640 LCD. As of the 1.2.1 firmware, it's still able to use GIF and static modes. **Controlling the light ring is not yet supported**. ## NZXT Kraken 2024 Plus The functionality of the 2024 RGB AIO is identical to the 2023 Standard model, with a 240x240 LCD. ## Initialization Devices must be initialized being read or written to. This is necessary after powering on from Mechanical Off, or if there has been hardware changes. Only then monitoring, proper fan control and all lighting effects will be available. The firmware version and all connected LED accessories are reported during the device initialization. ``` # liquidctl initialize NZXT Kraken X (X53, X63 or X73) ├── Firmware version 1.8.0 ├── LED accessory 1 HUE 2 LED Strip 300 mm ├── LED accessory 1 AER RGB 2 140 mm ├── LED accessory 2 AER RGB 2 140 mm ├── Pump Logo LEDs detected └── Pump Ring LEDs detected ``` ## Monitoring The cooler can report the pump speed and liquid temperature. ``` # liquidctl status NZXT Kraken X (X53, X63 or X73) ├── Liquid temperature 24.1 °C ├── Pump speed 1869 rpm └── Pump duty 60 % ``` ## Fan and pump speeds First, some important notes... *You must carefully consider what pump and fan speeds to run. Heat output, case airflow, radiator size, installed fans and ambient temperature are some of the factors to take into account. Test your settings under different scenarios, and make sure that they are appropriate, correctly applied and persistent.* *The X models do not provide a way to control your fan speeds. You must set those fan curves wherever you plugged your fans in (e.g. motherboard).* *Additionally, the liquid temperature should never reach 60°C, as at that point the pump and tubes might fail or quickly degrade. You must monitor this during your tests and make any necessary adjustments. As a safety measure, pump speed will forcibly be programmed to 100% for liquid temperatures of 60°C and above.* *You should also consider monitoring your hardware temperatures and setting alerts for overheating components or pump failures.* With those out of the way, the pump speed can be configured to a fixed duty value or with a profile dependent on the liquid temperature. Fixed speeds can be set by specifying the desired channel and duty value. ``` # liquidctl set pump speed 90 ``` | Channel | Minimum duty | Maximum duty | X models | Z models | | --- | -- | --- | :---: | :---: | | `pump` | 20% | 100% | ✓ | ✓ | | `fan` | 0% | 100% | | ✓ | For profiles, one or more temperature–duty pairs are supplied instead of single value. ``` # liquidctl set pump speed 20 30 30 50 34 80 40 90 50 100 ^^^^^ ^^^^^ ^^^^^ ^^^^^ ^^^^^^ pairs of temperature (°C) -> duty (%) ``` liquidctl will normalize and optimize this profile before pushing it to the Kraken. Adding `--verbose` will trace the final profile that is being applied. _New in 1.14.0._
Adds support for NZXT Kraken 2023 Standard, Elite Adds support for NZXT Kraken 2024 Elite RGB ## RGB lighting with LEDs One or more LED channels are provided, depending on the model. | Channel | Type | LED count | X models | Z models | | --- | --- | --- | :---: | :---: | | `external` | HUE 2/HUE+ accessories | up to 40 | ✓ | ✓ | | `ring` | Infinity mirror: ring | 8 | ✓ | | | `logo` | Infinity mirror: logo | 1 | ✓ | | | `sync` | Synchronize all channels | up to 40 | ✓ | | Color modes can be set independently for each lighting channel, but the specified color mode will then apply to all devices daisy chained on that channel. ``` # liquidctl set sync color fixed af5a2f # liquidctl set ring color fading 350017 ff2608 # liquidctl set logo color pulse ffffff # liquidctl set external color marquee-5 2f6017 --direction backward --speed slower ``` Colors can be specified in RGB, HSV or HSL (see [Supported color specification formats](../README.md#supported-color-specification-formats)), and each animation mode supports different number of colors. The animation speed can be customized with the `--speed `, and five relative values are accepted by the device: `slowest`, `slower`, `normal`, `faster` and `fastest`. Some of the color animations can be in either the `forward` or `backward` direction. This can be specified by using the `--direction` flag. | Mode | Colors | Variable speed | | --- | --- | :---: | | `off` | None | | | `fixed` | One | | | `fading` | Between 1 and 8 | ✓ | | | `super-fixed` | Between 1 and 40 | | | `spectrum-wave` | None | ✓ | | `marquee-`, 3 ≤ length ≤ 6 | One | ✓ | | `covering-marquee` | Between 1 and 8 | ✓ | | `alternating-` | Between 1 and 2 | ✓ | | `moving-alternating-`, 3 ≤ length ≤ 6 | Between 1 and 2 | ✓ | | `pulse` | Between 1 and 8 | ✓ | | `breathing` | Between 1 and 8 | ✓ | | `super-breathing` | Between 1 and 40 | ✓ | | `candle` | One | | | `starry-night` | One | ✓ | | `rainbow-flow` | None | ✓ | | `super-rainbow` | None | ✓ | | `rainbow-pulse` | None | ✓ | | `loading` | One | | | `tai-chi` | Between 1 and 2 | ✓ | | `water-cooler` | Two | ✓ | | `wings` | One | ✓ | #### Deprecated modes The following modes are now deprecated and the use of the `--direction backward` is preferred, they will be removed in a future version and are kept for now for backward compatibility. | Mode | Colors | Variable speed | | --- | --- | :---: | | `backwards-spectrum-wave` | None | ✓ | | `backwards-marquee-`, 3 ≤ length ≤ 6 | One | ✓ | | `covering-backwards-marquee` | Between 1 and 8 | ✓ | | `backwards-moving-alternating-`, 3 ≤ length ≤ 6 | Between 1 and 2 | ✓ | | `backwards-rainbow-flow` | None | ✓ | | `backwards-super-rainbow` | None | ✓ | | `backwards-rainbow-pulse` | None | ✓ | ## The LCD screen (only Z, 2023, 2024 models) _New in 1.11.0._
The LCD screen can be configured in a few different modes. ``` # liquidctl [options] set lcd screen liquid # liquidctl [options] set lcd screen brightness # liquidctl [options] set lcd screen orientation (0|90|180|270) # liquidctl [options] set lcd screen (static|gif) ``` Images and GiFs are automatically resized and rotated to match the device orientation. *Note that, on the 2023 models (Standard and Elite), the GIF screen mode is not currently supported on firmware versions 2.X (see [#631][`issue-631`]).* ## Interaction with Linux hwmon drivers [Linux hwmon]: #interaction-with-linux-hwmon-drivers _New in 1.9.0._
_Changed in 1.12.0: expanded support for reading and writing through hwmon._
Kraken X3 and Z3 devices feature support by the [liquidtux] `nzxt-kraken3` driver, and status data is provided through a standard hwmon sysfs interface. Starting with version 1.9.0, liquidctl automatically detects when a kernel driver is bound to the device and, whenever possible, uses it instead of directly accessing the device. Alternatively, direct access to the device can be forced with `--direct-access`. [liquidtux]: https://github.com/liquidctl/liquidtux [`issue-631`]: https://github.com/liquidctl/liquidctl/issues/631 liquidctl-1.16.0/docs/lian-li-ga-ii-lcd-guide.md000066400000000000000000000035061515166127400212230ustar00rootroot00000000000000# Lian Li GA II LCD AIO Liquid Cooler _Driver API and source code available in [`liquidctl.driver.ga2_lcd`](../liquidctl/driver/ga2_lcd.py) _New in 1.16.0._
## Initialization [Initialization]: #initialization The AIO does not need to be initialized. It will set the fan speed to fixed `1320rpm` (about 50%), and the pump to fixed `2580 rpm` (about 70%). ``` # liquidctl initialize Lian Li GA II LCD └── Firmware version N9,01,HS,SQ,CA_II-Vision,V2.01.02E,1.4Oct 22 2024,10:39:15 ``` ## Device monitoring The AIO reports fan and pump speed in rpms, and the liquid temperature. ``` # liquidctl status Lian Li GA II LCD ├── Coolant temperature 34.5 °C ├── Fan speed 1260 rpm ├── Pump speed 2100 rpm └── Pump duty 58 % ``` ## Fan speed control Both, the fan and the pump appear to only support fixed duty values. ``` # liquidctl set fan speed 50 # liquidctl set pump speed 50 ``` ## Lighting The AIO supports two different kinds of lighting: fan lighting and pump lighting. The fans support following lighting modes: - meteor - runway - breathing - static - rainbow-move - rainbow The pump supports following lighting modes: - bounce - color-morph - burst - big-bang - static-starry-night - colorful-starry-night - transmit - fluctuation - ticker-tape - meteor - runway - breathing - static - rainbow-move - rainbow For both types of lightings, the AIO will accept up to four different colors. It is also possible to specify animation speed (`slowest`, `slower`, `normal`, `faster`, `fastest`) and direction (`down`, `up`, `left`, `right`). ## Screen Not supported yet. It appears that the AIO relies on the host to continuously provide an H.264 stream through the HID channel. However, all other features function correctly even without screen configuration. liquidctl-1.16.0/docs/lianli-uni-guide.md000066400000000000000000000065271515166127400202210ustar00rootroot00000000000000# Lian Li Uni Fan controllers _Driver API and source code available in [`liquidctl.driver.lianli_uni`](../liquidctl/driver/lianli_uni.py)._ _New in 1.16.0
This is a driver for supporting multiple Lian Li Uni fan hubs. ## Supported devices - **Lian Li Uni SL** - **Lian Li Uni SL v2** - **Lian Li Uni AL** - **Lian Li Uni AL v2** - **Lian Li Uni SL-Infinity** ### Features - **Fixed Speed Control**: Set a fixed speed (in percentage) for individual channels. - **Channel Status Reporting**: Provides the current RPM of each fan channel queried directly from the controller. - **Fan mode control toggle (in code)**: Allows toggling between auto and fixed speed control on each fan channel. ## Initialization It is recommended to initialize before usage. During initialization, automatic fan control is explicitly enabled on all fan channels. When setting a fixed fan speed, automatic control is disabled for that channel. ``` # liquidctl initialize Lian Li Uni SL Controller ``` ## Monitoring The device can report the current speed, in RPM, for each fan channel. ``` # liquidctl status Lian Li Uni SL Controller ├── Fan 1 speed 1365 rpm ├── Fan 2 speed 1350 rpm ├── Fan 3 speed 1350 rpm └── Fan 4 speed 1335 rpm ``` ## Fan speeds Fan speeds can be manually set to fixed duty values for each available channel. The channels are named `fan1` through `fan4`. ``` # liquidctl set fan1 speed 80 # liquidctl set fan2 speed 40 # liquidctl set fan3 speed 20 # liquidctl set fan3 speed 20 ``` | Channel | Minimum Duty | Maximum Duty | |---------|--------------|--------------| | 1 | 0% | 100% | | 2 | 0% | 100% | | 3 | 0% | 100% | | 4 | 0% | 100% | ## Toggling fan control mode (aka PWM Sync) The driver supports an additional API to toggle automatic fan control (aka PWM Sync) on a per-channel basis, as an alternative to reinitializing the device. **This only avaible via the Python API**. The command line interface does not support toggling PWM synchronization. To toggle automatic fan control from Python code: ```python from liquidctl import find_liquidctl_devices from liquidctl.driver.lianli_uni import ChannelMode # Find all connected and supported devices. devices = find_liquidctl_devices() for dev in devices: # Select a Lian Li fan hub. if "Lian Li" in dev.description: # Connect to the fan hub. with dev.connect(): # Set the PWM Sync; for example, enable PWM Sync for channel 1. dev.set_fan_control_mode(1, ChannelMode.AUTO) ``` - the first argument is the channel number (1–4); - the second argument is the desired mode: `ChannelMode.AUTO` or `ChannelMode.FIXED`. ### Example usage #### Reset auto mode on all channels ``` # liquidctl initialize Lian Li Uni SL Controller ``` #### Set fixed speed for channel 1 ``` # liquidctl set fan1 speed 50 -v INFO: setting fan1 PWM duty to 50% ``` #### Check device status ``` # liquidctl status Lian Li Uni SL Controller ├── Fan 1 speed 1365 rpm ├── Fan 2 speed 1350 rpm ├── Fan 3 speed 1350 rpm └── Fan 4 speed 1335 rpm ``` ## Acknowledgements This driver was developed with information provided by [EightB1ts](https://github.com/EightB1ts), including device IDs, PWM commands, and speed byte calculations. liquidctl-1.16.0/docs/linux/000077500000000000000000000000001515166127400156705ustar00rootroot00000000000000liquidctl-1.16.0/docs/linux/making-systemd-units-wait-for-devices.md000066400000000000000000000060421515166127400254560ustar00rootroot00000000000000# Making systemd units wait for devices When using a systemd service to configure devices at boot time, as suggested in [Automation and running at boot/Set up Linux using system](../../README.md#set-up-linux-using-systemd), it can sometimes happen that the hardware is not ready when the service tries to start. A blunt solution to this is to add a small delay, but a more robust alternative is to make the service unit depend on the corresponding hardware being available at the OS level. ## Systemd device units For this it is first necessary to set up systemd to create device units with known names. This is done with udev rules, specifically with `TAG+="systemd"` (to create a device unit) and a memorable `SYMLINK+=""` name. ``` # /etc/udev/rules.d/99-liquidctl-custom.rules # Example udev rules to create device units for some specific liquidctl devices. # create a dev-kraken.device for this third-generation Kraken X ACTION=="add", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="170e", ATTRS{serial}=="", SYMLINK+="kraken", TAG+="systemd" # create a dev-clc120.device for this EVGA CLC ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="2433", ATTRS{idProduct}=="b200", SYMLINK+="clc120", TAG+="systemd" ``` Setting a custom name with `SYMLINK` is optional: just with `TAG+="systemd"` alone a device unit will be made available as `dev-bus-usb--.device`, where the `` and the `` numbers can be found with the `lsusb` command. ## Setting the dependencies The new device units can then be added as dependencies to the service unit. ``` # /etc/systemd/system/liquidcfg.service [Unit] Description=AIO startup service Requires=dev-kraken.device Requires=dev-clc120.device After=dev-kraken.device After=dev-clc120.device ... ``` With these changes in place, and after rebooting the system, the service should begin to wait for the devices before trying to starting. Notes: - the `SUBSYSTEM` value must match how liquidctl connects to the device; devices listed by liquidctl as on a `hid` bus should use the value `hidraw`, while the remaining should use `usb` - when possible it is good to include the serial number in the match, to account for the possibility of multiple units of the same model - on the service unit file `Requires=` is used instead of `Wants=` because we want a [strong dependency](https://www.freedesktop.org/software/systemd/man/systemd.unit.html#%5BUnit%5D%20Section%20Options) - rebooting the system is not technically necessary, but triggering the new udev rules without a reboot is outside the scope of this document - some devices may still not be able to response just after being discovered by udev, in which case a delay is really necessary ## Alternative approach An alternative approach is to have systemd start the configuration service when the device is found by udev, by making the device depend on the service: ``` ACTION=="add", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="170e", ATTRS{serial}=="" ENV{SYSTEMD_WANTS}="liquidcfg.service" ``` liquidctl-1.16.0/docs/msi-mpg-coreliquid-guide.md000066400000000000000000000256611515166127400216670ustar00rootroot00000000000000# MSI MPG Coreliquid AIO coolers _Driver API and source code available in [`liquidctl.driver.msi`](../liquidctl/driver/msi.py)._ _Currently, only the K360 model is experimentally supported as more testing and feedback is needed._ This driver is for the MSI MPG coreliquid series of AIO coolers, of which currently only the coreliquid K360 has been tested and verified to be working. The usage of speed profiles for this model requires external periodic updates of the current cpu temperature. As a result, to use variable fan speeds you must be careful to make sure that the current cpu temperature gets sent to the device. An example method to accomplish this is the `--use-device-controller` option in [`yoda.py`](../extra/yoda.py). Device configuration, including lighting and fan profiles persist until a new configuration is sent to the device, but saved settings are lost after power is lost (power state S5). Uploaded display images are saved onto the device, and so they can be accessed by their uploaded type and index even after loss of power, preventing the need to repeatedly upload the same files. The lcd display resets to the default animation when the system is suspended (S3). LED lighting is controlled via preset modes, which are sent once to the device as a configuration, after which the device then independently commands the LEDs until a new configuration is received. The K360 model includes an LCD screen capable of displaying various preset animations, hardware status, ASCII banners with a preset or custom background image, and preset or custom images. ## Initialization Controlling the device does not always require initialization, but some features, such as changing the display settings may not function before initialization. Initialization on its own will set default fan curves and LCD screen settings. ``` # liquidctl initialize --pump-mode smart MSI MPG Coreliquid K360 ├── Display firmware version 2 ├── APROM firmware version 0 ├── LDROM firmware version 256 ├── Serial number A02020123456 └── Pump mode smart ``` ## Monitoring The AIO unit is able to report fan speeds, pump speed, water block speed, and duties. ``` # liquidctl status MSI MPG Coreliquid K360 ├── Fan 1 speed 1546 rpm ├── Fan 1 duty 60 % ├── Fan 2 speed 1562 rpm ├── Fan 2 duty 60 % ├── Fan 3 speed 1530 rpm ├── Fan 3 duty 60 % ├── Water block speed 2400 rpm ├── Water block duty 50 % ├── Pump speed 2777 rpm ├── Pump duty 100 % ``` ## Fan and pump speeds First, some important notes... *You must carefully consider what pump and fan speeds to run. Heat output, case airflow, radiator size, installed fans and ambient temperature are some of the factors to take into account. Test your settings under different scenarios, and make sure that they are appropriate, correctly applied and persistent.* *The device has no internal temperature measurement to control the fan speeds, and simply running a liquidctl command to set a speed profile will not persistently provide this necessary data to the device. You can use [`yoda.py`](../extra/yoda.py) to communicate with the cooler, or create your own service to keep the device updated on the current temperature.* *You should also consider monitoring your hardware temperatures and setting alerts for overheating components or pump failures.* With those out of the way, the pump speed can be configured to a fixed duty value or with a profile dependent on a (temperature) signal that MUST be periodically sent to the device. Fixed speeds can be set by specifying the desired channel and duty value. ``` # liquidctl set pump speed 90 ``` | Channel | Minimum duty | Maximum duty | | --- | -- | --- | | `pump` | 60% | 100% | | radiator fans (`fans`, `fan1`, `fan2`, `fan3`) | 20% | 100% | | | `waterblock-fan` | 0% | 100% | | For profiles, one or more temperature–duty pairs are supplied instead of single value. ``` # liquidctl set pump speed 20 30 30 50 34 80 40 90 50 100 ^^^^^ ^^^^^ ^^^^^ ^^^^^ ^^^^^^ pairs of temperature (°C) -> duty (%) ``` liquidctl will normalize and optimize this profile before pushing it to the device. Adding `--verbose` will trace the final profile that is being applied. The device also has preset pump/fan curves that can be applied independently for each channel with [`yoda.py`](../extra/yoda.py). Perhaps most notable is the "smart" mode, which enables fan-stop for two of the three radiator fans. Fan-stop is locked by the device for custom fan profiles, likely to prevent the liquid from overheating. The preset device profiles are: - Silent - Balance - Game - Default - Smart The preset, named modes are supported in the driver and they currently have experimental support in [`yoda.py`](../extra/yoda.py), support in the liquidctl cli is on the way. ## RGB lighting with LEDs LEDs on the device are always synced with the same effect, so the only supported channel argument is "sync". Colors can be specified in RGB, HSV or HSL (see [Supported color specification formats](../README.md#supported-color-specification-formats)). Each animation mode supports zero to two colors, and some animation modes include an additional "rainbow" mode. Lighting effect speed can be controlled with the `--speed` parameter, which can vary between 0 and 3. ``` # liquidctl set sync color clock aa00aa 00aaaa --speed 0 # liquidctl set sync color steady ffb6c1 ``` Some lighting modes are intended to react to the sounds currently playing on the system. These modes do not currently function as intended with this driver. | Mode | Colors | Rainbow option | Notes | | --- | --- | --- | --- | | `disable` | None | None | | | `steady` | One | No | | | `blink` | ? | ? | Not working as intended | | `breathing` | One | No | Yes | | `clock` | Two | Yes | | | `color pulse` | ? | ? | Not working as intended | | `color ring` | None | None | | | `color ring double flashing` | None | None | | | `color ring flashing` | None | None | | | `color shift` | None | None | Not working as intended | | `color wave` | Two | Yes | | | `corsair ique` | ? | ? | Unclear | | `disable2` | None | None | | | `double flashing` | One | Yes | | | `double meteor` | None | None | | | `energy` | None | None | | | `fan control` | ? | ? | Not working as intended | | `fire` | Two | No | | | `flashing` | One | Yes | | | `jazz` | ? | ? | Not working as intended | | `jrainbow` | ? | ? | Unclear | | `lava` | ? | ? | Not working as intended | | `lightning` | One | No | | | `marquee` | One | No | | | `meteor` | One | Yes | | | `movie` | ? | ? | Not working as intended | | `msi marquee` | One | Yes | | | `msi rainbow` | ? | ? | Not working as intended | | `planetary` | None | None | | | `play` | ? | ? | Not working as intended | | `pop` | ? | ? | Not working as intended | | `rainbow` | ? | ? | Very jittery and slow, rainbow wave is recommended instead | | `rainbow double flashing` | None | None | | | `rainbow flashing` | None | None | | | `rainbow wave` | None | None | | | `random` | None | None | | | `rap` | ? | ? | Not working as intended | | `stack` | One | Yes | | | `visor` | Two | Yes | | | `water drop` | One | Yes | | Support for the rainbow option is not yet exposed by the liquidctl cli, but it is included in the driver as the color_selection flag. ``` >>> from liquidctl.driver import find_liquidctl_devices >>> coreliquid_device = next(find_liquidctl_devices()) >>> coreliquid_device.connect() >>> coreliquid_device.set_colors("sync", "clock", [], color_selection=0) ``` ## The LCD screen The screen resolution is 320 x 240 px, and custom images uploaded with this driver are resized to fit this requirement. The screen orientation and brightness (0-100) can also be controlled. The only channel available for the K360 model is "lcd". Uploading and choosing which images or banner backgrounds to display is experimentally supported, sometimes an uploaded file may be viewable from a different index on the device than the one it was originally uploaded to. ``` # liquidctl set lcd screen settings '80;0' # liquidctl set lcd screen hardware 'cpu_temp;cpu_freq;fan_radiator' ``` ``` # liquidctl set lcd screen banner '1;4;A cool message in 62 characters!;/home/username/Pictures/pic.jpg' # liquidctl set lcd screen banner '0;1;Hello, MSI?' # liquidctl set lcd screen banner '1;4;I can also show a previously uploaded background!' ``` ``` # liquidctl set lcd screen disable ``` Maximum length of the displayed banner mesages is 62 ASCII characters. hardware status display functionality is limited, as the displayed data must be communicated to the device. This functionality is implemented in the driver, but currently its usage is limited to [`yoda.py`](../extra/yoda.py), which is gpu-unaware so the gpu_freq and gpu_usage parameters will not display correct information without custom update services. | mode name | action | options | | --- | --- | --- | | hardware | set the screen to display hardware info | up to 3 semicolon delimited keys from the available sensors | | image | set the screen to display a custom or preset image | \;\[;\] | | banner | set the screen to display a message with custom or preset image as background | \;\;\[;\] | clock | set the screen to display system time (requires control service to send the time to the device) | integer between 0 and 2 to specify the style of the clock display | | settings | set the screen brightness and orientation | \;\ | | disable | disables the lcd screen | | The index field of image and banner modes denotes which of the device-stored images to show on the display, or to which save slot to store an uploaded image in. Use type=0 to display one of the preset animations, and type=1 to upload or display a custom image. | Display orientation | value | | --- | --- | | Default (up) | 0 | | Right | 1 | | Down | 2 | | Left | 3 | | Displayed sensor data | Notes | | --- | --- | | cpu_freq | | | cpu_temp | this is the sensor value that controls set profile fan duties | | gpu_freq | Used by the manufacturer to display gpu memory frequency | | gpu_usage | | | fan_pump | | | fan_radiator | | | fan_cpumos | waterblock fan speed | liquidctl-1.16.0/docs/nvidia-guide.md000066400000000000000000000175351515166127400174330ustar00rootroot00000000000000# NVIDIA graphics cards _Driver API and source code available in [`liquidctl.driver.nvidia`](../liquidctl/driver/nvidia.py)._ Support for these cards in only available on Linux. Other requirements must also be met: - `i2c-dev` kernel module has been loaded - r/w permissions to card-specific `/dev/i2c-*` devices - specific unsafe features have been opted in Jump to the appropriate section for a supported card: * _Series 10/Pascal:_ - [ASUS Strix GTX 1050 OC][asus-gtx-rtx] - [ASUS Strix GTX 1050 Ti OC][asus-gtx-rtx] - [ASUS Strix GTX 1060 6GB][asus-gtx-rtx] - [ASUS Strix GTX 1060 OC 6GB][asus-gtx-rtx] - [ASUS Strix GTX 1070 OC][asus-gtx-rtx] - [ASUS Strix GTX 1070 Ti Advanced][asus-gtx-rtx] - [ASUS Strix GTX 1070 Ti][asus-gtx-rtx] - [ASUS Strix GTX 1070][asus-gtx-rtx] - [ASUS Strix GTX 1080 Advanced][asus-gtx-rtx] - [ASUS Strix GTX 1080 OC][asus-gtx-rtx] - [ASUS Strix GTX 1080 Ti OC][asus-gtx-rtx] - [ASUS Strix GTX 1080 Ti][asus-gtx-rtx] - [ASUS Strix GTX 1080][asus-gtx-rtx] - [EVGA GTX 1070 FTW DT Gaming][evga-gp104] - [EVGA GTX 1070 FTW Hybrid][evga-gp104] - [EVGA GTX 1070 FTW][evga-gp104] - [EVGA GTX 1070 Ti FTW2][evga-gp104] - [EVGA GTX 1080 FTW][evga-gp104] * _Series 16/Turing:_ - [ASUS Strix GTX 1650 Super OC][asus-gtx-rtx] - [ASUS Strix GTX 1660 Super OC][asus-gtx-rtx] - [ASUS Strix GTX 1660 Ti OC][asus-gtx-rtx] * _Series 20/Turing:_ - [ASUS Strix RTX 2060 Evo OC][asus-gtx-rtx] - [ASUS Strix RTX 2060 Evo][asus-gtx-rtx] - [ASUS Strix RTX 2060 OC][asus-gtx-rtx] - [ASUS Strix RTX 2060 Super Advanced][asus-gtx-rtx] - [ASUS Strix RTX 2060 Super Evo Advanced][asus-gtx-rtx] - [ASUS Strix RTX 2060 Super OC][asus-gtx-rtx] - [ASUS Strix RTX 2060 Super][asus-gtx-rtx] - [ASUS Strix RTX 2070 Advanced][asus-gtx-rtx] - [ASUS Strix RTX 2070 OC][asus-gtx-rtx] - [ASUS Strix RTX 2070 Super Advanced][asus-gtx-rtx] - [ASUS Strix RTX 2070 Super OC][asus-gtx-rtx] - [ASUS Strix RTX 2070][asus-gtx-rtx] - [ASUS Strix RTX 2080 OC][asus-gtx-rtx] - [ASUS Strix RTX 2080 Super Advanced][asus-gtx-rtx] - [ASUS Strix RTX 2080 Super OC][asus-gtx-rtx] - [ASUS Strix RTX 2080 Ti OC][asus-gtx-rtx] - [ASUS Strix RTX 2080 Ti][asus-gtx-rtx] * _Series 30/Ampere:_ - [ASUS TUF RTX 3060 Ti OC][asus-gtx-rtx] * _[Inherent unsafeness of I²C]_ ## EVGA GTX 1070, 1070 Ti and 1080 [evga-gp104]: #evga-gtx-1070-1070-ti-and-1080 Only RGB lighting supported. Unsafe features: - `smbus`: see [Inherent unsafeness of I²C] - `experimental_evga_gpu`: enable new/experimental devices ### Initialization Not required for this device. ### Retrieving the current RGB lighting mode and color In verbose mode `status` reports the current RGB lighting settings. ``` # liquidctl status --verbose --unsafe=smbus EVGA GTX 1080 FTW ├── Mode Fixed └── Color 2aff00 ``` ### Controlling the LED This GPU only has one led that can be set. The table bellow summarizes the available channels, modes and their associated number of required colors. | Channel | Mode | Colors | | ---------- | ----------- | -----: | | `led` | `off` | 0 | | `led` | `fixed` | 1 | | `led` | `breathing` | 1 | | `led` | `rainbow` | 0 | ``` # liquidctl set led color off --unsafe=smbus # liquidctl set led color rainbow --unsafe=smbus # liquidctl set led color fixed ff8000 --unsafe=smbus # liquidctl set led color breathing "hsv(90,85,70)" --unsafe=smbus ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ channel mode color unsafe features ``` The LED color can be specified using any of the [supported formats](../README.md#supported-color-specification-formats). The settings configured on the device are normally volatile, and are cleared whenever the graphics card is powered down (OS and UEFI power saving settings can affect when this happens). It is possible to store them in non-volatile controller memory by passing `--non-volatile`. But as this memory has some unknown yet limited maximum number of write cycles, volatile settings are preferable, if the use case allows for them. ``` # liquidctl set led color fixed 00ff00 --non-volatile --unsafe=smbus ``` ## ASUS Strix GTX and RTX [asus-gtx-rtx]: #asus-strix-gtx-and-rtx Only RGB lighting supported. Unsafe features: - `smbus`: see [Inherent unsafeness of I²C] - `experimental_asus_gpu`: enable new/experimental devices ### Initialization Not required for this device. ### Retrieving the current color mode and LED color In verbose mode `status` reports the current RGB lighting settings. ``` # liquidctl status --verbose --unsafe=smbus ASUS Strix RTX 2080 Ti OC ├── Mode Fixed └── Color ff0000 ``` ### Controlling the LED This GPU only has one led that can be set. The table bellow summarizes the available channels, modes, and their associated maximum number of colors for each device family. | Channel | Mode | Colors | | ---------- | ------------- | -----: | | `led` | `off` | 0 | | `led` | `fixed` | 1 | | `led` | `flash` | 1 | | `led` | `breathing` | 1 | | `led` | `rainbow` | 0 | ``` # liquidctl set led color off --unsafe=smbus # liquidctl set led color rainbow --unsafe=smbus # liquidctl set led color fixed ff8000 --unsafe=smbus # liquidctl set led color flash ff8000 --unsafe=smbus # liquidctl set led color breathing "hsv(90,85,70)" --unsafe=smbus ^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ channel mode color unsafe features ``` The LED color can be specified using any of the [supported formats](../README.md#supported-color-specification-formats). The settings configured on the device are normally volatile, and are cleared whenever the graphics card is powered down (OS and UEFI power saving settings can affect when this happens). It is possible to store them in non-volatile controller memory by passing `--non-volatile`. But as this memory has some unknown yet limited maximum number of write cycles, volatile settings are preferable, if the use case allows for them. ``` # liquidctl set led color fixed 00ff00 --non-volatile --unsafe=smbus ``` Note: The `off` mode is simply an alias for `fixed 000000`. ## Inherent unsafeness of I2C [Inherent unsafeness of I²C]: #inherent-unsafeness-of-i2c Reading and writing to I²C buses is inherently more risky than dealing with, for example, USB devices. On typical desktop and workstation systems many important chips are connected to these buses, and they may not tolerate writes or reads they do not expect. It is necessary to rely on certain devices being know to use a specific address, or being documented/specified to do so; but there is always some risk that another, unexpected, device is using that same address. On top of this, accessing I²C buses concurrently, from multiple threads or processes, may also result in undesirable or unpredictable behavior. Unsurprisingly, users or programs dealing with I²C devices have occasionally crashed systems and even bricked boards or peripherals. In some cases this is reversible, but not always. For all of these reasons liquidctl requires users to *opt into* accessing I²C and SMBus devices, both of which can be done by enabling the `smbus` unsafe feature. Other unsafe features may also be required for the use of specific devices, based on other *know* risks specific to a particular device. Note that a feature not being labeled unsafe, or a device not requiring the use of additional unsafe features, does in no way assure that it is safe. This is especially true when dealing with I²C/SMBus devices. Finally, liquidctl may list some I²C/SMBus devices even if `smbus` has not been enabled, but only if it is able to discover them without communicating with the bus or the devices. liquidctl-1.16.0/docs/nzxt-e-series-psu-guide.md000066400000000000000000000032231515166127400214700ustar00rootroot00000000000000# NZXT E-series PSUs _Driver API and source code available in [`liquidctl.driver.nzxt_epsu`](../liquidctl/driver/nzxt_epsu.py)._ ## Initialization It is necessary to initialize the device once it has been powered on. ``` # liquidctl initialize ``` _Note: at the moment initialize is a no-op, but this is likely to change once more features are added to the driver._ ## Monitoring The PSU is able to report monitoring data about its own hardware and the output rails. ``` # liquidctl status NZXT E500 ├── Temperature 45.0 °C ├── Fan speed 505 rpm ├── Firmware version A017/40983 ├── +12V peripherals output voltage 11.89 V ├── +12V peripherals output current 7.75 A ├── +12V peripherals output power 14.48 W ├── +12V EPS/ATX12V output voltage 11.95 V ├── +12V EPS/ATX12V output current 0.00 A ├── +12V EPS/ATX12V output power 0.00 W ├── +12V motherboard/PCI-e output voltage 11.96 V ├── +12V motherboard/PCI-e output current 1.00 A ├── +12V motherboard/PCI-e output power 11.95 W ├── +5V combined output voltage 4.90 V ├── +5V combined output current 0.02 A ├── +5V combined output power 0.11 W ├── +3.3V combined output voltage 3.23 V ├── +3.3V combined output current 0.01 A └── +3.3V combined output power 0.02 W ``` liquidctl-1.16.0/docs/nzxt-hue2-guide.md000066400000000000000000000174271515166127400200250ustar00rootroot00000000000000# NZXT HUE 2 and Smart Device V2 controllers _Driver API and source code available in [`liquidctl.driver.smart_device`](../liquidctl/driver/smart_device.py)._ The NZXT HUE 2 lighting system is a refresh of the original HUE+. The main improvement is the ability to mix Aer RGB 2 fans and HUE 2 lighting accessories (e.g. HUE 2 LED strip, HUE 2 Underglow, HUE 2 Cable Comb) in a channel. HUE+ devices, including the original Aer RGB fans, are also supported, but HUE 2 components cannot be mixed with HUE+ components in the same channel. Each channel supports up to 6 accessories and a total of 40 LEDs, and the firmware exposes several color presets, most of them common to other NZXT products. All configuration is done through USB, and persists as long as the device still gets power, even if the system has gone to Soft Off (S5) state. Most capabilities available at the hardware level are supported, but other features offered by CAM, like noise level optimization and presets based on CPU/GPU temperatures, have not been implemented. ## NZXT HUE 2 The NZXT HUE 2 controller features four lighting channels. ## NZXT HUE 2 Ambient The NZXT HUE 2 Ambient controller features two lighting channels. ## NZXT Smart Device V2 The NZXT Smart Device V2 is a HUE 2 variant of the original Smart Device fan and LED controller, that ships with NZXT's cases released in mid-2019 including the H510 Elite, H510i, H710i, and H210i. It provides two HUE 2 lighting channels and three independent fan channels with standard 4-pin connectors. Both PWM and DC fan control is supported, and the device automatically chooses the appropriate mode for each channel; the device also reports the state of each fan channel, as well as speed and duty (from 0% to 100%). A microphone is still present onboard for noise level optimization through CAM and AI. ## NZXT H1 V2 _New in 1.10.0._
The second revision of the NZXT H1 case, labeled H1 V2, ships with a variant of the NZXT Smart Device V2 that handles both the internal fans and the AIO pump. Two fan and one pump channels are available, where the formers can be controlled via PWM or DC. The pump speed is not user controllable. The device reports the state, speed and duty of each fan channel, as well as the pump speed. There are no lighting channels available nor an onboard microphone. ## NZXT RGB & Fan Controller The NZXT RGB & Fan Controller is a retail version of the NZXT Smart Device V2. ## NZXT RGB & Fan Controller (3+6 channels) _New in 1.12.1._
In 2022 NZXT released a new version of the RGB & Fan Controller with 3 fan speed channels and 6 lighting channels. For now, this new version is only partially supported by liquidctl: only monitoring and fan control are available. ## NZXT 2023 RGB Controller This device is a controller for RGB **only**, i.e., the fan speed is controlled externally. The control of the LEDs is similar to the NZXT smart devices. It is shipped with the NZXT Kraken 2023 and with 3-Fan sets. The controller can connect to up to three F120/F140 RGB fans. ## Initialization After powering on from Mechanical Off, or if there have been hardware changes, the device must first be initialized. Only then monitoring, proper fan control and all lighting effects will be available. The firmware version and the connected LED accessories are also reported during device initialization. ``` # liquidctl initialize NZXT Smart Device V2 ├── Firmware version 1.5.0 ├── LED 1 accessory 1 HUE 2 LED Strip 300 mm ├── LED 1 accessory 2 HUE 2 Underglow 200 mm ├── LED 1 accessory 3 HUE 2 Underglow 200 mm ├── LED 2 accessory 1 AER RGB 2 140 mm ├── LED 2 accessory 2 AER RGB 2 140 mm ├── LED 2 accessory 3 AER RGB 2 140 mm └── LED 2 accessory 4 AER RGB 2 120 mm ``` ## Monitoring _Changed in 1.9.0: the noise level is not available when data is read from [Linux hwmon]._
The device can report fan information for each channel and the noise level at the on-board sensor. ``` # liquidctl status NZXT Smart Device V2 ├── Fan 2 control mode PWM ├── Fan 2 duty 42 % ├── Fan 2 speed 934 rpm └── Noise level 62 dB ``` ## Fan speeds _Only Smart Device V2, RGB & Fan Controller and H1 V2_ Fan speeds can only be set to fixed duty values. ``` # liquidctl set fan2 speed 90 ``` | Channel | Minimum duty | Maximum duty | Note | | --- | --- | --- | --- | | fan1 | 0% | 100% | H1 V2: GPU exhaust fan | | fan2 | 0% | 100% | H1 V2: AIO fan | | fan3 | 0% | 100% | H1 V2: not available | | sync | 0% | 100% | all available channels | *Always check that the settings are appropriate for the use case, and that they correctly apply and persist.* ## RGB lighting LED channels are numbered sequentially: `led1`, `led2`, etc., up to the number of channels supported by the device. Color modes can be set independently for each lighting channel, but the specified color mode will then apply to all devices daisy chained on that channel. There is also a `sync` channel. ``` # liquidctl set led1 color fixed af5a2f # liquidctl set led2 color fading 350017 ff2608 --speed slower # liquidctl set led3 color pulse ffffff # liquidctl set led4 color marquee-5 2f6017 --direction backward --speed slowest # liquidctl set sync color spectrum-wave ``` Colors can be specified in RGB, HSV or HSL (see [Supported color specification formats](../README.md#supported-color-specification-formats)), and each animation mode supports different number of colors. The animation speed can be customized with the `--speed `, and five relative values are accepted by the device: `slowest`, `slower`, `normal`, `faster` and `fastest`. Some of the color animations can be in either the `forward` or `backward` direction. This can be specified by using the `--direction` flag. | Mode | Colors | Notes | | --- | --- | --- | | `off` | None | | `fixed` | One | | `super-fixed` | Up to 40, one for each LED | | `fading` | Between 2 and 8, one for each step | | `spectrum-wave` | None | | `marquee-` | One | 3 ≤ `length` ≤ 6 | | `covering-marquee` | Up to 8, one for each step | | `alternating-` | Two | 3 ≤ `length` ≤ 6 | | `moving-alternating-` | Two | 3 ≤ `length` ≤ 6 | | `pulse` | Up to 8, one for each pulse | | `breathing` | Up to 8, one for each step | | `super-breathing` | Up to 40, one for each LED | Only one step | | `candle` | One | | `starry-night` | One | | `rainbow-flow` | None | | `super-rainbow` | None | | `rainbow-pulse` | None | | `wings` | One | #### Deprecated modes The following modes are now deprecated and the use of the `--direction backward` is preferred, they will be removed in a future version and are kept for now for backward compatibility. | Mode | Colors | Notes | | --- | --- | --- | | `backwards-spectrum-wave` | None | | `backwards-marquee-` | One | 3 ≤ `length` ≤ 6 | | `covering-backwards-marquee` | Up to 8, one for each step | | `backwards-moving-alternating-` | Two | 3 ≤ `length` ≤ 6 | | `backwards-rainbow-flow` | None | | `backwards-super-rainbow` | None | | `backwards-rainbow-pulse` | None | ## Interaction with Linux hwmon drivers [Linux hwmon]: #interaction-with-linux-hwmon-drivers _New in 1.9.0._
Smart Device V2 controllers are supported by the mainline Linux kernel with its [`nzxt-smart2`] driver, and status data is provided through a standard hwmon sysfs interface. Starting with version 1.9.0, liquidctl automatically detects when a kernel driver is bound to the device and, whenever possible, uses it instead of directly accessing the device. Alternatively, direct access to the device can be forced with `--direct-access`. [`nzxt-smart2`]: https://www.kernel.org/doc/html/latest/hwmon/nzxt-smart2.html liquidctl-1.16.0/docs/nzxt-smart-device-v1-guide.md000066400000000000000000000140661515166127400220650ustar00rootroot00000000000000# NZXT Smart Device (V1) and Grid+ V3 _Driver API and source code available in [`liquidctl.driver.smart_device`](../liquidctl/driver/smart_device.py)._ The Smart Device is a fan and LED controller that ships with the H200i, H400i, H500i and H700i cases. It provides three independent fan channels with standard 4-pin connectors. Both PWM and DC control is supported, and the device automatically chooses the appropriate mode. Additionally, up to four chained HUE+ LED strips or five chained Aer RGB fans can be driven from a single RGB channel. The firmware installed on the device exposes several presets, most of them familiar to other NZXT products. A microphone is also present onboard for noise level optimization through CAM and AI. This driver also supports the NZXT Grid+ V3 fan controller, which has six fan speed channels but no LED support or microphone. All configuration is done through USB, and persists as long as the device still gets power, even if the system has gone to Soft Off (S5) state. The device also reports the state of each fan channel, as well as speed, voltage and current. All capabilities available at the hardware level are supported, but other features offered by CAM, like noise level optimization and presets based on CPU/GPU temperatures, have not been implemented. ## Initialization [Initialization]: #initialization _Changed in 1.9.0: the firmware version and the connected accessories are now reported after initialization._
_Changed in 1.10.0: modern firmware versions are now reported in simplified form, to match CAM._
After powering on from Mechanical Off, or if there have been hardware changes, the device must first be initialized. This takes a few seconds and should detect all connected fans and LED accessories. Only then monitoring, proper fan control and all lighting effects will be available. ``` # liquidctl initialize NZXT Smart Device (V1) ├── Firmware version 1.7 ├── LED accessories 2 ├── LED accessory type HUE+ Strip └── LED count (total) 20 ``` ## Monitoring _Changed in 1.9.0: the firmware version and the connected accessories are no longer reported (see [Initialization])._
_Changed in 1.9.0: the noise level is not available when data is read from [Linux hwmon]._
The device can report fan information for each channel, the noise level at the onboard sensor, as well as the type of the connected LED accessories. ``` # liquidctl status NZXT Smart Device (V1) ├── Fan 1 speed 1492 rpm ├── Fan 1 voltage 11.91 V ├── Fan 1 current 0.02 A ├── Fan 1 control mode PWM ├── Fan 2 speed 1368 rpm ├── Fan 2 voltage 11.91 V ├── Fan 2 current 0.02 A ├── Fan 2 control mode PWM ├── Fan 3 speed 1665 rpm ├── Fan 3 voltage 11.91 V ├── Fan 3 current 0.06 A ├── Fan 3 control mode PWM └── Noise level 59 dB ``` ## Fan speeds Fan speeds can only be set to fixed duty values. ``` # liquidctl set fan2 speed 90 ``` | Channel | Minimum duty | Maximum duty | Note | | --- | --- | --- | - | | fan1 | 0% | 100% || | fan2 | 0% | 100% || | fan3 | 0% | 100% || | fan4 | 0% | 100% | Grid+ V3 only | | fan5 | 0% | 100% | Grid+ V3 only | | fan6 | 0% | 100% | Grid+ V3 only | | sync | 0% | 100% | all available channels | *Always check that the settings are appropriate for the use case, and that they correctly apply and persist.* ## RGB lighting _Only NZXT Smart Device (V1) and NZXT 2023 RGB Controller_ For lighting, the user can control up to 40 LEDs, if all four strips or five fans are connected. They are chained in a single channel: `led`. ``` # liquidctl set led color fixed af5a2f # liquidctl set led color fading 350017 ff2608 --speed slower # liquidctl set led color pulse ffffff # liquidctl set led color marquee-5 2f6017 --direction backward --speed slowest ``` Colors can be specified in RGB, HSV or HSL (see [Supported color specification formats](../README.md#supported-color-specification-formats)), and each animation mode supports different number of colors. The animation speed can be customized with the `--speed `, and five relative values are accepted by the device: `slowest`, `slower`, `normal`, `faster` and `fastest`. Some of the color animations can be in either the `forward` or `backward` direction. This can be specified by using the `--direction` flag. | Mode | Colors | Notes | | --- | --- | --- | | `off` | None | | `fixed` | One | | `super-fixed` | Up to 40, one for each LED | | `fading` | Between 2 and 8, one for each step | | `spectrum-wave` | None | | `super-wave` | Up to 40 | | `marquee-` | One | 3 ≤ `length` ≤ 6 | | `covering-marquee` | Up to 8, one for each step | | `alternating` | Two | | `moving-alternating` | Two | | `breathing` | Up to 8, one for each step | | `super-breathing` | Up to 40, one for each LED | Only one step | | `pulse` | Up to 8, one for each pulse | | `candle` | One | | `wings` | One | #### Deprecated modes The following modes are now deprecated and the use of the `--direction backward` is preferred, they will be removed in a future version and are kept for now for backward compatibility. | Mode | Colors | Notes | | --- | --- | --- | | `backwards-spectrum-wave` | None | | `backwards-super-wave` | Up to 40 | | `backwards-marquee-` | One | 3 ≤ `length` ≤ 6 | | `covering-backwards-marquee` | Up to 8, one for each step | | `backwards-moving-alternating` | Two | ## Interaction with Linux hwmon drivers [Linux hwmon]: #interaction-with-linux-hwmon-drivers _New in 1.9.0._
These devices are supported by the [liquidtux] `nzxt-grid3` driver, and status data is provided through a standard hwmon sysfs interface. Starting with version 1.9.0, liquidctl automatically detects when a kernel driver is bound to the device and, whenever possible, uses it instead of directly accessing the device. Alternatively, direct access to the device can be forced with `--direct-access`. [liquidtux]: https://github.com/liquidctl/liquidtux liquidctl-1.16.0/docs/windows/000077500000000000000000000000001515166127400162235ustar00rootroot00000000000000liquidctl-1.16.0/docs/windows/running-your-first-command-line-program.md000066400000000000000000000066151515166127400263640ustar00rootroot00000000000000# Running your first command-line program The command line is very straightforward: it was a precursor to the graphical user interfaces (GUIs) we are so used to, so it is much more simple and explicit than a GUI. A shell/terminal like Windows Command Prompt or Powershell is just some place were you write what you want some program to do. And they come with a few build-in "special programs" like `cd` (change directory). Unlike GUIs, command-line programs simply output their results to the terminal they were called from. I will get to "how to install" in a bit, but for now let us assume liquidctl has already been set up. If you want to list all devices, just type and hit enter: liquidctl list And this will result in an output that looks similar to: Device ID 0: NZXT Smart Device (V1) Device ID 1: NZXT Kraken X (X42, X52, X62 or X72) If you want to list all devices showing a bit more information: liquidctl list --verbose If you want to initialize all devices (which you should!): liquidctl initialize all If you want to show the status information: liquidctl status To change say the pump speed to 42%: liquidctl set pump speed 42 This last command will not show any output. This is normal: command-line programs tend to follow a convention that simplifies chaining programs and automating things with scripts: (unless explicitly requested otherwise), only output useful information or error messages. Some liquidctl commands can get slightly less English-looking than what was showed above, but they should still be readable. For example, to set the fans to follow the profile defined by three points (25°C -> 10%), (30°C -> 50%), (40°C -> 100%), execute: liquidctl set fan speed 25 10 30 50 40 100 While in isolation these numbers are not very self explanatory, they are simply the pairs of temperature and corresponding duty values: liquidctl set fan speed 25 10 30 50 40 100 ^^^^^ ^^^^^ ^^^^^^ pairs of temperature (°C) -> duty (%) _(The profiles run on the device, and therefore can only refer to the internal liquid temperature sensor)._ Each device family has a guide that can be found in the [list of _Supported Devices_], and that lists all features and attributes that are supported by those devices, as well as examples. [list of _Supported Devices_]: ../../README.md#supported-devices ## Setting up liquidctl There is currently no installer for Windows, due to a number of reasons (that are not very important right now). But the README has an extensive section on [how to manually install] liquidctl, and you can join our [Discord server] and ask for assistance. [how to manually install]: ../../README.md#manual-installation [Discord server]: https://discord.gg/GyCBjQhqCd ## Final words While you should be able to use liquidctl with just these tips, I still recommend you take a look at the rest of the [README], the documents in [docs] and, also, the output of: liquidctl --help [README]: ../../README.md [docs]: .. ## Notes ### About this document This document was originally a response to a direct message: > Hi. How are you? Hope you're staying safe and well. I just wanted to know of > there is a windows gui for liquidctl? > I have zero experience with command line stuff and I don't entirely understand > it... also most of the guides are from late 2018 or early 2019. > And i just bought a x53 kraken. liquidctl-1.16.0/extra/000077500000000000000000000000001515166127400147245ustar00rootroot00000000000000liquidctl-1.16.0/extra/completions/000077500000000000000000000000001515166127400172605ustar00rootroot00000000000000liquidctl-1.16.0/extra/completions/liquidctl.bash000066400000000000000000000236101515166127400221130ustar00rootroot00000000000000#!/usr/bin/env bash # Bash completions for liquidctl. # # Requires bash-completion.[1] # # Users can place this file in the `completions` subdir of # $BASH_COMPLETION_USER_DIR (defaults to `$XDG_DATA_HOME/bash-completion` or # `~/.local/share/bash-completion` if $XDG_DATA_HOME is not set). # # Distros should instead use the directory returned by # pkg-config --variable=completionsdir bash-completion # # See [1] for more information. # # [1] https://github.com/scop/bash-completion # # Copyright Marshall Asch and contributors # SPDX-License-Identifier: GPL-3.0-or-later # logging method _e() { echo "$1" >> log; } _list_bus_options () { liquidctl list -v | grep 'Bus:' | cut -d ':' -f 2 | sort -u } _list_vendor_options () { liquidctl list -v | grep 'Vendor ID:' | cut -d ':' -f 2 | cut -c4-6 | sort -u } _list_product_options () { liquidctl list -v | grep 'Product ID:' | cut -d ':' -f 2 | cut -c4-6 | sort -u } _list_device_options () { liquidctl list | cut -d ' ' -f 3 | cut -d ':' -f 1 | sort -u } _list_match_options () { liquidctl list | cut -d ':' -f 2 | sort -u | awk '{gsub(/\(|\)/,"",$0); print tolower($0)}' } _list_pick_options () { num=$(liquidctl list | wc -l) seq $num } _list_release_options () { liquidctl list -v | grep 'Release number:' | cut -d ':' -f 2 | sort -u } _list_address_options () { liquidctl list -v | grep 'Address:' | cut -d ':' -f 2 | sort -u } _list_port_options () { liquidctl list -v | grep 'Port:' | cut -d ':' -f 2 | sort -u } _list_serial_options () { liquidctl list -v | grep 'Serial number:' | cut -d ':' -f 2 | sort -u } _liquidctl_main() { local commands=" set initialize list status " local boolean_options=" --verbose -v --debug -g --json --version --help --single-12v-ocp --legacy-690lc --non-volatile --direct-access " local options_with_args=" --match -m --pick -n --vendor --product --release --serial --bus --address --usb-port --device -d --speed --time-per-color --time-off --alert-threshold --alert-color --pump-mode --unsafe --direction --start-led --maximum-leds --temperature-sensor --fan-mode " # generate options list and remove any flag that has already been given # note this will note remove the short and long versions options=($options_with_args $boolean_options) for i in "${!options[@]}"; do if [[ "${COMP_WORDS[@]}" =~ "${options[i]}" ]]; then unset 'options[i]' fi done; options=$(echo "${options[@]}") # This part will check if it is currently completing a flag local previous=$3 local cur="${COMP_WORDS[COMP_CWORD]}" case "$previous" in --vendor) COMPREPLY=($(compgen -W "$(_list_vendor_options)" -- "$cur")) return ;; --product) COMPREPLY=($(compgen -W "$(_list_product_options)" -- "$cur")) return ;; --bus) COMPREPLY=($(compgen -W "$(_list_bus_options)" -- "$cur")) return ;; --address) COMPREPLY=($(compgen -W "$(_list_port_options)" -- "$cur")) return ;; --match | -m ) COMPREPLY=($(compgen -W "$(_list_match_options)" -- "$cur")) return ;; --pick | -n ) COMPREPLY=($(compgen -W "$(_list_pick_options)" -- "$cur")) return ;; --device | -d ) COMPREPLY=($(compgen -W "$(_list_device_options)" -- "$cur")) return ;; --release) COMPREPLY=($(compgen -W "$(_list_release_options)" -- "$cur")) return ;; --serial) COMPREPLY=($(compgen -W "$(_list_serial_options)" -- "$cur")) return ;; --usb-port) COMPREPLY=($(compgen -W "$(_list_port_options)" -- "$cur")) return ;; --pump-mode) COMPREPLY=($(compgen -W "balanced quiet extreme" -- "$cur")) return ;; --* | -[a-z]*1) COMPREPLY=() return ;; esac # This will handle auto completing arguments even if they are given at the end of the command case "$cur" in -*) COMPREPLY=($(compgen -W "$options" -- "$cur")) return ;; esac local i=1 cmd # find the subcommand - first word after the flags while [[ "$i" -lt "$COMP_CWORD" ]] do local s="${COMP_WORDS[i]}" case "$s" in --help | --version) COMPREPLY=() return ;; -*) ;; initialize | list | status | set ) cmd="$s" break ;; esac (( i++ )) done if [[ "$i" -eq "$COMP_CWORD" ]] then COMPREPLY=($(compgen -W "$commands $options" -- "$cur")) return # return early if we're still completing the 'current' command fi # we've completed the 'current' command and now need to call the next completion function # subcommands have their own completion functions case "$cmd" in list) COMPREPLY="" ;; initialize) _liquidctl_initialize_command ;; status) COMPREPLY="" ;; set) _liquidctl_set_command ;; *) ;; esac } _liquidctl_initialize_command () { local i=1 subcommand_index # find the sub command (either a fan or an led to set) while [[ $i -lt $COMP_CWORD ]]; do local s="${COMP_WORDS[i]}" case "$s" in all) subcommand_index=$i break ;; esac (( i++ )) done if [[ "$i" -eq "$COMP_CWORD" ]] then local cur="${COMP_WORDS[COMP_CWORD]}" COMPREPLY=($(compgen -W "all" -- "$cur")) return # return early if we're still completing the 'current' command fi local cur="${COMP_WORDS[COMP_CWORD]}" COMPREPLY=() #($(compgen -W "all" -- "$cur")) } _liquidctl_set_command () { local i=1 subcommand_index handled=0 # find the sub command (either a fan or an led to set) while [[ $i -lt $COMP_CWORD ]]; do local s="${COMP_WORDS[i]}" case "$s" in fan[0-9] | fan | pump | pump-fan) subcommand_index=$i _liquidctl_set_fan handled=1 break ;; led[0-9] | led | sync | ring | logo | external) subcommand_index=$i _liquidctl_set_led handled=1 break ;; lcd) subcommand_index=$i _liquidctl_set_lcd handled=1 break ;; esac (( i++ )) done # check if it is a fan or an LED that is being set if [[ "$handled" -eq "0" ]] then # no trailing space here so that the fan number can be appended compopt -o nospace # possibly use some command here to get a list of all the possible channels from liquidctl local cur="${COMP_WORDS[COMP_CWORD]}" COMPREPLY=($(compgen -W "fan fan1 fan2 fan3 fan4 fan5 fan6 led led1 led2 led3 led4 led5 led6 pump pump-fan sync ring logo external lcd" -- "$cur")) fi } _liquidctl_set_fan () { local i=1 found=0 # find the sub command (either a fan or an led to set) while [[ $i -lt $COMP_CWORD ]]; do local s="${COMP_WORDS[i]}" if [[ "$s" = "speed" ]]; then found=1 break fi (( i++ )) done # check if it is a fan or an LED that is being set if [[ $found = 1 ]]; then COMPREPLY="" else COMPREPLY="speed" fi } _liquidctl_set_led () { local i=1 found=0 # find the sub command (either a fan or an led to set) while [[ $i -lt $COMP_CWORD ]]; do local s="${COMP_WORDS[i]}" if [[ "$s" = "color" ]]; then found=1 break fi (( i++ )) done # check if it is a fan or an LED that is being set if [[ $found = 1 ]]; then COMPREPLY="" else COMPREPLY="color" fi } _liquidctl_set_lcd () { local i=1 found=0 # find the sub command while [[ $i -lt $COMP_CWORD ]]; do local s="${COMP_WORDS[i]}" if [[ "$s" = "screen" ]]; then found=1 break fi (( i++ )) done # check if it is a fan or an LED that is being set if [[ $found = 1 ]]; then _liquidctl_set_screen else COMPREPLY="screen" fi } _liquidctl_set_screen () { local i=1 subcommand_index handled=0 # find the sub command (either a fan or an led to set) while [[ $i -lt $COMP_CWORD ]]; do local s="${COMP_WORDS[i]}" case "$s" in liquid) subcommand_index=$i COMPREPLY="" handled=1 break ;; brightness) subcommand_index=$i COMPREPLY="" handled=1 break ;; orientation) subcommand_index=$i local cur="${COMP_WORDS[COMP_CWORD]}" COMPREPLY=($(compgen -W "0 90 180 270" -- "$cur")) handled=1 break ;; static | gif) subcommand_index=$i local cur="${COMP_WORDS[COMP_CWORD]}" COMPREPLY=( $(compgen -f -- ${cur}) ) handled=1 break ;; esac (( i++ )) done # check if it is a fan or an LED that is being set if [[ "$handled" -eq "0" ]] then # no trailing space here so that the fan number can be appended compopt -o nospace # possibly use some command here to get a list of all the possible channels from liquidctl local cur="${COMP_WORDS[COMP_CWORD]}" COMPREPLY=($(compgen -W "liquid brightness orientation static gif" -- "$cur")) fi } complete -F _liquidctl_main liquidctl liquidctl-1.16.0/extra/contrib/000077500000000000000000000000001515166127400163645ustar00rootroot00000000000000liquidctl-1.16.0/extra/contrib/fusion_rgb_cycle.py000077500000000000000000000052701515166127400222610ustar00rootroot00000000000000#!/usr/bin/env python3 # Copyright (C) 2022–2022 Peter Eckersley # SPDX-License-Identifier: GPL-3.0-or-later import argparse import sys import time import liquidctl.cli as lc import liquidctl try: import coloraide as c except ImportError: print("The python coloraide package is not installed...") print("Try installing it with: pip install coloraide") sys.exit(1) teal = c.Color("#2de544") bluer = c.Color("#2d8a8d") deep_blue = c.Color("#001030") purple = c.Color("#c000c0") red = c.Color("#d00000") # set up argparse parser = argparse.ArgumentParser( description="Cycle through colors on an Gigabyte RGB Fusion 2.0 device." ) parser.add_argument( "--space", type=str, default="srgb", help="Color space to use; see https://facelessuser.github.io/coloraide/colors/", ) # you can provide 0 or more colors to cycle through parser.add_argument("colors", nargs="*", help="Colors to cycle through") parser.add_argument( "--steps", default=30, type=int, help="Number of steps per color fade (default: 30)" ) parser.add_argument("--debug", action="store_true", help="Print debug messages") parser.add_argument( "--channel", type=str, default="led6", help="Channel to use; see https://github.com/liquidctl/liquidctl/blob/main/docs/gigabyte-rgb-fusion2-guide.md", ) parser.add_argument( "--speed", type=float, default=1.0, help="Speed (seconds per color transition)" ) args = parser.parse_args() colors = [c.Color("#" + x) for x in args.colors] if len(colors) < 2: colors.append(teal) if len(colors) < 2: colors.append(bluer) devs = liquidctl.driver.rgb_fusion2.RgbFusion2.find_supported_devices() if not devs: print("No Gigabyte RGB Fusion 2.0 device found.") sys.exit(1) elif len(devs) > 1: print("Multiple Gigabyte RGB Fusion 2.0 devices found, using first one.") dev = devs[0] lookup = [] def to_int(color): string = color.to_string() # "rgb(255 75 0)" string = string.partition("(")[2][:-1] # "255 75 0" string = string.split() # ["255", "75", "0"] return [int(float(x)) for x in string] colors.append(colors[0]) # add first color at the end, so we can loop for i in range(len(colors) - 1): gradient = colors[i].interpolate(colors[i + 1], space=args.space) cols = [to_int(gradient(x / args.steps)) for x in range(args.steps)] lookup += cols if args.debug: print("Cycling through", len(lookup), "colors:\n", lookup) while True: # reconnect occasionally, just in case these connections die and we can bring them back with dev.connect(): for c in lookup: dev.set_color(channel=args.channel, mode="fixed", colors=[c]) time.sleep(args.speed * 2.0 / args.steps) liquidctl-1.16.0/extra/contrib/liquidctlfan/000077500000000000000000000000001515166127400210435ustar00rootroot00000000000000liquidctl-1.16.0/extra/contrib/liquidctlfan/README.md000066400000000000000000000074161515166127400223320ustar00rootroot00000000000000# liquidctlfan a wrapper script for liquidctl to control your fans When I built my first water-cooled PC a few months ago, using Linux, I thought it would be easy to control or regulate it. I quickly found liquidctl on Github and after a few weeks I could control my NZXT X73 under Linux. Thanks a lot for that! Unfortunately I found out that I couldn't control the fans in relation to the CPU temperature. (see https://github.com/liquidctl/liquidctl/issues/118) ## Components liquidctlfan - Wrapper script as a small demon systemd unit file - Unit file for integration into systemd ## Prerequisites The tools bc, sensors, liquidctl and logger must be installed. Sensors must receive a basic configuration before it can be used. Please use sensors-detect for this. The setup takes some time depending on the system. For example, after installation, a Ryzen 9 looks like this: ``` k10temp-pci-00c3 Adapter: PCI adapter Tdie: +42.0°C (high = +70.0°C) Tctl: +42.0°C ``` The script expects a line like Tdie. The script has been tested under Linux Mint 19.3. ## Installation Copy the file liquidctlfan into the directory "/usr/local/bin/" and set the permissions if necessary. ## Configuration and usage ``` Usage: ./liquidctlfan -p | --product is the product id of your fan controller (e.g. 0x1711) [*] -u | --unit Celsius or Fahrenheit (e.g. c|C|Celsius|f|F|Fahrenheit) [*] -ct1| --cputemp1 CPU temperature threshold value lowest (e.g. 50.0) [*] -ct2| --cputemp2 CPU temperature threshold value (e.g. 60.0) [*] -ct3| --cputemp3 CPU temperature threshold value (e.g. 70.0) [*] -ct4| --cputemp4 CPU temperature threshold value highest (e.g. 80.0) [*] -f0|--fan0 Fan setpoint in percent (e.g. 30) [*] -f1|--fan1 Fan setpoint in percent (e.g. 40) [*] -f2|--fan2 Fan setpoint in percent (e.g. 50) [*] -f3|--fan3 Fan setpoint in percent (e.g. 80) [*] -f4|--fan4 Fan setpoint in percent (e.g. 100) [*] -i|--interval CPU temperature check time in seconds (e.g. 10) [*] -l|--log Enable syslog logging (e.g. enable|disable|ENABLE|DISABLE) [*] -a|--about Show about message -h|--help Show this message [*] mandatory parameter ``` A normal call could be ... `./liquidctlfan -p 0x1711 -u c -ct1 50.0 -ct2 60.0 -ct3 70.0 -ct4 80.0 -f0 30 -f1 40 -f2 50 -f3 80 -f4 100 -i 10 -l disable` If it is not desired to pass parameters, all parameters can be stored permanently in the script. Just activate the parameters in the configuration area of the script (remove #). ``` ### Enable configuration to disable parameter handling #### ### Product ID of HUE Grid #PRID="0x1711" ##Unit Celsius C or Fahrenheit F #UNIT="C" ### CPU temperature threshold values #CPUT1="50.0" #CPUT2="60.0" #CPUT3="70.0" #CPUT4="80.0" ### FAN setpoints #FAN0="30" #FAN1="40" #FAN2="50" #FAN3="80" #FAN4="100" ###Interval check time #SLTIME="10" ###Enable Syslog #SYSLOG="enable" ########################################################### ``` ## systemd In the directory systemd you will find the unit file. Copy the file with root access liquidctlfan.service into /etc/systemd/system. Please regard if the parameters are to be transferred or if the stored parameters are to be taken over. The appropriate line must be activated. ``` [Unit] Description=liquidctl Fan Control After=liquidcfg.service [Service] ## Fixed configuration #ExecStart=/usr/local/bin/liquidctlfan ## Handover parameters ExecStart=/usr/local/bin/liquidctlfan -p 0x1711 -u c -ct1 50.0 -ct2 60.0 -ct3 70.0 -ct4 80.0 -f0 30 -f1 40 -f2 50 -f3 80 -f4 100 -i 10 -l enable Restart=on-failure [Install] WantedBy=multi-user.target ``` Use the following commands to reload the configuration, load the daemon at startup, start or stop the daemon. ``` systemctl daemon reload systemctl enable liquidctlfan.service systemctl start liquidctlfan.service systemctl stop liquidctlfan.service ``` liquidctl-1.16.0/extra/contrib/liquidctlfan/liquidctlfan000077500000000000000000000203571515166127400234570ustar00rootroot00000000000000#!/bin/bash # Place this script in /usr/local/bin or you've to adjust systemd unit file. # Please have a look at cputemp. You may have to adjust something for your system. # # Copyright (C) 2020 Martin Burgholte # SPDX-License-Identifier: GPL-3.0-or-later NAME="liquidctl Fan Control" PROCNAME=`basename "$0"` ### Enable configuration to disable parameter handling #### ### Product ID of HUE Grid #PRID="0x1711" ###Unit Celsius C or Fahrenheit F #UNIT="C" ### CPU temperature threshold values #CPUT1="50.0" #CPUT2="60.0" #CPUT3="70.0" #CPUT4="80.0" ### FAN setpoints #FAN0="30" #FAN1="40" #FAN2="50" #FAN3="80" #FAN4="100" ###Interval check time #SLTIME="10" ###Enable Syslog #SYSLOG="enable" ########################################################### programs=(bc sensors liquidctl logger) for program in "${programs[@]}"; do if ! command -v "$program" > /dev/null 2>&1; then echo "The following application: $program is missing. Please check it first." exit 1 fi done while [[ $# -gt 0 ]] do key="$1" case $key in -p|--product) PRID="$2" shift ;; -u|--unit) UNIT="$2" shift ;; -ct1|--cputemp1) CPUT1="$2" shift ;; -ct2|--cputemp2) CPUT2="$2" shift ;; -ct3|--cputemp3) CPUT3="$2" shift ;; -ct4|--cputemp4) CPUT4="$2" shift ;; -f0|--fan0) FAN0="$2" shift ;; -f1|--fan1) FAN1="$2" shift ;; -f2|--fan2) FAN2="$2" shift ;; -f3|--fan3) FAN3="$2" shift ;; -f4|--fan4) FAN4="$2" shift ;; -i|--interval) SLTIME="$2" shift ;; -l|--log) SYSLOG="$2" shift ;; -a|--about) echo -e "$NAME - wrapper script for liquidctl to control your fans\nCopyright (C) 2020 Martin Burgholte\nSPDX-License-Identifier: GPL-3.0-or-later" exit 0 ;; -h|--help) echo -e "Usage: $0\n\t-p|--product Product id of controller \n\t-u|--unit Celsius or Fahrenheit \n\t-ct1|--cputemp1 CPU temperature threshold value lowest \n\t-ct2|--cputemp2 CPU temperature threshold value\n\t-ct3|--cputemp3 CPU temperature threshold value \n\t-ct4|--cputemp4 CPU temperature threshold value highest \n\t-f0|--fan0 Fan setpoint in percent lowest (idle) \n\t-f1|--fan1 Fan setpoint in percent \n\t-f2|--fan2 Fan setpoint in percent \n\t-f3|--fan3 Fan setpoint in percent \n\t-f4|--fan4 Fan setpoint in percent highest\n\t-i|--interval CPU temperature check time\n\t--l|--log Enable syslog logging \n\t-a|--about Show about message \n\t-h|--help Show this message" exit 0 ;; *) echo -e "Usage: $0\n\t-p|--product Product id of controller \n\t-u|--unit Celsius or Fahrenheit \n\t-ct1|--cputemp1 CPU temperature threshold value lowest \n\t-ct2|--cputemp2 CPU temperature threshold value\n\t-ct3|--cputemp3 CPU temperature threshold value \n\t-ct4|--cputemp4 CPU temperature threshold value highest \n\t-f0|--fan0 Fan setpoint in percent lowest (idle) \n\t-f1|--fan1 Fan setpoint in percent \n\t-f2|--fan2 Fan setpoint in percent \n\t-f3|--fan3 Fan setpoint in percent \n\t-f4|--fan4 Fan setpoint in percent highest\n\t-i|--interval CPU temperature check time\n\t--l|--log Enable syslog logging \n\t-a|--about Show about message \n\t-h|--help Show this message" exit 1 ;; esac shift done # Parameter check if [[ -z $PRID ]] || [[ -z $UNIT ]] || [[ -z $CPUT1 ]] || [[ -z $CPUT2 ]] || [[ -z $CPUT3 ]] || [[ -z $CPUT4 ]] || [[ -z $FAN0 ]] || [[ -z $FAN1 ]] || [[ -z $FAN2 ]] || [[ -z $FAN3 ]] || [[ -z $FAN4 ]] || [[ -z $SLTIME ]] || [[ -z $SYSLOG ]] then echo -e "Missing parameter!\nUsage: $0\n\t-p|--product Product id of controller \n\t-u|--unit Celsius or Fahrenheit \n\t-ct1|--cputemp1 CPU temperature threshold value lowest \n\t-ct2|--cputemp2 CPU temperature threshold value\n\t-ct3|--cputemp3 CPU temperature threshold value \n\t-ct4|--cputemp4 CPU temperature threshold value highest \n\t-f0|--fan0 Fan setpoint in percent lowest (idle) \n\t-f1|--fan1 Fan setpoint in percent \n\t-f2|--fan2 Fan setpoint in percent \n\t-f3|--fan3 Fan setpoint in percent \n\t-f4|--fan4 Fan setpoint in percent highest\n\t-i|--interval CPU temperature check time\n\t--l|--log Enable syslog logging \n\t-a|--about Show about message \n\t-h|--help Show this message" exit 1 fi # Unit check case $UNIT in f|F|Fahrenheit) # echo -n "Fahrenheit" UNIT="F" ;; c|C|Celsius) # echo -n "Celsius" UNIT="C" ;; *) echo -e "Wrong unit parameter! Please use for\n\t°C -> c|C|Celsius or\n\t°F -> f|F|Fahrenheit." exit 1 ;; esac # Syslog check case $SYSLOG in enable|ENABLE|true|TRUE) SYSLOG="1" ;; disable|DISABLE|false|FALSE) SYSLOG="0" ;; *) echo -e "Wrong syslog parameter! Please use for\n\tactive -> enable|ENABLE|TRUE|true or\n\tinactive -> disable|DISABLE|FALSE|false" exit 1 ;; esac # CPU temperature threshold value check if (( $(echo "$CPUT1 < $CPUT2" | bc -l) )) then if (( $(echo "$CPUT2 < $CPUT3" | bc -l) )) then if (( $(echo "$CPUT3 < $CPUT4" | bc -l) )) then echo -e "CPU temperature thresholds looking good." else echo -e "CPU temperature threshold error! CPU temperature t3 $CPUT3 is not less than t4 $CPUT4. Please check your threshold." exit 1 fi else echo -e "CPU temperature threshold error! CPU temperature t2 $CPUT2 is not less than t3 $CPUT3. Please check your threshold." exit 1 fi else echo -e "CPU temperature threshold error! CPU temperature t1 $CPUT1 is not less than t2 $CPUT2. Please check your threshold." exit 1 fi # FAN setpoint check if (( $(echo "$FAN0 < $FAN1" | bc -l) )) then if (( $(echo "$FAN1 < $FAN2" | bc -l) )) then if (( $(echo "$FAN2 < $FAN3" | bc -l) )) then if (( $(echo "$FAN3 < $FAN4" | bc -l) )) then echo -e "FAN setpoints looking good." else echo -e "FAN setpoint error! FAN setpoint f3 $FAN3 is not less than f4 $FAN4. Please check your setpoints." exit 1 fi else echo -e "FAN setpoint error! FAN setpoint f2 $FAN2 is not less than f3 $FAN3. Please check your setpoints." exit 1 fi else echo -e "FAN setpoint error! FAN setpoint f1 $FAN1 is not less than f2 $FAN2. Please check your setpoints." exit 1 fi else echo -e "FAN setpoint error! FAN setpoint f0 $FAN0 is not less than f1 $FAN1. Please check your setpoints." exit 1 fi LIQBIN=`command -v liquidctl` while true do # ATTENTION Check your CPU temperature sensor value. if [ $UNIT == "F" ] then cputemp=`sensors -f | grep Tdie | awk '{ print $2 }' | sed -e s/°$UNIT//g | sed -e s/+//g` else cputemp=`sensors | grep Tdie | awk '{ print $2 }' | sed -e s/°$UNIT//g | sed -e s/+//g` fi if (( $(echo "$cputemp > $CPUT4" | bc -l) )) then if [ $SYSLOG -eq "1" ] then logger --id=$$ `echo -ne "$PROCNAME CPU temperature is $cputemp °$UNIT setting FANs to $FAN4 %\r"` else echo -ne "$PROCNAME CPU temperature is $cputemp °$UNIT setting FANs to $FAN4 %\r" fi $LIQBIN --product $PRID set sync speed $FAN4 elif (( $(echo "$cputemp >= $CPUT3" | bc -l) )) then if [ $SYSLOG -eq "1" ] then logger --id=$$ `echo -ne "$PROCNAME CPU temperature is $cputemp °$UNIT setting FANs to $FAN3 %\r"` else echo -ne "$PROCNAME CPU temperature is $cputemp °$UNIT setting FANs to $FAN3 %\r" fi $LIQBIN --product $PRID set sync speed $FAN3 elif (( $(echo "$cputemp >= $CPUT2" | bc -l) )) then if [ $SYSLOG -eq "1" ] then logger --id=$$ `echo -ne "$PROCNAME CPU temperature is $cputemp °$UNIT setting FANs to $FAN2 %\r"` else echo -ne "$PROCNAME CPU temperature is $cputemp °$UNIT setting FANs to $FAN2 %\r" fi $LIQBIN --product $PRID set sync speed $FAN2 elif (( $(echo "$cputemp >= $CPUT1" | bc -l) )) then if [ $SYSLOG -eq "1" ] then logger --id=$$ `echo -ne "$PROCNAME CPU temperature is $cputemp°$UNIT setting FANs to $FAN1 %\r"` else echo -ne "$PROCNAME CPU temperature is $cputemp °$UNIT setting FANs to $FAN1 %\r" fi $LIQBIN --product $PRID set sync speed $FAN1 elif (( $(echo "$cputemp < $CPUT1" | bc -l) )) then if [ $SYSLOG -eq "1" ] then logger --id=$$ `echo -ne "$PROCNAME CPU temperature is $cputemp °$UNIT setting FANs to $FAN0 %\r"` else echo -ne "$PROCNAME CPU temperature is $cputemp °$UNIT setting FANs to $FAN0 %\r" fi $LIQBIN --product $PRID set sync speed $FAN0 fi sleep $SLTIME done liquidctl-1.16.0/extra/contrib/liquidctlfan/systemd/000077500000000000000000000000001515166127400225335ustar00rootroot00000000000000liquidctl-1.16.0/extra/contrib/liquidctlfan/systemd/liquidctlfan.service000066400000000000000000000005541515166127400266000ustar00rootroot00000000000000[Unit] Description=liquidctl Fan Control After=liquidcfg.service [Service] ## Fixed configuration #ExecStart=/usr/local/bin/liquidctlfan ## Handover parameters ExecStart=/usr/local/bin/liquidctlfan -p 0x1711 -u c -ct1 50.0 -ct2 60.0 -ct3 70.0 -ct4 80.0 -f0 30 -f1 40 -f2 50 -f3 80 -f4 100 -i 10 -l enable Restart=on-failure [Install] WantedBy=multi-user.target liquidctl-1.16.0/extra/dist/000077500000000000000000000000001515166127400156675ustar00rootroot00000000000000liquidctl-1.16.0/extra/dist/pypi-readme.md000066400000000000000000000031721515166127400204300ustar00rootroot00000000000000# liquidctl – liquid cooler control Cross-platform tool and drivers for liquid coolers and other devices. Go to the [project homepage] for more information. ``` $ liquidctl list Device #0: Corsair Vengeance RGB DIMM2 Device #1: Corsair Vengeance RGB DIMM4 Device #2: NZXT Smart Device (V1) Device #3: NZXT Kraken X (X42, X52, X62 or X72) # liquidctl initialize all NZXT Smart Device (V1) ├── Firmware version 1.7 ├── LED accessories 2 ├── LED accessory type HUE+ Strip └── LED count (total) 20 NZXT Kraken X (X42, X52, X62 or X72) └── Firmware version 6.2 # liquidctl status NZXT Smart Device (V1) ├── Fan 1 speed 1499 rpm ├── Fan 1 voltage 11.91 V ├── Fan 1 current 0.05 A ├── Fan 1 control mode PWM ├── Fan 2 [...] ├── Fan 3 [...] └── Noise level 61 dB NZXT Kraken X (X42, X52, X62 or X72) ├── Liquid temperature 34.7 °C ├── Fan speed 798 rpm └── Pump speed 2268 rpm # liquidctl status --match vengeance --unsafe=smbus,vengeance_rgb Corsair Vengeance RGB DIMM2 └── Temperature 37.5 °C Corsair Vengeance RGB DIMM4 └── Temperature 37.8 °C # liquidctl --match kraken set fan speed 20 30 30 50 34 80 40 90 50 100 # liquidctl --match kraken set pump speed 70 # liquidctl --match kraken set sync color fixed 0080ff # liquidctl --match "smart device" set led color moving-alternating "hsv(30,98,100)" "hsv(30,98,10)" --speed slower ``` [project homepage]: https://github.com/liquidctl/liquidctl liquidctl-1.16.0/extra/krakenduty-poc.py000077500000000000000000000070501515166127400202430ustar00rootroot00000000000000#!/usr/bin/env python3 """krakenduty proof of concept – translate Kraken X speeds to duty values This is just a proof of concept. Usage: krakenduty-poc train krakenduty-poc status krakenduty-poc --help krakenduty-poc --version Copyright Jonas Malaco and contributors SPDX-License-Identifier: GPL-3.0-or-later """ import ast from time import sleep from docopt import docopt from liquidctl.driver.kraken_two import KrakenTwoDriver from liquidctl.util import interpolate_profile as interpolate DATAFILE = ".krakenduty-poc" DUTY_STEP = 5 DUTY_SLEEP = 5 DUTY_SAMPLES = 5 def get_speeds(device): status = {k: v for k, v, u in device.get_status()} return (status["Fan speed"], status["Pump speed"]) def find_duty_values(training_data, fan_speed, pump_speed): # for now simply interpolate, but this is terrible because it ignores variance fan_duty = interpolate(sorted([(speed, duty) for duty, speed, _ in training_data]), fan_speed) pump_duty = interpolate(sorted([(speed, duty) for duty, _, speed in training_data]), pump_speed) # don't return values outside the allowed bounds to avoid confusion return (min(max(fan_duty, 25), 100), min(max(pump_duty, 50), 100)) def do_train(device): # read current values fan_speed, pump_speed = get_speeds(device) print("starting values: fan = {} rpm, pump = {} rpm".format(fan_speed, pump_speed)) # train training_data = [] for duty in range(0, 101, DUTY_STEP): # don't worry if duty is off spec, the driver will correct it for channel in ["fan", "pump"]: device.set_fixed_speed(channel, duty) # wait significantly to allow the speed to stabilize sleep(DUTY_SLEEP) # get a few samples because there is some natural variation; # though this might need some delays and, also, depend on the actually # observed variance samples = [get_speeds(device) for i in range(DUTY_SAMPLES)] average = [sum(i) / len(i) for i in zip(*samples)] print("{}% duty: fan = {:.0f} rpm, pump = {:.0f} rpm".format(duty, *average)) training_data.append([duty] + average) with open(DATAFILE, "w") as f: f.write(str(training_data)) # (try to) restore the current values fan_duty, pump_duty = find_duty_values(training_data, fan_speed, pump_speed) print("applying fixed values: fan = {}%, pump = {}%".format(fan_duty, pump_duty)) device.set_fixed_speed("fan", fan_duty) device.set_fixed_speed("pump", pump_duty) def do_status(device): # read training data training_data = [] with open(DATAFILE, "r") as f: training_data = ast.literal_eval(f.read()) # augment status = [] for k, v, u in device.get_status(): status.append((k, v, u)) if k == "Fan speed": fan_duty, _ = find_duty_values(training_data, v, 0) status.append(("Fan duty", fan_duty, "%")) elif k == "Pump speed": _, pump_duty = find_duty_values(training_data, 0, v) status.append(("Pump duty", pump_duty, "%")) # report print("{}".format(device.description)) for k, v, u in status: print("{:<20} {:>6} {:<3}".format(k, v, u)) print("") if __name__ == "__main__": args = docopt(__doc__, version="0.0.2") device = KrakenTwoDriver.find_supported_devices()[0] device.connect() try: if args["train"]: do_train(device) elif args["status"]: do_status(device) else: raise Exception("nothing to do") finally: device.disconnect() liquidctl-1.16.0/extra/linux/000077500000000000000000000000001515166127400160635ustar00rootroot00000000000000liquidctl-1.16.0/extra/linux/71-liquidctl.rules000066400000000000000000000636311515166127400213670ustar00rootroot00000000000000# Rules that grant unprivileged access to devices supported by liquidctl. # # Users and distros are encouraged to use these if they want liquidctl to work # without requiring root privileges (e.g. without the use of `sudo`). # # In the case of I²C/SMBus devices, these rules also cause the loading of the # `i2c-dev` kernel module. This module is required for access to I²C/SMBus # devices from userspace, and manually loading kernel modules is in itself a # privileged operation. # # Distros will likely want to place this file in `/usr/lib/udev/rules.d/`, while # users installing this manually SHOULD use `/etc/udev/rules.d/` instead. # # The suggested name for this file is `71-liquidctl.rules`. Whatever name is # used, it MUST lexically appear before 73-seat-late.rules. The suggested name # was chosen so that it is also lexically after systemd-provided 70-uaccess.rules. # # Once installed, reload and trigger the new rules with: # # # udevadm control --reload # # udevadm trigger # # Note that this will not change the mode of `/dev/hidraw*` devices that have # already been created. In practice, this means that HIDs may continue to require # privileged access until, either, they are rebound to their kernel drivers, or # the system is rebooted. # # These rules assume a system with modern versions of systemd/udev, that support # the `uaccess` tag. On older systems the rules can be changed to instead set # GROUP="plugdev" and MODE="0660"; other groups and modes may also be used. # # The use of the `uaccess` mechanism assumes that only physical sessions (or # "seats") need unprivileged access to the devices.[^1][^2] In case headless # sessions are also expected to interactively run liquidctl, GROUP and MODE should # also be set, as a fallback. # # Finally, this file was automatically generated. To update it, from a Linux # shell and the current directory, execute: # # $ python generate-uaccess-udev-rules.py > 71-liquidctl.rules # # [^1]: https://github.com/systemd/systemd/issues/4288 # [^2]: https://wiki.archlinux.org/title/Users_and_groups#Pre-systemd_groups # Section: special cases # Host SMBus on Intel mainstream/HEDT platforms KERNEL=="i2c-*", DRIVERS=="i801_smbus", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # Section: NVIDIA graphics cards # ASUS Strix GTX 1050 OC KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1c81", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x85d8", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix GTX 1050 Ti OC KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1c82", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x85cd", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix GTX 1050 Ti OC KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1c82", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x85d1", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix GTX 1060 6GB KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1c03", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x85a4", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix GTX 1060 OC 6GB KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1c03", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x85ac", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix GTX 1070 KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1b81", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x8598", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix GTX 1070 OC KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1b81", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x8599", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix GTX 1070 Ti KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1b82", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x861d", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix GTX 1070 Ti Advanced KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1b82", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x861e", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix GTX 1080 KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1b80", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x8592", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix GTX 1080 Advanced KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1b80", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x85aa", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix GTX 1080 OC KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1b80", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x85f9", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix GTX 1080 Ti KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1b06", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x85eb", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix GTX 1080 Ti KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1b06", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x85f1", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix GTX 1080 Ti OC KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1b06", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x85ea", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix GTX 1080 Ti OC KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1b06", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x85e4", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix GTX 1650 Super OC KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x2187", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x874f", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix GTX 1660 Super OC KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x21c4", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x8752", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix GTX 1660 Ti OC KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x2182", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x86a5", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix RTX 2060 Evo KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1f08", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x86d3", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix RTX 2060 Evo OC KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1e89", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x8775", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix RTX 2060 OC KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1f08", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x868e", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix RTX 2060 Super KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1f06", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x8730", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix RTX 2060 Super Advanced KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1f06", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x86fc", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix RTX 2060 Super Evo Advanced KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1f47", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x8703", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix RTX 2060 Super OC KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1f06", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x86fb", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix RTX 2070 KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1e84", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x8707", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix RTX 2070 Advanced KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1f07", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x8671", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix RTX 2070 OC KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1f07", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x8670", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix RTX 2070 Super Advanced KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1ec7", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x86ff", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix RTX 2070 Super Advanced KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1e84", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x8728", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix RTX 2070 Super Advanced KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1e84", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x8706", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix RTX 2070 Super OC KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1e84", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x8727", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix RTX 2070 Super OC KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1e84", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x8729", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix RTX 2080 OC KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1e87", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x865f", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix RTX 2080 Super Advanced KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1e81", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x8712", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix RTX 2080 Super OC KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1e81", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x8711", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix RTX 2080 Ti KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1e04", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x8687", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS Strix RTX 2080 Ti OC KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1e07", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x866a", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # ASUS TUF RTX 3060 Ti OC KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x2489", ATTRS{subsystem_vendor}=="0x1043", \ ATTRS{subsystem_device}=="0x87c6", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # EVGA GTX 1070 FTW KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1b81", ATTRS{subsystem_vendor}=="0x3842", \ ATTRS{subsystem_device}=="0x6276", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # EVGA GTX 1070 FTW DT Gaming KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1b81", ATTRS{subsystem_vendor}=="0x3842", \ ATTRS{subsystem_device}=="0x6274", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # EVGA GTX 1070 FTW Hybrid KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1b81", ATTRS{subsystem_vendor}=="0x3842", \ ATTRS{subsystem_device}=="0x6278", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # EVGA GTX 1070 Ti FTW2 KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1b82", ATTRS{subsystem_vendor}=="0x3842", \ ATTRS{subsystem_device}=="0x6775", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # EVGA GTX 1080 FTW KERNEL=="i2c-*", ATTR{name}=="NVIDIA i2c adapter 1 *", ATTRS{vendor}=="0x10de", \ ATTRS{device}=="0x1b80", ATTRS{subsystem_vendor}=="0x3842", \ ATTRS{subsystem_device}=="0x6286", DRIVERS=="nvidia", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" # Section: USB devices and USB HIDs # ASUS Aura LED Controller SUBSYSTEMS=="usb", ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="19af", TAG+="uaccess" # ASUS Aura LED Controller SUBSYSTEMS=="usb", ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="1939", TAG+="uaccess" # ASUS Aura LED Controller SUBSYSTEMS=="usb", ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="18f3", TAG+="uaccess" # ASUS Ryujin II 360 SUBSYSTEMS=="usb", ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="1988", TAG+="uaccess" # ASUS Ryujin III 360 SUBSYSTEMS=="usb", ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="1aa2", TAG+="uaccess" # ASUS Ryujin III EVA SUBSYSTEMS=="usb", ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="1ade", TAG+="uaccess" # ASUS Ryujin III Extreme SUBSYSTEMS=="usb", ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="1bcb", TAG+="uaccess" # ASUS Ryujin III White SUBSYSTEMS=="usb", ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="1ada", TAG+="uaccess" # ASUS Ryuo I 240 SUBSYSTEMS=="usb", ATTRS{idVendor}=="0b05", ATTRS{idProduct}=="1887", TAG+="uaccess" # Aquacomputer D5 Next SUBSYSTEMS=="usb", ATTRS{idVendor}=="0c70", ATTRS{idProduct}=="f00e", TAG+="uaccess" # Aquacomputer Farbwerk SUBSYSTEMS=="usb", ATTRS{idVendor}=="0c70", ATTRS{idProduct}=="f00a", TAG+="uaccess" # Aquacomputer Farbwerk 360 SUBSYSTEMS=="usb", ATTRS{idVendor}=="0c70", ATTRS{idProduct}=="f010", TAG+="uaccess" # Aquacomputer Octo SUBSYSTEMS=="usb", ATTRS{idVendor}=="0c70", ATTRS{idProduct}=="f011", TAG+="uaccess" # Aquacomputer Quadro SUBSYSTEMS=="usb", ATTRS{idVendor}=="0c70", ATTRS{idProduct}=="f00d", TAG+="uaccess" # Asetek 690LC (assuming EVGA CLC) # Asetek 690LC (assuming NZXT Kraken X) SUBSYSTEMS=="usb", ATTRS{idVendor}=="2433", ATTRS{idProduct}=="b200", TAG+="uaccess" # Corsair Commander Core (broken) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c1c", TAG+="uaccess" # Corsair Commander Core XT (broken) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c2a", TAG+="uaccess" # Corsair Commander Pro SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c10", TAG+="uaccess" # Corsair Commander ST (broken) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c32", TAG+="uaccess" # Corsair H110i GT SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c04", TAG+="uaccess" # Corsair HX1000i SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="1c07", TAG+="uaccess" # Corsair HX1000i (2022) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="1c1e", TAG+="uaccess" # Corsair HX1200i SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="1c08", TAG+="uaccess" # Corsair HX1200i ATX 3.1 SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="1c23", TAG+="uaccess" # Corsair HX1200i ATX 3.1 #2 SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="1c27", TAG+="uaccess" # Corsair HX1500i SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="1c1f", TAG+="uaccess" # Corsair HX750i SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="1c05", TAG+="uaccess" # Corsair HX850i SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="1c06", TAG+="uaccess" # Corsair Hydro H100i GTX SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c03", TAG+="uaccess" # Corsair Hydro H100i Platinum SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c18", TAG+="uaccess" # Corsair Hydro H100i Platinum SE SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c19", TAG+="uaccess" # Corsair Hydro H100i Pro SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c15", TAG+="uaccess" # Corsair Hydro H100i Pro XT SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c20", TAG+="uaccess" # Corsair Hydro H100i v2 SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c09", TAG+="uaccess" # Corsair Hydro H110i GTX SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c07", TAG+="uaccess" # Corsair Hydro H115i SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c0a", TAG+="uaccess" # Corsair Hydro H115i Platinum SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c17", TAG+="uaccess" # Corsair Hydro H115i Pro SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c13", TAG+="uaccess" # Corsair Hydro H115i Pro XT SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c21", TAG+="uaccess" # Corsair Hydro H150i Pro SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c12", TAG+="uaccess" # Corsair Hydro H150i Pro XT SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c22", TAG+="uaccess" # Corsair Hydro H60i Pro XT SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c29", TAG+="uaccess" # Corsair Hydro H80i GT SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c02", TAG+="uaccess" # Corsair Hydro H80i v2 SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c08", TAG+="uaccess" # Corsair Lighting Node Core SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c1a", TAG+="uaccess" # Corsair Lighting Node Pro SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c0b", TAG+="uaccess" # Corsair Obsidian 1000D SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="1d00", TAG+="uaccess" # Corsair RM1000i SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="1c0d", TAG+="uaccess" # Corsair RM650i SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="1c0a", TAG+="uaccess" # Corsair RM750i SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="1c0b", TAG+="uaccess" # Corsair RM850i SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="1c0c", TAG+="uaccess" # Corsair iCUE H100i Elite RGB SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c35", TAG+="uaccess" # Corsair iCUE H100i Elite RGB (White) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c40", TAG+="uaccess" # Corsair iCUE H115i Elite RGB SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c36", TAG+="uaccess" # Corsair iCUE H150i Elite RGB SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c37", TAG+="uaccess" # Corsair iCUE H150i Elite RGB (White) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b1c", ATTRS{idProduct}=="0c41", TAG+="uaccess" # Gigabyte RGB Fusion 2.0 5702 Controller SUBSYSTEMS=="usb", ATTRS{idVendor}=="048d", ATTRS{idProduct}=="5702", TAG+="uaccess" # Gigabyte RGB Fusion 2.0 8297 Controller SUBSYSTEMS=="usb", ATTRS{idVendor}=="048d", ATTRS{idProduct}=="8297", TAG+="uaccess" # Lian Li GA II LCD SUBSYSTEMS=="usb", ATTRS{idVendor}=="0416", ATTRS{idProduct}=="7395", TAG+="uaccess" # Lian Li Uni AL SUBSYSTEMS=="usb", ATTRS{idVendor}=="0cf2", ATTRS{idProduct}=="a101", TAG+="uaccess" # Lian Li Uni AL V2 SUBSYSTEMS=="usb", ATTRS{idVendor}=="0cf2", ATTRS{idProduct}=="a104", TAG+="uaccess" # Lian Li Uni SL SUBSYSTEMS=="usb", ATTRS{idVendor}=="0cf2", ATTRS{idProduct}=="7750", TAG+="uaccess" # Lian Li Uni SL SUBSYSTEMS=="usb", ATTRS{idVendor}=="0cf2", ATTRS{idProduct}=="a100", TAG+="uaccess" # Lian Li Uni SL V2 SUBSYSTEMS=="usb", ATTRS{idVendor}=="0cf2", ATTRS{idProduct}=="a103", TAG+="uaccess" # Lian Li Uni SL V2 SUBSYSTEMS=="usb", ATTRS{idVendor}=="0cf2", ATTRS{idProduct}=="a105", TAG+="uaccess" # Lian Li Uni SL-Infinity SUBSYSTEMS=="usb", ATTRS{idVendor}=="0cf2", ATTRS{idProduct}=="a102", TAG+="uaccess" # MSI MPG Coreliquid K360 SUBSYSTEMS=="usb", ATTRS{idVendor}=="0db0", ATTRS{idProduct}=="b130", TAG+="uaccess" # NZXT 2023 RGB Controller SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="2012", TAG+="uaccess" # NZXT 2023 RGB Controller SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="2021", TAG+="uaccess" # NZXT Control Hub SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="2022", TAG+="uaccess" # NZXT E500 SUBSYSTEMS=="usb", ATTRS{idVendor}=="7793", ATTRS{idProduct}=="5911", TAG+="uaccess" # NZXT E650 SUBSYSTEMS=="usb", ATTRS{idVendor}=="7793", ATTRS{idProduct}=="5912", TAG+="uaccess" # NZXT E850 SUBSYSTEMS=="usb", ATTRS{idVendor}=="7793", ATTRS{idProduct}=="2500", TAG+="uaccess" # NZXT Grid+ V3 SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="1711", TAG+="uaccess" # NZXT H1 V2 SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="2015", TAG+="uaccess" # NZXT HUE 2 SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="2001", TAG+="uaccess" # NZXT HUE 2 Ambient SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="2002", TAG+="uaccess" # NZXT Kraken 2023 SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="300e", TAG+="uaccess" # NZXT Kraken 2023 Elite (broken) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="300c", TAG+="uaccess" # NZXT Kraken 2024 Elite RGB SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="3012", TAG+="uaccess" # NZXT Kraken 2024 Plus SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="3014", TAG+="uaccess" # NZXT Kraken M22 SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="1715", TAG+="uaccess" # NZXT Kraken X (X42, X52, X62 or X72) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="170e", TAG+="uaccess" # NZXT Kraken X (X53, X63 or X73) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="2007", TAG+="uaccess" # NZXT Kraken X (X53, X63 or X73) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="2014", TAG+="uaccess" # NZXT Kraken Z (Z53, Z63 or Z73) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="3008", TAG+="uaccess" # NZXT RGB & Fan Controller SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="2009", TAG+="uaccess" # NZXT RGB & Fan Controller SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="200e", TAG+="uaccess" # NZXT RGB & Fan Controller SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="2010", TAG+="uaccess" # NZXT RGB & Fan Controller (3+6 channels) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="2011", TAG+="uaccess" # NZXT RGB & Fan Controller (3+6 channels) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="2019", TAG+="uaccess" # NZXT RGB & Fan Controller (3+6 channels) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="201f", TAG+="uaccess" # NZXT RGB & Fan Controller (3+6 channels) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="2020", TAG+="uaccess" # NZXT Smart Device (V1) SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="1714", TAG+="uaccess" # NZXT Smart Device V2 SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="2006", TAG+="uaccess" # NZXT Smart Device V2 SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="200d", TAG+="uaccess" # NZXT Smart Device V2 SUBSYSTEMS=="usb", ATTRS{idVendor}=="1e71", ATTRS{idProduct}=="200f", TAG+="uaccess" # Suspected MSI MPG Coreliquid SUBSYSTEMS=="usb", ATTRS{idVendor}=="0db0", ATTRS{idProduct}=="ca00", TAG+="uaccess" # Suspected MSI MPG Coreliquid SUBSYSTEMS=="usb", ATTRS{idVendor}=="0db0", ATTRS{idProduct}=="ca02", TAG+="uaccess" liquidctl-1.16.0/extra/linux/generate-uaccess-udev-rules.py000077500000000000000000000126751515166127400237620ustar00rootroot00000000000000# uses the psf/black style import sys from inspect import cleandoc if __name__ == "__main__": # This script is meant to be executed from this directory or the project root. # We use that assumption to make Python pick the local liquidctl modules, # instead other versions that may be installed on the environment/system. sys.path = ["../..", ""] + sys.path # The 71-liquidctl.rules file must always be written in UTF-8. Therefore, # when we detect that stdout has been redirected to a file, make sure that # it is set to UTF-8, regardless of the current locale. if not sys.stdout.isatty() and sys.stdout.encoding != "utf-8": print("liquidctl udev rules files must use UTF-8, reconfiguring stdout", file=sys.stderr) sys.stdout.reconfigure(encoding="utf-8") from liquidctl.driver.base import find_all_subclasses from liquidctl.driver.nvidia import _NvidiaI2CDriver from liquidctl.driver.usb import BaseUsbDriver HEADER = """ # Rules that grant unprivileged access to devices supported by liquidctl. # # Users and distros are encouraged to use these if they want liquidctl to work # without requiring root privileges (e.g. without the use of `sudo`). # # In the case of I²C/SMBus devices, these rules also cause the loading of the # `i2c-dev` kernel module. This module is required for access to I²C/SMBus # devices from userspace, and manually loading kernel modules is in itself a # privileged operation. # # Distros will likely want to place this file in `/usr/lib/udev/rules.d/`, while # users installing this manually SHOULD use `/etc/udev/rules.d/` instead. # # The suggested name for this file is `71-liquidctl.rules`. Whatever name is # used, it MUST lexically appear before 73-seat-late.rules. The suggested name # was chosen so that it is also lexically after systemd-provided 70-uaccess.rules. # # Once installed, reload and trigger the new rules with: # # # udevadm control --reload # # udevadm trigger # # Note that this will not change the mode of `/dev/hidraw*` devices that have # already been created. In practice, this means that HIDs may continue to require # privileged access until, either, they are rebound to their kernel drivers, or # the system is rebooted. # # These rules assume a system with modern versions of systemd/udev, that support # the `uaccess` tag. On older systems the rules can be changed to instead set # GROUP="plugdev" and MODE="0660"; other groups and modes may also be used. # # The use of the `uaccess` mechanism assumes that only physical sessions (or # "seats") need unprivileged access to the devices.[^1][^2] In case headless # sessions are also expected to interactively run liquidctl, GROUP and MODE should # also be set, as a fallback. # # Finally, this file was automatically generated. To update it, from a Linux # shell and the current directory, execute: # # $ python generate-uaccess-udev-rules.py > 71-liquidctl.rules # # [^1]: https://github.com/systemd/systemd/issues/4288 # [^2]: https://wiki.archlinux.org/title/Users_and_groups#Pre-systemd_groups """ MANUAL_RULES = r""" # Section: special cases # Host SMBus on Intel mainstream/HEDT platforms KERNEL=="i2c-*", DRIVERS=="i801_smbus", TAG+="uaccess", \ RUN{builtin}="kmod load i2c-dev" """ print(cleandoc(HEADER)) print() print() print(cleandoc(MANUAL_RULES)) print() print() print(f"# Section: NVIDIA graphics cards") nvidia_devs = {} for driver in find_all_subclasses(_NvidiaI2CDriver): for did, sdid, description in driver._MATCHES: ids = (driver._VENDOR, did, sdid) if ids in nvidia_devs: nvidia_devs[ids].append(description) nvidia_devs[ids].sort() else: nvidia_devs[ids] = [description] nvidia_devs = [ (svid, did, sdid, description) for (svid, did, sdid), description in nvidia_devs.items() ] nvidia_devs.sort(key=lambda x: x[3][0]) for svid, did, sdid, descriptions in nvidia_devs: print() for desc in descriptions: print(f"# {desc}") entry = f""" KERNEL=="i2c-*", ATTR{{name}}=="NVIDIA i2c adapter 1 *", ATTRS{{vendor}}=="0x10de", \\ ATTRS{{device}}=="{did:#06x}", ATTRS{{subsystem_vendor}}=="{svid:#06x}", \\ ATTRS{{subsystem_device}}=="{sdid:#06x}", DRIVERS=="nvidia", TAG+="uaccess", \\ RUN{{builtin}}="kmod load i2c-dev" """ print(cleandoc(entry)) print() print() print(f"# Section: USB devices and USB HIDs") usb_devs = {} for driver in find_all_subclasses(BaseUsbDriver): for vid, pid, description, _ in driver._MATCHES: ids = (vid, pid) if ids in usb_devs: usb_devs[ids].append(description) usb_devs[ids].sort() else: usb_devs[ids] = [description] usb_devs = [(vid, pid, description) for (vid, pid), description in usb_devs.items()] usb_devs.sort(key=lambda x: x[2][0]) for vid, pid, descriptions in usb_devs: print() for desc in descriptions: print(f"# {desc}") print( f'SUBSYSTEMS=="usb", ATTRS{{idVendor}}=="{vid:04x}", ATTRS{{idProduct}}=="{pid:04x}", TAG+="uaccess"' ) liquidctl-1.16.0/extra/liquiddump.py000077500000000000000000000057651515166127400174730ustar00rootroot00000000000000#!/usr/bin/env python3 """liquiddump – continuously dump monitoring data from liquidctl devices. This is a experimental script that continuously dumps the status of all available devices to stdout in newline-delimited JSON. Usage: liquiddump [options] liquiddump --help liquiddump --version Options: --interval Update interval in seconds [default: 2] --legacy-690lc Use Asetek 690LC in legacy mode (old Krakens) --vendor Filter devices by vendor id --product Filter devices by product id --release Filter devices by release number --serial Filter devices by serial number --bus Filter devices by bus --address
Filter devices by address in bus --usb-port Filter devices by USB port in bus --pick Pick among many results for a given filter -v, --verbose Output additional information -g, --debug Show debug information on stderr --version Display the version number --help Show this message Examples: liquiddump liquiddump --product 0xb200 liquiddump --interval 0.5 liquiddump > file.jsonl liquiddump | jq -c . Copyright Jonas Malaco and contributors SPDX-License-Identifier: GPL-3.0-or-later """ import json import logging import sys import time import liquidctl.cli as _borrow import usb from docopt import docopt from liquidctl.driver import * LOGGER = logging.getLogger(__name__) if __name__ == "__main__": args = docopt(__doc__, version="0.1.1") frwd = _borrow._make_opts(args) devs = list(find_liquidctl_devices(**frwd)) update_interval = float(args["--interval"]) if args["--debug"]: args["--verbose"] = True logging.basicConfig(level=logging.DEBUG, format="[%(levelname)s] %(name)s: %(message)s") elif args["--verbose"]: logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s") else: logging.basicConfig(level=logging.WARNING, format="%(message)s") sys.tracebacklimit = 0 try: for d in devs: LOGGER.info("initializing %s", d.description) d.connect() status = {} while True: for d in devs: try: status[d.description] = d.get_status() except usb.core.USBError as err: LOGGER.warning("failed to read from the device, possibly serving stale data") LOGGER.debug(err, exc_info=True) print(json.dumps(status), flush=True) time.sleep(update_interval) except KeyboardInterrupt: LOGGER.info("canceled by user") except: LOGGER.exception("unexpected error") sys.exit(1) finally: for d in devs: try: LOGGER.info("disconnecting from %s", d.description) d.disconnect() except: LOGGER.exception("unexpected error when disconnecting") liquidctl-1.16.0/extra/old-tests/000077500000000000000000000000001515166127400166425ustar00rootroot00000000000000liquidctl-1.16.0/extra/old-tests/asetek_legacy000077500000000000000000000034541515166127400213760ustar00rootroot00000000000000#!/bin/bash -xe DEVICE="--vendor 0x2433 --product 0xb200 --legacy-690lc" liquidctl $DEVICE $EXTRAOPTIONS list --verbose liquidctl $DEVICE $EXTRAOPTIONS initialize sleep 2 liquidctl $DEVICE $EXTRAOPTIONS status liquidctl $DEVICE $EXTRAOPTIONS set fan speed 0 liquidctl $DEVICE $EXTRAOPTIONS set pump speed 100 sleep 2 liquidctl $DEVICE $EXTRAOPTIONS status liquidctl $DEVICE $EXTRAOPTIONS set fan speed 100 liquidctl $DEVICE $EXTRAOPTIONS set pump speed 50 sleep 2 liquidctl $DEVICE $EXTRAOPTIONS status liquidctl $DEVICE $EXTRAOPTIONS set fan speed 50 liquidctl $DEVICE $EXTRAOPTIONS set pump speed 75 sleep 2 liquidctl $DEVICE $EXTRAOPTIONS status liquidctl $DEVICE $EXTRAOPTIONS set logo color fading ff8000 00ff80 sleep 4 liquidctl $DEVICE $EXTRAOPTIONS set logo color fading ff8000 00ff80 --time-per-color 2 sleep 4 liquidctl $DEVICE $EXTRAOPTIONS set logo color blinking 8000ff sleep 6 liquidctl $DEVICE $EXTRAOPTIONS set logo color blinking 8000ff --time-off 2 sleep 6 liquidctl $DEVICE $EXTRAOPTIONS set logo color blinking 8000ff --time-per-color 2 sleep 6 liquidctl $DEVICE $EXTRAOPTIONS set logo color blinking 8000ff --time-per-color 2 --time-off 1 sleep 6 liquidctl $DEVICE $EXTRAOPTIONS set logo color fixed 00ff00 sleep 2 liquidctl $DEVICE $EXTRAOPTIONS set logo color blackout sleep 4 liquidctl $DEVICE $EXTRAOPTIONS set logo color fading ff8000 00ff80 --alert-threshold 0 --alert-color ffff00 sleep 3 liquidctl $DEVICE $EXTRAOPTIONS set logo color blinking 8000ff --time-per-color 2 --time-off 1 --alert-threshold 0 --alert-color ffff00 sleep 6 liquidctl $DEVICE $EXTRAOPTIONS set logo color fixed 00ff00 --alert-threshold 0 --alert-color ffff00 sleep 3 liquidctl $DEVICE $EXTRAOPTIONS set logo color blackout --alert-threshold 0 --alert-color ffff00 sleep 3 liquidctl $DEVICE $EXTRAOPTIONS status liquidctl-1.16.0/extra/old-tests/asetek_modern000077500000000000000000000034461515166127400214170ustar00rootroot00000000000000#!/bin/bash -xe DEVICE="--vendor 0x2433 --product 0xb200" liquidctl $DEVICE $EXTRAOPTIONS list --verbose liquidctl $DEVICE $EXTRAOPTIONS initialize sleep 2 liquidctl $DEVICE $EXTRAOPTIONS status liquidctl $DEVICE $EXTRAOPTIONS set fan speed 0 liquidctl $DEVICE $EXTRAOPTIONS set pump speed 100 sleep 2 liquidctl $DEVICE $EXTRAOPTIONS status liquidctl $DEVICE $EXTRAOPTIONS set fan speed 100 liquidctl $DEVICE $EXTRAOPTIONS set pump speed 50 sleep 2 liquidctl $DEVICE $EXTRAOPTIONS status liquidctl $DEVICE $EXTRAOPTIONS set fan speed 20 0 40 100 liquidctl $DEVICE $EXTRAOPTIONS set pump speed 75 sleep 2 liquidctl $DEVICE $EXTRAOPTIONS status liquidctl $DEVICE $EXTRAOPTIONS set logo color fading ff8000 00ff80 sleep 4 liquidctl $DEVICE $EXTRAOPTIONS set logo color fading ff8000 00ff80 --time-per-color 2 sleep 4 liquidctl $DEVICE $EXTRAOPTIONS set logo color blinking 8000ff sleep 6 liquidctl $DEVICE $EXTRAOPTIONS set logo color blinking 8000ff --time-off 2 sleep 6 liquidctl $DEVICE $EXTRAOPTIONS set logo color blinking 8000ff --time-per-color 2 sleep 6 liquidctl $DEVICE $EXTRAOPTIONS set logo color blinking 8000ff --time-per-color 2 --time-off 1 sleep 6 liquidctl $DEVICE $EXTRAOPTIONS set logo color fixed 00ff00 sleep 2 liquidctl $DEVICE $EXTRAOPTIONS set logo color blackout sleep 4 liquidctl $DEVICE $EXTRAOPTIONS set logo color fading ff8000 00ff80 --alert-threshold 0 --alert-color ffff00 sleep 3 liquidctl $DEVICE $EXTRAOPTIONS set logo color blinking 8000ff --time-per-color 2 --time-off 1 --alert-threshold 0 --alert-color ffff00 sleep 6 liquidctl $DEVICE $EXTRAOPTIONS set logo color fixed 00ff00 --alert-threshold 0 --alert-color ffff00 sleep 3 liquidctl $DEVICE $EXTRAOPTIONS set logo color blackout --alert-threshold 0 --alert-color ffff00 sleep 3 liquidctl $DEVICE $EXTRAOPTIONS status liquidctl-1.16.0/extra/old-tests/asetek_modern_rainbow000077500000000000000000000010541515166127400231310ustar00rootroot00000000000000#!/bin/bash -xe DEVICE="--vendor 0x2433 --product 0xb200" liquidctl $DEVICE $EXTRAOPTIONS list --verbose liquidctl $DEVICE $EXTRAOPTIONS initialize sleep 2 liquidctl $DEVICE $EXTRAOPTIONS status liquidctl $DEVICE $EXTRAOPTIONS set logo color rainbow sleep 4 liquidctl $DEVICE $EXTRAOPTIONS set logo color rainbow --speed 1 sleep 4 liquidctl $DEVICE $EXTRAOPTIONS set logo color rainbow --speed 6 sleep 4 liquidctl $DEVICE $EXTRAOPTIONS set logo color rainbow --alert-threshold 0 --alert-color ffff00 sleep 3 liquidctl $DEVICE $EXTRAOPTIONS status liquidctl-1.16.0/extra/old-tests/kraken_two000077500000000000000000000061451515166127400207420ustar00rootroot00000000000000#!/bin/bash -xe DEVICE="--vendor 0x1e71 --product 0x170e" hold() { liquidctl $DEVICE $EXTRAOPTIONS ${@:2} sleep $1 } hold 0 list --verbose hold 0 initialize hold 0 status hold 0 set sync color off hold 0 set fan speed 0 hold 2 set pump speed 100 hold 0 status hold 0 set fan speed 100 hold 2 set pump speed 50 hold 0 status hold 0 set fan speed 20 0 40 100 hold 2 set pump speed 20 50 40 100 hold 0 status hold 2 set sync color off hold 0 set logo color fixed ff8000 hold 2 set ring color fixed 00ff80 hold 2 set sync color fixed 0000ff hold 2 set sync color off hold 2 set sync color super-fixed \ ff0000 00ff00 0000ff \ ff0000 00ff00 0000ff \ ff0000 00ff00 0000ff hold 2 set sync color off hold 0 set logo color fading ff8000 00ff80 --speed slowest hold 5 set ring color fading 00ff80 8000ff hold 5 set sync color fading 0000ff ff0000 00ff00 --speed fastest hold 2 set sync color off hold 5 set logo color spectrum-wave --speed slowest hold 5 set ring color spectrum-wave hold 5 set sync color backwards-spectrum-wave --speed fastest hold 2 set sync color off hold 5 set ring color super-wave --speed slowest \ ff8000 00ff80 8000ff 800000 \ 008000 000080 400000 004000 hold 5 set ring color backwards-super-wave --speed fastest \ ff8000 00ff80 8000ff 800000 \ 008000 000080 400000 004000 hold 2 set sync color off hold 3 set ring color marquee-3 ff8000 --speed slower hold 3 set ring color backwards-marquee-3 ff8000 --speed slower hold 3 set ring color marquee-6 00ff80 --speed faster hold 3 set ring color backwards-marquee-6 00ff80 --speed faster hold 2 set sync color off hold 3 set ring color covering-marquee ff8000 00ff80 0080ff --speed slowest hold 3 set ring color covering-backwards-marquee ff8000 00ff80 0080ff --speed fastest hold 2 set sync color off hold 3 set ring color alternating ff8000 00ff80 --speed slowest hold 3 set ring color moving-alternating ff8000 00ff80 hold 3 set ring color backwards-moving-alternating ff8000 00ff80 --speed fastest hold 2 set sync color off hold 0 set logo color breathing ff8000 00ff80 --speed slowest hold 5 set ring color breathing 00ff80 8000ff hold 5 set sync color breathing 0000ff ff0000 00ff00 --speed fastest hold 2 set sync color off hold 5 set sync color super-breathing --speed slower \ ff0000 00ff00 0000ff \ ff0000 00ff00 0000ff \ ff0000 00ff00 0000ff hold 5 set sync color super-breathing --speed faster \ ff0000 00ff00 0000ff \ ff0000 00ff00 0000ff \ ff0000 00ff00 0000ff hold 2 set sync color off hold 0 set logo color pulse ff8000 00ff80 --speed slowest hold 5 set ring color pulse 00ff80 8000ff hold 5 set sync color pulse 0000ff ff0000 00ff00 --speed fastest hold 2 set sync color off hold 5 set ring color tai-chi ff8000 0080ff hold 2 set sync color off hold 3 set ring color water-cooler --speed slower hold 3 set ring color water-cooler --speed faster hold 2 set sync color off hold 3 set ring color loading ff8000 --speed slower hold 3 set ring color loading 00ff80 --speed faster hold 2 set sync color off hold 3 set ring color wings ff8000 --speed slower hold 3 set ring color wings 00ff80 --speed faster hold 2 set sync color off hold 0 status liquidctl-1.16.0/extra/prometheus-liquidctl-exporter.py000077500000000000000000000140421515166127400233330ustar00rootroot00000000000000#!/usr/bin/env python3 """prometheus-liquidctl-exporter – host a metrics HTTP endpoint with Prometheus formatted data from liquidctl This is an experimental script that collects stats from liquidctl and exposes them as a http://localhost:8098/metrics endpoint in the Prometheus text format. See: https://prometheus.io/docs/instrumenting/exposition_formats/#text-format-example Example metric with labels: # HELP liquidctl liquidctl exported metrics # TYPE liquidctl gauge liquidctl{device="NZXT Kraken X (X42, X52, X62 or X72)",sensor="liquid_temperature",unit="°C"} 33.6 Usage: prometheus-liquidctl-exporter [options] Options: --legacy-690lc Use Asetek 690LC in legacy mode (old Krakens) --server-port Port for the HTTP /metrics endpoint -v, --verbose Output additional information -g, --debug Show debug information on stderr --version Display the version number --help Show this message Device selection options (see: list -v): -m, --match Filter devices by description substring -n, --pick Pick among many results for a given filter --vendor Filter devices by hexadecimal vendor ID --product Filter devices by hexadecimal product ID --release Filter devices by hexadecimal release number --serial Filter devices by serial number --bus Filter devices by bus --address
Filter devices by address in bus --usb-port Filter devices by USB port in bus Copyright Alex Berryman, Jonas Malaco and contributors SPDX-License-Identifier: GPL-3.0-or-later """ import logging import sys import time import usb from datetime import timedelta from docopt import docopt from liquidctl.driver import * from prometheus_client import start_http_server from prometheus_client.core import GaugeMetricFamily, REGISTRY, InfoMetricFamily LOGGER = logging.getLogger(__name__) def gauge_name_sanitize(name): return name.replace(" ", "_").lower() class LiquidCollector(object): def __init__(self): self.description = "liquidctl exported metrics" def collect(self): labels = ["device", "sensor", "unit"] g = GaugeMetricFamily("liquidctl", self.description, labels=labels) i = InfoMetricFamily("liquidctl", self.description, labels=["device"]) for d in devs: try: get_status = d.get_status() for metric in get_status: sanitized_name = gauge_name_sanitize(metric[0]) sample_value = metric[1] unit = metric[2] if isinstance(sample_value, timedelta): # cast timedelta into seconds and override the supplied unit sample_value = sample_value.seconds unit = "seconds" if unit != "": # FIXME doesn't handle multiple equal devices well label_values = [d.description, sanitized_name, unit] g.add_metric(label_values, value=sample_value) LOGGER.debug( "%s: %s as GaugeMetric %s labels %s", d.description, metric, sanitized_name, "/".join(label_values), ) else: i.add_metric([d.description], value={sanitized_name: sample_value}) LOGGER.debug( "%s: %s InfoMetric labeled with %s => %s", d.description, metric, sanitized_name, sample_value, ) except usb.core.USBError as err: LOGGER.warning("failed to read from the device, possibly serving stale data") LOGGER.debug(err, exc_info=True) yield g yield i def _make_opts(arguments): options = {} for arg, val in arguments.items(): if val is not None and arg in _PARSE_ARG: opt = arg.replace("--", "").replace("-", "_") options[opt] = _PARSE_ARG[arg](val) return options _PARSE_ARG = { "--legacy-690lc": bool, "--vendor": lambda x: int(x, 16), "--product": lambda x: int(x, 16), "--release": lambda x: int(x, 16), "--serial": str, "--bus": str, "--address": str, "--usb-port": lambda x: tuple(map(int, x.split("."))), "--match": str, "--pick": int, } if __name__ == "__main__": args = docopt(__doc__, version="0.1.1") opts = _make_opts(args) devs = list(find_liquidctl_devices(**opts)) for d in devs: LOGGER.info("initializing %s", d.description) d.connect() if args["--debug"]: args["--verbose"] = True logging.basicConfig(level=logging.DEBUG, format="[%(levelname)s] %(name)s: %(message)s") elif args["--verbose"]: logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s") else: logging.basicConfig(level=logging.WARNING, format="%(message)s") sys.tracebacklimit = 0 REGISTRY.register(LiquidCollector()) if args["--server-port"]: server_port = int(args["--server-port"]) else: server_port = 8098 start_http_server(server_port) LOGGER.debug("server started on port %s", server_port) try: while True: # Keep HTTP server alive in a loop time.sleep(2) except KeyboardInterrupt: LOGGER.info("canceled by user") finally: for d in devs: try: LOGGER.info("disconnecting from %s", d.description) d.disconnect() except: LOGGER.exception("unexpected error when disconnecting") liquidctl-1.16.0/extra/windows/000077500000000000000000000000001515166127400164165ustar00rootroot00000000000000liquidctl-1.16.0/extra/windows/LQiNFO.py000066400000000000000000000111771515166127400200270ustar00rootroot00000000000000"""LQiNFO – export monitoring data from liquidctl devices to HWiNFO. This is a experimental script that exports the status of all available devices to HWiNFO. Usage: LQiNFO.py [options] LQiNFO.py --help LQiNFO.py --version Options: --interval Update interval in seconds [default: 2] --legacy-690lc Use Asetek 690LC in legacy mode (old Krakens) --vendor Filter devices by vendor id --product Filter devices by product id --release Filter devices by release number --serial Filter devices by serial number --bus Filter devices by bus --address
Filter devices by address in bus --usb-port Filter devices by USB port in bus --pick Pick among many results for a given filter -v, --verbose Output additional information to stderr -g, --debug Show debug information on stderr --version Display the version number --help Show this message Examples: python LQiNFO.py python LQiNFO.py --product 0xb200 python LQiNFO.py --interval 0.5 Changelog: 0.0.2 Fix cleanup of registry keys when exiting. 0.0.1 First proof-of-concept. Copyright Jonas Malaco and contributors SPDX-License-Identifier: GPL-3.0-or-later """ import logging import sys import time import winreg import liquidctl.cli as _borrow import usb from docopt import docopt from liquidctl.driver import * LOGGER = logging.getLogger(__name__) if __name__ == '__main__': args = docopt(__doc__, version='0.0.2') frwd = _borrow._make_opts(args) devs = list(find_liquidctl_devices(**frwd)) update_interval = float(args['--interval']) if args['--debug']: args['--verbose'] = True logging.basicConfig(level=logging.DEBUG, format='[%(levelname)s] %(name)s: %(message)s') elif args['--verbose']: logging.basicConfig(level=logging.INFO, format='%(levelname)s: %(message)s') else: logging.basicConfig(level=logging.WARNING, format='%(message)s') sys.tracebacklimit = 0 hwinfo_sensor_types = { '°C': 'Temp', 'V': 'Volt', 'rpm': 'Fan', 'A': 'Current', 'W': 'Power', 'dB': 'Other' } hwinfo_custom = winreg.CreateKey(winreg.HKEY_CURRENT_USER, r'Software\HWiNFO64\Sensors\Custom') infos = [] try: for i, d in enumerate(devs): LOGGER.info('Initializing %s', d.description) d.connect() dev_key = winreg.CreateKey(hwinfo_custom, f'{d.description} (liquidctl#{i})') dev_values = [] for j, (k, v, u) in enumerate(d.get_status()): hwinfo_type = hwinfo_sensor_types.get(u, None) if not hwinfo_type: dev_values.append(None) else: sensor_key = winreg.CreateKey(dev_key, f'{hwinfo_type}{j}') winreg.SetValueEx(sensor_key, 'Name', None, winreg.REG_SZ, k) winreg.SetValueEx(sensor_key, 'Unit', None, winreg.REG_SZ, u) winreg.SetValueEx(sensor_key, 'Value', None, winreg.REG_SZ, str(v)) dev_values.append(sensor_key) infos.append((dev_key, dev_values)) # set up dev infos and registry status = {} while True: for i, d in enumerate(devs): dev_key, dev_values = infos[i] try: for j, (k, v, u) in enumerate(d.get_status()): sensor_key = dev_values[j] if sensor_key: winreg.SetValueEx(sensor_key, 'Value', None, winreg.REG_SZ, str(v)) except usb.core.USBError as err: LOGGER.warning('Failed to read from the device, possibly serving stale data') LOGGER.debug(err, exc_info=True) time.sleep(update_interval) except KeyboardInterrupt: LOGGER.info('Canceled by user') except: LOGGER.exception('Unexpected error') sys.exit(1) finally: for d in devs: try: LOGGER.info('Disconnecting from %s', d.description) d.disconnect() except: LOGGER.exception('Unexpected error when disconnecting') for dev_key, dev_values in infos: try: for sensor_key in dev_values: if sensor_key: winreg.DeleteKey(sensor_key, '') winreg.DeleteKey(dev_key, '') except: LOGGER.exception('Unexpected error when cleaning the registry') liquidctl-1.16.0/extra/windows/liquidctl_logo_v1_circle_256.ico000066400000000000000000000724041515166127400244560ustar00rootroot00000000000000 ît‰PNG  IHDR\r¨f IDATxœì½y¸$ÙYÞù;'"3ï~oí[WwuwUWu«%µÔ‹Z-µÐ¾€Dc’Ù$ ˆa7`3�ñòì3–±Ç�FØØ~™A$���ÄÚ4Rw«%õ¾oµowÏŒsæ�sNœ%"ó.uëæ½UùÕ•'NDÆ�Œ÷ýÞï;K¶ÙL™]rà `?°Ø ì¶{�–Ý'lÙØ2¿£ <(à0 <œ^^°ËóÀ³vtì1Û$&ú}ëjò°8 WÛå* db�¬ÏoZ`€®0 ?<¼,MWÆLfÑïr°ôgYÄŒ;¸•A‡¢ËÆÆ€Æd‰íøƒEcút|3«Ò ,¸D-nþŒAœ?Xª‹þ!f0×À.!Û ü Ó÷ûA,{Yþ'p5°é-^�™ufЬ7X–»(Lˆø½ ’„›ÖÆ� œ§ÿÔ`ÙœË"ðQLÂx 6‰Ià˜i¦^°\袀'�oæÒ›§ñ’³&&ÃŒþ?8ƒåÒZæ1-[¸„ìR’5;�ÿ“ÅmôùZ6–ÉaÄÈ>äø²©ýä[®A¶¦È&¯ºX 8ó$è‚âÜÓ³'QÓGQóçaî$º}Ôb¿ÿŠ�` 3Oá_Ææ¶K�$p3ðë˜yø.…¿éÂ-'Û~#C‡ÞNkÏ-äûÈÆö€˜[¤ý§Ö  û©ÐniÏRœ5wŠöôQŸþs:'A�:g¸žÿÕÚ1Ì(Ñ�±É§3ßì`É1Ý9ÿ æí9—½‰¡+h|+c7¼‡Ö®—"#øŸYÈj«j»|j­e Áí+@u(gèœyœö™§˜ô�(Ž}=ÿ—!,¿ ü"0ÓçkYµmf~3°cÐT“o¡yä0ñÊýB¸|•0,ŸT\¦m‡I­Ð�bÐE›âÜ3,žxˆÙ‡~ŸâèýÐ9µþ{ÿ¬> üæ=‰›Î6+ìþ3fÊí˼· ÛóZ&^óS í¿‘À×ös K°»2GÊ(ƒHxbPÅ"�1÷ÔŸ³ðègÐ3Or™¨�™¥ø{íç¦ú£7#ÜüÌ 66ãõ¯�É!†nþQ&où~²ÑÝøØº@T~*KÕ²27�Bµ\�*(¦_`î©Ï3÷Õ�¡§g“abµö<†>Ã&zwÁfòž¸ÓMóF.sð‹ÖÆßðóLÞòƒÈ¡-˸º†Ž*;ñ•“}X"ðÛ²9FsÇZW¾FöRœ~:g—ÿÇmNǼæf¨ñ¦ �ÍBøFà¿WôùZúnbø*&ßþ!Æ®7"KÇ­Ô0Aò+àvè*Ðu z2„MåÁq��1šÛÓ¼â6”hPœ~ô%ý>�ð6 øÿ“#ØÐ¶ Þ‡‰ù/©N«1ÑÚËäÛ?ÄÈÁw€\MÇ´°oK²GëpÃ×/‹ƒ°¡Öû»p!V ²5ÁО›È·¡}öôܱU\÷¦±xFü%æ�Ö6:äÀ�ÿéóµôß²q&Þô¯=üÍ —øéVvë”ê$úr�÷O‰B‚ll7­}·¢òQŠ“��¾d;Iü«Þ?ƒS°!m#@ÓÄ÷ šù@dŒÜþ¿2þŠï­‘ý¡­ù‘¤weuò?ÞvõtWïŸl—¡ˆ|ˆÖŽë‘[Ò9õ$zñôò¯ws™^\�yÁé†$��J-Ìk·~šÁä dûßÄÖ7üïÈÖÄ ŽJ<{äØã}º›‡¯‰ûcÏ—éø1¨ò\ùØn»_N{úzú™üM›Ê†^ü1fú¹ e‘Z˜a¼?Æ O?`âþ-ïø÷4¶]g Vz†$YW—øK×µ.�ŒÁLWï¯SЇå‰*ÐZ#[ã4wÞH¡%êÔC5×uI˜¯ÄÌ?¸¡H`£@ãùŒÁÐKk‚á[~„±—¼„}¯Å’8©ñú]«¦Þ=8(Ê ôðþiN "ýk�-Y“æöÃèl„Ή¯�Þð‰óÕ˜À„/üEzĉ\ÂïcàùK㇘zãÏ“�Ô uH�^—ÈK6]½ÜºB!Héâýãze÷á²<èQè: aÖ£…h„�4¶„Ö:ǽ©Ç×t3�I `%7 dÀ?ÆHÿAÌØÈm?ÎèÁ¯·Þ¿›;ïö0.¯“ÿ!itkû¯‰óë<}ôA·âJ˜�’ƒ�É+¡5IçØW.ep‰Á?b4n�˜}¿Â Û™hîbòµ?M6±T·wdгJ"ï¡ôòþ]*‘þ^D„–»nÅ@cr¿!�ã\ÊáÀ ˜fí?§Ï�…úMÓÃï×´óW,ßÿuŒßúCÙ+ö× !·ïÁGâÅ]QMü^çýÓ^iâ/"„p �“ý>ðàWAÝP ìG‰&Åɯvû£7»IÌËH¦³Pߺ ÷›^ üÌ´Ý‹L0vÇ?£µëef�Ë HÀíª“÷øm�Ôé*ùUýþpHq�×7#ÓºN=@>u%EQ N?²¢»¶‰Lbžÿc˜Y«ûÂtý|]òaà¿a†ö,1ÑÚEsûõ@ þкyÿQå„@¤qéýÝ�a<{ùØû{¯®S‚pÞ?¬[-Ô@9Ñ&eÎèµo#ÛõªUÞÁMa-Ìd6_OŸ·õ‹v¿ \Û§ïßð&Ư ±å`Íž´•rºËø(ÖOË»yùÐÛ§^¾Fú»%%޲%` ðå¢1Âèõw!F¯ºðºqm¿¢_ÞþoL 4°.–o»‘%©LËÝG"õ×ÚûI¼ºAmÜ6¢»€?¨æ ÐÈám _ÈK:E´ 3ÇÅ•ëýÅëM9¦�ÿ›¸ÌÇó/e�7Ú <P×�?¬c‰à‚½]³5ÀÖª¶¬Ú˜Ö Á¯+ç ÏÑÜv„æµoçdnÄ8ƱõüÒõ$¼ø)úŸ|Üð–ïx‰ïùWZðGeáØ}W-&�Zᅵ,—¥ÚÏÀƒ¾ž º€¿$ ×’à[†®¸ 9yh­nïF4¼ø9Ö±ìzÀM˜a½ƒ¶þ¥LdÈHþCoðëdPV“¨óþ•A<:(KëEÛK«�(û_'ûµª/ ÙeèÐ;@¯Í=Þ˜–azÃ~ë$wÖ‹ivæÊøK2$-$¹B`zê¹(º£çQ(PeSÙ2Md¾í?’öáJ~Êõ´é§‹ÁËãëä~Ò¬WÖ[°u㫸Œè±÷÷³Ççvs6¦®¢qå×Ñ~òÓË¿—›ÏZ˜Ü<|ébÙz@ÓÅ÷æuø®5·Œ#bbSÙ.¶Ëýl˯BJI&r‚¦Jh Å‚š¡£iëy:ªÍ´:Íõ§ÔsL«3Ìë³,Ò�ºyu‚rÕí)ýµŽË¢ì}êýë¼s�BHÀ®kH¡·—÷Ç÷žpÔ´ö¾’Îó�^<~á?îÆµ�‡ù ÀEýC/6àÛ1Szõ³ÏÁ²-£É„ØÃ®ì‡š·³%ßÍX¶•1¹ -lÌja®Q(]Øõ¥ Kb‹¥‚Â,Ú~ÒaAÍq®8ÎLq†cÅã+ždVŸ²„€yàU�ä·ë)øuþîÒ¿"é—“ô Ï_*Ûƒ/hÔ!ÈC SSV¸m¾£:fÀ”gCS4¼ŽÅ‡?–Ü—KÎn>ˆ™ç¢�¸Øp=ðKlð>M¶‰lÞÂá¡W³5ÛÇH6 XØhå�¼Ÿ€[ØuÏÊ�˜(ÿIšb˜­ù>¦òÝìÖéèÎG9Õyžg;_ãœ>ŠR�š“Õ�?ÙßSú'ÀOcúJ³_�§àï�‡/Æ\,�À�cæñßP&ì¹uè]~5Ûó«Htéá�¶þÚݬã½}Y“�«—šþ÷%ÚãÓž]Šœ©|7Ùé6Oh…28¬ø©b¡‡—÷²>\óW¤¢ªÛ5¿øux^ŸŒ½¾  ʦBû÷gÃ[É&¯¦8õ•å>›ÙvbF~ k ¬up¦?sŸGnöÉyïÄÏò†‰÷3™ï²uÀ¾^öÇÛõò´ðbŸ¨Î2þ¹,w¸ò $Ð š‚³ûo ¤—*ø“?=·$_%H}óþûåËxß–_ä•£ï !šÑPŠÆ]'×±¼Ðqýªév±/ç_êèñâkCAvþ8Ó×Ü„ÊþZ{�¿Ü&öøn;RÉR—ô‹¼{Ô^1~ÑC t;Æ?LúÅë:üî`|…ÖšâÒ�:,57³ð€'/ôdkdÀ?ö¯Á¹Va‚ó7òí[~�]�«ÌCd-”üæ�ÓçaÆ? Jéo;ý¤ß>† ñ²´ÕQQª ;y’©§ïåø¡;’°Â#8ºk @ª Rï_“ø =<ºà*  jÁ¯: ‚Xò§j!ôøþ³òwéøïφ&@6A-37&bK ±} 15 ™$n¡ÚºÝAÏ-¢ÏΡ�NÃ솜ž|øyà­ÀÜ…œh-àeÀ÷чÙ’×4¿�°å§Øší €#\„ãv�Ÿ Ðh!:ˆÿíœàq§Ÿ¸¬×µ­ÄB=a¶Ý¢µbüKŸáÜÞÃ,Œnõû£pÀÕŽMšÎj“�iÝÀóÇ3ûÆ^¿6 ¨jˆA-³5 Í9àª{ü_ÖA#ZãˆÆ$z¡ûkÇÅ»{ýõŒÜq�|ËÙÎ ò=“ˆ<ÂêÌ,�ãç霘fñùÓÌ|ê~æî{ õð XØ0S•ߎgóê½É²ìBAÛ~3µ÷ºš@rgó;x÷ÖÎd¶ŸIO;Ù˜rJlöíWåv<¨'àSìÑéz2Ø'ôSèMAA�Ò�rA'¨Û±ûͺ¢ pëå¹37½Š£·| ZÊZðÇ^²F:wÍ܇ñya�xqzôÂ{tUØzÎÓëîœ* b%P +5Pû·Ô„9V%Ì?ý—'î�’\�Ý´�Éx;c¯;LëÈnÄH‘­ M¥5ºPGÏ1÷À³œûø™ùô—ÑOmˆ¤ããø™…Wešx3ð3¬ó{ü ø¿“÷lý¦²�áŽeY]“_¹/òÃ:j =s·Å$ =ABF]×=Y¥ûŠìø³°e+ó“{üTaµà_¦÷OšÚ¢ì{Yfæ«ò]׊ªQÝ_QNu¤¹‡ØÛ“�ÛW´)Î>f~¦L�ßq5;~éÝìüéw2þæëi\±ÑÊr…>O„”ȉ!Z×îdüm72ö–— ¯ÜÂÂã/™ù•�ommó²Ñ/°Jp!0üpàα ¼®ù¼wëÏ2e{õ™Òt؆2¹Wnwý´ÿ‹jí02ïõ/lßg)°' UŠ_·‹*h„ö¾ëè O&@p×Z "òJÉ |­ �oÝfë1j H–àOÔE¯ä_…p|ä“~Iî ¸n]ÌSœ~yh Û>x»>x#·]�†�«1ÿüˆL’ïš`äök{ãõtTAûÁ ­zÑ̽eèw€Ó«9Áj @ï~øα*{iþf¾kÛ¿b[¾oÅÇF™¶Dž¾ô“ÁQ¡§O·«M|1t¾…yøé‰À×+ÿ_œ§qüa÷¡h�WÈáÀK–³[ì‚­ôê±Ç�B½C„®àWi]«Žê¾'~JXÁu‡j…‚ƇØû};ïx)rbØ�¤Œ~÷•�€®]R�ïž4êâú=Ì>øúØÌ νf6‚aÇϲ °ZðŽc¦1Þ³ÊãWeWÉWðýÛþ»×¢ûoió„zõÔûµ" p%aÏ¿Hâë`uÀ÷àŽ�]- ½~ |í‰�™s4O<ÌâžÃÍQb€×®ýßPñþa»?‰÷/eµKÎõ’þ.îïæé}N¡6LH‰&Tåߕ싼¿­Ó€±÷ïaÇOßAóÀö¥=~mñê:s‹FÆÐõ{}ýaæž:Nñ؉UÀð‚L`^²óûÀ‰•¼˜—y~ëØégBìá[ÿ‡†n)ö–&cº¦¬¾Nð¿ÀCº/ž ’˜_Ä;%z’B¼OY¯¨Qèé34Ž?Dgç5CãñµõðþµKàië&øìîù‹$ûï½¼Quñ·A!áD‘N@Te8 -ÍäOîeò}W!Çëæ›] ·R$ÛñJ´S ÈwŒ3öúÃ,œ™¡}ßsëMC%ð©.ÙÕVCãÀv¯âØUYFƒïœønû&$YòÛõ ªw#õþ‘èO’�Ju$°”ä�Õ@ð)Â})€¼~˜Ö ¦OÓxî‹è‰�tÆm"4ÍŽ»ëÕÚ~xÏ�뀩êiø "@–R¿J õà[ àGŠBGßSéDp�hDS3ñ“ûûÖýˆ¦Œú{ԛ蹙<5ݹ«•Ã=r¼ÅÈmX8=½Þ$ €ƒÀ'Xa‹ÀjàÛ0íþëæý_ßz?wMýcZÂM -*$àÿ7¦Ó‚.eqï@×çHÂO Þë—D©�ô3èåã@üq=½0KöÔ=H½@1µ�·üµhïOp½ñuGI¿DnC’ÜK$~zß,˜„• K20 7ê®%¼N ¹fâ'ö1þÞýˆ<~—&‚¸fÕ–B®®©aJäè#·^Íü‹§é<°®S–5�EV˜ X) ÿ‘u|…Ñ~ù2¾oû‡Øšï!~BK„ ´+e®$nèøÑåB�݃?•ýÝ@uñt`ËÂ~ Eñü×È^¼=<‰ÙRúkÖáõ×Èÿð+’=õþu O”@Ø?@Dàê)s¾:2‰B�ˆœÜ~{ï…bô»v0ùÝW#ü]dàòÉ`i«ƒ}ôÙU9Öbøeû™þ»ÇQÏ®[\‡é—³ì�•À;�¼ŠãVe9Ã|ÏÔ/qÃðk¸™{VJ5?[Wàÿ�S…1„÷µU×õ0Gà–úaUîûÙ‡»…fb=sùÄß O=ˆnŽ¢‡')ß,¤í_“´�{"«za³^'åkÊ\' üÎëûõj¸�Jýª·¯tpBѼe„­?u9Þ¨ÿÑkÈ@Ô¬-máSQ¿/^õeÙÔÍëv3ýÇÀùÅ|çÙ¦kðçèvÙ‰­ÈMàC–Y»³ùm¼kêÇh 3³˜@Ô’€ÿŸ%e÷@°UJ"¹ï;i›$ôTàÊR5&+sôðú.Ö½}üÁ{ ¸:pöxâ/‘Ïþ-º°}ã#Aç!ðýꤶ¢8ð¡7�=|²ßAÏÎ@ÉvH>IÂ+…lû—Gh\=Î’ì/º”w9jiÄè.›i¹ û¦PR0ÿ'-Žl3gÀ–Õ&¹’|¯^·Š‹Z•mWò�S?ƈCãúàÛá;”PÊÛx*®°A§¤ fZ/KvL@ÙÃ_´öƒ�Â~z°x �H¶HJâïq“•èú`8 “ŒŽÖÃÿ=APèãOÂñÇ o¢Æ·¡w†�G 5�aÈš�5ÐjÑÜÁÖdì™rÐï�Äùu*@%j¡Ò-8%4ÿYEPz~¿Œ½o­—NÙ}|…ÿŃ[hþëæ‚ç¤Ûoн¸fŸNÊ2ÁÔ·ÝÆùß¿�ΞèùMkh{€ï~…eÐÎr þë6ɧàí#à@ëF¨ø£O“€3Ë•»#=T=d¥¯e ùu‰@!„DhmBT¹�Ax| QD*Æ2VðÔÞ×´“€¶Íƒv['ê¢=‹>5�>õúÁ?@!ÐY-3È$‹j‘Ý�æ(²9„œØG¾íùèvòÑ��µ"àúÑ}~´_Wð«4qXí\?jæsù‰8È®l0ö�ûƒvþP†;¢Oï]�åíζ½­›§weaàËò�ãlûÑ7rô‹ÿfÖed¡Ä`õ×XÆHÁåÀ>LÏ¿u±]â ¯7 B_î½½'¤DìÃäöÚæBíçùKG:ÐÆ>>ü'ñs UAnÔI|E1ð½HÈ yšÂ<Áÿ¨û—��Ë#èÎBY'C!Ô9Ô|‡(NÜKûñO�F í$ßõZ»o"ß 2#îÕW“ðS‰"¨ÔO¥~û‡ÝCïo%õøû¯ Û=T,Rwî¾…1_X^óˆ,ÙØC�õ}z‚±7áôë±ø©¯u;áZÛÌ8�O,Uq99|?&¸6éÔ%ì ÃßÅ�ãߊDFÒ:•~ôY°¬$¿KM0®Jo÷¯Ç ´Û¢*ÕcpºÄŸ zª¸¼.ÅþÁ¶îž{–¹ˆt»,× Eúö)Ý�öYÔ™GX|þnO>�ads !0@WÞëׂ?ºÎ äây⼄Ü!™úñ#ȉVíïXj·aÕOn·¸ß?)q•´L#9ù–Q¦?u,¨Õ^ÈJ,èõ�a’'=+.e#˜‰>×å ?Ãlá}[ÿ%»Êdn(ÚõØÄ¿p˜mIÎ $ð‹*ØÝ=eĤP’€¼¨’B÷ϘTB*úôï$¬]´ïEPž?u(Àß-æ-ÐóÇèýí3Ï"[ãÈæ¨¶Js�¸ 0jð„áúT“�qü¯QŒ|ãNÆÞ±¿¦÷I/pwé$¶R2(1ÝMTAŸnç;'˜ùâÓ�¬¸·îjí L“àÉ^•–CofýÌná›§~‚\´p2º“@ª*VÓ†…¡bÔIMÕªz~îx?èQ«@ |ãÙÒ�?½û„DPT”@Ô,˜œ'R:n‚4×jH ·)ôüqÚÇ@²‘­6yZ€êð«N¢|@DPö0tûqõty­%!äš©=DãªôU]Àß­kè²ÔA�”÷»’• OÎÕÈ�ãCÌüî}P¬2±2kbÀÿù^•–êÍ—ïÅÌFº.vëà?¯6 IDATð;hÉ‘ N¦†êׄ轋^q}}ý0¦/ãtQW[Öç÷É®ßMe­Wž:%#·Hù`ÝÔHÁ^Í ¸-n-ÃÔ<íg>ÇìW?Fgæ8¨6¨Ž¿êá€Y�ˆÁ‘CB(S¦u'T�Ü!hžÂuiŽ@—p‚jYen„äþêº}é1º{Yt]ñ¹üo#·]M~Óº�Ÿì÷ª´lÇÄþëbMŽ ÝŽ r“ ˆjÚ,$'ùVr ÐZp×Z ãúBûkˆéëˆxŸ'’¿,0÷|Ù=á ?J  ¥®£‘*É ª\H V$ò4êüãÌíctÎ>cÞ1€/�%‚rÝ’D”;°v)¶õ]�æ ãȉ¦X æhYhUµ^4NBQxJ2ÔÖÑÉÖ˦†™üÎÛ×)“˜ñ_׫ÂRpë8ÓïVq[»k|£1 ³^%�؇Š`!öê%øB�†ûd T!ƒõ2ˆo½¾«'’óFÀ�É*´ð¯ŽwÕ…¡‡W~ø8Ñ'�*X¶¯fñ$ �þ�sÏzP‚ÝÜ�<½ëà]NÁ-­;¶ƒ$¾Þsh]ÀªRM Þ¤ŸAr›k¼zt¨|…pì÷ ¹õ*ľ±ßçUZÓzוÙ{@ø¦%ꬩM‰ìÊDeaì‡1=Dо~$þ»†)¸—ù¯®~-AøÖŒøŠbB¯1üë#Ï>Åe’,V¡ß¯JÿøŸS .±*èœcññ?¥sþň"¯_A§Fþw<èS5 ù^û¢©Èë'€DWÀX.*^ïîýcÒèz¾4d¨œ£®Ì,ÍëvѺå@÷›¹öö ˜©Ãj­¸¯]ë«éeãÙVrTÀC&ò‹AÒ/Ö! Ôy÷zÀRW/RhE +ef‘ÉwH$R„{dåûºkC­U@\ ¼SaÆ?öþè`½$„ÕéS]œgñé¿ ˜?€¿%CbÀæ!Ä͆~]´Ù˜•ÿ®ƒb7Ð.ÜÝ"\R�/yÞºk"9Þ¨rÉø·¼"èÌtÑmðÆn;{À;1o Y7Û•_YyþDe=&�XÄ´‚;uU;ÔKüô_Z–’Aç G 9ˆîŠÃ‡'þ/ „iP¢#à†~_WÔ@œpÓ~¥õê¾i%¦Ûgh¿p/º=‡Ö± ðúZù RQS¢í×0 r²… Åç+!»²0ÇÕ+ì}¬Ôé¢ œbkÜ�Ø»nÐÊ�wÑ% èÖ°‰!€u~Í—‡«ŽJý¶YöS½ûü‹»�Õ‰Zãá|¼k÷•½÷’ž~¤ÚZ݃%B«„ BÀkT ~ír :Îø„¢¬í6œš¼»urÞ)�j“Ÿ¯¯¢có]¨©™çèœÙB>¹Ÿ®S€¡=qdd½¦»·.¤™É7ìÎ"´û)ß5½YAý°ž®Ö©sÆÝnEZ®ýÝ«î¯+ƒæÁä‡wÓ~öÑ._²æö6Lp*ÝÑ�v·\Ì+ZÊRï—þÖæÓ�  $HâX¡ñƒFl7`;†Àu(v€Óx ã@�>Ã2_.…�¼B[/¯µF i�ƒ] ‰* A—bAÍ0§ÏÓV ´õmWa¾§”õ:�嫹€0Û_‚­$‚øá^�i:§B´&��áøÎS†Ý€à­K«j€›^vh¢f_�g©;6þs–(¯¹®¨^R¨AHÁè�9ó'ëF. øÿÒÝàíÀº¥*{YÔ‘ëÅÃÇÙyxÞž¥¬ï¹·y2¨ªiÉA—Š@[0   ™ZF„‹ ¼¿ù~Źâ8g:G9V<Éõ" z†‚E\ßÿõæ:2‘Ó£4&¹½æ$Þ×q|_%‹I‘'»S‹gžDl½–ÜeçŸÔû;°ë,hé¥õJl) ×q\it;çRÀ�Êc%  ½b?4%,®K×àxðqˆ{{Õ@Ža‹>¼å× ¼u[Þªa@Lø"Ù¾ÆK”gA]/·Sé_§(�í¾Ã+3–БDfzjçõý§Jw˜Sgynñ!o‘SêY:KÞr-PºM[ÏÙë–d¢AKŒ‘“×xÿ:EàÉêݾpS³/¢Gw œ ‰ �þNCûPDÇÀÑ™�¹—¼Ì`gÌ"Þ·Atýž%®#!‰:¡š|×8bïúÉsݾh­íÍ@ ó"‘Òê`xÃz\Qj'Šçž×¡‘ö�ÖB#u†ó¸‰­%Zd˜É= ¦‹Ó<>ÿ÷|¥ýy¦õ1–xª—4�¢£èè’†&§�¿l)pÛåçE2]Pœ‘lêŠðî^-%ý�Í´)Î̑״�÷T,•â.äàŠDmÍ.ËÙß…(ìvãÊ-d{&鬸°>ê\G7Ó§×|Ÿëœª<”Î7»»—r‹É!¥‹°¾£€8áG¤�fô™tòß“€ÐÚ*]† Zge™F1¯çydþnî™ÿ$gõó5É…›F±¨gh#ÉEAV&K»N¦æ�#ÛÛ2ǃ>éeWzüÄý:üÌ*Šss>P©{‚~¹­rË&Ý¥Ü[óÀv:ýÌ2¿ø‚­�qìÑkÄRù¿n}ÿC;­�òbñW4WnXoïïÊX ꎌT€ê€Þ\6%ê˜ L{�» 4ÚËÿ²ÌHÿ3í£üÅÌoñHç¯ÑKº¹pÓ(ÚzAFFV’ÐEõú•‹(Póç�îÝ©×wjÀ^q-xæ¡s|Ú„û—ü3–ñwŠ®õ-K~…î±/ýnAë–+™ý¿´Œ/Z˜nÁ ÌìÁ@•¬ã´_©�Ö/pºó"û‡ATɾw .èn¾¥À{}?c�vå»ä›k ¤ŒõÍEªºP@€ÒO-ÜÏg§�SúÉ ¼C+7mßE,£”ÎúÑ€^8M7%•þ®¸·2™ÿÛç{Û!óVß$ ë@×]üÕ›Nʃ�´ÖVr##Ó4®˜º°—•ÛÍÀÁ»RØÜ´n—“X›Yž˜ÿ27ßi;ÏP!‚¥”@¼^“E(‹‚FÃÄë›™‚B`¼(pÞ_PÊ„y>¥ý*¥;<0÷9>;ûëÌéJì:šÉ=8Òë;¯õ7wfÑE›`)¯§B=®gáÞгmmÖG·St9_/0/÷½�+é7Pg¶®ld0”ÁÜÅW„Ö†�Û€Oº‚4Ó¦Pßìof?A[/De¢ü/Ø®±PöÇ¿¥ zTÜíÀÛã£>ze¯>Qöô+ÿÝ€¥�¥·½wö³üáÌê3ø½]ä´_—/UèÎ\ÐÓ/éçæ 0‹2“‡*Un£ÅÓÓ,±ç¶uäýSµÖSÂÀ% …õP¾SNH a¢Ðæ(íC Q<8÷—|fæÃ´—7;ó:ÚzS€FwAdÁw»›_-±.pn‘¹»ŸfèÆ]„Ó›ëôiÌØËê Ñeg¥®î±¯Ç—%×''‡`|Ž/Ôu‘ì‚<@¨À«ÖóJêìœ~‘{gþ´vvšªWïmõŠN*‚Ú¡(€‘ H·ƒ~þ"+Á íGùôô¯2Ï™ýí—¬©EãùKNVôXTYoæQœš5*¡ÐFªê¹ï® å«.ܺ9&Qå±5¿HTGxL7µ©•šq °LYS{9æýž@LcÀ�ë~95öÇ3ÿ�ã�gëwÖ„ég¼^º€Hâ»z½‡÷Ú ”ûÉ€)2ΫS|êÜà”~ê‚ïÃ%c%ècé�<\ ?Ž xô,³õTN ¬B™|!ÐízEî´ŽDÂú1Qh¿De* URÒYš ü’mCŒ¯ÓLûÞ†�—¹��®gƒtÿ}F}…¿™þ*bÌ»»Ô‹ˆ@,M²" ?áH„S{IR‚�û5š»§—Ç‹»—ù—^&¦âa¿>æwãÿíÈ¿r ç ´ kœû_¢8=>UuÞ;ø —®eÁyÒz*ü !N†^ÖÒ'k$úÃxÿ•ô9þw¦Q|êü‡¹môìi\[­P6¿EÔ4FI/×ÜQ†“qÆ n"Äf°}h@Ù üº€âï?ʰ…0]o4~ì]õ²/ÓÆÛèå´Ñ…­¢¼ÿ�/Ÿ`æs�0þÎ(›\ì}­íC°”¥1Ø)ÍЋèä²kÿ¢5èz€¨çÏÑ~â­öÔ:ƒ„³ƒP<¹ý0üDHÁI\Wd[¤£msŒáwËhÔìb¿’€`œ~žcâ�ƒýºŠ•˜FsOû8zôiÞ7õAnýzšbxÙ€Š¤%TP ’ zš{~�?›ûsúÙòy:ÍÄ* ¬S>æ—•HÿÐTØ»‘�®õü¥Í´OÎÐl»þ М·à�½pè±'�ë褾ë„ÊÆþÈ:Pþ Pn¿­«4‹ïþ÷]|;´2LFð§�­ý¼š•Ø9}Œ¿›û 3í³ìl\ÉX¶‘¤/Dò™Z wQ-,MQðBç+|fîùââ¯Òáté1<Ÿ$Z…ñýÉ]«Âeƒÿ%MTWõÒžQîgèÈîåÅþ.W 5"Šÿ ê¹² þ×Õ2ßû<@ù$”9Ê}¾<Ø.ç?vÅc=ßÞ}1MÍ1®Û+K×Êæ9ËÇçþ-;ÿ)¾qü‡¸}ì]lϯÀ½à²¼ßKž©.R7¦èp¢x”û>Á}íßdA¿€ƒ¯´ŽJZ¶×–Ü¥ö�F­ €�o.o2îÆ“ƒ„V–ñ wä`¶+ ŠÛ\ïéãý¦\[`’…á±�BPšù/>믻¶;Ǽ6hSÀ¾<ãu[ÇØÒÈÊüM˜êW¢ƒÖ/RˆYÔpVÛ÷씟 0sôOlä{èÙK kÿ#—ú¾¼'0€Gï/µà:‹ø2W�¯Xh²Ù€v�V�¼.�j+Õ‚¼°ÛRÄ @ÆÄáU„¥i’�®’…S†�p̓z¾ÍâýIÏÖþØŽ3K¨XªæF³ýyÆ›·�3–geâÕÌÌKLø¸¼ÞØáqA]Õ%ÚG x_z}�ˆÆ¾Z{Â(ð ê�­ÜDž¡ D¦+Þ»ïKb/�)+ A% @û¤ð`vçÔA(@Já5àC»½øä)Ôsb¶¨í.°©lg&yÓöq¦¹y ž¦ôܺ ˜uì(¯Ku$@€n!ìf\¦í9t%°Â[G¡ikM[õa‚ÎKÌä–tóôxB”ã°»�^ÈøÚy|ç�î~×ø»°ÊÏ×õûÜ3§˜è(úLu˜{loŒôû*VbÛ¤àvL°­™[Ïoå¶½¿*ÈÎ; ª—×OAà“u!˜E�p@D¦Ø%]2pQk¦•ڡߥar÷„ ¤ª`Ôà£x_„àŽ‘f]+¯¢„Ÿ-Eµ¼ôìºêù“}.ü׋æ>¿no^Êš9°«ßW±\‚·ngg«ay:ðü”×. g¥šªS�׳óUpS6å•„‚©' "„!0«43…xýµ2)ÈÇZFHðÒk[ ‡^=$Ô3À·çP”j!¶“™Àkž !Xî Z´Ð,Úc­LÆAéyk<¾oŠ«'‡²í708¿¶žÄ®cë•21 � £5g:³·¿¦&F3ähÓt*‹÷ìÒ€?’ÿÒ\;’P–$”·#Ž@ ”Þ? ¤ödãÞU£ ¢0@kæîyú7(5‘{û}K™^=ÖâÆña2áæÚ³À�€n˜]ÙÞ5B#·…®@Û.=िyÜ�ß®Ûó¸ߨ;/û‚¢<�' ´ÿ‰v‡¹ø×Üä¶1äp½XX J rB<»$Hæd ­ô/Ëpk«Rï/…<àYÓ \Mqb†ù/lù˜�@}yèJì@#ãÕ[ÇiJá»Z;oæ°@¯Ë ”žÞîKÛäUèõQ„€’CQæL½pèJGkŽ.¶à¿H–ÜŽî(#ì¤�óúÎcKŒww wM}Öãkóv—2`BIQ:´}àý¥°ÏŸB ïÊ ˆÀ8¤¹ûžC?Û×ÞÛ³÷²1!xÛŽ &ls_ t+Û àíP[*�ñÊYÙ�ÀI]¹éJþH ØúJ»^§î B>L(ÊðÀ\Ûñ…63ð_Îh쇶M–^^ ³$ö•r> Brp¹%жG)ùuM™t}>œòðžßµ˜Ä#¨éEæ>ûà†kóÝÐ €×O�°ȼ®0Šýƒl»“ýŽLÖ_ÛF»›–S¦íù�Ìw÷¹‘„ ¡ç7S~ð+{¾08ºØædÑ·qÞ—¼eWN!†¶ 0»’Þë; ‡Àw1¿´ñ~�ÐÒ{}¡O¯}H…æu”ÁR"¼ñÈÆxGdh9æM!Ò®idÜ<5Jf=½Q>öw@w²ßõæs’^á­]ü_JKÈ«/ wëî�Àª=%™¨².L·;<»¸a’<—žå‚æ�mÐ)ÐZ# ™@Ki‰@{°g.èI)Œ×ÖÒ'³ô*¬ã3ýñ¶ð€O�Q ®ç !u~�Ù?üŠ™pƒYìì÷EÔYSÀ›¶O0–ÉRúàcÿPö;‰®/oöFVR>ðè®{®´!ƒê ø*)˜ïqd éhxr®]óVÃ�­•eWM!'†Ð;Éf& h3mU€ô`W� �‰üw‰>)ZFr¾ôööxaãþR„Þ_cBaŸ×Íì=OS<|º¿7®‹mØàÖчF[dÖ+;Oï%¿QFõÇ@/ë8bÔ‚‹é�"ðÑ|ïk|À��°„@D Ê}‚“‹‹œUé±L´2Wm5žT�I“ÈBIÖLò߆YàÑ#`KV­ì>L{¾íÅ%lH µ@oC‰I º°AÚüTh(NN3û_)û„l4Ë�cl°Î@ãBðš­ã4Lƒ»—øfµy@t@!еðI=ãù}’P[¢0çðaƒSÒ�\ 2âÞà×øµ=,*Åsí�–ã¹tL@vp²e›þrYvÎJ¢3 RZ0:/�‘÷Ìa^@Û–#í=~$óuèÐûÄ`B… Nh­˜þÜ#èç7Ú+â½åÀ\¿/"µÛÆ[ìk5)•W÷› ~7"p@‰À¦{�´û¥6ÝË¿O'á€& N-¶™Ù ,)˜Ü5J¾cÜ6ý™wˆÌxy­±ÞÙ½¶a€Î´•÷ð3ÿ›cT |Gaà툫0ËW; w!æÙ[x𠺱ÚýSÛp!À„¼jË8¹‹¯âz ànD l²°¸$_ üd¿,h3!ˆ*óæû&ôÔÚÔsbpÇ%ib4'ß·Åü�­¥ù]µ€ÌþÞèBÛì~¬—ÀwrDf›ÿ²X-m3 ïo/´Ž“„2} гsLÿÞý0·±3BŽ^>Ú䊡Q‚;Œý�"P5D`[czA(ý=xpËÀ»›ï6àw ×6îwc‚“�§Í~ÅDS’؆Èd ~Ÿ–¥Ñ™´ñ¸4 Î0€Îl\¯mÚ¶Õ×É>Wb:Žöû*¶JÁÁÑa—h�;þPw8ï쎱õ]¿WWàÁ[* aÃ�$DÐQÝ0@™ re …b~�ý_1Ö@޶l7Kmr;E@Z"2C¸Ñˆ +ûM=#ïA…€õä$ëNö»àÜ6GP6@— •'·OOÏsþ÷¿Œzfc öYžÎ�Ù~_À5C v·ò²ã�óðè�åà'É»“A˜õ×QýØ“‡,°mÿízB°×á®K«Aü¿&b$‡FZ›‰> ti“µndGÙp‹kŸ ÛiL® Üo|¥2Ê‘6”pý9¥÷ö€Ï ‘äÔù¦?ó5Š7ÌD˵Åx¦ßW!€;¦F£Ž?ÚI¸@²—dÙzß*è¼þÜnÄ`À%¾¼¼G,:(·JàL{ÿ ²L"Òtì1½¹lzÛgî#i�P>™ía§ IDATèEn¿&¨Ûk�àXo¾ž¨ìSómfþì:÷¾èYaóØó9p†8ÌYw›‚½Ã­òÖ:o �ô.ãw?™fÿ›²ÄÓÊÀ#£œAH"!w5É÷`ò󃮿+7å�]7|lܦ�Ä–¤… Â|\$‘±L`™$ b¬Ž Ôô3Ÿ{˜ÎýG7#øNäÀI ïöíí@{ûZ ÿ;"ÐpK@†Mƒ¦¶—ùôÌ ‰…s¬¨ÙçŽÿ[+Í`ª¯UYÜyFؤŠ ¾Ò~DXE B‚S®_Và:tÙz) �(&2ÁîL²u¸Ã–Ø9â'é y~!ãL;焆ÓZ0«Ò×f(Šó‹Ìüù£[§{vQìx¼@Ÿ àÆ‰!Zn%”M=ΓƒSI‹xY&í‘:Hº€ÞHûà;ÝgºòB@Þ?á´‰-aÓ`ÑZÛaºº "b–¬pÀ6´:b $„¦)àª\ñª=Š·_¥Ø5YpÍ–S-…ÉK D’gf¼8Û䑳Ã|òÄ÷Ï78© }j–Ù?yõÔ¹õºaË^t9€‚>M &€#¶íßY9Ù‡ýÏÇÝqlNäáÍÙœˆA»í$¶·kiŽ@‹ä{ý•E�R¦;š›úµŠ}6mA4­¹Yy•ͨE`?«¡B°ÍÖ^·³à½/éðò}v�jò zˆ�­+®_àÚ‰^½ë<ßq�äÁsÃüí ~ã³Oð÷Ïαiûê­žq  o™¬1!˜læd¡CÐ!a€ý¯!„ƒ†L™o0Ûqþ öÁµEß 8ô—Mж4–O"ø7i̸6VÞ€DØYVJ°+Ó¼¢J�(|¥™È஫ Þ÷Ê‚—ï+hF ÷áeèñ{™G¤xéÔ /y|óÁIþôÞ&ÿþãÓüõƒÅf}σ^È� ìÇUl“ÂÄÿvÛ{ï`Û’¸ßÕéæPö›ÍôÀd#c4“æuÚ¤ Ö í¾0[_m‘V'û£ïrÄ�$ùܺ ŠS÷LŒæCB0Û£3�´-\鹄®ž÷ò2+Ï*ÀÇ'µé^êQø.@èÐ|ÿK5ßw‡fÏ„ðÃuuômø¼„…K_fZGؽ%ã‡ïšäö†ø™�œáOîÛTj žÉ0ÞÀÍý¸ŠWM sëäh9·¢[LRV …™ ¡\À¿½I”–õ$ö³²¿þ¼á§tçOŽËìâ§šóõ‡3Áß�žæl�™Yœ×¯û QÜ„KÝÜoo„å–)_µ­7NW´ÿê-ðݷÖaw QÞc÷uÂßâ`_ø»”Ò!üMHê`ž‡}ÛsÞtó0Zu¸çáMC�¿êÀ,� ×Ü®j5ÈÜ�JäóÑ {Q3Ÿ¯xôR)„½ݱñ7Äç°+¢*ûS+Ÿ"ãÀH“§ÏÏWêI Yæ¿KÔ|†_ø`9çx9I„ÐÓûv]¼ p“xjm{çi� ~á�pç!Ó—È?3æŽÖE]þÎ"ÜAP°’$°w[ÆÏ}×öl=ÇÏý×Y6Áô��<Ø(èÃüû†dÁϤÃõH©õ †4ö/ëéäP&�Òs‰ðØ¥) t^¯žá ç磣„„¼Ùýt%¶íJJúrêcTã~Ê¢JÂÇ€ÿЈà—ïÜzµpós.i¿Æà_�ë«T·“£’ù¦I¤üó�̰°±‰>ð�ÐÈ€†”e gi î�R—ðõuRŸ()ž·$çe+uꟑ¬»¬ò¡ÑavKÁ Vû ͦ!�R�8  ÿ ‹p_rn­Y:³x)š®[Ê´ÜÞÕ|𒛯4cuðPˆèdÕß²Tn_â$¢4A7rèRg¨)øÁwMpê\Á/~t~#ÎæÉzÌh@0 `h­çU˜˜Z$½««ž¸¤A½„ ª^ßþ0H¼•þFQ¸.`o«ÁÍÃ|òŒW•7™hí‰PÒŸ¥H/bc>8kgKzÜD“DЂòzÉëIO–AíøÖU¥|mèUó•µ _†Zn ~ì›§xô¹“|ô 2è_�rb#:FXWA0’É2¹V]L¢-Lº9Â�2ûï�¨$í̺ ܧ÷‹ O�AДæõecB�eÐ2Þ_ØUJ;·¼¦LJ›Ì‚íd¹,’€K™®ß|ï ‚ozenfmÖ6] í¼ áØMYØõúnw^ŠŸwNI>øþ)^²Cþ�màAðÐî[ï«Ä–t_²p= ˆ,!JCn½1˜%‰¢Ç’×göæµ-†FvRZÓŠ ƒOiÈÀ-™d™ù”Y¼¬ ÿ´9-¡ PK‚^WfíºqÁ÷ÜÙ •ëò0¥êI <•-¯ûúž×n¯Â_ÑàŸ}Û8­ 7ó&�gÁÇü x?þº™kº3¾¼þžë¸\××ë–øëzÞ.牮3¹¾( òLðž}[yà苜/;­ø˜²Œ-ë¾^'­MŠNUÌ^’æâŸ(lÒÖ5J3±§a{E3|ÿk‡¸b«@);[³´ @ûä–³A¸\‹5‘n÷º¦n1B,‘+�îzÍ(Ÿú›9~ëó*xÛû7ä¦/bB�fÝËœW¯³êã/âò„¡kŽ®�µ©æê,­âÚšÝ>\7<Ä›ÇFù½ééÒ¹ û�q¾¢z]•ó¯+ o ³7N;Rpó¦—ç¼áúXÑ h‰Ÿ¿ÑžDs7ðkDÊàåvy*Á•Ûø°àyç8tÏ)Noˆ©wÐÀßb°aïkÀºÏgTöý蚨.iÇ™nC)ÿ]8P†59…¥s5õlh^KCÞ:1Éd&¢Ø>ZÏ‚ÎA6�e2™c’ˆ+íª-‚¼y”±–—ýJ›É]Â"\ÃGÂQøß-þ¯‹’íJâ°‡½êúo¿µ/cíê¬ Üë6B˜Æ„ëfsh ]4ü'—±ÔQ!ˆ¥“{+_Êóºï¶Äpm«Å«†Glœï~n=“ñz–ù:Y&ÈrAž ò”6œÃ¾}˜ëö4(JG$ í¶V!øµO%e)¸�bˆØ!µ€!‚Á†5õº\Kð�Þ>ÆÈÆà€9à~·>fmŒ4xÝz]I�¹gi?g«^ºË‘iþ`©:ÑYªiŠ8n·ŸRÞ8>ÎÚ³´m»u7'Q†‘îÜÁ‰Z˜ /.ƒ4@/Ë%üÀ[Z¼ù¥Ãh è�i2)Ð ”�—‚w8Xä‡óE˜\Œ69†®?tyúêþnÑÀ¹€WjqãÉÝ�ô½sÇ}Ày·€îÆÄëâ:”RQBm­l)Ü„cPzY·ëŠˆÀfî\Ù‘Ö0»2Éó5Ó…•qiåx¢ñ™@t@&à;_Óà®[GÍ[ÀÍTÏå~�ƽ@R(ÐÒÞå_œÓ/±öG/qZ> rÓ>ì\—ŒêV˧Æ$ïzõw?Ò÷DÀ_dVR ÿ°XS~ÑìD»ãÇ\ÄÆoüßeçÒVª‘ùO“™äåCü8¿Ä[a…c0½ÛšÃ‚ù™õcw-�tÞg“÷Ü1ÊpÊW/H“àÚM!¨ÑJXàˆ€@þ›^‚!!”oˆqËL¨Æ"³€Ázº¯k¹µLÂ�/b¤1ËlÿÚÀ_<ñ)ÐO`w¬×=9·ˆ!ò*¨*&ª›KÉkWªgÖõÅÝ¿¾‹“×s!¸mh”϶{€#½`ÔY8!×,Å!kj6�ŠôÉ´~ØT ¾ûõ-¾þ# 7M“_0û¦?wɸrš©tùêoïù½2¨S%¸ÑõMB¥¼¯Q¡-AWïip`—à«Ïö�aç0*¿´”ÚÀçYGxbnÑÆÎÕ}Kár©ý=pÁ–Ò•HvìÈ g‚…@ó§—QA ¼¹H]¿<€'›à”&Þî¬cÈ*€ëwK¾ëuCÜt U^ƒ ”6ÃÁ5åB¹n_Óæší<¥Ç·ªÆ 2,›0GX­vDþ©×ï•~»=[%{¶e|õÙ¾�ú{Ì,॥ �?þ ë4Gà±ùEÚZÓH�T»–nt-ZÒV‹©åävæ9㙤� é �VnD`šCM3b>&ÕÌM_\(=kt �çÐD°ÐÑ\ì·ŸmiÁ[ojð–—³sÂèy¥…¾#ü ¼„•ñ.(ßíüº°Þ=ÍTA_£Bpã„å“@yÁáý9r__@Nò2àºXÿï�ÓÀÎu¸(N𣋮nyPÔÔëòµrðiâ7…ÝJÉö,gT Óß2¬ãÀnð å¶3 ìØ-xúÑ‹G%ðízÙýÚQ&¡• :̵õš+‚É&Ü~(çµ×·¸zGN«a]²_ M!ül¯4B™r…¹göÕ¦ÐÆþ!8à»éÅ4ÂOE–Þ|y* +#³5VÞ·X–UÛ–+ÃûiÛÁÇ]�çwëÁà!ÓkPøDMØw 㱯«�[j®Í]K7H§]Ë„É ´‚‰as§ ¥™[4„0ßvo`öÓ¸s4%Œ6ÛÆ‡÷fìœÌØ·%clHÐÌ­צ™¯�icze³úJ˜}ʦÖHmúh€DãÆ«]€°`y‹Eòé,úñuýð¢:.wõŽÓf!Óå;K/Yãù]»uz°€,lHpãÍ æ9ñÂÊ=‰Ö^i¤Deýá¦Kí—R<¸Ž0Q—áUe–Û�@ÇŠ@&u|B°» pÛµ*À²˜sìæ7õå|÷áÔÛ‡J ÝoÿÎû_÷~À]å?ôVmàwY§¹ië(¾2=W}°¨÷Ò¥'Õ—‡˜y—öþ½<|´?9ÿÿßÞ™GYRÝ÷ýs«ª_÷l= Ã0lÃ2€›HAH2œØÈXúÃJ”NNœäD‰b'rìpä%¶|²ØÚÙòr Žu,´c[ŠR$$`† É€0Ì ÌÞÃôô,=Kw¿ÞÞë÷ªnþ¸µÜ{ëÖëõ-ݼ_Ÿ{ºöª÷^}¿¿ïïw7ã>"‹oõ2*êÔ5Oox|_óø¾È€½/QñzÀº ‚[ï(±åò¹Ð[Þ¤Ô¼>ð{ÞÞIhJÀúÜ@!ä<5:8�Ûª SºçÏÖÝJ¢HHã9d~›¶Œ4�5ò�WɇÄÚ[IŽ µ¼Ð#Ș=¾ÿ6ªQPÓ­<<³ß㿆~M98I@ âÅ£§êœ8ÛÒîÀ5à!Lþ;œCåZbÏ�Msp²b‚Ë|‘"H×¼À6è�2ÖðzÅDá"‚¤DH~L¦ÒÝOâ_ä�|_˜Û¢ˆs:1¬ßèóÞôñ¶[}5Šð-‰�½"àkûŒD Ö÷Šv€ž hd6µéëŽøÞ$Üî\@ª°¶�ðöõ¬ç âÒÃ÷Á¦8vºÆñó–,h®F5ÿ-´Ù^�ø ´f*ô3‘d×ùqRHë\±Á‹  se(ûs¾ÈjÇ%Ëç½:ÁŒzÏ{L�¦|s_>4æþÖö n½£—÷~°‡þMsWa”54²3ü®¬¿§}·fö_¿A‚~ƒ´ÇÒ±Ð\*À©kدl4àFEZן‹ 0·‰ÁÔ¶÷O±^ ê¡ä±+­ì\%�¯¡zÚ\|dz(&i‰=tz”•š[f“—¢&ØÝ.…Ð8ÏÐèÏ–þy¼¿gši?Jç4ä|êý‹âÿÌëg¤ raD²¯Ô'øÉ[JÜõá>n~�OïªÙ¿ãº6ƒQBzKDSA™Õ}Æg¶—ш Un3<*¦Ì¶=µ™É—Ʋ{^a�¹jð$+ú1hë2õþs"àÌHÈ3»s ñšiÀWͧÈÛ\ ÜO “�O�/#e�§×·5gøÕ.–go,ý“BMHž,•س1ãù¡€çòú� ö$à¤Õ‹¾¯Âƒ‹/õyÿ]«ø×¿ºŠ·ßî³z]ñw,%Ôêï ̪Bá&²å$ˆM°¤Œ8Ÿ#ƒø¼BO=›'×Éœ€Ÿí<íÑ�g+"�t[òìü`_¥Õã<‰šô·¡Í¥gB"%~شȇšÓÍþzèw^Ô¯i²2YÒ_ªÂ—ÍuÌ<ž¡HŠdÁ8N¤Gì©p<˜É5˜!TR §µúKf ÒM[ÆÛ²¢©R"ðÀï�+¯ ض=à¶;CÖØób�³§%Ó㚇ª¡dµŒ›cgüI«'‹ò(f¡°H`nß¹†Ó3SÆ|ï¾bðô°ÎK@œô D˜ßB#’ß[$Ç+ʈ´s�Ў׷MT$_þÞd+å øK¬®¿.›kפ!T6ñ?.â¡ælj!ß>3ÂÝWo!Èû•Bл^ºù‚_?§�¯õ‹jdPðèêQ"| øiÑ�/DÁðá"½ðL-èí²}IËÁ €Ë¯¸r{Àíï—\Ž 9v(ääåˆJ| }�z£Ãˆj k¦··‰ÁÈ}ØËÚÿÜw/�Ùw«ƒÑZOÁšûï¨ï·—“cmBÚzŒæd‚´Aö˜4Ÿ¬¥cJJ³3‘ý¾EÀã?žæÙ}-m´¥fµ¹@ˆb”} |¨9›85Â�›×óÖuYP›0l#Ð7^oD2·6ÛÑ)ãǶ{Õ¯÷TT Ïi?!ƒ„ÑØ×Àž¨=g�1âë$9‚@°m{€ÜüâD25!‰"U­(CIµ33•)Éà�:û"Οˆ¨Mä“ óÚ¶Y¿u‹a3àç�œî·½¹c{Ú °¨§` ÖHªÏ�©�¬Ù¯ùl$Ö h� ¹÷á ¦[Wý¡°Z™ËÁóéœüj¸°÷-à¡æm'BÉŸ½qš?Þ±�õ�ßøùeó๩€ì(SêKs›eÉ{r!¨óõ5çUÝ!³Í¿pß3Áîéžß&ð�s´eÏk|/=‰¸asœ‹0îç#„àæÛÔ$Ñg‡B†ŽÕyéɧ^‹ˆªfXÓP h¹§i6¾H}¹‘ô�ÿçCìÒ °'çX ™õ Ì™é|íÍ0Z Jf%D!<øì$?ØßRï ø[XÝüÙI-Deïšçy ¶#•:ÛJ7õ¯ÊšÔ–¬ÂÜ—Xñ¹ÇÅ/;ÂLøa� ɃFØSšrvçõâ @…‡)åÓeazs¿üéºÞ�(m3àÎ ÃXÏ&2ÍI¤ê¡“Ç×¼ýŽ×Ýà•$#'%ÔI'8ñãü…¯-{Iþ ½¶H·¥£$ûõs ÎÚv»Ò§4¢µs0A‰”œ‰×“ßšô¿0Þ´k%?¾þ ��öŽì˜á7¿Xnå”`øªíÎ’¨þﮘçy ²ØWžâ­ëV±mU)­²0AÔú"€YCBÐÞ}¿žéçá5#`Èzm&`+¹§{p¬x-™ï™á>ÇþF*!V VÕŸFÄŸÅ`ãŸï,qý;|&§"ÆNJU;�ä+„Ê{¤ËžHñcàûB»¿hd!4£#42È-ÛIÉtÙMi®"ÙŸüÖ)Æ®—&=R'ë\„`l2â¿=0Ê÷´Ôû�¿ \˜ë ó%€z\þ14¿›0@YÂþ±IÞ½q ›K�nÝÛ£mŸ¯çŸM äÖã·I{ÖNñ—ÎR�½�•zá�Î=~æ5ÓÞ�žêd»¥¼< Sb€÷³¢o‡F)I ´m ƒäùÓœ…ë7{Üxkë/ó8u8$¬$JÀR¶Öýœ A¾éõõš‰ì ÷´upBRëa«Ã³ëI ËŒ„´M@=„/=1Á½�T1:eŸMh÷Ö”�½œ„ ©Ѐž‘€ÞIIK Z^? ,B@;–b�üüfn©€ÔIå)É=ß)ó¥§fæç‚oøóÍi£8 |„ydþu[ Ô�¨ùZ>Û�fBvž-sbªÂÆž€Í¥€À›¥J±ß7Ž�(àdœO>É=C8VS�¹ûÖÀÒºP‘IDATåÛ‚¸n_䔼Àè sEÙ·”€•Èòä¼½™dÔ¼¿oÝ+Í ˜÷×cÿFòßîçлZ°õ-GŸ ‘UR‰ž|žt5`{ýä:©Ñ•�0ÏÏ÷^,è³Ð€0R|Éç3É$9 R“|á‰q>ñõifZ®ü‰€?fÞ/ß�·7.ò: ¶ ðòÔ ßãÅÑqJžÀ÷<úßÈìê`ÏÃ_-EjRòÚd…§Ï�ó{‡†¸gh„=•ºÙ«BÀu?Ä ¾ÌÓç@œ¨‚\‹;Ý;Ûçñù&Âæq Áïk÷œÅû§±xAòÏκ§¡R¼¼ºß£g­àäKaókÞßËÞM®øÞ¹AFZ¿Š@ 5[¶I@k�|Ž„4¢ÈÞ¡l©Z“|áqþJ{æû@ÕûO,ô‹õÜ3À§€;�P›o#RòèX…�c'¹Ú÷ر¶—;/ZÇ�kûØXêᢞ€Kz‚ô…Mš~×ꜩÖ«‡¼Tžä™óã¼>5ÃP( )u²,™�X¿ÉË^û¥³½¥åMmkdçuå +�r^[r>‘ç�ËŽçÓŸ_ÿ<:[f„Iº¤«ÜøÓƒ/Õ9óbdKd—J·Í;H‹¸´�/Ysàx3Úïël,ôþÚÔá"éУu²ï?oy*âþ§'øô7Úþ:ð¿P!À‚m)¤û«À�_ca¿æ’Z #ŽŽMóèØ4�€K„ ßôûOÖ–Æ«u$’r(¹IÎG’¹þ޵*LŽG* t䫌tp¥l'ðó Î…!¸T‡Ýx'{øc ç¤}æùŒÿÐm9¬aÐ'¸å®�ï­ÀŒv�ä LÎËV­Í€Ó¸¤‡ëíýE¾o@J"[ÔI0ºòæ�€dx,â/çÞǪ-�>ݲçP£u-*ë°¢â�×.Áõ–Ôꆤd(RmØKÙR©Á�+¯ ð|‘ó‚.¯jƒ2kJ¨ç’H€îR‘Œ,òü¹’y\ŸI#9c?Ù2À–í>ÛnóÜf‰YýØØ Rhø¥o7ÆZ_¢„<’m¶÷Äóøe*‘EÚ3Pd×8Sçã_+óØîz+[ùÙVþ³ ÷5óÿ,€ê�ô)˜³]övjP†º$×Ajyl½±�íÍ­q�àoD95`6ð1:ÊØŠÀ3·¹¼».ÝÑâ~ãX²õø0üvülA‰,;íé†BðëÝ-·Ÿ�# ÍÃSooõÄìIèê^œž«ßNB½Oï­ð>7Ê#¯´üx5gÇ¢m©@ÿصD×ëx+�HFÎ…yÐç¤z�\·3ò®˜_“õvŒŸkË/²ívÖ>¯ BWî"GÖvm˜ÿ/¹ÞgÃvÏ èE0›¹d¿¾]�ÛSðcƒ_æÈL"H�“p®qßãüÊç˼2Ø>ÍÛ ð?Y"g»TJ–ü6-šG Ý…0ôF¢À®L>ZcW²/ïù…U w16¯‚F žvC4�ön5PÐãÒ¿v¾ÀµwVÁ¬‹Ÿ�Fº*ˆ�4‡³ÆtþÏORáÅ#U~ãþ>þ�iζ®[o‘Õ€O¢H`Il) `7p-@´Ý6p ¢Z‘–üvÈyK#Èö ëÜÜ@!:Ùä–5™Ÿ*€|â/×\Ö.ä½¾³ÜR¶JH¶m½Î'è3‰ÃU(ØÖÈtï�¬›¡�)í i m3ÉB 7~r$äÏwŽóKŸcçž°�’_·Ç�¿a‘‰?Ý–ºOü ð~àÝK|펳òÉÙ“uÖí('ÙŒD Þ˜CÒ»ëãÝ!‚¿Û%GÏdl7{.°U�³€_'� Wø¬Ùê1y<*F¾¹è´œäO³x–üÙ ép~Z"0ËøÇ³ âáÃÔÔ]åiÉ®×*|ù©iöœŒ ‚i³ £ö’Ž-ÞŒ|ãÀo¢¦$nkÛ€f›”ðúî�«o�ô”D@Y½ø…5yÏo€Ü¥D^½½¼¦ ª(˜ïE§ð§HŽàøpñ�SÇ#þµ†Z  ‡ÁØÖ6½ €¡Y}¿Ð·©åŸŒxî`•¿~vš—ŽEÔ:KÃÖQqÿëK}áf5á}ø,ðqZÜY¨Õvb âÜé�Ë® ràÒ¯È$¸FžÖÃÍòð6ð  ž=ŸÍ·öHUCÀàvÅë  /çÀ¯·¾Tϵéz�ã�[JC³,ôH.ÖÀt/�îù+¤ù èé�ÂÜJÉérÄ ‡«<ø|…ÝÇ;ø žøQT‡Ÿ%×#Í"€øSàg�ŸiÒ=:Âê3°ïå—]X×ô¶žFI«zó™Šå¾UÐÀh�½_¿íá½^Øy´F0QcÇå>Û·øl]ﳦWà“ÝK7áZvIL·¨çÒ:| Õªdàl�×NÔø»½39QnÉŒ—‹²Ô„†’/¥&ß«mV«ÀžÕÙzE@©”�ÂÕ¯8˜¿Nf  Ыül¯ŸSÒ‹0ŠŽcÁ þøØµý}k`èŒäÌÁ:?8Tgc\¹ÙçÆË|6­õ¸h�džU>õìȘ¬,“öŠæý#PS† ˜œŽ85q®\çù#u�ª3xA21ë\9cðÔ„#û¯©»f ­°=¼gyx—ôŸe»‘øƒÌ»;ŽKcø¤1›ÍDpnÎMG>—eá|½q—ëÕ=! ˜šQ³ûTB£e t— ³ˆA>æc­È#µd'+8ðÆ¡ˆ¯Îpóm½1Àíyv2°ü¦"ÈçlЛƒ`4.R 1aèÙºLõÏ~íø‰²djrþßg(a*n𺌤ûb­ŠJú½ÒŠ›µR’¿ü:MÊfv‚ɾÿd� á!Óíä�.ûÝÉ@ëøàõ¬XÞ&W-€zCþƒåá�M¹(¿ÆT+’êô òÏͳ¸—Žï·k%HÔ¤ˆú +ÒÊça×#Uª™Åó9¯mÕÿ sŸ-ï‹T�«Ê-äp…¹¸íœbÈå’ øÑÖ«Ó“åæ÷ËÜ$J!’öªmuR.iÑô-VTÈfÚþݯÃs‹œŠ(ªÆkœàs´÷'^Fë6Q¸¤¿ã“^k£ê5ùüÓ�_áÞf;ü;àx«oÜ®j¹³¨|¤M÷oºMOÀcVÓ|@ÚZ/ñðº¼×“�‚|20çù³ëµöË'ø Ô€ ܉ {Ñ”þ³%ÿ0=q`O×ý7°qÔ¤/·ãæí"€ƒÀ¿a³™,;3(yø+&Ê‘¯7¿ h;$(ÌÖ{æv3ÖÀMoŸו(tÅö¹E[êœ8¶b£½ÅZÕÃïQÚ·“@…¿ˆbÁi‡÷F|ïÓT¦óIA£³�NÂíýÓPbŽÒ¿H 8ú$@wXêýuIö…¨~õ¯¾P¥|~‰¾Ì•euà3¨uÛÖ©Ý�ôtúϬÐêA)áÅÿòôw díö­‘z Yß`ønƒ@æx ¸:èuàŠô_.Lpz´s‹VŒ�E<öP7þwXRÝ÷û´yÍNèª+QÐITÏÁ–Ï2Ôt“pìPD\u]@o¯—y|=4Hj4¹o& ­qÒý�‹,%áê‘XH26iÄ®>Ý1ØÞ_(â{á™*_ùó*ÑŠ­ô]�EÀ×€ß` Fõ]¬u€"�¡ª@î sžkéL±ƒˆˆ«®ë¡Ô'ò ´ª]­óoDVd]5è5³(‰4O�Ýúï"€© ɽ¿;ÎÀþnü¯Y„<÷#(‡×vë$ EÀ‹Àjà§hx²ô&Õ8‚ãu®¹! o�VïŸxd`@>‰8›÷Or ¹§çG5ü± @˜€·½ÿ®G*üÕŸv½¿fI¸ûaZ\×ßÈ:‰@‘À³ÀZTÇ¡IC’3§ê\}}ÀÚ~ÏlØ(,ÐC½��M.2XëÍ“ÿÃ'Cþà·Æ9}¼ëýc“ÀߢÃFÍî4• yEï 3ŸqÑ6<$9²¿ÆÖË<.º$›h4OVX`¾ØûS{»À"åT+’îçñ»uÿ±E(Ïÿ!9�_3¬SÁ¢Fg¥&�± °ï•«×H.ÝP*¹-rà6â{‹ŠöÏUþçªçAQO~«ÂŸ}bšÚЬә·%1ÿ‡é0ÏŸX§¨//I þ +”ªÓ°çÅ�ógë\y­ \Ò?G óðþYÕ£%ÿ„Y•¡#þ‡H ¯>?Ãg{‚ó§Zÿ=v …¨lÿG蠘߶N&P$ððj òÞö>NsLJ8qTòÚË5Ö¬�K.÷é)y¹ØÞÈúç¶åÉÁˆûç)ÿ]ñ¿ë’ô;º¿Î§?ZæðÞnÜ�ªÛ¿ø(Ðþù„X§¨Ê`j”á5í}œæÙø(¼ü÷uNÖÙ¸ÙcÓÅ>¾_,ï�ä dþE²]¹oÏ ø¹@¢¤„Cûj|êî2{_è¼1µÛ`UÔD¹Ÿd4n[Š¢šÿ4°±½�Ó<“ “¼ôÃÆË!6yôoðŒéÃlp›rß-ÿ ‚°=¾§�ž¹@ »ª|ú×ʼþã®çGå¬> üoš<–ßRÙr!€ÄŽOï.ƒ¬öi¥ÙLî‰xñ3”Gb"ØèÅS�»=|n²"ù_ÿë�‘€IÉ1S’ï~uŠ?üØ$ƒ‡»àN¢:·=Ä2ðf¹h pð–‰-È6n�[nøGïïㆷö°jµÀ÷±€Cþç€Þ¸þlB0“€aj*9q¬ÎÀÁ»¾3þ—CFVì°- ²aànà›´¹;ïbm%�e ðGÀ/=m~–¶›ïú�°ñbÁÚ~Áú�›/ñ¸t›G©›¶xl¸Hýü†%c#ƒG"Ž 9qú„db´Í¢ó,BÍ|ý˨ªé®ê0+¡&$&›&¾[ºe)JøVpôJ1¸ø!*IÓî§[–w‰€cÀ?c6G_‰Uh8�š„D È`ÅÎLܵ¦Z øð¯PÒ¿ÛÔq™™�êHô]5Ð-s/0„ªÛÓT1¯dÛ|(Óþ—«[:»TQêñVV’üMo>p+° UuÓî­[:«D¨þ&¿@7d\ѶUS0„úÑÛýâuKûK•á¿”®×S˜¶ŸGõ×n÷ Ø-í)3¨yßÉÊLˆwm €Û�ï¡^†v¿�ÝÒšR^EÉýn’¯kôÿØM7?°’Kœ@u ÛHWîwͲu¨ªŸt« WR‰P½õ~�>ŽD×oUmøë¨éË»D°|KœG%ø®a%Î3ѵ¦YBw£âÅnh°|Jˆªåù8p-]àwm&P¡Á¿þÕP¤Ý/x·¸K8 üJêw�ßµ%µ>à}Àƒ¨ºãn;‚Î(àû(’î§ãw­É7ŸAå j´o¶ç€/¡FŠîVçu­å&Pç_ÓUÍ.0�þn”Ìï6àY„u¥ÒÒYp5pðO�·¡¼R÷;^¼Í f‡úª{î+,ƒI7–ƒu_Î¥7�êLr#Š >ì Kóµô;QÀëwûä/¡u_Èæš@ÿzàç�ŸC `º†®tµ-Byõ(Ð?Ž„£ ú&Z—Zk%`3pð^à=¨°¡Ä›¯ÊJ¢’§çP÷=—²ªÖ®5ÙºÐ>óQÀ ðn”2xªáJ‰•7þ\ˆü0jÆç¢<ünà—õðÚËÕºÐ9棉[PÝSÿ!p*™xI¼Ï§ó•BREW.ûQ 54ÛQT|ß|X—:×)\ŒR ;Pù„kârJ)$Ä`OõÑ, Qqy„ò0JºŽË!ð�Çû“v]ë0ëÀò3xþ+€+Q£Ùl¶¢ò —¡�W¢~çͨÑ�æb5Tï¹î)`ÕÎá4p*.'QÝk§È¼~7a·Œìÿî1@Ÿˆ¡IEND®B`‚liquidctl-1.16.0/extra/yoda.py000077500000000000000000000360101515166127400162350ustar00rootroot00000000000000#!/usr/bin/env python3 """yoda – dynamically adjust liquidctl device pump and fan speeds. Periodically adjusts pump and fan speeds according to user-specified profiles. Different sensors can be used for each channel. Use show-sensors to view the sensors available for use with a particular device. To avoid jerks in pump or fan speeds, an exponential moving average is used as low-pass filter on sensor data. Profiles are specified as comma-separated lists of `(temperature,duty)` pairs. For example: `(20,50),(40,65),(40,65),(50,100)` specifies a duty of 65% at 40°C. The profile will be linearly interpolated between the specified points. In device controlled mode, sets the device internal control profile and periodically sends sensor data, but the device will independently control duty cycles to match the temperature. Named profiles implemented by the device manufacturer, such as "silent", "game", "smart", are only available in device controlled mode. Escape sequences or appropriate single or double quotes should be employed to escape characters that are reserved by the shell in use (e.g. in the case of bash, the parenthesis and any optional whitespace). In practice, wrapping the profile in double quotes should be sufficient for most users. Examples: yoda --match grid show-sensors yoda --match grid control fan1 with "(20,20),(35,100)" on nct6793.systin yoda --match kraken show-sensors yoda --match kraken control pump with "(20,50),(50,100)" on istats.cpu and fan with "(20,25),(34,100)" on _internal.liquid yoda --match msi control pump with "smart" on coretemp.package_id_0 and fans with "silent" on coretemp.package_id_0 Usage: yoda [options] show-sensors yoda [options] control ( with on [and])... yoda --help yoda --version Options: --interval Update interval in seconds [default: 2] -m, --match Filter devices by description substring -n, --pick Pick among many results for a given filter --vendor Filter devices by vendor id --product Filter devices by product id --release Filter devices by release number --serial Filter devices by serial number --bus Filter devices by bus --address
Filter devices by address in bus --usb-port Filter devices by USB port in bus --unsafe Comma-separated bleeding-edge features to enable -v, --verbose Output additional information -g, --debug Show debug information on stderr --legacy-690lc Use Asetek 690LC in legacy mode (old Krakens) --use-device-controller Use the control loop integrated to the device (MPG coreliquid device) --version Display the version number --help Show this message Requirements: all platforms liquidctl, including the Python APIs (pip install liquidctl) Linux/FreeBSD psutil [optional] (pip install psutil) macOS iStats (gem install iStats) Windows none, system sensors not yet supported Changelog: 0.0.6 Add --use-device-controller and make psutil optional. 0.0.5 Document how profiles are specified 0.0.4 Fix casing of log and error messages 0.0.3 Remove duplicate option definition 0.0.2 Add low-pass filter and basic error handling. 0.0.1 Generalization of krakencurve-poc 0.0.2 to multiple devices. Copyright Jonas Malaco and contributors SPDX-License-Identifier: GPL-3.0-or-later """ import ast import logging import math import sys import time from datetime import datetime from docopt import docopt import liquidctl.cli as _borrow from liquidctl.util import normalize_profile, interpolate_profile import liquidctl.driver VERSION = "0.0.6" LOGGER = logging.getLogger(__name__) INTERNAL_CHIP_NAME = "_internal" MAX_FAILURES = 3 if sys.platform == "darwin": import re import subprocess elif sys.platform.startswith("linux") or sys.platform.startswith("freebsd"): try: import psutil except ModuleNotFoundError: psutil = None devices_sensors = None def read_sensors(device, sensors_to_read, **kwargs): global devices_sensors if not devices_sensors: devices_sensors = {} sensors = {} # Only read device sensors when required if device in devices_sensors and sensors_to_read in devices_sensors[device]: for k, v, u in device.get_status(**kwargs): if u == "°C": sensor_name = k.lower().replace(" ", "_").replace("_temperature", "") sensors[f"{INTERNAL_CHIP_NAME}.{sensor_name}"] = v devices_sensors[device] = sensors if sys.platform == "darwin": istats_stdout = subprocess.check_output(["istats"]).decode("utf-8") for line in istats_stdout.split("\n"): if line.startswith("CPU"): cpu_temp = float(re.search(r"\d+\.\d+", line).group(0)) sensors["istats.cpu"] = cpu_temp break elif psutil: for m, li in psutil.sensors_temperatures().items(): for label, current, _, _ in li: sensor_name = label.lower().replace(" ", "_") sensors[f"{m}.{sensor_name}"] = current sensors["cpu_freq"] = psutil.cpu_freq().current return sensors def show_sensors(device, **kwargs): print("{:<60} {:>14}".format("Sensor identifier", "Value")) print("-" * 80) sensors = read_sensors(device, **kwargs) for k, v in sensors.items(): unit = "MHz" if k == "cpu_freq" else "°C" print(f"{k:<60} {v:>14.1f} {unit}") def parse_profile(arg, mintemp=0, maxtemp=100, minduty=0, maxduty=100, str_allowed=False): """Parse, validate and normalize a temperature–duty profile. >>> parse_profile('smart', str_allowed=True) 'smart' >>> parse_profile('(20,30),(30,50),(34,80),(40,90)', 0, 60, 25, 100) [(20, 30), (30, 50), (34, 80), (40, 90), (60, 100)] >>> parse_profile('35', 0, 60, 25, 100) [(0, 35), (59, 35), (60, 100)] The profile is validated in structure and acceptable ranges. Duty is checked against `minduty` and `maxduty`. Temperature must be between `mintemp` and `maxtemp`. >>> parse_profile('(20,30),(50,100', 0, 60, 25, 100) Traceback (most recent call last): ... ValueError: profile must be comma-separated (temperature, duty) tuples or supported mode name >>> parse_profile('(20,30),(50,100,2)', 0, 60, 25, 100) Traceback (most recent call last): ... ValueError: profile must be comma-separated (temperature, duty) tuples >>> parse_profile('(20,30),(50,97.6)', 0, 60, 25, 100) Traceback (most recent call last): ... ValueError: duty must be integer between 25 and 100 >>> parse_profile('(20,15),(50,100)', 0, 60, 25, 100) Traceback (most recent call last): ... ValueError: duty must be integer between 25 and 100 >>> parse_profile('(20,30),(70,100)', 0, 60, 25, 100) Traceback (most recent call last): ... ValueError: temperature must be integer between 0 and 60 """ try: if str_allowed and arg in liquidctl.driver.msi.MpgCooler.BUILTIN_MODES: return arg else: val = ast.literal_eval("[" + arg + "]") if len(val) == 1 and isinstance(val[0], int): # for arg == '' set fixed duty between mintemp and maxtemp - 1 val = [(mintemp, val[0]), (maxtemp - 1, val[0])] except: raise ValueError( "profile must be comma-separated (temperature, duty) tuples or supported mode name" ) for step in val: if not isinstance(step, tuple) or len(step) != 2: raise ValueError("profile must be comma-separated (temperature, duty) tuples") temp, duty = step if not isinstance(temp, int) or temp < mintemp or temp > maxtemp: raise ValueError( "temperature must be integer between {} and {}".format(mintemp, maxtemp) ) if not isinstance(duty, int) or duty < minduty or duty > maxduty: raise ValueError("duty must be integer between {} and {}".format(minduty, maxduty)) return normalize_profile(val, critx=maxtemp) def auto_control(device, channels, profiles, sensors, update_interval, **kwargs): """Communicate sensor data directly with the device. Implemented for use with the MSI coreliquid AIO. Allows compatible devices to utilize their internal control loop to determine appropriate fan speeds for the CPU temperature. """ assert getattr( device, "HAS_AUTOCONTROL", False ), f"No registered control loop capability for device {device}!" device.set_profiles(channels, profiles, **kwargs) assert all( s == sensors[0] for s in sensors ), "Controlling different channels with different sensors not possible with device control" sensor = sensors[0] LOGGER.info("starting...") failures = 0 while True: try: sensor_data = read_sensors(device, **kwargs) temp = sensor_data[sensor] freq = sensor_data.get("cpu_freq", 0) device.set_time(datetime.now(), **kwargs) device.set_hardware_status( temp, cpu_f=freq, gpu_f=sensor_data.get("gpu_freq", 0), gpu_U=sensor_data.get("gpu_usage", 0), **kwargs, ) failures = 0 except Exception as err: failures += 1 LOGGER.error(err) if failures >= MAX_FAILURES: LOGGER.critical("too many failures in a row: %d", failures) raise time.sleep(update_interval) def control(device, channels, profiles, sensors, update_interval, **kwargs): LOGGER.info( "device: %s on bus %s and address %s", device.description, device.bus, device.address ) for channel, profile, sensor in zip(channels, profiles, sensors): LOGGER.info("channel: %s following profile %s on %s", channel, str(profile), sensor) averages = [None] * len(channels) cutoff_freq = 1 / update_interval / 10 alpha = 1 - math.exp(-2 * math.pi * cutoff_freq) LOGGER.info( "update interval: %d s; cutoff frequency (low-pass): %.2f Hz; ema alpha: %.2f", update_interval, cutoff_freq, alpha, ) try: # more efficient and safer API, but only supported by very few devices apply_duty = device.set_instantaneous_speed except AttributeError: apply_duty = device.set_fixed_speed LOGGER.info("starting...") failures = 0 last_duty = {} while True: try: sensor_data = read_sensors(device, sensors, **kwargs) for i, (channel, profile, sensor) in enumerate(zip(channels, profiles, sensors)): # compute the exponential moving average (ema), used as a low-pass filter (lpf) ema = averages[i] sample = sensor_data[sensor] if ema is None: ema = sample else: ema = alpha * sample + (1 - alpha) * ema averages[i] = ema # interpolate on sensor ema and apply corresponding duty duty = interpolate_profile(profile, ema) LOGGER.info( "%s control: lpf(%s) = lpf(%.1f°C) = %.1f°C => duty := %d%%", channel, sensor, sample, ema, duty, ) if channel not in last_duty: last_duty[channel] = duty # Only reapply duty when duty changed if last_duty[channel] == duty: continue apply_duty(channel, duty, **kwargs) last_duty[channel] = duty if getattr(device, "NEEDS_TIME", False): device.set_time(datetime.now(), **kwargs) if getattr(device, "NEEDS_HWSTATUS", False): device.set_hardware_status( sensor_data[sensors[0]], cpu_f=sensor_data.get("cpu_freq", 0), gpu_f=sensor_data.get("gpu_freq", 0), gpu_U=sensor_data.get("gpu_usage", 0), **kwargs, ) failures = 0 except Exception as err: failures += 1 LOGGER.error(err) if failures >= MAX_FAILURES: LOGGER.critical("too many failures in a row: %d", failures) raise time.sleep(update_interval) if __name__ == "__main__": if len(sys.argv) == 2 and sys.argv[1] == "doctest": import doctest doctest.testmod(verbose=True) sys.exit(0) args = docopt(__doc__, version="yoda v{}".format(VERSION)) if args["--debug"]: args["--verbose"] = True logging.basicConfig(level=logging.DEBUG, format="[%(levelname)s] %(name)s: %(message)s") import liquidctl.version LOGGER.debug("yoda v%s", VERSION) LOGGER.debug("liquidctl v%s", liquidctl.version.__version__) elif args["--verbose"]: logging.basicConfig(level=logging.WARNING, format="%(levelname)s: %(message)s") LOGGER.setLevel(logging.INFO) else: logging.basicConfig(level=logging.WARNING, format="%(levelname)s: %(message)s") sys.tracebacklimit = 0 if args["--unsafe"] is not None: unsafe = args["--unsafe"].lower().split(",") else: unsafe = [] if (sys.platform.startswith("linux") or sys.platform.startswith("freebsd")) and not psutil: LOGGER.warning("system sensors are not available, psutil not found") frwd = _borrow._make_opts(args) selected = list(liquidctl.driver.find_liquidctl_devices(**frwd)) if len(selected) > 1: raise SystemExit( "too many devices, filter or select one. See liquidctl --help and yoda --help." ) elif len(selected) == 0: raise SystemExit("no devices matches available drivers and selection criteria") device = selected[0] device.connect(unsafe=unsafe) try: if args["show-sensors"]: show_sensors(device, unsafe=unsafe) elif args["control"]: if args["--use-device-controller"]: auto_control( device, args[""], list(map(lambda p: parse_profile(p, str_allowed=True), args[""])), args[""], update_interval=int(args["--interval"]), unsafe=unsafe, ) else: control( device, args[""], list(map(parse_profile, args[""])), args[""], update_interval=int(args["--interval"]), unsafe=unsafe, ) else: raise Exception("nothing to do") except KeyboardInterrupt: LOGGER.info("stopped by user.") finally: device.disconnect() liquidctl-1.16.0/liquidctl.8000066400000000000000000000506251515166127400156740ustar00rootroot00000000000000'\" t .nr is_macos 0 .TH LIQUIDCTL 8 2026\-03\-03 "liquidctl" "System Manager's Manual" . .SH NAME liquidctl \- monitor and control liquid coolers and other devices . .SH SYNOPSIS .SY liquidctl .RI [ options ] .B list .SY liquidctl .RI [ options ] .B initialize .RB [ all ] .SY liquidctl .RI [ options ] .B status .SY liquidctl .RI [ options ] .B set .I channel .B speed .RI ( temperature .IR percentage ) \&.\|.\|.\& .SY liquidctl .RI [ options ] .B set .I channel .B speed .I percentage .SY liquidctl .RI [ options ] .B set .I channel .B color .I mode .RI [ color \&.\|.\|.\&] .SY liquidctl .B \-\-version .SY liquidctl .B \-\-help .YS . .SH DESCRIPTION \fBliquidctl\fR is a utility for overseeing and controlling some hardware monitoring devices not yet supported at the kernel level. .if !\n[is_macos]\{ Because \fBliquidctl\fR directly accesses the hardware devices, root privileges are generally required, though this can be avoided with appropriate udev rules. .\} .PP \fBliquidctl list\fR outputs all compatible devices found on the system. In case more than one device is found, the desired one can be selected for later invocations with \fB--match=\fIsubstring\fR, where \fIsubstring\fR matches part of the desired device's description using a case insensitive comparison. .PP \fBliquidctl list \fI\-\-verbose\fR enables the display of additional identifiers and addresses that can also be used to select specific devices. These can be better suited for certain use cases, such as non-interactive scripts. .PP \fBliquidctl initialize\fR prepares a device for later commands, and most devices must be initialized after every boot or when resuming from a suspended state. Unless finer control is required, all devices can be initialized at once with \fBliquidctl initialize all\fR. Some devices may output some information at this stage. .PP \fBliquidctl status\fR displays the status of all devices that match the provided filtering options. .PP \fBliquidctl set \fIchannel\fB speed\fR allows the user to set fan and pump speeds. These, depending on the device, can be set to fixed duty values, variable temperature\–duty curves, or both. .PP \fBliquidctl set \fIchannel\fB color\fR allows the user to configure and set lighting modes. Supported lighting modes and additional options vary by device and are listed in later sections of this manual. Each color can be specified as: .IP \(bu hexadecimal RGB with or without prefix '0x': \fIff7f3f\fR; .IP \(bu decimal RGB triple, R,G,B ∊ [0, 255]: \fIrgb(255,127,63)\fR; .IP \(bu hue\-saturation\-value HSV triple, H ∊ [0, 360], S,V ∊ [0, 100]: \fIhsv(20,75,100)\fR; .IP \(bu hue\-saturation\-lightness HSL triple, H ∊ [0, 360], S,L ∊ [0, 100]: \fIhsl(20,100,62)\fR. .PP \fBliquidctl set \fIchannel\fB screen\fR allows the user to configure the LCD screen integrated into some AIO models. . .if !\n[is_macos]\{ .PP \fBliquidctl\fR automatically detects when a kernel driver is bound to the device and, whenever possible, uses it instead of directly accessing the device. Alternatively, direct access to the device can be forced with \fI\-\-direct\-access\fP. . .\} .SH OPTIONS . .SS Device selection options Devices can be selected using one or more values taken from \fBlist \fI\-\-verbose\fP. .TP .BI \-m\ substring\fR,\ \fP \-\-match= substring Filter devices by case insensitive substring of device description. .TP .BI \-n\ number\fR,\ \fP \-\-pick= number Pick among many results for a given filter. .TP .BI \-\-vendor= id Filter devices by hexadecimal vendor id. .TP .BI \-\-product= id Filter devices by hexadecimal product id. .TP .BI \-\-release= number Filter devices by hexadecimal release number. .TP .BI \-\-serial= number Filter devices by serial number. .TP .BI \-\-bus= bus Filter devices by bus. .TP .BI \-\-address= address Filter devices by address in bus. .TP .BI \-\-usb\-port= port Filter devices by USB port in bus. .TP .BI \-d\ index\fR,\ \fP \-\-device= index (Deprecated), select device by listing index. . .SS Animation options Some devices and animation modes support additional options. .TP .BI \-\-speed= value Abstract animation speed (device/mode specific). .TP .BI \-\-time\-per\-color= value Time to wait on each color (seconds). .TP .BI \-\-time\-off= value Time to wait with the LED turned off (seconds). .TP .BI \-\-alert\-threshold= number Threshold temperature for a visual alert (degrees Celsius). .TP .BI \-\-alert\-color= color Color used by the visual high temperature alert. .TP .BI \-\-direction= string If the pattern should move forward or backward. .TP .BI \-\-start\-led= number The first led to start the effect at. .TP .BI \-\-maximum\-leds= number The number of LED's the effect should apply to. . .SS Other options .TP .BI \-\-fan\-mode= channel:mode[,...] Set the fan modes. .TP .B \-\-single\-12v\-ocp Enable single rail +12V OCP. .TP .BI \-\-pump\-mode= mode Set the pump mode. .TP .BI \-\-temperature\-sensor= number The temperature sensor number for the Commander Pro. .TP .B \-\-legacy\-690lc Use Asetek 690LC in legacy mode (old Krakens). .TP .B \-\-non\-volatile Store on non\-volatile controller memory. .TP .B \-\-direct\-access Directly access the device despite kernel drivers. .TP .BI \-\-unsafe= features Comman-separated bleeding-edge features to enable. .TP .B \-v\fR, \fP\-\-verbose Output additional information. .TP .B \-g\fR, \fP\-\-debug Show debug information on \fIstderr\fR. .TP .B \-\-json Output machine-readable JSON. Only supported with .BR list ,\ initialize \ and\ status . .TP .B \-\-version Display the version number. .TP .B \-\-help Show the embedded help. . .SH EXIT STATUS 1 if there was an error, 0 otherwise. . .SH ENVIRONMENT If \fBLANG\fR is set to \fIC\fR, non-ASCII characters are escaped from the output of \fB\-\-json\fR. . .SH FILES .TP .ie \n[is_macos] .I ~/Library/Caches/liquidctl/* .el .IR $XDG_RUNTIME_DIR/liquidctl/* ,\ /var/run/liquidctl/* ,\ /tmp/liquidctl/* Internal data used by some drivers. .\" e.g. RuntimeStorage for Legacy690Lc and HydroPlatinum . .SH EXAMPLE .SY liquidctl .B list \-\-verbose .SY liquidctl .B initialize all .SY liquidctl .BI \-\-match\ kraken\ set\ pump\ speed\ 90 .SY liquidctl .BI \-\-product\ 170e\ set\ led\ color\ fading .I 350017 ff2608 .SY liquidctl .B status .YS . .SH DEVICE SPECIFICS . .SS Aquacomputer D5 Next .SS Aquacomputer Farbwerk .SS Aquacomputer Farbwerk 360 .SS Aquacomputer Octo .SS Aquacomputer Quadro Cooling channels: (D5 Next:) \fIfan\fR, \fIpump\fR; (Octo:) \fIfan[1\-8]\fR; (Quadro:) \fIfan[1\-4]\fR; (Farbwerk/Farbwerk 360:) not applicable. .PP Lighting channels: not yet supported. .SS ASUS Ryujin II 360 Cooling channels: \fIpump\fR, \fIfans\fR, \fIpump\-fan\fR, \fIexternal\-fans\fR. .SS ASUS Ryujin III 360, EVA, Extreme, White Cooling channels: \fIpump\fR, \fIpump\-fan\fR. .PP Screen: not yet supported. .SS ASUS Ryuo II 240 Cooling channels: \fIfans\fR, \fIfan\fR. There is only a single fan channel. .SS Corsair iCUE Elite Capellix H100i, H115i, H150i .SS Corsair Commander Core .SS Corsair Commander Core XT .SS Corsair Commander ST Cooling channels: \fIfans\fR, \fIfan[1\-6]\fR; (only non-XT/Elite Capellix:) \fIpump\fR. .PP Lighting channels: not yet supported. .SS Corsair Commander Pro .SS Corsair Lighting Node Pro .SS Corsair Lighting Node Core .SS Corsair Obsidian 1000D Cooling channels (only Commander Pro and Obsidian 1000D): \fIsync\fR, \fIfan[1\-6]\fR. .PP Where the fan connection types can be set with .BI \-\-fan\-mode= channel:mode[,...] , where the allowed modes are: \fIoff\fR, \fIdc\fR, \fIpwm\fR. .PP Lighting channels: (only Lighting Node Core:) \fIled\fR; (only Commander Pro and Lighting Node Pro:) \fIsync\fR, \fIled[1\-2]\fR. .TS l c --- l c . Mode #colors \fIclear\fR 0 \fIoff\fR 0 \fIfixed\fR 1 \fIcolor_shift\fR 2 \fIcolor_pulse\fR 2 \fIcolor_wave\fR 2 \fIvisor\fR 2 \fIblink\fR 2 \fImarquee\fR 1 \fIsequential\fR 1 \fIrainbow\fR 0 \fIrainbow2\fR 0 .TE .PP When applicable the animation speed can be set with .BI \-\-speed= value , where the allowed values are: \fIfast\fR, \fImedium\fR, \fIslow\fR. .PP The animation direction can be set with .BI \-\-direction= value , where the allowed values are: \fIforward\fR or \fIbackward\fR. .BI \-\-start\-led= number , the first LED that the lighting effect should be for. .BI \-\-start\-led= number , the first LED that the lighting effect should be for. .BI \-\-maximum\-led= number , the number of LEDs that the lighting effect should applied to. .BI \-\-temperature\-sensor= number , The temperature sensor that should be used to control the fan curves, probe 1 by default. .SS Corsair Hydro H110i GT Cooling channels: \fIfan1\fR, \fIfan2\fR. .PP Pump mode (\fBinitialize \-\-pump\-mode \fImode\fR): \fIquiet\fR (default), \fIextreme\fR. .PP Lighting channels: not yet supported. .SS Corsair Hydro H80i GT, H100i GTX, H110i GTX .SS Corsair Hydro H80i v2, H100i v2, H115i .SS EVGA CLC 120 (CL12), 240, 280, 360 Cooling channels: \fIpump\fR, \fIfan\fR. .PP Lighting channels: \fIlogo\fR. .TS l c c --- l c c . Mode #colors notes \fIrainbow\fR 0 only available on EVGA coolers \fIfading\fR 2 \fIblinking\fR 1 \fIfixed\fR 1 \fIblackout\fR 0 no high-temperature alerts .TE .PP The \fIrainbow\fR mode speed can be configured with .BI \-\-speed= [1\(en6] . The speed of the other modes is instead customized with .B \-\-time\-per\-color .RI ( fading\ and\ blinking ) and .B \-\-time\-off .RI ( blinking\ only). .PP All modes except .I blackout support a visual high-temperature alert configured with .B \-\-alert\-threshold and .BR \-\-alert\-color . .PP All current settings can be saved on non\-volatile on\-board memory by passing .B \-\-non\-volatile to any write command. However, since write\-cycles are limited, this option should be used sparingly. . .SS Corsair H100i Pro, H115i Pro, H150i Pro Cooling channels: \fIfan\fR, \fIfan[1\(en2]\fR; (only H150i Pro:) \fIfan3\fR. .PP Pump mode (\fBinitialize \-\-pump\-mode \fImode\fR): \fIquiet\fR, \fIbalanced\fR (default), \fIperformance\fR. .PP Lighting channel: \fIlogo\fR. .TS l c -- l c . Mode #colors \fIalert\fR 3 \fIshift\fR 2\(en4 \fIpulse\fR 1\(en4 \fIblinking\fR 1\(en4 \fIfixed\fR 1 .TE . .SS Corsair Hydro H100i Platinum, H100i Platinum SE, H115i Platinum .SS Corsair Hydro H60i Pro XT, H100i Pro XT, H115i Pro XT, H150i Pro XT .SS Corsair Hydro H100i, H115i, H150i Elite RGB Cooling channels: \fIfan\fR, \fIfan[1\(en2]\fR; (only H150i Pro XT/Elite RGB:) \fIfan3\fR. .PP Pump mode (\fBinitialize \-\-pump\-mode \fImode\fR): \fIquiet\fR, \fIbalanced\fR (default), \fIextreme\fR. .PP Lighting channels: \fIsync\fR, \fIled\fR. .TS l l c c c ----- l l c c c . Channel Mode #colors (Platinum) #colors (Pro XT/Elite RGB) #colors (Platinum SE) \fIled\fR \fIoff\fR 0 0 0 \fIled\fR \fIfixed\fR 1 1 1 \fIled\fR \fIsuper\-fixed\fR 24 16 48 .TE . .SS Lian Li Uni SL, SL v2, AL, AL v2, SL\-Infinity Cooling channels: \fIfan[1\(en4]\fR. .PP Lighting channels: none. . .SS MSI MPG Coreliquid K360 Cooling channels: \fIfan1\fR, \fIfan2\fR, \fIfan3\fR, \fIfans\fR, \fIwaterblock-fan\fR, \fIpump\fR. .PP Lighting channels: \fIsync\fR. .PP LCD screens: \fIlcd\fR. .TS l c ---- l c . Mode #colors \fIdisable\fR 0 \fIsteady\fR 1 \fIblink\fR 0 \fIbreathing\fR 1 \fIclock\fR 2 \fIcolor pulse\fR 0 \fIcolor ring\fR 0 \fIcolor ring double flashing\fR 0 \fIcolor ring flashing\fR 0 \fIcolor shift\fR 0 \fIcolor wave\fR 2 \fIcorsair ique\fR 0 \fIdisable2\fR 0 \fIdouble flashing\fR 1 \fIdouble meteor\fR 0 \fIenergy\fR 0 \fIfan control\fR 0 \fIfire\fR 2 \fIflashing\fR 1 \fIjazz\fR 0 \fIjrainbow\fR 0 \fIlava\fR 0 \fIlightning\fR 1 \fImarquee\fR 1 \fImeteor\fR 1\(en2 \fImovie\fR 0 \fImsi marquee\fR 1 \fImsi rainbow\fR 0 \fIplanetary\fR 0 \fIplay\fR 0 \fIpop\fR 0 \fIrainbow\fR 0 \fIrainbow double flashing\fR 0 \fIrainbow flashing\fR 0 \fIrainbow wave\fR 0 \fIrandom\fR 0 \fIrap\fR 0 \fIstack\fR 1 \fIvisor\fR 2 \fIwater drop\fR 1 .TE .PP When applicable the animation speed can be set with .BI \-\-speed= value , where the allowed values are: \fI0\fR, \fI1\fR and \fI2\fR. The LCD screen settings can be controlled with the \fBsettings\fR flag, that requires the arguments "\fIbrightness\fR;\fIdirection\fR" where an allowed brightness is an integer in the range \fI0-100\fR, and orientations \fI0-3\fR correspond to the orientations up, right, down and left. . .SS NZXT Kraken X40, X60 .SS NZXT Kraken X31, X41, X61 Supports the same modes and options as a Corsair Hydro H80i GT (or similar), but requires \fB\-\-legacy\-690lc\fR to be passed on all invocations. . .SS NZXT Kraken M22 .SS NZXT Kraken X42, X52, X62, X72 Cooling channels (only X42, X52, X62, X72): \fIpump\fR, \fIfan\fR. .PP Lighting channels: \fIlogo\fR, \fIring\fR, \fIsync\fR. .TS l c c c ---- l c c c . Mode logo ring #colors \fIoff\fR yes yes 0 \fIfixed\fR yes yes 1 \fIsuper\-fixed\fR yes yes 1\(en9 \fIfading\fR yes yes 2\(en8 \fIalternating\fR no yes 2 \fIbreathing\fR yes yes 1\(en8 \fIsuper\-breathing\fR yes yes 1\(en9 \fIpulse\fR yes yes 1\(en8 \fItai\-chi\fR no yes 2 \fIwater\-cooler\fR no yes 0 \fIloading\fR no yes 1 \fIwings\fR no yes 1 .TE .PP When applicable the animation speed can be set with .BI \-\-speed= value , where the allowed values are: \fIslowest\fR, \fIslower\fR, \fInormal\fR, \fIfaster\fR, \fIfastest\fR. The animation direction can be set with .BI \-\-direction= value , where the allowed values are: \fIforward\fR or \fIbackward\fR. . .SS NZXT Kraken X53, X63, X73 Cooling channels: \fIpump\fR. .PP Lighting channels: \fIexternal\fR, \fIring\fR, \fIlogo\fR, \fIsync\fR. . .SS NZXT Kraken Z53, Z63, Z73 Cooling channels: \fIpump\fR, \fIfan\fR. .PP Lighting channels: \fIexternal\fR. .PP LCD screens: \fIlcd\fR. . .SS NZXT Kraken 2023 Standard, Elite .SS NZXT Kraken 2024 Elite RGB .SS NZXT Kraken 2024 Plus Cooling channels: \fIpump\fR, \fIfan\fR. .PP Lighting channels: none. .PP LCD screens: \fIlcd\fR. .TS l c ---- l c . Mode #colors \fIoff\fR 0 \fIfixed\fR 1 \fIfading\fR 2\(en8 \fIsuper\-fixed\fR 1\(en40 \fIalternating\-[3\-6]\fR 1\(en2 \fIpulse\fR 1\(en8 \fIbreathing\fR 1\(en8 \fIsuper\-breathing\fR 1\(en40 \fIcandle\fR 1 \fIstarry\-night\fR 1 \fIloading\fR 1 \fItai\-chi\fR 1\(en2 \fIwater\-cooler\fR 2 \fIwings\fR 1 .TE .PP When applicable the animation speed can be set with .BI \-\-speed= value , where the allowed values are: \fIslowest\fR, \fIslower\fR, \fInormal\fR, \fIfaster\fR, \fIfastest\fR. The animation direction can be set with .BI \-\-direction= value , where the allowed values are: \fIforward\fR or \fIbackward\fR. . .SS Corsair HX750i, HX850i, HX1000i, HX1200i, HX1500i .SS Corsair RM650i, RM750i, RM850i, RM1000i Cooling channels: \fIfan\fR. .PP Lighting channels: none. .PP Setting a fixed fan speed changes the fan mode to software control. To revert back to hardware control, run \fBinitialize\fR again. .PP (Experimental feature) The +12V rails normally function in multiple-rail mode. Single-rail mode can be selected by passing \fB\-\-single\-12v\-ocp\fR to \fBinitialize\fR. To revert back to multiple-rail mode, run \fBinitialize\fR again without that flag. . .SS NZXT E500, E650, E850 Cooling channels: none (feature not supported yet). .PP Lighting channels: none. . .SS NZXT Grid+ V3 Cooling channels: \fIfan[1\(en6]\fR, \fIsync\fR. .PP Lighting channels: none. . .SS NZXT Smart Device (V1) Cooling channels: \fIfan[1\(en3]\fR, \fIsync\fR. .PP Lighting channels: \fIled\fR. .TS l c ---- l c . Mode #colors \fIoff\fR 0 \fIfixed\fR 1 \fIsuper\-fixed\fR 1\(en40 \fIfading\fR 2\(en8 \fIalternating\fR 2 \fIbreathing\fR 1\(en8 \fIsuper\-breathing\fR 1\(en40 \fIpulse\fR 1\(en8 \fIcandle\fR 1 \fIwings\fR 1 .TE .PP When applicable the animation speed can be set with .BI \-\-speed= value , where the allowed values are: \fIslowest\fR, \fIslower\fR, \fInormal\fR, \fIfaster\fR, \fIfastest\fR. The animation direction can be set with .BI \-\-direction= value , where the allowed values are: \fIforward\fR or \fIbackward\fR. . .SS NZXT HUE 2 .SS NZXT HUE 2 Ambient .SS NZXT H1 V2 .SS NZXT Smart Device V2 .SS NZXT RGB & Fan Controller .SS NZXT RGB & Fan Controller (3+6 channels) .SS NZXT 2023 RGB Controller Cooling channels (only Smart Device V2, H1 V2 and RGB & Fan Controllers): \fIfan[1\(en3]\fR. .PP Lighting channels (all but H1 V2): \fIled[1\(en6]\fR, \fIsync\fR. .TS l c ---- l c . Mode #colors \fIoff\fR 0 \fIfixed\fR 1 \fIsuper\-fixed\fR 1\(en40 \fIfading\fR 2\(en8 \fIalternating\-[3\-6]\fR 2 \fIpulse\fR 1\(en8 \fIbreathing\fR 1\(en8 \fIsuper\-breathing\fR 1\(en40 \fIcandle\fR 1 \fIstarry\-night\fR 1 \fIwings\fR 1 .TE .PP When applicable the animation speed can be set with .BI \-\-speed= value , where the allowed values are: \fIslowest\fR, \fIslower\fR, \fInormal\fR, \fIfaster\fR, \fIfastest\fR. The animation direction can be set with .BI \-\-direction= value , where the allowed values are: \fIforward\fR or \fIbackward\fR. . .SS ASUS Strix GTX 1050 OC .SS ASUS Strix GTX 1050 Ti OC .SS ASUS Strix GTX 1060 6GB .SS ASUS Strix GTX 1060 OC 6GB .SS ASUS Strix GTX 1070 .SS ASUS Strix GTX 1070 OC .SS ASUS Strix GTX 1070 Ti .SS ASUS Strix GTX 1070 Ti Advanced .SS ASUS Strix GTX 1080 .SS ASUS Strix GTX 1080 Advanced .SS ASUS Strix GTX 1080 OC .SS ASUS Strix GTX 1080 Ti .SS ASUS Strix GTX 1080 Ti OC .SS ASUS Strix GTX 1650 Super OC .SS ASUS Strix GTX 1660 Super OC .SS ASUS Strix GTX 1660 Ti OC .SS ASUS Strix RTX 2060 Evo .SS ASUS Strix RTX 2060 Evo OC .SS ASUS Strix RTX 2060 OC .SS ASUS Strix RTX 2060 Super .SS ASUS Strix RTX 2060 Super Advanced .SS ASUS Strix RTX 2060 Super Evo Advanced .SS ASUS Strix RTX 2060 Super OC .SS ASUS Strix RTX 2070 .SS ASUS Strix RTX 2070 Advanced .SS ASUS Strix RTX 2070 OC .SS ASUS Strix RTX 2070 Super Advanced .SS ASUS Strix RTX 2070 Super OC .SS ASUS Strix RTX 2080 OC .SS ASUS Strix RTX 2080 Super Advanced .SS ASUS Strix RTX 2080 Super OC .SS ASUS Strix RTX 2080 Ti .SS ASUS Strix RTX 2080 Ti OC .SS ASUS TUF RTX 3060 Ti OC Cooling channels: none. .PP Lighting channels: \fIled\fR. .TS l c ---- l c . Mode #colors \fIoff\fR 0 \fIfixed\fR 1 \fIflash\fR 1 \fIbreathing\fR 1 \fIrainbow\fR 0 .TE . .SS Corsair Vengeance RGB Cooling channels: none. .PP Lighting channels: \fIled\fR. .TS l c ---- l c . Mode #colors \fIoff\fR 0 \fIfixed\fR 1 \fIbreathing\fR 1\(en7 \fIfading\fR 2\(en7 .TE .PP When applicable the animation speed can be set with .BI \-\-speed= value , where the allowed values are: \fIslowest\fR, \fIslower\fR, \fInormal\fR, \fIfaster\fR, \fIfastest\fR. . .SS ASUS Aura LED Controller Cooling channels: none. .PP Lighting channels: \fIled[1\(en4]\fR, \fIsync\fR. .TS l c ---- l c . Mode #colors \fIoff\fR 0 \fIstatic\fR 1 \fIbreathing\fR 1 \fIflashing\fR 1 \fIspectrum_cycle\fR 0 \fIrainbow\fR 0 \fIspectrum_cycle_breathing\fR 0 \fIchase_fade\fR 1 \fIspectrum_cycle_chase_fade\fR 0 \fIchase\fR 1 \fIspectrum_cycle_chase\fR 0 \fIspectrum_cycle_wave\fR 0 \fIchase_rainbow_pulse\fR 0 \fIrainbow_flicker\fR 0 \fIgentle_transition\fR 0 \fIwave_propagation\fR 0 \fIwave_propagation_pause\fR 0 \fIred_pulse\fR 0 .TE . .SS Gigabyte RGB Fusion 2.0 5702 Controller .SS Gigabyte RGB Fusion 2.0 8297 Controller Cooling channels: none. .PP Lighting channels: \fIled[1\(en8]\fR, \fIsync\fR. .TS l c ---- l c . Mode #colors \fIoff\fR 0 \fIfixed\fR 1 \fIpulse\fR 1 \fI(double\-)?flash\fR 1 \fIcolor\-cycle\fR 0 .TE .PP When applicable the animation speed can be set with .BI \-\-speed= value , where the allowed values are: \fIslowest\fR, \fIslower\fR, \fInormal\fR, \fIfaster\fR, \fIfastest\fR, \fIludicrous\fR. . .SS EVGA GTX 1070 FTW .SS EVGA GTX 1070 FTW DT Gaming .SS EVGA GTX 1070 FTW Hybrid .SS EVGA GTX 1070 Ti FTW2 .SS EVGA GTX 1080 FTW Cooling channels: none. .PP Lighting channels: \fIled\fR. .TS l c ---- l c . Mode #colors \fIoff\fR 0 \fIfixed\fR 1 \fIbreathing\fR 1 \fIrainbow\fR 0 .TE . . .SS Lian Li GA II LCD Cooling channels: \fIpump\fR, \fIfan\fR. .PP This device does not support speed profiles for any channels, only fixed speeds are supported. .PP Lighting channels: \fIpump\fR, \fIfan\fR. .TS l c c c ---- l c c c . Mode pump fan #colors \fIrainbow\fR yes yes 0 \fIrainbow\-morph\fR yes yes 0 \fIstatic\fR yes yes 1 \fIbreathing\fR yes yes 1 \fIrunway\fR yes yes 2 \fImeteor\fR yes yes 4 \fIticker\-tape\fR yes no 4 \fIfluctuation\fR yes no 4 \fItransmit\fR yes no 2 \fIcolorful\-starry\-night\fR yes no 0 \fIstatic\-starry\-night\fR yes no 1 \fIbig\-bang\fR yes no 4 \fIburst\fR yes no 1 \fIcolor\-morph\fR yes no 0 \fIbounce\fR yes no 4 .TE .PP When applicable the animation speed can be set with .BI \-\-speed= value , where the allowed values are: \fIslowest\fR, \fIslower\fR, \fInormal\fR, \fIfaster\fR, \fIfastest\fR. The animation direction can be set with .BI \-\-direction= value , where the allowed values are: \fIforward\fR or \fIbackward\fR. . .SH SEE ALSO The complete documentation is available in the project's sources and .UR https://github.com/liquidctl/liquidctl homepage .UE . liquidctl-1.16.0/liquidctl/000077500000000000000000000000001515166127400155735ustar00rootroot00000000000000liquidctl-1.16.0/liquidctl/__init__.py000066400000000000000000000050561515166127400177120ustar00rootroot00000000000000"""Monitor and control liquid coolers and other devices. liquidctl provides facilities for monitoring and controlling liquid coolers and other hardware monitoring or LED controller devices in Python: from liquidctl import find_liquidctl_devices # Find all connected and supported devices. devices = find_liquidctl_devices() for dev in devices: # Connect to the device. In this example we use a context manager, but # the connection can also be manually managed. The context manager # automatically calls `disconnect`; when managing the connection # manually, `disconnect` must eventually be called, even if an # exception is raised. with dev.connect(): print(f'{dev.description} at {dev.bus}:{dev.address}:') # Devices should be initialized after every boot. In this example # we assume that this has not been done before. print('- initialize') init_status = dev.initialize() # Print all data returned by `initialize`. if init_status: for key, value, unit in init_status: print(f'- {key}: {value} {unit}') # Get regular status information from the device. status = dev.get_status() # Print all data returned by `get_status`. print('- get status') for key, value, unit in status: print(f'- {key}: {value} {unit}') # For a particular device, set the pump LEDs to red. if 'Kraken' in dev.description: print('- set pump to radical red') radical_red = [0xff, 0x35, 0x5e] dev.set_color(channel='pump', mode='fixed', colors=[radical_red]) A command-line interface is also available: $ python -m liquidctl --help Once the liquidctl package is installed, a `liquidctl` executable should also be available: $ liquidctl --help Copyright 2018–2023 Jonas Malaco, Marshall Asch, CaseySJ, Tom Frey, Andrew Robertson, ParkerMc, Aleksa Savic, Shady Nawara and contributors Some modules also incorporate or use as reference work by leaty, Ksenija Stanojevic, Alexander Tong, Jens Neumaier, Kristóf Jakab, Sean Nelson, Chris Griffith, notaz, realies and Thomas Pircher. This is mentioned in the module docstring, along with appropriate additional copyright notices. SPDX-License-Identifier: GPL-3.0-or-later """ # uses the psf/black style from liquidctl.driver import find_liquidctl_devices from liquidctl.error import * from liquidctl.version import __version__ liquidctl-1.16.0/liquidctl/__main__.py000066400000000000000000000004261515166127400176670ustar00rootroot00000000000000"""liquidctl – monitor and control liquid coolers and other devices. Copyright Jonas Malaco and contributors SPDX-License-Identifier: GPL-3.0-or-later """ # uses the psf/black style import sys from liquidctl.cli import main if __name__ == "__main__": sys.exit(main()) liquidctl-1.16.0/liquidctl/cli.py000066400000000000000000000440731515166127400167240ustar00rootroot00000000000000"""liquidctl – monitor and control liquid coolers and other devices. Usage: liquidctl [options] list liquidctl [options] initialize [all] liquidctl [options] status liquidctl [options] set speed ( ) ... liquidctl [options] set speed liquidctl [options] set color [] ... liquidctl [options] set screen [] liquidctl --help liquidctl --version Device selection options (see: list -v): -m, --match Filter devices by description substring -n, --pick Pick among many results for a given filter --vendor Filter devices by hexadecimal vendor ID --product Filter devices by hexadecimal product ID --release Filter devices by hexadecimal release number --serial Filter devices by serial number --bus Filter devices by bus --address
Filter devices by address in bus --usb-port Filter devices by USB port in bus Animation options (devices/modes can support zero or more): --speed Abstract animation speed (device/mode specific) --time-per-color Time to wait on each color (seconds) --time-off Time to wait with the LED turned off (seconds) --alert-threshold Threshold temperature for a visual alert (°C) --alert-color Color used by the visual high temperature alert --direction If the pattern should move forward or backward. --start-led The first led to start the effect at --maximum-leds The number of LED's the effect should apply to Other device options: --single-12v-ocp Enable single rail +12V OCP --pump-mode Set the pump mode (certain Corsair coolers) --fan-mode :[,...] Set the mode for each fan (certain Corsair devices) --temperature-sensor The temperature sensor number for the Commander Pro --legacy-690lc Use Asetek 690LC in legacy mode (old Krakens) --non-volatile Store on non-volatile controller memory --direct-access Directly access the device despite kernel drivers --unsafe Comma-separated bleeding-edge features to enable Other interface options: -v, --verbose Output additional information -g, --debug Show debug information on stderr --json JSON output (list/initialization/status) --version Display the version number --help Show this message Deprecated: -d, --device Select device by listing index Copyright 2018–2023 Jonas Malaco, Marshall Asch, CaseySJ, Tom Frey, Andrew Robertson, ParkerMc, Aleksa Savic, Shady Nawara and contributors Some modules also incorporate or use as reference work by leaty, Ksenija Stanojevic, Alexander Tong, Jens Neumaier, Kristóf Jakab, Sean Nelson, Chris Griffith, notaz, realies and Thomas Pircher. This is mentioned in the module docstring, along with appropriate additional copyright notices. SPDX-License-Identifier: GPL-3.0-or-later This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. """ import datetime import errno import inspect import json import locale import logging import os import platform import re import sys from importlib.metadata import distribution, version, PackageNotFoundError from numbers import Number from traceback import format_exception import colorlog from docopt import docopt from liquidctl import __version__ from liquidctl.driver import * from liquidctl.error import LiquidctlError from liquidctl.util import color_from_str, fan_mode_parser # conversion from CLI arg to internal option; as options as forwarded to bused # and drivers, they must: # - have no default value in the CLI level (not forwarded unless explicitly set); # - and avoid unintentional conflicts with target function arguments _PARSE_ARG = { '--vendor': lambda x: int(x, 16), '--product': lambda x: int(x, 16), '--release': lambda x: int(x, 16), '--serial': str, '--bus': str, '--address': str, '--usb-port': lambda x: tuple(map(int, x.split('.'))), '--match': str, '--pick': int, '--speed': str.lower, '--time-per-color': int, '--time-off': int, '--alert-threshold': int, '--alert-color': color_from_str, '--temperature-sensor': int, '--direction': str.lower, '--start-led': int, '--maximum-leds': int, '--single-12v-ocp': bool, '--pump-mode': str.lower, '--legacy-690lc': bool, '--non-volatile': bool, '--direct-access': bool, '--fan-mode': lambda x: fan_mode_parser(x), '--unsafe': lambda x: x.lower().split(','), '--verbose': bool, '--debug': bool, } # options that cause liquidctl.driver.find_liquidctl_devices to ommit devices _FILTER_OPTIONS = [ 'vendor', 'product', 'release', 'serial', 'bus', 'address', 'usb-port', 'match', 'pick', # --device generates no option ] # custom number formats for values of select units _VALUE_FORMATS = { '%': '.0f', 'A': '.2f', 'V': '.2f', 'W': '.2f', 'rpm': '.0f', '°C': '.1f', } _LOGGER = logging.getLogger(__name__) def _list_devices_objs(devices): def getattr_or(object, name, default=None): """Call `getattr` and return `default` on exceptions.""" try: return getattr(object, name, default) except Exception: return default return [ { 'description': dev.description, 'vendor_id': dev.vendor_id, 'product_id': dev.product_id, 'release_number': dev.release_number, 'serial_number': getattr_or(dev, 'serial_number', None), 'bus': dev.bus, 'address': dev.address, 'port': dev.port, 'driver': type(dev).__name__, # deprecated: 'experimental': '(experimental)' in dev.description, } for dev in devices ] def _list_devices_human(devices, *, using_filters, device_id, verbose, debug, **opts): for i, dev in enumerate(devices): warnings = [] if not using_filters: print(f'Device #{i}: {dev.description}') elif device_id is not None: print(f'Device #{device_id}: {dev.description}') else: print(f'Result #{i}: {dev.description}') if not verbose: continue if dev.vendor_id: print(f'├── Vendor ID: {dev.vendor_id:#06x}') if dev.product_id: print(f'├── Product ID: {dev.product_id:#06x}') if dev.release_number: print(f'├── Release number: {dev.release_number:#06x}') try: if dev.serial_number: print(f'├── Serial number: {dev.serial_number}') except: msg = 'could not read the serial number' if sys.platform.startswith('linux') and os.geteuid: msg += ' (requires root privileges)' elif sys.platform in ['win32', 'cygwin'] and 'Hid' not in type(dev.device).__name__: msg += ' (device possibly requires a kernel driver)' if debug: _LOGGER.exception(msg.capitalize()) else: warnings.append(msg) print(f'├── Bus: {dev.bus}') print(f'├── Address: {dev.address}') if dev.port: port = '.'.join(map(str, dev.port)) print(f'├── Port: {port}') print(f'└── Driver: {type(dev).__name__}') if debug: driver_hier = (i.__name__ for i in inspect.getmro(type(dev))) _LOGGER.debug('MRO: %s', ', '.join(driver_hier)) for msg in warnings: _LOGGER.warning(msg) print('') assert 'device' not in opts or len(devices) <= 1, 'too many results listed with --device' def _dev_status_obj(dev, status): # don't suppress devices without status data (typically from initialize) if not status: status = [] # convert to types that are more suitable to serialization, when that # cannot be done later (e.g. because it requires adjusting the `unit`) def convert(i): key, val, unit = i if isinstance(val, datetime.timedelta): val = val.total_seconds() unit = 's' return { 'key': key, 'value': val, 'unit': unit } return { 'bus': dev.bus, 'address': dev.address, 'description': dev.description, 'status': [convert(x) for x in status] } def _print_dev_status(dev, status): if not status: return print(dev.description) tmp = [] kcols, vcols = 0, 0 for k, v, u in status: if isinstance(v, datetime.timedelta): v = str(v) elif isinstance(v, bool): v = 'Yes' if v else 'No' elif v is None: v = 'N/A' else: valfmt = _VALUE_FORMATS.get(u, '') v = f'{v:{valfmt}}' kcols = max(kcols, len(k)) vcols = max(vcols, len(v)) tmp.append((k, v, u)) for k, v, u in tmp[:-1]: print(f'├── {k:<{kcols}} {v:>{vcols}} {u}') k, v, u = tmp[-1] print(f'└── {k:<{kcols}} {v:>{vcols}} {u}') print('') def _device_set_color(dev, args, **opts): color = map(color_from_str, args['']) dev.set_color(args[''].lower(), args[''].lower(), color, **opts) def _device_set_screen(dev, args, **opts): dev.set_screen(args[""], args[""], args[""], **opts) def _device_set_speed(dev, args, **opts): if len(args['']) > 0: profile = zip(map(int, args['']), map(int, args[''])) dev.set_speed_profile(args[''].lower(), profile, **opts) else: dev.set_fixed_speed(args[''].lower(), int(args[''][0]), **opts) def _make_opts(args): opts = {} for arg, val in args.items(): if val is not None and arg in _PARSE_ARG: opt = arg.replace('--', '').replace('-', '_') opts[opt] = _PARSE_ARG[arg](val) return opts def _log_env_infos(): _LOGGER.debug('script: %s', sys.argv[0]) _LOGGER.debug('version: %s', __version__) _LOGGER.debug('platform: %s', platform.platform()) _LOGGER.debug('python: %s', sys.version.replace('\n', ' ')) _LOGGER.debug('encoding: %s current, %s preferred, utf8_mode %s', locale.getlocale()[1], locale.getpreferredencoding(), sys.flags.utf8_mode) try: dist = distribution('liquidctl') except PackageNotFoundError: _LOGGER.debug('not installed, package metadata not available') return for req in dist.requires: name = re.search('^[a-zA-Z0-9]([a-zA-Z0-9._-]*)', req).group(0) try: _LOGGER.debug('with %s: %s', name, version(name)) except Exception as err: _LOGGER.debug('with %s: version n/a (%s)', name, err) class _ErrorAcc: __slots__ = ['_errors'] def __init__(self): self._errors = 0 def log(self, msg, *args, err=None, show_err=False): self._errors += 1 if err: # log the err with traceback before reporting it properly, this time # without traceback; this puts error messages are at the bottom of the # output, where most users first look for them _LOGGER.info('detailed error: %s: %r', msg, err, *args, exc_info=True) if show_err and err: _LOGGER.error('%s: %r', msg, err, *args) else: _LOGGER.error(msg, *args) def exit_code(self): return 0 if self.is_empty() else 1 def is_empty(self): return not bool(self._errors) def main(): args = docopt(__doc__) if args['--version']: print(f'liquidctl v{__version__} ({platform.platform()})') sys.exit(0) if args['--debug']: args['--verbose'] = True log_fmt = '%(log_color)s[%(levelname)s] (%(module)s) (%(funcName)s): %(message)s' log_level = logging.DEBUG elif args['--verbose']: log_fmt = '%(log_color)s%(levelname)s: %(message)s' log_level = logging.INFO else: log_fmt = '%(log_color)s%(levelname)s: %(message)s' log_level = logging.WARNING sys.tracebacklimit = 0 if sys.platform == 'win32': log_colors = { 'DEBUG': f'bold_blue', 'INFO': f'bold_purple', 'WARNING': 'yellow,bold', 'ERROR': 'red,bold', 'CRITICAL': 'red,bold,bg_white', } else: log_colors = { 'DEBUG': f'blue', 'INFO': f'purple', 'WARNING': 'yellow,bold', 'ERROR': 'red,bold', 'CRITICAL': 'red,bold,bg_white', } log_fmtter = colorlog.TTYColoredFormatter(fmt=log_fmt, stream=sys.stderr, log_colors=log_colors) log_handler = logging.StreamHandler() log_handler.setFormatter(log_fmtter) logging.basicConfig(level=log_level, handlers=[log_handler]) _log_env_infos() if __name__ == '__main__': _LOGGER.warning('python -m liquidctl.cli is deprecated, prefer python -m liquidctl') errors = _ErrorAcc() # unlike humans, machines want to know everything; imply verbose everywhere # other than when setting default logging level and format (which are # inherently for human consumption) if args['--json']: args['--verbose'] = True opts = _make_opts(args) filter_count = sum(1 for opt in opts if opt in _FILTER_OPTIONS) device_id = None if not args['--device']: selected = list(find_liquidctl_devices(**opts)) else: _LOGGER.warning('-d/--device is deprecated, prefer --match or other selection options') device_id = int(args['--device']) no_filters = {opt: val for opt, val in opts.items() if opt not in _FILTER_OPTIONS} compat = list(find_liquidctl_devices(**no_filters)) if device_id < 0 or device_id >= len(compat): errors.log('device index out of bounds') return errors.exit_code() if filter_count: # check that --device matches other filter criteria matched_devs = [dev.device for dev in find_liquidctl_devices(**opts)] if compat[device_id].device not in matched_devs: errors.log('device index does not match remaining selection criteria') return errors.exit_code() _LOGGER.warning('mixing --device with other filters is not recommended; ' 'to disambiguate between results prefer --pick ') selected = [compat[device_id]] if args['list']: if args['--json']: objs = _list_devices_objs(selected) print(json.dumps(objs, ensure_ascii=(os.getenv('LANG', None) == 'C'))) else: _list_devices_human(selected, using_filters=bool(filter_count), device_id=device_id, json=json, **opts) return if len(selected) > 1 and not (args['status'] or args['all']): errors.log('multiple devices available, use filters to select one (see: liquidctl --help)') return errors.exit_code() elif len(selected) == 0: errors.log('no device matches available drivers and selection criteria') return errors.exit_code() # for json obj_buf = [] for dev in selected: _LOGGER.debug('device: %s', dev.description) try: with dev.connect(**opts): if args['initialize']: status = dev.initialize(**opts) if args['--json']: obj_buf.append(_dev_status_obj(dev, status)) else: _print_dev_status(dev, status) elif args['status']: status = dev.get_status(**opts) if args['--json']: obj_buf.append(_dev_status_obj(dev, status)) else: _print_dev_status(dev, status) elif args['set'] and args['speed']: _device_set_speed(dev, args, **opts) elif args['set'] and args['color']: _device_set_color(dev, args, **opts) elif args['set'] and args['screen']: _device_set_screen(dev, args, **opts) else: assert False, 'unreachable' except LiquidctlError as err: errors.log(f'{dev.description}: {err}', err=err) except OSError as err: # each backend API returns a different subtype of OSError (OSError, # usb.core.USBError or PermissionError) for permission issues if err.errno in [errno.EACCES, errno.EPERM]: errors.log(f'{dev.description}: insufficient permissions', err=err) elif err.args == ('open failed', ): errors.log( f'{dev.description}: could not open, possibly due to insufficient permissions', err=err ) else: errors.log(f'{dev.description}: unexpected OS error', err=err, show_err=True) except Exception as err: errors.log(f'{dev.description}: unexpected error', err=err, show_err=True) if errors.is_empty() and args['--json']: # use __str__ for values that cannot be directly serialized to JSON # (e.g. enums) print(json.dumps(obj_buf, ensure_ascii=(os.getenv('LANG', None) == 'C'), default=lambda x: str(x))) return errors.exit_code() if __name__ == '__main__': sys.exit(main()) liquidctl-1.16.0/liquidctl/driver/000077500000000000000000000000001515166127400170665ustar00rootroot00000000000000liquidctl-1.16.0/liquidctl/driver/__init__.py000066400000000000000000000056151515166127400212060ustar00rootroot00000000000000"""liquidctl buses and drivers. The typical use case of generic scripts and interfaces – including the liquidctl CLI – is to instantiate drivers for all known devices found on the system. from liquidctl.driver import * for dev in find_liquidctl_devices(): print(dev.description) Is also possible to find devices compatible with a specific driver. from liquidctl.driver.kraken_two import KrakenTwoDriver for dev in KrakenTwoDriver.find_supported_devices(): print(dev.description) Copyright Jonas Malaco and contributors SPDX-License-Identifier: GPL-3.0-or-later """ import sys from liquidctl.driver.base import BaseBus, find_all_subclasses # automatically enabled drivers from liquidctl.driver import aquacomputer from liquidctl.driver import asetek from liquidctl.driver import asetek_pro from liquidctl.driver import asus_ryujin from liquidctl.driver import asus_ryuo from liquidctl.driver import aura_led from liquidctl.driver import commander_core from liquidctl.driver import commander_pro from liquidctl.driver import control_hub from liquidctl.driver import coolit from liquidctl.driver import corsair_hid_psu from liquidctl.driver import hydro_platinum from liquidctl.driver import kraken2 from liquidctl.driver import kraken3 from liquidctl.driver import lianli_uni from liquidctl.driver import msi from liquidctl.driver import nzxt_epsu from liquidctl.driver import rgb_fusion2 from liquidctl.driver import smart_device from liquidctl.driver import ga2_lcd if sys.platform == 'linux': from liquidctl.driver import ddr4 from liquidctl.driver import nvidia def find_liquidctl_devices(pick=None, **kwargs): """Find devices and instantiate corresponding liquidctl drivers. Probes all buses and drivers that have been loaded at the time of the call and yields driver instances. Filter conditions can be passed through to the buses and drivers via `**kwargs`. A driver instance will be yielded for each compatible device that matches the supplied filter conditions. If `pick` is passed, only the driver instance for the `(pick + 1)`-th matched device will be yielded. """ buses = sorted(find_all_subclasses(BaseBus), key=lambda x: (x.__module__, x.__name__)) num = 0 for bus_cls in buses: for dev in bus_cls().find_devices(**kwargs): if pick is not None: if num == pick: yield dev return num += 1 else: yield dev __all__ = [ 'find_liquidctl_devices', ] # allow old driver imports to continue to work by manually placing these into # the module cache, so import liquidctl.driver.foo does not need to # check the filesystem for foo sys.modules['liquidctl.driver.kraken_two'] = kraken2 sys.modules['liquidctl.driver.nzxt_smart_device'] = smart_device sys.modules['liquidctl.driver.seasonic'] = nzxt_epsu liquidctl-1.16.0/liquidctl/driver/aquacomputer.py000066400000000000000000000514061515166127400221540ustar00rootroot00000000000000"""liquidctl driver for Aquacomputer family of watercooling devices. Aquacomputer D5 Next watercooling pump -------------------------------------- The pump sends a status HID report every second with no initialization being required. The status HID report exposes sensor values such as liquid temperature and two groups of fan sensors, for the pump and the optionally connected fan. These groups provide RPM speed, voltage, current and power readings. The pump additionally exposes +5V and +12V voltage rail readings and eight virtual temperature sensors. The pump and fan can be set to a fixed speed (0-100%). Aquacomputer Farbwerk 360 ------------------------- Farbwerk 360 is an RGB controller and sends a status HID report every second with no initialization being required. The status HID report exposes four physical and sixteen virtual temperature sensor values. Aquacomputer Octo ------------------------- Octo is a fan/RGB controller and sends a status HID report every second with no initialization being required. The status HID report exposes four temperature sensor values and eight groups of fan sensors for optionally connected fans. Octo additionaly exposes sixteen virtual temp sensors through this report. Aquacomputer Quadro ------------------------- Quadro is a fan/RGB controller and sends a status HID report every second with no initialization being required. The status HID report exposes four physical and sixteen virtual temperature sensor values, and four groups of fan sensors for optionally connected fans. Driver ------ Linux has the aquacomputer_d5next driver available since v5.15. Subsequent releases have more functionality and support a wider range of devices (detailed below). If present, it's used instead of reading the status reports directly. Hwmon support: - D5 Next watercooling pump: sensors - 5.15+, direct PWM control - not yet in fully - Farbwerk 360: sensors - 5.18+ - Octo: sensors - 5.19+, direct PWM control - not yet in fully - Quadro: sensors - 6.0+, direct PWM control - not yet in fully Virtual temp sensor reading is supported in 6.0+. Copyright Aleksa Savic and contributors SPDX-License-Identifier: GPL-3.0-or-later """ # uses the psf/black style import logging, time, errno from liquidctl.driver.usb import UsbHidDriver from liquidctl.error import NotSupportedByDriver, NotSupportedByDevice from liquidctl.util import u16be_from, clamp, mkCrcFun _LOGGER = logging.getLogger(__name__) _AQC_TEMP_SENSOR_DISCONNECTED = 0x7FFF _AQC_FAN_VOLTAGE_OFFSET = 0x02 _AQC_FAN_CURRENT_OFFSET = 0x04 _AQC_FAN_POWER_OFFSET = 0x06 _AQC_FAN_SPEED_OFFSET = 0x08 _AQC_STATUS_READ_ENDPOINT = 0x01 _AQC_CTRL_REPORT_ID = 0x03 _AQC_FAN_TYPE_OFFSET = 0x00 _AQC_FAN_PERCENT_OFFSET = 0x01 def put_unaligned_be16(value, data, offset): value_be = bytearray(value.to_bytes(2, "big")) data[offset], data[offset + 1] = value_be[0], value_be[1] class Aquacomputer(UsbHidDriver): _DEVICE_D5NEXT = "D5 Next" _DEVICE_FARBWERK = "Farbwerk" _DEVICE_FARBWERK360 = "Farbwerk 360" _DEVICE_OCTO = "Octo" _DEVICE_QUADRO = "Quadro" _DEVICE_INFO = { _DEVICE_D5NEXT: { "type": _DEVICE_D5NEXT, "fan_sensors": [0x6C, 0x5F], "temp_sensors": [0x57], "virt_temp_sensors": [0x3F + offset * 2 for offset in range(0, 8)], "plus_5v_voltage": 0x39, "plus_12v_voltage": 0x37, "temp_sensors_label": ["Liquid temperature"], "virt_temp_sensors_label": [f"Soft. Sensor {num}" for num in range(1, 8 + 1)], "fan_speed_label": ["Pump speed", "Fan speed"], "fan_power_label": ["Pump power", "Fan power"], "fan_voltage_label": ["Pump voltage", "Fan voltage"], "fan_current_label": ["Pump current", "Fan current"], "status_report_length": 0x9E, "ctrl_report_length": 0x329, "fan_ctrl": {"pump": 0x96, "fan": 0x41}, "hwmon_ctrl_mapping": {"pump": "pwm1", "fan": "pwm2"}, }, _DEVICE_FARBWERK: { "type": _DEVICE_FARBWERK, "temp_sensors": [0x2F, 0x31, 0x33, 0x35], "temp_sensors_label": ["Sensor 1", "Sensor 2", "Sensor 3", "Sensor 4"], "status_report_length": 0xB6, }, _DEVICE_FARBWERK360: { "type": _DEVICE_FARBWERK360, "temp_sensors": [0x32, 0x34, 0x36, 0x38], "virt_temp_sensors": [0x3A + offset * 2 for offset in range(0, 16)], "temp_sensors_label": ["Sensor 1", "Sensor 2", "Sensor 3", "Sensor 4"], "virt_temp_sensors_label": [f"Soft. Sensor {num}" for num in range(1, 16 + 1)], "status_report_length": 0xB6, }, _DEVICE_OCTO: { "type": _DEVICE_OCTO, "fan_sensors": [0x7D, 0x8A, 0x97, 0xA4, 0xB1, 0xBE, 0xCB, 0xD8], "temp_sensors": [0x3D, 0x3F, 0x41, 0x43], "virt_temp_sensors": [0x45 + offset * 2 for offset in range(0, 16)], "temp_sensors_label": ["Sensor 1", "Sensor 2", "Sensor 3", "Sensor 4"], "virt_temp_sensors_label": [f"Soft. Sensor {num}" for num in range(1, 16 + 1)], "fan_speed_label": [f"Fan {num} speed" for num in range(1, 8 + 1)], "fan_power_label": [f"Fan {num} power" for num in range(1, 8 + 1)], "fan_voltage_label": [f"Fan {num} voltage" for num in range(1, 8 + 1)], "fan_current_label": [f"Fan {num} current" for num in range(1, 8 + 1)], "status_report_length": 0x147, "ctrl_report_length": 0x65F, "fan_ctrl": { name: offset for (name, offset) in zip( [f"fan{i}" for i in range(1, 8 + 1)], [0x5A, 0xAF, 0x104, 0x159, 0x1AE, 0x203, 0x258, 0x2AD], ) }, }, _DEVICE_QUADRO: { "type": _DEVICE_QUADRO, "fan_sensors": [0x70, 0x7D, 0x8A, 0x97], "temp_sensors": [0x34, 0x36, 0x38, 0x3A], "virt_temp_sensors": [0x3C + offset * 2 for offset in range(0, 16)], "temp_sensors_label": ["Sensor 1", "Sensor 2", "Sensor 3", "Sensor 4"], "virt_temp_sensors_label": [f"Soft. Sensor {num}" for num in range(1, 16 + 1)], "fan_speed_label": [f"Fan {num} speed" for num in range(1, 4 + 1)], "fan_power_label": [f"Fan {num} power" for num in range(1, 4 + 1)], "fan_voltage_label": [f"Fan {num} voltage" for num in range(1, 4 + 1)], "fan_current_label": [f"Fan {num} current" for num in range(1, 4 + 1)], "flow_sensor_offset": 0x6E, "status_report_length": 0xDC, "ctrl_report_length": 0x3C1, "fan_ctrl": { name: offset for (name, offset) in zip( [f"fan{i}" for i in range(1, 4 + 1)], [0x36, 0x8B, 0xE0, 0x135], ) }, }, } _MATCHES = [ ( 0x0C70, 0xF00E, "Aquacomputer D5 Next", {"device_info": _DEVICE_INFO[_DEVICE_D5NEXT]}, ), ( 0x0C70, 0xF00A, "Aquacomputer Farbwerk", {"device_info": _DEVICE_INFO[_DEVICE_FARBWERK]}, ), ( 0x0C70, 0xF010, "Aquacomputer Farbwerk 360", {"device_info": _DEVICE_INFO[_DEVICE_FARBWERK360]}, ), ( 0x0C70, 0xF011, "Aquacomputer Octo", {"device_info": _DEVICE_INFO[_DEVICE_OCTO]}, ), ( 0x0C70, 0xF00D, "Aquacomputer Quadro", {"device_info": _DEVICE_INFO[_DEVICE_QUADRO]}, ), ] def __init__(self, device, description, device_info, **kwargs): super().__init__(device, description) # Read when necessary self._firmware_version = None self._serial = None self._device_info = device_info def initialize(self, **kwargs): """Initialize the device and the driver. This method should be called every time the system boots, resumes from a suspended state, or if the device has just been (re)connected. In those scenarios, no other method, except `connect()` or `disconnect()`, should be called until the device and driver has been (re-)initialized. Returns None or a list of `(property, value, unit)` tuples, similarly to `get_status()`. """ fw = self.firmware_version serial_number = self._serial_number return [("Firmware version", fw, ""), ("Serial number", serial_number, "")] def _get_status_directly(self): def _read_temp_sensors(offsets_key, labels_key): for idx, temp_sensor_offset in enumerate(self._device_info.get(offsets_key, [])): temp_sensor_value = u16be_from(msg, temp_sensor_offset) if temp_sensor_value != _AQC_TEMP_SENSOR_DISCONNECTED: temp_sensor_reading = ( self._device_info[labels_key][idx], temp_sensor_value * 1e-2, "°C", ) sensor_readings.append(temp_sensor_reading) msg = self._read() sensor_readings = [] # Read temp sensor values _read_temp_sensors("temp_sensors", "temp_sensors_label") # Read virtual temp sensor values _read_temp_sensors("virt_temp_sensors", "virt_temp_sensors_label") # Read fan speed and related values for idx, fan_sensor_offset in enumerate(self._device_info.get("fan_sensors", [])): fan_speed = ( self._device_info["fan_speed_label"][idx], u16be_from(msg, fan_sensor_offset + _AQC_FAN_SPEED_OFFSET), "rpm", ) sensor_readings.append(fan_speed) fan_power = ( self._device_info["fan_power_label"][idx], u16be_from(msg, fan_sensor_offset + _AQC_FAN_POWER_OFFSET) * 1e-2, "W", ) sensor_readings.append(fan_power) fan_voltage = ( self._device_info["fan_voltage_label"][idx], u16be_from(msg, fan_sensor_offset + _AQC_FAN_VOLTAGE_OFFSET) * 1e-2, "V", ) sensor_readings.append(fan_voltage) fan_current = ( self._device_info["fan_current_label"][idx], u16be_from(msg, fan_sensor_offset + _AQC_FAN_CURRENT_OFFSET) * 1e-3, "A", ) sensor_readings.append(fan_current) # Special-case sensor readings if self._device_info["type"] == self._DEVICE_D5NEXT: # Read +5V voltage rail value plus_5v_voltage = ( "+5V voltage", u16be_from(msg, self._device_info["plus_5v_voltage"]) * 1e-2, "V", ) sensor_readings.append(plus_5v_voltage) # Read +12V voltage rail value plus_12v_voltage = ( "+12V voltage", u16be_from(msg, self._device_info["plus_12v_voltage"]) * 1e-2, "V", ) sensor_readings.append(plus_12v_voltage) elif self._device_info["type"] == self._DEVICE_QUADRO: # Read flow sensor value flow_sensor_value = ( "Flow sensor", u16be_from(msg, self._device_info["flow_sensor_offset"]), "dL/h", ) sensor_readings.append(flow_sensor_value) return sensor_readings def _get_status_from_hwmon(self): def _read_temp_sensors(offsets_key, labels_key, idx_add=0): encountered_errors = False for idx, temp_sensor_offset in enumerate(self._device_info.get(offsets_key, [])): try: hwmon_val = self._hwmon.read_int(f"temp{idx + 1 + idx_add}_input") * 1e-3 except OSError as os_error: # For reference, the driver returns ENODATA when a sensor is unset/empty. ENOENT means that the # current driver version does not support virtual sensors, warn the user later if os_error.errno == errno.ENOENT: encountered_errors = True continue temp_sensor_reading = ( self._device_info[labels_key][idx], hwmon_val, "°C", ) sensor_readings.append(temp_sensor_reading) if encountered_errors: _LOGGER.warning( f"some temp sensors cannot be read from %s kernel driver", self._hwmon.driver, ) sensor_readings = [] # Read temp sensor values _read_temp_sensors("temp_sensors", "temp_sensors_label") # Read virtual temp sensor values _read_temp_sensors( "virt_temp_sensors", "virt_temp_sensors_label", len(self._device_info.get("temp_sensors", [])), ) # Read fan speed and related values for idx, fan_sensor_offset in enumerate(self._device_info.get("fan_sensors", [])): fan_speed = ( self._device_info["fan_speed_label"][idx], self._hwmon.read_int(f"fan{idx + 1}_input"), "rpm", ) sensor_readings.append(fan_speed) fan_power = ( self._device_info["fan_power_label"][idx], self._hwmon.read_int(f"power{idx + 1}_input") * 1e-6, "W", ) sensor_readings.append(fan_power) fan_voltage = ( self._device_info["fan_voltage_label"][idx], self._hwmon.read_int(f"in{idx}_input") * 1e-3, "V", ) sensor_readings.append(fan_voltage) fan_current = ( self._device_info["fan_current_label"][idx], self._hwmon.read_int(f"curr{idx + 1}_input") * 1e-3, "A", ) sensor_readings.append(fan_current) # Special-case sensor readings if self._device_info["type"] == self._DEVICE_D5NEXT: # Read +5V voltage rail value plus_5v_voltage = ("+5V voltage", self._hwmon.read_int("in2_input") * 1e-3, "V") sensor_readings.append(plus_5v_voltage) if self._hwmon.has_attribute("in3_input"): # The driver exposes the +12V voltage of the pump (kernel v6.0+), read the value plus_12v_voltage = ("+12V voltage", self._hwmon.read_int("in3_input") * 1e-3, "V") sensor_readings.append(plus_12v_voltage) else: _LOGGER.warning( "+12V voltage cannot be read from %s kernel driver", self._hwmon.driver ) elif self._device_info["type"] == self._DEVICE_QUADRO: # Read flow sensor value flow_sensor_value = ("Flow sensor", self._hwmon.read_int("fan5_input"), "dL/h") sensor_readings.append(flow_sensor_value) return sensor_readings def get_status(self, direct_access=False, **kwargs): """Get a status report. Returns a list of `(property, value, unit)` tuples. """ if self._hwmon and not direct_access: _LOGGER.info("bound to %s kernel driver, reading status from hwmon", self._hwmon.driver) return self._get_status_from_hwmon() if self._hwmon: _LOGGER.warning( "directly reading the status despite %s kernel driver", self._hwmon.driver ) return self._get_status_directly() def set_speed_profile(self, channel, profile, **kwargs): if ( self._device_info["type"] == self._DEVICE_D5NEXT or self._device_info["type"] == self._DEVICE_OCTO or self._device_info["type"] == self._DEVICE_QUADRO ): # Not yet reverse engineered / implemented raise NotSupportedByDriver() elif self._device_info["type"] in [self._DEVICE_FARBWERK360, self._DEVICE_FARBWERK]: raise NotSupportedByDevice() def _fan_name_to_hwmon_names(self, channel): if "hwmon_ctrl_mapping" in self._device_info: # Custom fan name to hwmon pwmX translation pwm_name = self._device_info["hwmon_ctrl_mapping"][channel] else: # Otherwise, assume that fanX translates to pwmX pwm_name = f"pwm{channel[3]}" return pwm_name, f"{pwm_name}_enable" def _set_fixed_speed_hwmon(self, channel, duty): hwmon_pwm_name, hwmon_pwm_enable_name = self._fan_name_to_hwmon_names(channel) # Set channel to direct percent mode self._hwmon.write_int(hwmon_pwm_enable_name, 1) # Some devices (Octo, Quadro and Aquaero) can not accept reports in quick succession, so slow down a bit time.sleep(0.2) # Convert duty from percent to PWM range (0-255) pwm_duty = duty * 255 // 100 # Write to hwmon self._hwmon.write_int(hwmon_pwm_name, pwm_duty) def _set_fixed_speed_directly(self, channel, duty): # Request an up to date ctrl report report_length = self._device_info["ctrl_report_length"] ctrl_settings = self.device.get_feature_report(_AQC_CTRL_REPORT_ID, report_length) fan_ctrl_offset = self._device_info["fan_ctrl"][channel] # Set fan to direct percent-value mode ctrl_settings[fan_ctrl_offset + _AQC_FAN_TYPE_OFFSET] = 0 # Write down duty for channel put_unaligned_be16( duty * 100, # Centi-percent ctrl_settings, fan_ctrl_offset + _AQC_FAN_PERCENT_OFFSET, ) # Update checksum value at the end of the report crc16usb_func = mkCrcFun("crc-16-usb") checksum_part = bytes(ctrl_settings[0x01 : report_length - 3 + 1]) checksum_bytes = crc16usb_func(checksum_part) put_unaligned_be16(checksum_bytes, ctrl_settings, report_length - 2) # Some devices (Octo, Quadro and Aquaero) can not accept reports in quick succession, so slow down a bit time.sleep(0.2) self.device.send_feature_report(ctrl_settings) def set_fixed_speed(self, channel, duty, direct_access=False, **kwargs): if self._device_info["type"] == self._DEVICE_FARBWERK360: raise NotSupportedByDevice() # Clamp duty between 0 and 100 duty = clamp(duty, 0, 100) if self._hwmon: hwmon_pwm_name, hwmon_pwm_enable_name = self._fan_name_to_hwmon_names(channel) # pwmX and pwmX_enable attributes are required in order to set the PWM value, # as well as the channel mode to "direct PWM value". Without pwmX_enable, # we can't guarantee that the PWM value will at all be used, as the channel # could be in a different mode (PID, curve, fan follow). if self._hwmon.has_attribute(hwmon_pwm_name) and self._hwmon.has_attribute( hwmon_pwm_enable_name ): # They are, and if we have to use direct access, warn that we are sidestepping the kernel driver if direct_access: _LOGGER.warning( "directly writing fixed speed despite %s kernel driver having support", self._hwmon.driver, ) return self._set_fixed_speed_directly(channel, duty) _LOGGER.info( "bound to %s kernel driver, writing fixed speed to hwmon", self._hwmon.driver ) return self._set_fixed_speed_hwmon(channel, duty) elif not direct_access: _LOGGER.warning( "required PWM functionality is not available in %s kernel driver, falling back to direct access", self._hwmon.driver, ) self._set_fixed_speed_directly(channel, duty) def set_color(self, channel, mode, colors, **kwargs): # Not yet reverse engineered / implemented raise NotSupportedByDriver() def _read_device_statics(self): if self._firmware_version is None or self._serial is None: msg = self._read(clear_first=False) self._firmware_version = u16be_from(msg, 0xD) self._serial = f"{u16be_from(msg, 0x3):05}-{u16be_from(msg, 0x5):05}" @property def firmware_version(self): self._read_device_statics() return self._firmware_version @property def _serial_number(self): self._read_device_statics() return self._serial def _read(self, clear_first=True): if clear_first: self.device.clear_enqueued_reports() msg = self.device.read(self._device_info["status_report_length"]) return msg liquidctl-1.16.0/liquidctl/driver/asetek.py000066400000000000000000000446701515166127400207270ustar00rootroot00000000000000"""liquidctl drivers for fifth generation Asetek 690LC liquid coolers. Supported devices: - EVGA CLC (120 CL12, 240, 280 or 360); modern generic Asetek 690LC - NZXT Kraken X (X31, X41 or X61); legacy generic Asetek 690LC - NZXT Kraken X (X40 or X60); legacy generic Asetek 690LC - Corsair Hydro H80i GT, H100i GTX or H110i GTX - Corsair Hydro H80i v2, H100i v2 or H115i Copyright Jonas Malaco and contributors Incorporates or uses as reference work by Kristóf Jakab, Sean Nelson and Chris Griffith. SPDX-License-Identifier: GPL-3.0-or-later """ import logging import usb from liquidctl.driver.usb import UsbDriver from liquidctl.error import NotSupportedByDevice from liquidctl.keyval import RuntimeStorage from liquidctl.util import clamp _LOGGER = logging.getLogger(__name__) _CMD_RUNTIME = 0x10 _CMD_PROFILE = 0x11 _CMD_OVERRIDE = 0x12 _CMD_PUMP_PWM = 0x13 _CMD_LUID = 0x14 _CMD_READ_ONLY_RUNTIME = 0x20 _CMD_STORE_SETTINGS = 0x21 _CMD_EXTERNAL_TEMPERATURE = 0x22 _FIXED_SPEED_CHANNELS = { # (message type, minimum duty, maximum duty) 'pump': (_CMD_PUMP_PWM, 50, 100), # min/max must correspond to _MIN/MAX_PUMP_SPEED_CODE } _VARIABLE_SPEED_CHANNELS = { # (message type, minimum duty, maximum duty) 'fan': (_CMD_PROFILE, 0, 100) } _MAX_PROFILE_POINTS = 6 _CRITICAL_TEMPERATURE = 60 _HIGH_TEMPERATURE = 45 _MIN_PUMP_SPEED_CODE = 0x32 _MAX_PUMP_SPEED_CODE = 0x42 _READ_ENDPOINT = 0x82 _READ_LENGTH = 32 _WRITE_ENDPOINT = 0x2 _LEGACY_FIXED_SPEED_CHANNELS = { # (message type, minimum duty, maximum duty) 'fan': (_CMD_OVERRIDE, 0, 100), 'pump': (_CMD_PUMP_PWM, 50, 100), } # USBXpress specific control parameters; from the USBXpress SDK # (Customization/CP21xx_Customization/AN721SW_Linux/silabs_usb.h) _USBXPRESS_REQUEST = 0x02 _USBXPRESS_FLUSH_BUFFERS = 0x01 _USBXPRESS_CLEAR_TO_SEND = 0x02 _USBXPRESS_NOT_CLEAR_TO_SEND = 0x04 _USBXPRESS_GET_PART_NUM = 0x08 # Unknown control parameters; from Craig's libSiUSBXp and OpenCorsairLink _UNKNOWN_OPEN_REQUEST = 0x00 _UNKNOWN_OPEN_VALUE = 0xffff # Control request type _USBXPRESS = usb.util.CTRL_OUT | usb.util.CTRL_TYPE_VENDOR | usb.util.CTRL_RECIPIENT_DEVICE class _Base690Lc(UsbDriver): """Common methods for Asetek 690LC devices.""" _LEGACY_690LC = False @classmethod def probe(cls, handle, legacy_690lc=False, **kwargs): """Probe `handle` and yield corresponding driver instances.""" if legacy_690lc != cls._LEGACY_690LC: return yield from super().probe(handle, **kwargs) @classmethod def find_supported_devices(cls, **kwargs): """Find devices specifically compatible with this driver. Automatically sets the appropriate value for `legacy_690lc`. """ return super().find_supported_devices(legacy_690lc=cls._LEGACY_690LC, **kwargs) def _configure_flow_control(self, clear_to_send): """Set the software clear-to-send flow control policy for device.""" _LOGGER.debug('set clear to send = %s', clear_to_send) if clear_to_send: self.device.ctrl_transfer(_USBXPRESS, _USBXPRESS_REQUEST, _USBXPRESS_CLEAR_TO_SEND) else: self.device.ctrl_transfer(_USBXPRESS, _USBXPRESS_REQUEST, _USBXPRESS_NOT_CLEAR_TO_SEND) def _begin_transaction(self): """Begin a new transaction before writing to the device.""" _LOGGER.debug('begin transaction') self.device.claim() self.device.ctrl_transfer(_USBXPRESS, _USBXPRESS_REQUEST, _USBXPRESS_FLUSH_BUFFERS) def _write(self, data): self.device.write(_WRITE_ENDPOINT, data) def _end_transaction_and_read(self): """End the transaction by reading from the device. According to the official documentation, as well as Craig's open-source implementation (libSiUSBXp), it should be necessary to check the queue size and read the data in chunks. However, leviathan and its derivatives seem to work fine without this complexity; we also successfully follow this approach. """ msg = self.device.read(_READ_ENDPOINT, _READ_LENGTH) self.device.release() return msg def _configure_device(self, color1=[0, 0, 0], color2=[0, 0, 0], color3=[255, 0, 0], alert_temp=_HIGH_TEMPERATURE, interval1=0, interval2=0, blackout=False, fading=False, blinking=False, enable_alert=True): self._write([0x10] + color1 + color2 + color3 + [alert_temp, interval1, interval2, not blackout, fading, blinking, enable_alert, 0x00, 0x01]) def _prepare_profile(self, profile, min_duty, max_duty, max_points): opt = list(profile) size = len(opt) if size < 1: raise ValueError('at least one PWM point required') elif size > _MAX_PROFILE_POINTS: raise ValueError(f'too many PWM points ({size}), only {max_points} supported') for i, (temp, duty) in enumerate(opt): opt[i] = (temp, clamp(duty, min_duty, max_duty)) missing = max_points - size if missing: # Some issues were observed when padding with (0°C, 0%), though # they were hard to reproduce. So far it *seems* that in some # instances the device will store the last "valid" profile index # somewhere, and would need another call to initialize() to clear # that up. Padding with (CRIT, 100%) appears to avoid all issues, # at least within the reasonable range of operating temperatures. _LOGGER.info('filling missing %d PWM points with (60°C, 100%%)', missing) opt = opt + [(_CRITICAL_TEMPERATURE, 100)]*missing return opt def connect(self, **kwargs): """Connect to the device. Enables the device to send data to the host. """ ret = super().connect(**kwargs) self._configure_flow_control(clear_to_send=True) return ret def initialize(self, **kwargs): """Initialize the device.""" self._begin_transaction() self._configure_device() self._end_transaction_and_read() def disconnect(self, **kwargs): """Disconnect from the device. Implementation note: unlike SI_Close is supposed to do,¹ do not send _USBXPRESS_NOT_CLEAR_TO_SEND to the device. This allows one program to disconnect without stopping reads from another. Surrounding device.read() with _USBXPRESS_[NOT_]CLEAR_TO_SEND would make more sense, but there seems to be a yet unknown minimum delay necessary for that to work reliably. ¹ https://github.com/craigshelley/SiUSBXp/blob/master/SiUSBXp.c """ super().disconnect(**kwargs) def set_screen(self, channel, mode, value, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() class _ModernBase690Lc(_Base690Lc): def _persist(self): _LOGGER.debug('instructing device to persist current settings') self._begin_transaction() self._write([_CMD_STORE_SETTINGS]) self._end_transaction_and_read() def initialize(self, non_volatile=False, **kwargs): super().initialize(**kwargs) if non_volatile: self._persist() def get_status(self, **kwargs): """Get a status report. Returns a list of `(property, value, unit)` tuples. """ self._begin_transaction() self._write([_CMD_LUID, 0, 0, 0]) msg = self._end_transaction_and_read() firmware = '{}.{}.{}.{}'.format(*tuple(msg[0x17:0x1b])) return [ ('Liquid temperature', msg[10] + msg[14]/10, '°C'), ('Fan speed', msg[0] << 8 | msg[1], 'rpm'), ('Pump speed', msg[8] << 8 | msg[9], 'rpm'), ('Firmware version', firmware, '') ] def set_color(self, channel, mode, colors, time_per_color=1, time_off=None, alert_threshold=_HIGH_TEMPERATURE, alert_color=[255, 0, 0], speed=3, non_volatile=False, **kwargs): """Set the color mode for a specific channel.""" # keyword arguments may have been forwarded from cli args and need parsing colors = list(colors) self._begin_transaction() if mode == 'rainbow': if isinstance(speed, str): speed = int(speed) self._write([0x23, clamp(speed, 1, 6)]) # make sure to clear blinking or... chaos self._configure_device(alert_temp=clamp(alert_threshold, 0, 100), color3=alert_color) elif mode == 'fading': self._configure_device(fading=True, color1=colors[0], color2=colors[1], interval1=clamp(time_per_color, 1, 255), alert_temp=clamp(alert_threshold, 0, 100), color3=alert_color) self._write([0x23, 0]) elif mode == 'blinking': if time_off is None: time_off = time_per_color self._configure_device(blinking=True, color1=colors[0], interval1=clamp(time_off, 1, 255), interval2=clamp(time_per_color, 1, 255), alert_temp=clamp(alert_threshold, 0, 100), color3=alert_color) self._write([0x23, 0]) elif mode == 'fixed': self._configure_device(color1=colors[0], alert_temp=clamp(alert_threshold, 0, 100), color3=alert_color) self._write([0x23, 0]) elif mode == 'blackout': # stronger than just 'off', suppresses alerts and rainbow self._configure_device(blackout=True, alert_temp=clamp(alert_threshold, 0, 100), color3=alert_color) else: raise KeyError(f'unknown lighting mode {mode}') self._end_transaction_and_read() if non_volatile: self._persist() def set_speed_profile(self, channel, profile, non_volatile=False, **kwargs): """Set channel to follow a speed duty profile.""" mtype, dmin, dmax = _VARIABLE_SPEED_CHANNELS[channel] adjusted = self._prepare_profile(profile, dmin, dmax, _MAX_PROFILE_POINTS) for temp, duty in adjusted: _LOGGER.info('setting %s PWM point: (%d°C, %d%%), device interpolated', channel, temp, duty) temps, duties = map(list, zip(*adjusted)) self._begin_transaction() self._write([mtype, 0] + temps + duties) self._end_transaction_and_read() if non_volatile: self._persist() def set_fixed_speed(self, channel, duty, non_volatile=False, **kwargs): """Set channel to a fixed speed duty.""" if channel == 'fan': # While devices seem to recognize a specific channel for fixed fan # speeds (mtype == 0x12), its use can later conflict with custom # profiles. # Note for a future self: the conflict can be cleared with # *another* call to initialize(), i.e. with another # configuration command. _LOGGER.info('using a flat profile to set %s to a fixed duty', channel) self.set_speed_profile(channel, [(0, duty), (_CRITICAL_TEMPERATURE - 1, duty)], non_volatile, **kwargs) return mtype, dmin, dmax = _FIXED_SPEED_CHANNELS[channel] duty = clamp(duty, dmin, dmax) total_levels = _MAX_PUMP_SPEED_CODE - _MIN_PUMP_SPEED_CODE + 1 level = round((duty - dmin)/(dmax - dmin)*total_levels) effective_duty = round(dmin + level*(dmax - dmin)/total_levels) _LOGGER.info('setting %s PWM duty to %d%% (level %d)', channel, effective_duty, level) self._begin_transaction() self._write([mtype, _MIN_PUMP_SPEED_CODE + level]) self._end_transaction_and_read() if non_volatile: self._persist() class Modern690Lc(_ModernBase690Lc): """Modern fifth generation Asetek 690LC cooler.""" _MATCHES = [ (0x2433, 0xb200, 'Asetek 690LC (assuming EVGA CLC)', {}), ] def downgrade_to_legacy(self): """Take the device handle and return a new Legacy690Lc instance for it. This method returns a new instance that takes the device handle from `self`. Because of this, the caller should immediately discard `self`, as it is no longer valid to call any of its methods or access any of its properties. While it is sometimes possible to downgrade a device that has seen modern traffic since it booted, this will generally not work. Additionally, no attempt to disconnect from the device is made while downgrading the instance. Thus, callers are strongly advised to only call this function before connecting to the device from this instance and, in fact, before calling any other methods at all on the device, from any instance. Finally, this method is not yet considered stable and its signature and/or behavior may change. Callers should follow the development of liquidctl and the stabilization of this API. """ legacy = Legacy690Lc(self.device, self._description) self.device = None self._description = None return legacy class Legacy690Lc(_Base690Lc): """Legacy fifth generation Asetek 690LC cooler.""" _MATCHES = [ (0x2433, 0xb200, 'Asetek 690LC (assuming NZXT Kraken X)', {}), ] _LEGACY_690LC = True def __init__(self, device, description, **kwargs): super().__init__(device, description, **kwargs) # --device causes drivers to be instantiated even if they are later # discarded; defer instantiating the data storage until to connect() self._data = None def connect(self, runtime_storage=None, **kwargs): ret = super().connect(**kwargs) if runtime_storage: self._data = runtime_storage else: ids = f'vid{self.vendor_id:04x}_pid{self.product_id:04x}' loc = f'bus{self.bus}_address{self.address}' self._data = RuntimeStorage(key_prefixes=[ids, loc, 'legacy']) return ret def _set_all_fixed_speeds(self): self._begin_transaction() for channel in ['pump', 'fan']: mtype, dmin, dmax = _LEGACY_FIXED_SPEED_CHANNELS[channel] duty = clamp(self._data.load(f'{channel}_duty', of_type=int, default=dmax), dmin, dmax) _LOGGER.info('setting %s duty to %d%%', channel, duty) self._write([mtype, duty]) return self._end_transaction_and_read() def initialize(self, **kwargs): super().initialize(**kwargs) self._data.store('pump_duty', None) self._data.store('fan_duty', None) self._set_all_fixed_speeds() _warn_on_unsupported_option(**kwargs) def get_status(self, **kwargs): """Get a status report. Returns a list of `(property, value, unit)` tuples. """ msg = self._set_all_fixed_speeds() firmware = '{}.{}.{}.{}'.format(*tuple(msg[0x17:0x1b])) return [ ('Liquid temperature', msg[10] + msg[14]/10, '°C'), ('Fan speed', msg[0] << 8 | msg[1], 'rpm'), ('Pump speed', msg[8] << 8 | msg[9], 'rpm'), ('Firmware version', firmware, '') ] def set_color(self, channel, mode, colors, time_per_color=None, time_off=None, alert_threshold=_HIGH_TEMPERATURE, alert_color=[255, 0, 0], **kwargs): """Set the color mode for a specific channel.""" # keyword arguments may have been forwarded from cli args and need parsing colors = list(colors) self._begin_transaction() if mode == 'fading': if time_per_color is None: time_per_color = 5 self._configure_device(fading=True, color1=colors[0], color2=colors[1], interval1=clamp(time_per_color, 1, 255), alert_temp=clamp(alert_threshold, 0, 100), color3=alert_color) elif mode == 'blinking': if time_per_color is None: time_per_color = 1 if time_off is None: time_off = time_per_color self._configure_device(blinking=True, color1=colors[0], interval1=clamp(time_off, 1, 255), interval2=clamp(time_per_color, 1, 255), alert_temp=clamp(alert_threshold, 0, 100), color3=alert_color) elif mode == 'fixed': self._configure_device(color1=colors[0], alert_temp=clamp(alert_threshold, 0, 100), color3=alert_color) elif mode == 'blackout': # stronger than just 'off', suppresses alerts and rainbow self._configure_device(blackout=True, alert_temp=clamp(alert_threshold, 0, 100), color3=alert_color) else: raise KeyError(f'unsupported lighting mode {mode}') self._end_transaction_and_read() _warn_on_unsupported_option(**kwargs) def set_fixed_speed(self, channel, duty, **kwargs): """Set channel to a fixed speed duty.""" mtype, dmin, dmax = _LEGACY_FIXED_SPEED_CHANNELS[channel] duty = clamp(duty, dmin, dmax) self._data.store(f'{channel}_duty', duty) self._set_all_fixed_speeds() _warn_on_unsupported_option(**kwargs) def set_speed_profile(self, channel, profile, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() class Hydro690Lc(_ModernBase690Lc): """Corsair-branded fifth generation Asetek 690LC cooler.""" _MATCHES = [ (0x1b1c, 0x0c02, 'Corsair Hydro H80i GT', {}), (0x1b1c, 0x0c03, 'Corsair Hydro H100i GTX', {}), (0x1b1c, 0x0c07, 'Corsair Hydro H110i GTX', {}), (0x1b1c, 0x0c08, 'Corsair Hydro H80i v2', {}), (0x1b1c, 0x0c09, 'Corsair Hydro H100i v2', {}), (0x1b1c, 0x0c0a, 'Corsair Hydro H115i', {}), ] def set_color(self, channel, mode, colors, **kwargs): """Set the color mode for a specific channel.""" if mode == 'rainbow': raise KeyError(f'unsupported lighting mode {mode}') super().set_color(channel, mode, colors, **kwargs) def _warn_on_unsupported_option(**kwargs): if kwargs.get('non_volatile'): _LOGGER.warning('device does not support non-volatile settings, skipping') # deprecated aliases AsetekDriver = Modern690Lc LegacyAsetekDriver = Legacy690Lc CorsairAsetekDriver = Hydro690Lc liquidctl-1.16.0/liquidctl/driver/asetek_pro.py000066400000000000000000000202721515166127400215770ustar00rootroot00000000000000"""liquidctl drivers for sixth generation Asetek liquid coolers. Copyright Andrew Robertson, Jonas Malaco and contributors SPDX-License-Identifier: GPL-3.0-or-later """ import itertools import logging from liquidctl.driver.asetek import _Base690Lc from liquidctl.error import NotSupportedByDevice from liquidctl.util import clamp _LOGGER = logging.getLogger(__name__) _READ_ENDPOINT = 0x81 _READ_MAX_LENGTH = 32 _WRITE_ENDPOINT = 0x1 _MAX_PROFILE_POINTS = 7 _CMD_READ_AIO_TEMP = 0xa9 _CMD_READ_FAN_SPEED = 0x41 _CMD_READ_FIRMWARE = 0xaa _CMD_READ_PUMP_MODE = 0x33 _CMD_READ_PUMP_SPEED = 0x31 _CMD_WRITE_COLOR_LIST = 0x56 _CMD_WRITE_COLOR_SPEED = 0x53 _CMD_WRITE_FAN_CURVE = 0x40 _CMD_WRITE_FAN_SPEED = 0x42 _CMD_WRITE_PUMP_MODE = 0x32 _PUMP_MODES = ['quiet', 'balanced', 'performance'] _COLOR_SPEEDS = ['slower', 'normal', 'faster'] _COLOR_SPEEDS_VALUES = { 'shift': [ 0x46, # slower 0x28, # normal 0x0F # faster ], 'pulse':[ 0x50, # slower 0x37, # normal 0x1E # faster ], 'blinking': [ 0x0F, # slower 0x0A, # normal 0x05 # faster ], } _COLOR_CHANGE_MODES = { 'alert': [], 'shift': [0x55, 0x01], 'pulse': [0x52, 0x01], 'blinking': [0x58, 0x01], 'fixed': [0x55, 0x01], } # FIXME unknown required and maximum values _COLOR_COUNT_BOUNDS = { 'alert': (3, 3), 'shift': (2, 4), 'pulse': (1, 4), 'blinking': (1, 4), 'fixed': (1, 1), } def _quoted(*names): return ', '.join(map(repr, names)) # we inherit from _Base690Lc to reuse its implementation of connect # and disconnect, that emulates the stock SiUSBXp driver on Windows class HydroPro(_Base690Lc): """liquidctl driver for Corsair-branded sixth generation Asetek coolers.""" _MATCHES = [ (0x1b1c, 0x0c12, 'Corsair Hydro H150i Pro', {'fan_count': 3}), (0x1b1c, 0x0c13, 'Corsair Hydro H115i Pro', {'fan_count': 2}), (0x1b1c, 0x0c15, 'Corsair Hydro H100i Pro', {'fan_count': 2}) ] def __init__(self, device, description, fan_count, **kwargs): super().__init__(device, description, **kwargs) self._fan_count = fan_count self._data = None def _post(self, data, *, read_length=None): """Write `data` and return response of up to `read_length` bytes.""" assert read_length is not None and read_length <= _READ_MAX_LENGTH self.device.write(_WRITE_ENDPOINT, data) return self.device.read(_READ_ENDPOINT, read_length)[0:read_length] def initialize(self, pump_mode='balanced', **kwargs): """Initialize the device.""" pump_mode = pump_mode.lower() if pump_mode not in _PUMP_MODES: raise ValueError(f'unknown pump mode, should be one of: {_quoted(*_PUMP_MODES)}') self._post([_CMD_WRITE_PUMP_MODE, _PUMP_MODES.index(pump_mode)], read_length=5) msg = self._post([_CMD_READ_FIRMWARE], read_length=7) firmware = '{}.{}.{}.{}'.format(*tuple(msg[3:7])) self.device.release() return [ ('Firmware version', firmware, ''), ] def get_status(self, **kwargs): """Get a status report. Returns a list of `(property, value, unit)` tuples. """ msg = self._post([_CMD_READ_AIO_TEMP], read_length=6) aio_temp = msg[3] + msg[4]/10 fan_speeds = self._get_fan_speeds() msg = self._post([_CMD_READ_PUMP_MODE], read_length=4) pump_mode = _PUMP_MODES[msg[3]] msg = self._post([_CMD_READ_PUMP_SPEED], read_length=5) pump_speed = (msg[3] << 8) + msg[4] self.device.release() status = [('Liquid temperature', aio_temp, '°C')] for fan, speed in fan_speeds: status.append((f'Fan {fan} speed', speed, 'rpm')) return status + [ ('Pump mode', pump_mode, ""), ('Pump speed', pump_speed, 'rpm'), ] def _get_fan_speeds(self): """Read the RPM speed of the fans.""" speeds = [] for i in range(self._fan_count): msg = self._post([_CMD_READ_FAN_SPEED, i], read_length=6) if msg[0] != 0x41 or msg[3] != i: _LOGGER.warning('failed to get current speed of fan %d', i) continue speeds.append((i + 1, (msg[4] << 8) + msg[5])) return speeds def set_color(self, channel, mode, colors, speed='normal', **kwargs): """Set the color mode for a specific channel.""" mode = mode.lower() speed = speed.lower() colors = list(colors) if mode not in _COLOR_CHANGE_MODES: valid = _quoted(*_COLOR_CHANGE_MODES.keys()) raise ValueError(f'unknown lighting mode, should be one of: {valid}') if speed not in _COLOR_SPEEDS: valid = _quoted(*_COLOR_SPEEDS) raise ValueError(f'unknown speed value, should be one of {valid}') if mode == 'alert': # FIXME this mode is far from being completely implemented; for # one, the temperatures are hardcoded; additionally, it may also be # possible to combine it with other modes, but exploring that would # require some experimentation temps = (30, 40, 50) self._post([0x5f, temps[0], 0x00, temps[1], 0x00, temps[2], 0x00] + colors[0] + colors[1] + colors[2], read_length=6) self._post([0x5e, 0x01], read_length=3) self.device.release() return colors = self._check_color_count_bounds(colors, mode) if mode == 'fixed': colors = [colors[0], colors[0]] set_colors = list(itertools.chain(*colors)) self._post([_CMD_WRITE_COLOR_LIST, len(colors)] + set_colors, read_length=3) if mode != 'fixed': magic_value = _COLOR_SPEEDS_VALUES[mode][_COLOR_SPEEDS.index(speed)] self._post([_CMD_WRITE_COLOR_SPEED, magic_value], read_length=3) self._post(_COLOR_CHANGE_MODES[mode], read_length=3) self.device.release() def _check_color_count_bounds(self, color_list, mode_name): requires, maximum = _COLOR_COUNT_BOUNDS[mode_name] if len(color_list) < requires: raise ValueError(f'{mode_name} mode requires {requires} colors') if len(color_list) > maximum: _LOGGER.debug('too many colors, dropping to %d', maximum) color_list = color_list[:maximum] return color_list def set_speed_profile(self, channel, profile, **kwargs): """Set channel to follow a speed duty profile.""" channel = channel.lower() fan_indexes = self._fan_indexes(channel) adjusted = self._prepare_profile(profile, 0, 100, _MAX_PROFILE_POINTS) for temp, duty in adjusted: _LOGGER.info('setting %s PWM point: (%i°C, %i%%), device interpolated', channel, temp, duty) temps, duties = map(list, zip(*adjusted)) for i in fan_indexes: self._post([_CMD_WRITE_FAN_CURVE, i] + temps + duties, read_length=32) self.device.release() def set_fixed_speed(self, channel, duty, **kwargs): """Set channel to a fixed speed duty.""" channel = channel.lower() duty = clamp(duty, 0, 100) for i in self._fan_indexes(channel): _LOGGER.info('setting speed for fan %d to %d', i + 1, duty) self._post([_CMD_WRITE_FAN_SPEED, i, duty], read_length=32) self.device.release() def _fan_indexes(self, channel): if channel.startswith('fan'): if len(channel) > 3: channel_num = int(channel[3:]) - 1 if channel_num >= self._fan_count: raise ValueError(f'unknown channel: {channel}') return [channel_num] return range(self._fan_count) elif channel == 'pump': raise NotSupportedByDevice() else: raise ValueError(f'unknown channel: {channel}') def set_screen(self, channel, mode, value, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() @classmethod def probe(cls, handle, **kwargs): return super().probe(handle, **kwargs) # backward compatibility CorsairAsetekProDriver = HydroPro liquidctl-1.16.0/liquidctl/driver/asus_ryujin.py000066400000000000000000000174641515166127400220270ustar00rootroot00000000000000"""liquidctl driver for the ASUS Ryujin II and Ryujin III EXTREME / 360 liquid coolers. Copyright Florian Freudiger and contributors SPDX-License-Identifier: GPL-3.0-or-later """ import logging from typing import List from liquidctl.driver.usb import UsbHidDriver from liquidctl.error import ExpectationNotMet, NotSupportedByDriver from liquidctl.util import clamp, u16le_from, rpadlist, fraction_of_byte _LOGGER = logging.getLogger(__name__) _REPORT_LENGTH = 65 _PREFIX = 0xEC # Requests and their response headers _REQUEST_GET_FIRMWARE = (0x82, 0x02) _REQUEST_GET_COOLER_STATUS = (0x99, 0x19) _REQUEST_GET_COOLER_DUTY = (0x9A, 0x1A) _REQUEST_GET_CONTROLLER_DUTY = (0xA1, 0x21) _REQUEST_GET_CONTROLLER_SPEED = (0xA0, 0x20) # Command headers that don't need a response _CMD_SET_COOLER_SPEED = 0x1A _CMD_SET_CONTROLLER_SPEED = 0x21 _STATUS_FIRMWARE = "Firmware version" _STATUS_TEMPERATURE = "Liquid temperature" _STATUS_PUMP_SPEED = "Pump speed" _STATUS_PUMP_DUTY = "Pump duty" _STATUS_COOLER_FAN_SPEED = "Pump fan speed" _STATUS_COOLER_FAN_DUTY = "Pump fan duty" _STATUS_CONTROLLER_FAN_SPEED = "External fan {} speed" _STATUS_CONTROLLER_FAN_DUTY = "External fan duty" class AsusRyujin(UsbHidDriver): """ASUS Ryujin II & Ryujin III Extreme / 360 / White Edition liquid coolers.""" _MATCHES = [ ( 0x0B05, 0x1988, "ASUS Ryujin II 360", { "fan_count": 4, "pump_speed_offset": 5, "pump_fan_speed_offset": 7, "temp_offset": 3, "duty_channel": 0, }, ), ( 0x0B05, 0x1BCB, "ASUS Ryujin III Extreme", { "fan_count": 0, "pump_speed_offset": 7, "pump_fan_speed_offset": 10, "temp_offset": 5, "duty_channel": 1, }, ), ( 0x0B05, 0x1AA2, "ASUS Ryujin III 360", { "fan_count": 0, "pump_speed_offset": 7, "pump_fan_speed_offset": 10, "temp_offset": 5, "duty_channel": 1, }, ), ( 0x0B05, 0x1ADE, "ASUS Ryujin III EVA", { "fan_count": 0, "pump_speed_offset": 7, "pump_fan_speed_offset": 10, "temp_offset": 5, "duty_channel": 1, }, ), ( 0x0B05, 0x1ADA, "ASUS Ryujin III White", { "fan_count": 0, "pump_speed_offset": 7, "pump_fan_speed_offset": 10, "temp_offset": 5, "duty_channel": 1, }, ), ] def __init__( self, device, description, fan_count, pump_speed_offset, pump_fan_speed_offset, temp_offset, duty_channel, **kwargs, ): super().__init__(device, description, **kwargs) self._fan_count = fan_count self._pump_speed_offset = pump_speed_offset self._pump_fan_speed_offset = pump_fan_speed_offset self._temp_offset = temp_offset self._duty_channel = duty_channel def initialize(self, **kwargs): msg = self._request(*_REQUEST_GET_FIRMWARE) return [(_STATUS_FIRMWARE, "".join(map(chr, msg[3:18])), "")] def _get_cooler_duty(self) -> (int, int): """Get current pump and embedded fan duty in %.""" msg = self._request(*_REQUEST_GET_COOLER_DUTY) return msg[4], msg[5] def _get_cooler_status(self) -> (int, int, int): """Get current liquid temperature, pump and embedded fan speed.""" msg = self._request(*_REQUEST_GET_COOLER_STATUS) liquid_temp = msg[self._temp_offset] + msg[self._temp_offset + 1] / 10 pump_speed = u16le_from(msg, self._pump_speed_offset) pump_fan_speed = u16le_from(msg, self._pump_fan_speed_offset) return liquid_temp, pump_speed, pump_fan_speed def _get_controller_speeds(self) -> List[int]: """Get AIO controller fan speeds in rpm.""" msg = self._request(*_REQUEST_GET_CONTROLLER_SPEED) speed1 = u16le_from(msg, 5) speed2 = u16le_from(msg, 7) speed3 = u16le_from(msg, 9) speed4 = u16le_from(msg, 3) # For some reason comes first in msg return [speed1, speed2, speed3, speed4] def _get_controller_duty(self) -> int: """Get AIO controller fan duty in %.""" msg = self._request(*_REQUEST_GET_CONTROLLER_DUTY) return round(msg[4] / 0xFF * 100) def get_status(self, **kwargs): pump_duty, fan_duty = self._get_cooler_duty() liquid_temp, pump_speed, pump_fan_speed = self._get_cooler_status() status = [ (_STATUS_TEMPERATURE, liquid_temp, "°C"), (_STATUS_PUMP_DUTY, pump_duty, "%"), (_STATUS_PUMP_SPEED, pump_speed, "rpm"), (_STATUS_COOLER_FAN_DUTY, fan_duty, "%"), (_STATUS_COOLER_FAN_SPEED, pump_fan_speed, "rpm"), ] if self._fan_count == 0: return status controller_duty = self._get_controller_duty() controller_speeds = self._get_controller_speeds() status.append((_STATUS_CONTROLLER_FAN_DUTY, controller_duty, "%")) for i, controller_speed in enumerate(controller_speeds): status.append((_STATUS_CONTROLLER_FAN_SPEED.format(i + 1), controller_speed, "rpm")) return status def _set_cooler_duties(self, pump_duty: int, fan_duty: int): self._write([_PREFIX, _CMD_SET_COOLER_SPEED, self._duty_channel, pump_duty, fan_duty]) def _set_cooler_pump_duty(self, duty: int): pump_duty, fan_duty = self._get_cooler_duty() if duty == pump_duty: return self._set_cooler_duties(duty, fan_duty) def _set_cooler_fan_duty(self, duty: int): pump_duty, fan_duty = self._get_cooler_duty() if duty == fan_duty: return self._set_cooler_duties(pump_duty, duty) def _set_controller_duty(self, duty: int): # Controller duty is set between 0x00 and 0xFF duty = fraction_of_byte(percentage=duty) self._write([_PREFIX, _CMD_SET_CONTROLLER_SPEED, 0x00, 0x00, duty]) def set_fixed_speed(self, channel, duty, **kwargs): duty = clamp(duty, 0, 100) channel_handlers = { "pump": [self._set_cooler_pump_duty], "pump-fan": [self._set_cooler_fan_duty], } if self._fan_count > 0: channel_handlers.update( { "fans": [self._set_cooler_fan_duty, self._set_controller_duty], "external-fans": [self._set_controller_duty], } ) handlers = channel_handlers.get(channel) if handlers is None: raise ValueError(f"invalid channel: {channel}") for handler in handlers: handler(duty) def set_screen(self, channel, mode, value, **kwargs): # Not yet reverse engineered / implemented raise NotSupportedByDriver() def _request(self, request_header: int, response_header: int) -> List[int]: self.device.clear_enqueued_reports() self._write([_PREFIX, request_header]) return self._read(response_header) def _read(self, expected_header=None) -> List[int]: msg = self.device.read(_REPORT_LENGTH) if msg[0] != _PREFIX: raise ExpectationNotMet("Unexpected report prefix") if expected_header is not None and msg[1] != expected_header: raise ExpectationNotMet("Unexpected report header") return msg def _write(self, data: List[int]): self.device.write(rpadlist(data, _REPORT_LENGTH, 0)) liquidctl-1.16.0/liquidctl/driver/asus_ryuo.py000066400000000000000000000036541515166127400215010ustar00rootroot00000000000000"""liquidctl driver for the ASUS Ryuo liquid coolers. Copyright Bloodhundur and contributors SPDX-License-Identifier: GPL-3.0-or-later """ import logging from typing import List from liquidctl.driver.usb import UsbHidDriver from liquidctl.error import ExpectationNotMet from liquidctl.util import clamp, rpadlist _LOGGER = logging.getLogger(__name__) _REPORT_LENGTH = 65 _PREFIX = 0xEC _CMD_SET_FAN_SPEED = 0x2A _REQUEST_GET_FIRMWARE = (0x82, 0x02) _STATUS_FIRMWARE = "Firmware version" class AsusRyuo(UsbHidDriver): """Driver for ASUS Ryuo I 240 (fan control only).""" _MATCHES = [ (0x0B05, 0x1887, "ASUS Ryuo I 240", {}), ] def initialize(self, **kwargs): msg = self._request(*_REQUEST_GET_FIRMWARE) fw_string = bytes(msg[2:]).split(b"\x00")[0].decode("ascii", errors="ignore") return [ (_STATUS_FIRMWARE, fw_string, ""), ] def get_status(self, **kwargs): _LOGGER.info("No status available") def set_fixed_speed(self, channel, duty, **kwargs): if channel not in ("fans", "fan"): raise ValueError("Only 'fans' channel is supported") duty = clamp(duty, 0, 100) _LOGGER.info(f"Setting fan speed to {duty}%") self._write([_PREFIX, _CMD_SET_FAN_SPEED, duty]) def _request(self, request_header: int, response_header: int) -> List[int]: self.device.clear_enqueued_reports() self._write([_PREFIX, request_header]) return self._read(response_header) def _read(self, expected_header=None) -> List[int]: msg = self.device.read(_REPORT_LENGTH) if msg[0] != _PREFIX: raise ExpectationNotMet("Unexpected report prefix") if expected_header is not None and msg[1] != expected_header: raise ExpectationNotMet("Unexpected report header") return msg def _write(self, data: List[int]): self.device.write(rpadlist(data, _REPORT_LENGTH, 0)) liquidctl-1.16.0/liquidctl/driver/aura_led.py000066400000000000000000000310631515166127400212170ustar00rootroot00000000000000"""liquidctl driver for ASUS Aura LED USB controllers. Supported controllers: - ASUS Aura LED Controller: idVendor=0x0b05, idProduct=0x19af This controller is found on ASUS ProArt Z690-Creator WiFi and other boards Additional controllers (requires user testing and feedback): - idVendor=0x0B05, idProduct=0x1939 - idVendor=0x0B05, idProduct=0x18F3 These controllers have not been sufficiently tested. Users are asked to test and report issues. Limitations: This controller only supports 'effect' modes that are managed entirely by the controller. The other mode is 'direct' that is managed by software, but this requires the continuous transmission of command codes to control dynamic lighting effects (i.e. all lighting modes in which colors either change or the LED blinks/fades/pulses). In 'effect' mode, the software simply issues a 'fire-and-forget' command to the controller, which subsequently manages the lighting effect on its own. There are some limitations in 'effect' mode, as follows: - Dynamic color modes (spectrum, rainbow, etc.) cannot be applied to individual color channels, but apply to all channels - Static color modes (static) can be applied to individual color channels - Off mode turns all channels off regardless of which channel is selected. However, individual channels can subsequently be enabled, while others will remain off. This applies only to static modes. Acknowledgements: - Aura Addressable Header Controller (for list of color mode names) https://gitlab.com/cneil02/aura-addressable-header-controller - OpenRGB Project (for list of color mode names) https://github.com/CalcProgrammer1/OpenRGB - @dehjomz for discovering color modes 0x10, 0x11, 0x12, 0x13 Aura LED control codes were independently obtained from USB traffic captured using Wireshark on Windows. This Aura LED controller uses very different control codes from previous Aura LED controllers. Copyright CaseySJ and contributors SPDX-License-Identifier: GPL-3.0-or-later """ import logging from collections import namedtuple from liquidctl.driver.usb import UsbHidDriver from liquidctl.error import NotSupportedByDevice _LOGGER = logging.getLogger(__name__) _READ_LENGTH = 65 _WRITE_LENGTH = 65 _RESET_CHANNEL_ITERATIONS = 5 # Aura Crate software uses 38 _CMD_CODE = 0xEC _FUNCTION_CODE = { "direct": [_CMD_CODE, 0x40], "end_direct": [_CMD_CODE, 0x35, 0x00, 0x00, 0x00, 0x00], "end_effect": [_CMD_CODE, 0x35, 0x00, 0x00, 0x00, 0xFF], "start_seq1": [_CMD_CODE, 0x35], "start_seq2": [_CMD_CODE, 0x36, 0x00], "end_seq1": [_CMD_CODE, 0x35, 0x00, 0x00, 0x01, 0x05], "end_seq2": [_CMD_CODE, 0x3F, 0x55, 0x00, 0x00], "reset_seq1": [_CMD_CODE, 0x38, 0x01, 0x01], "reset_seq2": [_CMD_CODE, 0x38, 0x00, 0x01], "channel_off_pre1": [_CMD_CODE, 0x38, 0x01, 0x00], "channel_off_pre2": [_CMD_CODE, 0x38, 0x00, 0x00], "channel_off_prefix": [_CMD_CODE, 0x35, 0x01, 0x00, 0x00, 0xFF], "firmware": [_CMD_CODE, 0x82], "config": [_CMD_CODE, 0xB0], } # channel_type 0 designates RGB bus # channel_type 1 designates ARGB bus # "effect" mode channel IDs are different from "direct" mode channel IDs _ColorChannel = namedtuple( "_ColorChannel", ["name", "channel_id", "direct_channel_id", "channel_type", "rgb_offset"] ) _COLOR_CHANNELS = { channel.name: channel for channel in [ _ColorChannel("led1", 0x01, 0x00, 0x00, 0x0), # rgb channel _ColorChannel("led2", 0x02, 0x00, 0x01, 0x01), # argb channel _ColorChannel("led3", 0x04, 0x01, 0x01, 0x02), # argb channel _ColorChannel("led4", 0x08, 0x02, 0x01, 0x03), # argb channel ] } _ColorMode = namedtuple("_ColorMode", ["name", "value", "takes_color"]) _COLOR_MODES = { mode.name: mode for mode in [ _ColorMode("off", 0x00, takes_color=False), _ColorMode("static", 0x01, takes_color=True), _ColorMode("breathing", 0x02, takes_color=True), _ColorMode("flashing", 0x03, takes_color=True), _ColorMode("spectrum_cycle", 0x04, takes_color=False), _ColorMode("rainbow", 0x05, takes_color=False), _ColorMode("spectrum_cycle_breathing", 0x06, takes_color=False), _ColorMode("chase_fade", 0x07, takes_color=True), _ColorMode("spectrum_cycle_chase_fade", 0x08, takes_color=False), _ColorMode("chase", 0x09, takes_color=True), _ColorMode("spectrum_cycle_chase", 0x0A, takes_color=False), _ColorMode("spectrum_cycle_wave", 0x0B, takes_color=False), _ColorMode("chase_rainbow_pulse", 0x0C, takes_color=False), _ColorMode("rainbow_flicker", 0x0D, takes_color=False), _ColorMode("gentle_transition", 0x10, takes_color=False), _ColorMode("wave_propagation", 0x11, takes_color=False), _ColorMode("wave_propagation_pause", 0x12, takes_color=False), _ColorMode("red_pulse", 0x13, takes_color=False), ] } class AuraLed(UsbHidDriver): """ liquidctl driver for ASUS Aura LED USB controllers. This driver only supports 'effect' mode, hence no speed/color channels Devices 0x1939 and 0x18F3 are not fully supported at this time; users are asked to experiment with this driver and provide feedback """ _MATCHES = [ (0x0B05, 0x19AF, "ASUS Aura LED Controller", {}), (0x0B05, 0x1939, "ASUS Aura LED Controller", {}), (0x0B05, 0x18F3, "ASUS Aura LED Controller", {}), ] def initialize(self, **kwargs): """Initialize the device. Returns a list of `(property, value, unit)` tuples, containing the firmware version and other useful information provided by the hardware. """ self.device.clear_enqueued_reports() # Get firmware version self._write(_FUNCTION_CODE["firmware"]) # Build reply string status = [] data = self.device.read(_READ_LENGTH) assert data[1] == 0x02, "Unexpected reply for firmware" status.append(("Firmware version", "".join(map(chr, data[2:17])), "")) # This stops Direct mode if it was previously applied self._write(_FUNCTION_CODE["end_direct"]) """ Extra operations during initialization This is experimental and may not be necessary self._write([0xec, 0x31, 0x0d, 0x00]); self._write([0xec, 0xb1, 0x00, 0x00]); self.device.read(_READ_LENGTH) self._write([0xec, 0x31, 0x0e, 0x00]); self._write([0xec, 0xb1, 0x00, 0x00]); self.device.read(_READ_LENGTH) self._write([0xec, 0x31, 0x0f, 0x00]); self._write([0xec, 0xb1, 0x00, 0x00]); self.device.read(_READ_LENGTH) self._write([0xec, 0x83, 0x00, 0x00]); self.device.read(_READ_LENGTH) """ return status def get_status(self, **kwargs): """Get a status report.""" status = [] # Get config table self.device.clear_enqueued_reports() self._write(_FUNCTION_CODE["config"]) data = self.device.read(_READ_LENGTH) assert data[1] == 0x30, "Unexpected reply for config" start_index = 4 # index of first record argb_channels = data[start_index + 2] rgb_channels = data[start_index + 3] status.append(("ARGB channels: " + str(argb_channels), "", "")) status.append((" RGB channels: " + str(rgb_channels), "", "")) if kwargs.get("debug", False): num = 6 # number of bytes per record count = 1 while start_index + num < _READ_LENGTH: status.append( ( "Device Config: " + str(count), ", ".join( "0x{:02x}".format(x) for x in data[start_index : start_index + num] ), "", ) ) start_index += num count += 1 return status def set_color(self, channel, mode, colors, speed="normal", **kwargs): """Set the color mode for a specific channel. `colors` should be an iterable of zero or one `[red, green, blue]` triples, where each red/green/blue component is a value in the range 0–255. """ colors = iter(colors) if _COLOR_MODES[mode].takes_color: try: r, g, b = next(colors) single_color = (r, g, b) except: raise ValueError(f"one color required for this mode") from None else: single_color = (0, 0, 0) if channel != "sync" and channel not in _COLOR_CHANNELS: message = "valid channels are " for chan in _COLOR_CHANNELS: message += chan + " " raise KeyError(message) from None """ This is experimental (it's an example of direct mode) if mode == 'off': self.channel_off(channel) self.reset_all_channels() return """ if channel == "sync": selected_channels = _COLOR_CHANNELS.values() else: selected_channels = (_COLOR_CHANNELS[channel],) full_cmd_seq = [] # entire series of commands are added to this list """ Experimental code for treating RGB channel differently from others if channel == "led1": cmd_tuple=self.construct_color_commands(channel, mode, single_color) self._write(cmd_tuple[0]) self._write(cmd_tuple[1]) self._write(_FUNCTION_CODE["end_seq2"]) self.end_color_sequence() self._write(cmd_tuple[0]) self._write(cmd_tuple[1]) self._write(_FUNCTION_CODE["end_seq2"]) else: """ for chan in selected_channels: cmd_tuple = self.construct_color_commands(chan.name, mode, single_color) full_cmd_seq.append(cmd_tuple[0]) full_cmd_seq.append(cmd_tuple[1]) full_cmd_seq.append(_FUNCTION_CODE["end_seq2"]) """ ASUS Aura Crate sends command sequence twice, but our tests show that this may be redundant. Nevertheless, let's keep this code here in case we need to send commands twice as well #full_cmd_seq.append(cmd_tuple[0]) #full_cmd_seq.append(cmd_tuple[1]) #full_cmd_seq.append(_FUNCTION_CODE["end_seq2"]) """ for cmd_seq in full_cmd_seq: self._write(cmd_seq) self.end_color_sequence() def set_speed_profile(self, channel, profile, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() def set_fixed_speed(self, channel, duty, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() def reset_all_channels(self): """Reset all LED channels.""" for i in range(_RESET_CHANNEL_ITERATIONS): self._write(_FUNCTION_CODE["reset_seq1"]) self._write(_FUNCTION_CODE["reset_seq2"]) def channel_off(self, channel): """ Uses direct mode to disable a specific channel """ self._write(_FUNCTION_CODE["end_effect"]) for i in range(_RESET_CHANNEL_ITERATIONS): self._write(_FUNCTION_CODE["channel_off_pre1"]) self._write(_FUNCTION_CODE["channel_off_pre2"]) self._write(_FUNCTION_CODE["channel_off_prefix"]) # set all LEDs to off, 20 at a time for i in (0, 20, 40, 60, 80, 100): self._write( _FUNCTION_CODE["direct"] + [_COLOR_CHANNELS[channel].direct_channel_id | (0x80 * (i == 100)), i, 20] ) self.end_color_sequence() self._write(_FUNCTION_CODE["end_direct"]) def construct_color_commands(self, channel, mode, single_color): """ Create command strings for specified color channel """ mode = _COLOR_MODES[mode] channel_type = _COLOR_CHANNELS[channel].channel_type # 0=RGB, 1=ARGB channel_id = _COLOR_CHANNELS[channel].channel_id rgb_offset = _COLOR_CHANNELS[channel].rgb_offset data1 = _FUNCTION_CODE["start_seq1"] + [channel_type, 0x00, 0x00, mode.value] data2 = _FUNCTION_CODE["start_seq2"] + [channel_id, 0x00] + [0, 0, 0] * rgb_offset data2 += single_color return (data1, data2) def end_color_sequence(self): self._write(_FUNCTION_CODE["end_seq1"]) self._write(_FUNCTION_CODE["end_seq2"]) def _write(self, data): padding = [0x0] * (_WRITE_LENGTH - len(data)) self.device.write(data + padding) def set_screen(self, channel, mode, value, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() liquidctl-1.16.0/liquidctl/driver/base.py000066400000000000000000000121251515166127400203530ustar00rootroot00000000000000"""Base bus and driver API. Copyright Jonas Malaco and contributors SPDX-License-Identifier: GPL-3.0-or-later """ # uses the psf/black style class BaseDriver: """Base driver API. All drivers are expected to implement this API for compatibility with the liquidctl CLI or other thirdy party tools. Drivers will automatically implement the context manager protocol, but this should only be used from a call to `connect`. Example: for dev in .find_supported_devices(): with dev.connect(): print(dev.get_status()) if dev.serial_number == '49385027ZP': dev.set_fixed_speed('fan3', 42) """ @classmethod def find_supported_devices(cls, **kwargs): """Find and bind to compatible devices. Returns a list of bound driver instances. """ raise NotImplementedError() def connect(self, **kwargs): """Connect to the device. Returns `self`. ## Notes for driver authors Procedure before any read or write operation can be performed. Typically a handshake between driver and device. """ raise NotImplementedError() def initialize(self, **kwargs): """Initialize the device and the driver. This method should be called every time the systems boots, resumes from a suspended state, or if the device has just been (re)connected. In those scenarios, no other method, except `connect()` or `disconnect()`, should be called until the device and driver has been (re-)initialized. Returns None or a list of `(property, value, unit)` tuples, similarly to `get_status()`. ## Notes for driver authors Apart from `connect()`, some devices might require a one-time initialization procedure after powering on, or to detect hardware changes. This should be called *after* connecting to the device. """ raise NotImplementedError() def disconnect(self, **kwargs): """Disconnect from the device. ## Notes for driver authors Procedure before the driver can safely unbind from the device. Typically just cleanup. """ raise NotImplementedError() def get_status(self, **kwargs): """Get a status report. Returns a list of `(property, value, unit)` tuples. """ raise NotImplementedError() def set_color(self, channel, mode, colors, **kwargs): """Set the color mode for a specific channel.""" raise NotImplementedError() def set_screen(self, channel, mode, value, **kwargs): """Set the screen mode and content. Unstable. """ raise NotImplementedError() def set_speed_profile(self, channel, profile, **kwargs): """Set channel to follow a speed duty profile.""" raise NotImplementedError() def set_fixed_speed(self, channel, duty, **kwargs): """Set channel to a fixed speed duty.""" raise NotImplementedError() @property def description(self): """Human readable description of the corresponding device.""" raise NotImplementedError() @property def vendor_id(self): """Numeric vendor identifier, or None if N/A.""" raise NotImplementedError() @property def product_id(self): """Numeric product identifier, or None if N/A.""" raise NotImplementedError() @property def release_number(self): """Device versioning number, or None if N/A. In USB devices this is bcdDevice. """ raise NotImplementedError() @property def serial_number(self): """Serial number reported by the device, or None if N/A.""" raise NotImplementedError() @property def bus(self): """Bus the device is connected to, or None if N/A.""" raise NotImplementedError() @property def address(self): """Address of the device on the corresponding bus, or None if N/A. This typically depends on the bus enumeration order. """ raise NotImplementedError() @property def port(self): """Physical location of the device, or None if N/A. This typically refers to a USB port, which is *not* dependent on bus enumeration order. However, a USB port is hub-specific, and hubs can be chained. Thus, for USB devices, this returns a tuple of port numbers, from the root hub to the parent of the connected device. """ raise NotImplementedError() def __enter__(self): return self def __exit__(self, *args): self.disconnect() class BaseBus: """Base bus API.""" def find_devices(self, **kwargs): """Find compatible devices and yield corresponding driver instances.""" return def find_all_subclasses(cls): """Recursively find loaded subclasses of `cls`. Returns a set of subclasses of `cls`. """ sub = set(cls.__subclasses__()) return sub.union([s for c in cls.__subclasses__() for s in find_all_subclasses(c)]) liquidctl-1.16.0/liquidctl/driver/commander_core.py000066400000000000000000000320111515166127400224120ustar00rootroot00000000000000"""liquidctl drivers for Corsair Commander Core. Supported devices: - Corsair Commander Core Copyright ParkerMc and contributors SPDX-License-Identifier: GPL-3.0-or-later """ import logging from contextlib import contextmanager from liquidctl.driver.usb import UsbHidDriver from liquidctl.error import ExpectationNotMet, NotSupportedByDriver, NotSupportedByDevice from liquidctl.util import clamp, u16le_from _LOGGER = logging.getLogger(__name__) _REPORT_LENGTH = 96 _RESPONSE_LENGTH = 96 _INTERFACE_NUMBER = 0 _FAN_COUNT = 6 _CMD_WAKE = (0x01, 0x03, 0x00, 0x02) _CMD_SLEEP = (0x01, 0x03, 0x00, 0x01) _CMD_GET_FIRMWARE = (0x02, 0x13) _CMD_CLOSE_ENDPOINT = (0x05, 0x01, 0x00) _CMD_OPEN_ENDPOINT = (0x0d, 0x00) _CMD_READ_INITIAL = (0x08, 0x00, 0x01) _CMD_READ_MORE = (0x08, 0x00, 0x02) _CMD_READ_FINAL = (0x08, 0x00, 0x03) _CMD_WRITE = (0x06, 0x00) _CMD_WRITE_MORE = (0x07, 0x00) _MODE_LED_COUNT = (0x20,) _MODE_GET_SPEEDS = (0x17,) _MODE_GET_TEMPS = (0x21,) _MODE_CONNECTED_SPEEDS = (0x1a,) _MODE_HW_SPEED_MODE = (0x60, 0x6d) _MODE_HW_FIXED_PERCENT = (0x61, 0x6d) _MODE_HW_CURVE_PERCENT = (0x62, 0x6d) _DATA_TYPE_SPEEDS = (0x06, 0x00) _DATA_TYPE_LED_COUNT = (0x0f, 0x00) _DATA_TYPE_TEMPS = (0x10, 0x00) _DATA_TYPE_CONNECTED_SPEEDS = (0x09, 0x00) _DATA_TYPE_HW_SPEED_MODE = (0x03, 0x00) _DATA_TYPE_HW_FIXED_PERCENT = (0x04, 0x00) _DATA_TYPE_HW_CURVE_PERCENT = (0x05, 0x00) _FAN_MODE_FIXED_PERCENT = 0x00 _FAN_MODE_CURVE_PERCENT = 0x02 class CommanderCore(UsbHidDriver): """Corsair Commander Core""" # For a non-exhaustive list of issues, see: #520, #583, #598, #623, #705 _MATCHES = [ (0x1b1c, 0x0c1c, 'Corsair Commander Core (broken)', {"has_pump": True}), (0x1b1c, 0x0c2a, 'Corsair Commander Core XT (broken)', {"has_pump": False}), (0x1b1c, 0x0c32, 'Corsair Commander ST (broken)', {"has_pump": True}), ] def __init__(self, device, description, has_pump, **kwargs): super().__init__(device, description, **kwargs) self._has_pump = has_pump def initialize(self, **kwargs): """Initialize the device and get the fan modes.""" with self._wake_device_context(): # Get Firmware res = self._send_command(_CMD_GET_FIRMWARE) fw_version = (res[3], res[4], res[5]) status = [('Firmware version', '{}.{}.{}'.format(*fw_version), '')] # Get LEDs per fan res = self._read_data(_MODE_LED_COUNT, _DATA_TYPE_LED_COUNT) num_devices = res[0] led_data = res[1:1 + num_devices * 4] for i in range(0, num_devices): connected = u16le_from(led_data, offset=i * 4) == 2 num_leds = u16le_from(led_data, offset=i * 4 + 2) if self._has_pump: label = 'AIO LED count' if i == 0 else f'RGB port {i} LED count' else: label = f'RGB port {i+1} LED count' status += [(label, num_leds if connected else None, '')] # Get what fans are connected res = self._read_data(_MODE_CONNECTED_SPEEDS, _DATA_TYPE_CONNECTED_SPEEDS) num_devices = res[0] for i in range(0, num_devices): if self._has_pump: label = 'AIO port connected' if i == 0 else f'Fan port {i} connected' else: label = f'Fan port {i+1} connected' status += [(label, res[i + 1] == 0x07, '')] # Get what temp sensors are connected for i, temp in enumerate(self._get_temps()): connected = temp is not None if self._has_pump: label = 'Water temperature sensor' if i == 0 and self._has_pump else f'Temperature sensor {i}' else: label = f'Temperature sensor {i+1}' status += [(label, connected, '')] return status def get_status(self, **kwargs): """Get all the fan speeds and temps""" status = [] with self._wake_device_context(): for i, speed in enumerate(self._get_speeds()): if self._has_pump: label = 'Pump speed' if i == 0 else f'Fan speed {i}' else: label = f'Fan speed {i+1}' status += [(label, speed, 'rpm')] for i, temp in enumerate(self._get_temps()): if temp is None: continue if self._has_pump: label = 'Water temperature' if i == 0 else f'Temperature {i}' else: label = f'Temperature {i}' status += [(label, temp, '°C')] return status def set_color(self, channel, mode, colors, **kwargs): raise NotSupportedByDriver def set_speed_profile(self, channel, profile, **kwargs): channels = self._parse_channels(channel) curve_points = list(profile) if len(curve_points) < 2: ValueError('a minimum of 2 speed curve points must be configured.') if len(curve_points) > 7: ValueError('a maximum of 7 speed curve points may be configured.') with self._wake_device_context(): # Set hardware speed mode res = self._read_data(_MODE_HW_SPEED_MODE, _DATA_TYPE_HW_SPEED_MODE) device_count = res[0] data = bytearray(res[0:device_count + 1]) for chan in channels: data[chan + 1] = _FAN_MODE_CURVE_PERCENT self._write_data(_MODE_HW_SPEED_MODE, _DATA_TYPE_HW_SPEED_MODE, data) # Read in data and split by device res = self._read_data(_MODE_HW_CURVE_PERCENT, _DATA_TYPE_HW_CURVE_PERCENT) device_count = res[0] data_by_device = [] i = 1 for _ in range(0, device_count): count = res[i+1] start = i end = i + 4 * count + 2 i = end data_by_device.append(res[start:end]) # Modify data for channels in channels array for chan in channels: new_data = [] # set temperature sensor new_data.append(b"\x00") # set number of curve points new_data.append(int.to_bytes(len(curve_points), length=1, byteorder="big")) # set curve points for (temp, duty) in curve_points: new_data.append(int.to_bytes(temp*10, length=2, byteorder="little", signed=False)) new_data.append(int.to_bytes(clamp(duty, 0, 100), length=2, byteorder="little", signed=False)) # Update device data data_by_device[chan] = b''.join(new_data) out = bytes([device_count]) + b''.join(data_by_device) self._write_data(_MODE_HW_CURVE_PERCENT, _DATA_TYPE_HW_CURVE_PERCENT, out) def set_fixed_speed(self, channel, duty, **kwargs): channels = self._parse_channels(channel) with self._wake_device_context(): # Set hardware speed mode res = self._read_data(_MODE_HW_SPEED_MODE, _DATA_TYPE_HW_SPEED_MODE) device_count = res[0] data = bytearray(res[0:device_count + 1]) for chan in channels: data[chan + 1] = _FAN_MODE_FIXED_PERCENT self._write_data(_MODE_HW_SPEED_MODE, _DATA_TYPE_HW_SPEED_MODE, data) # Set speed res = self._read_data(_MODE_HW_FIXED_PERCENT, _DATA_TYPE_HW_FIXED_PERCENT) device_count = res[0] data = bytearray(res[0:device_count * 2 + 1]) duty_le = int.to_bytes(clamp(duty, 0, 100), length=2, byteorder="little", signed=False) for chan in channels: i = chan * 2 + 1 data[i: i + 2] = duty_le # Update the device speed self._write_data(_MODE_HW_FIXED_PERCENT, _DATA_TYPE_HW_FIXED_PERCENT, data) @classmethod def probe(cls, handle, **kwargs): """Ensure we get the right interface""" if handle.hidinfo['interface_number'] != _INTERFACE_NUMBER: return yield from super().probe(handle, **kwargs) def _get_speeds(self): speeds = [] res = self._read_data(_MODE_GET_SPEEDS, _DATA_TYPE_SPEEDS) num_speeds = res[0] speeds_data = res[1:1 + num_speeds * 2] for i in range(0, num_speeds): speeds.append(u16le_from(speeds_data, offset=i * 2)) return speeds def _get_temps(self): temps = [] res = self._read_data(_MODE_GET_TEMPS, _DATA_TYPE_TEMPS) num_temps = res[0] temp_data = res[1:1 + num_temps * 3] for i in range(0, num_temps): connected = temp_data[i * 3] == 0x00 if connected: temps.append(u16le_from(temp_data, offset=i * 3 + 1) / 10) else: temps.append(None) return temps def _read_data(self, mode, data_type): self._send_command(_CMD_OPEN_ENDPOINT, mode) raw_data = self._send_command(_CMD_READ_INITIAL) more_raw_data = self._send_command(_CMD_READ_MORE) final_raw_data = self._send_command(_CMD_READ_FINAL) self._send_command(_CMD_CLOSE_ENDPOINT) if tuple(raw_data[3:5]) != data_type: raise ExpectationNotMet('device returned incorrect data type') return raw_data[5:] + more_raw_data[3:] + final_raw_data[3:] def _send_command(self, command, data=()): # self.device.write expects buf[0] to be the report number or 0 if not used buf = bytearray(_REPORT_LENGTH + 1) # buf[1] when going out is always 08 buf[1] = 0x08 # Indexes for the buffer cmd_start = 2 data_start = cmd_start + len(command) data_end = data_start + len(data) # Fill in the buffer buf[cmd_start:data_start] = command buf[data_start:data_end] = data self.device.clear_enqueued_reports() self.device.write(buf) res = self.device.read(_RESPONSE_LENGTH) while res[0] != 0x00: res = self.device.read(_RESPONSE_LENGTH) buf = bytes(res) assert buf[1] == command[0], 'response does not match command' return buf @contextmanager def _wake_device_context(self): try: self._send_command(_CMD_WAKE) yield finally: self._send_command(_CMD_SLEEP) def _write_data(self, mode, data_type, data): self._read_data(mode, data_type) # Will ensure we are writing the correct data type to avoid breakage self._send_command(_CMD_OPEN_ENDPOINT, mode) # Write data data_len = len(data) data_start_index = 0 while (data_start_index < data_len): if (data_start_index == 0): # First 9 bytes are in use packet_data_len = _REPORT_LENGTH - 9 if (data_len < packet_data_len): packet_data_len = data_len # Num Data Length bytes + 0x05 + 0x06 + Num Data Type bytes + Num Data bytes buf = bytearray(2 + 2 + len(data_type) + packet_data_len) # Data Length value (includes data type length) - 0x03 and 0x04 buf[0: 2] = int.to_bytes(data_len + len(data_type), length=2, byteorder="little", signed=False) # Data Type value - 0x07 and 0x08 buf[4: 4 + len(data_type)] = data_type # Data - 0x09 onwards buf[4 + len(data_type):] = data[0:packet_data_len] self._send_command(_CMD_WRITE, buf) data_start_index += packet_data_len else: # First 3 bytes are in use packet_data_len = _REPORT_LENGTH - 3 if data_len - data_start_index < packet_data_len: packet_data_len = data_len - data_start_index self._send_command(_CMD_WRITE_MORE, data[data_start_index:data_start_index + packet_data_len]) data_start_index += packet_data_len self._send_command(_CMD_CLOSE_ENDPOINT) def _fan_to_channel(self, fan): if self._has_pump: return fan else: # On devices without a pump, channel 0 is fan 1 return fan - 1 def _parse_channels(self, channel): if self._has_pump and channel == 'pump': return [0] elif channel == "fans": return [self._fan_to_channel(x) for x in range(1, _FAN_COUNT + 1)] elif channel.startswith("fan") and channel[3:].isnumeric() and 0 < int(channel[3:]) <= _FAN_COUNT: return [self._fan_to_channel(int(channel[3:]))] else: fan_names = ['fan' + str(i) for i in range(1, _FAN_COUNT + 1)] fan_names_part = '", "'.join(fan_names) if self._has_pump: fan_names.insert(0, "pump") raise ValueError(f'unknown channel, should be one of: "{fan_names_part}" or "fans"') def set_screen(self, channel, mode, value, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice liquidctl-1.16.0/liquidctl/driver/commander_pro.py000066400000000000000000000541701515166127400222740ustar00rootroot00000000000000"""liquidctl drivers for Corsair Commander Pro devices. Supported devices: - Corsair Commander Pro - Corsair Lighting Node Pro Important notes: - This device currently only has hardware control implemented but it also supports a software control mode. - Software control will be enabled at a future time. Copyright Marshall Asch and contributors SPDX-License-Identifier: GPL-3.0-or-later """ import itertools import logging import re from enum import Enum, unique from liquidctl.driver.usb import UsbHidDriver from liquidctl.error import NotSupportedByDevice from liquidctl.keyval import RuntimeStorage from liquidctl.util import clamp, fraction_of_byte, u16be_from, u16le_from, \ normalize_profile, check_unsafe, map_direction _LOGGER = logging.getLogger(__name__) _REPORT_LENGTH = 64 _RESPONSE_LENGTH = 16 _CMD_GET_FIRMWARE = 0x02 _CMD_GET_BOOTLOADER = 0x06 _CMD_GET_TEMP_CONFIG = 0x10 _CMD_GET_TEMP = 0x11 _CMD_GET_VOLTS = 0x12 _CMD_GET_FAN_MODES = 0x20 _CMD_GET_FAN_RPM = 0x21 _CMD_SET_FAN_DUTY = 0x23 _CMD_SET_FAN_PROFILE = 0x25 _CMD_SET_FAN_MODE = 0x28 _CMD_RESET_LED_CHANNEL = 0x37 _CMD_BEGIN_LED_EFFECT = 0x34 _CMD_SET_LED_CHANNEL_STATE = 0x38 _CMD_LED_EFFECT = 0x35 _CMD_LED_COMMIT = 0x33 _LED_PORT_STATE_HARDWARE = 0x01 _LED_PORT_STATE_SOFTWARE = 0x02 _LED_SPEED_FAST = 0x00 _LED_SPEED_MEDIUM = 0x01 _LED_SPEED_SLOW = 0x02 _LED_DIRECTION_FORWARD = 0x01 _LED_DIRECTION_BACKWARD = 0x00 _FAN_MODE_DISCONNECTED = 0x00 _FAN_MODE_DC = 0x01 _FAN_MODE_PWM = 0x02 _PROFILE_LENGTH = 6 _CRITICAL_TEMPERATURE = 60 _CRITICAL_TEMPERATURE_HIGH = 100 _MAX_FAN_RPM = 5000 # I have no idea if this is a good value or not _MAX_LEDS = 204 _MODES = { 'off': 0x04, # this is a special case of fixed 'rainbow': 0x00, 'color_shift': 0x01, 'color_pulse': 0x02, 'color_wave': 0x03, 'fixed': 0x04, # 'temperature': 0x05, # ignore this 'visor': 0x06, 'marquee': 0x07, 'blink': 0x08, 'sequential': 0x09, 'rainbow2': 0x0a, } _FAN_MODES = { 'off': _FAN_MODE_DISCONNECTED, 'dc': _FAN_MODE_DC, 'pwm': _FAN_MODE_PWM, } def _prepare_profile(original, critcalTempature): clamped = ((temp, clamp(duty, 0, _MAX_FAN_RPM)) for temp, duty in original) normal = normalize_profile(clamped, critcalTempature, _MAX_FAN_RPM) missing = _PROFILE_LENGTH - len(normal) if missing < 0: raise ValueError(f'too many points in profile (remove {-missing})') if missing > 0: normal += missing * [(critcalTempature, _MAX_FAN_RPM)] return normal def _quoted(*names): return ', '.join(map(repr, names)) def _fan_mode_desc(mode): """This will convert the fan mode value to a descriptive name. """ if mode == _FAN_MODE_DC: return 'DC' elif mode == _FAN_MODE_PWM: return 'PWM' else: if mode != _FAN_MODE_DISCONNECTED: _LOGGER.warning('unknown fan mode: {mode:#04x}') return None class CommanderPro(UsbHidDriver): """Corsair Commander Pro LED and fan hub""" # support for hwmon: corsair-cpro, Linux 5.9 _MATCHES = [ (0x1b1c, 0x0c10, 'Corsair Commander Pro', {'fan_count': 6, 'temp_probs': 4, 'led_channels': 2}), (0x1b1c, 0x0c0b, 'Corsair Lighting Node Pro', {'fan_count': 0, 'temp_probs': 0, 'led_channels': 2}), (0x1b1c, 0x0c1a, 'Corsair Lighting Node Core', {'fan_count': 0, 'temp_probs': 0, 'led_channels': 1}), (0x1b1c, 0x1d00, 'Corsair Obsidian 1000D', {'fan_count': 6, 'temp_probs': 4, 'led_channels': 2}), ] def __init__(self, device, description, fan_count, temp_probs, led_channels, **kwargs): super().__init__(device, description, **kwargs) # the following fields are only initialized in connect() self._data = None self._fan_names = [f'fan{i+1}' for i in range(fan_count)] if led_channels == 1: self._led_names = ['led'] else: self._led_names = [f'led{i+1}' for i in range(led_channels)] self._temp_probs = temp_probs self._fan_count = fan_count def connect(self, runtime_storage=None, **kwargs): """Connect to the device.""" ret = super().connect(**kwargs) if runtime_storage: self._data = runtime_storage else: ids = f'vid{self.vendor_id:04x}_pid{self.product_id:04x}' # must use the HID path because there is no serial number; however, # these can be quite long on Windows and macOS, so only take the # numbers, since they are likely the only parts that vary between two # devices of the same model loc = 'loc' + '_'.join(re.findall(r'\d+', self.address)) self._data = RuntimeStorage(key_prefixes=[ids, loc]) return ret def _initialize_directly(self, set_fan_modes, **kwargs): res = self._send_command(_CMD_GET_FIRMWARE) fw_version = (res[1], res[2], res[3]) res = self._send_command(_CMD_GET_BOOTLOADER) bootloader_version = (res[1], res[2]) # is it possible for there to be a third value? status = [ ('Firmware version', '{}.{}.{}'.format(*fw_version), ''), ('Bootloader version', '{}.{}'.format(*bootloader_version), ''), ] if self._temp_probs > 0: res = self._send_command(_CMD_GET_TEMP_CONFIG) temp_connected = res[1:5] self._data.store('temp_sensors_connected', temp_connected) status += [ (f'Temperature probe {i + 1}', bool(temp_connected[i]), '') for i in range(4) ] if self._fan_count > 0: for i, value in set_fan_modes.items(): fan_num = int(i) - 1 if value not in ['dc', 'pwm', 'off']: raise ValueError(f"invalid fan mode: '{value}'") self._send_command(_CMD_SET_FAN_MODE, [0x02, fan_num, _FAN_MODES.get(value)]) res = self._send_command(_CMD_GET_FAN_MODES) fan_modes = res[1:self._fan_count+1] self._data.store('fan_modes', fan_modes) status += [ (f'Fan {i + 1} control mode', _fan_mode_desc(fan_modes[i]), '') for i in range(6) ] return status def _get_static_info_from_hwmon(self): # firmware and bootloader versions are not available through hwmon, but # we don't want to race with the kernel driver _LOGGER.warning('some attributes cannot be read from %s kernel driver', self._hwmon.driver) status = [] if self._temp_probs > 0: # use ints to mimic how we normally handle the raw data sensors = [int(self._hwmon.has_attribute(f'temp{n}_input')) for n in range(1, 5)] _LOGGER.debug('%r', sensors) self._data.store('temp_sensors_connected', sensors) for n, connected in zip(range(1, 5), sensors): status.append((f'Temperature probe {n}', bool(connected), '')) if self._fan_count > 0: def hwmon_fan_mode(hwmon, n): attr = f'fan{n}_label' if not hwmon.has_attribute(attr): return _FAN_MODE_DISCONNECTED label = hwmon.get_string(attr) if label.endswith('4pin'): return _FAN_MODE_PWM elif label.endswith('3pin'): return _FAN_MODE_DC else: assert label.endswith('other') _LOGGER.warning('hwmon reported the fan mode as other') return None fans = [hwmon_fan_mode(self._hwmon, n) for n in range(1, 7)] _LOGGER.debug('%r', fans) self._data.store('fan_modes', fans) for n, mode in zip(range(1, 7), fans): status.append((f'Fan {n} control mode', _fan_mode_desc(mode), '')) return status def initialize(self, direct_access=False, fan_mode={}, **kwargs): """Initialize the device and the driver. This method should be called every time the systems boots, resumes from a suspended state, or if the device has just been (re)connected. In those scenarios, no other method, except `connect()` or `disconnect()`, should be called until the device and driver has been (re-)initialized. Returns None or a list of `(property, value, unit)` tuples, similarly to `get_status()`. """ # fix #615 but preserve API compatibility with liquidctl <= 1.12.x if not fan_mode and kwargs.get("fan_modes"): _LOGGER.warning("deprecated parameter name `fan_modes`, use `fan_mode`") fan_mode = kwargs["fan_modes"] if self._hwmon and not direct_access: _LOGGER.info('bound to %s kernel driver, assuming it is already initialized', self._hwmon.driver) if fan_mode: # say "with" instead of "by" because eventually the driver may start supporting fan # modes, and we're not actually checking for it at runtime _LOGGER.warning('fan mode options not supported with %s kernel driver, ignoring', self._hwmon.driver) return self._get_static_info_from_hwmon() else: if self._hwmon: _LOGGER.warning('forcing re-initialization despite %s kernel driver', self._hwmon.driver) return self._initialize_directly(fan_mode) def _get_status_directly(self): temp_probes = self._data.load('temp_sensors_connected', default=[0]*self._temp_probs) fan_modes = self._data.load('fan_modes', default=[0]*self._fan_count) status = [] # get the temperature sensor values for i, probe_enabled in enumerate(temp_probes): if probe_enabled: temp = self._get_temp(i) status.append((f'Temperature {i + 1}', temp, '°C')) # get fan RPMs of connected fans for i, fan_mode in enumerate(fan_modes): if fan_mode == _FAN_MODE_DC or fan_mode == _FAN_MODE_PWM: speed = self._get_fan_rpm(i) status.append((f'Fan {i + 1} speed', speed, 'rpm')) # get the real power supply voltages for i, rail in enumerate(["+12V", "+5V", "+3.3V"]): raw = self._send_command(_CMD_GET_VOLTS, [i]) voltage = u16be_from(raw, offset=1) / 1000 status.append((f'{rail} rail', voltage, 'V')) return status def _get_status_from_hwmon(self): temp_probes = self._data.load('temp_sensors_connected', default=[0]*self._temp_probs) fan_modes = self._data.load('fan_modes', default=[0]*self._fan_count) status = [] # get the temperature sensor values for i, probe_enabled in enumerate(temp_probes): if probe_enabled: n = i + 1 temp = self._hwmon.read_int(f'temp{n}_input') * 1e-3 status.append((f'Temperature {n}', temp, '°C')) # get fan RPMs of connected fans for i, fan_mode in enumerate(fan_modes): if fan_mode == _FAN_MODE_DC or fan_mode == _FAN_MODE_PWM: n = i + 1 speed = self._hwmon.read_int(f'fan{n}_input') status.append((f'Fan {n} speed', speed, 'rpm')) # get the real power supply voltages for i, rail in enumerate(["+12V", "+5V", "+3.3V"]): voltage = self._hwmon.read_int(f'in{i}_input') * 1e-3 status.append((f'{rail} rail', voltage, 'V')) return status def get_status(self, direct_access=False, **kwargs): """Get a status report. Returns a list of `(property, value, unit)` tuples. """ if self._fan_count == 0 or self._temp_probs == 0: _LOGGER.debug('only Commander Pro and Obsidian 1000D report status') return [] if self._hwmon and not direct_access: _LOGGER.info('bound to %s kernel driver, reading status from hwmon', self._hwmon.driver) return self._get_status_from_hwmon() if self._hwmon: _LOGGER.warning('directly reading the status despite %s kernel driver', self._hwmon.driver) return self._get_status_directly() def _get_temp(self, sensor_num): """This will get the temperature in degrees celsius for the specified temp sensor. sensor number MUST be in range of 0-3 """ if self._temp_probs == 0: raise ValueError('this device does not have a temperature sensor') if sensor_num < 0 or sensor_num > 3: raise ValueError(f'sensor_num {sensor_num} invalid, must be between 0 and 3') res = self._send_command(_CMD_GET_TEMP, [sensor_num]) temp = u16be_from(res, offset=1) / 100 return temp def _get_fan_rpm(self, fan_num): """This will get the rpm value of the fan. fan number MUST be in range of 0-5 """ if self._fan_count == 0: raise ValueError('this device does not have any fans') if fan_num < 0 or fan_num > 5: raise ValueError(f'fan_num {fan_num} invalid, must be between 0 and 5') res = self._send_command(_CMD_GET_FAN_RPM, [fan_num]) speed = u16be_from(res, offset=1) return speed def _get_hw_fan_channels(self, channel): """This will get a list of all the fan channels that the command should be sent to It will look up the name of the fan channel given and return a list of the real fan number """ if channel == 'sync' or len(self._fan_names) == 1: return list(range(len(self._fan_names))) if channel in self._fan_names: return [self._fan_names.index(channel)] raise ValueError(f'unknown channel, should be one of: {_quoted("sync", *self._fan_names)}') def _get_hw_led_channels(self, channel): """This will get a list of all the led channels that the command should be sent to It will look up the name of the led channel given and return a list of the real led device number """ if channel == 'sync' or len(self._led_names) == 1: return list(range(len(self._led_names))) if channel in self._led_names: return [self._led_names.index(channel)] raise ValueError(f'unknown channel, should be one of: {_quoted("sync", *self._led_names)}') def set_fixed_speed(self, channel, duty, **kwargs): """Set fan or fans to a fixed speed duty. Valid channel values are 'fanN', where N >= 1 is the fan number, and 'fan', to simultaneously configure all fans. Unconfigured fan channels may default to 100% duty. """ if self._fan_count == 0: raise NotSupportedByDevice() duty = clamp(duty, 0, 100) fan_channels = self._get_hw_fan_channels(channel) fan_modes = self._data.load('fan_modes', default=[0]*self._fan_count) for fan in fan_channels: mode = fan_modes[fan] if mode == _FAN_MODE_DC or mode == _FAN_MODE_PWM: self._send_command(_CMD_SET_FAN_DUTY, [fan, duty]) def set_speed_profile(self, channel, profile, temperature_sensor=1, **kwargs): """Set fan or fans to follow a speed profile _in rpm._ Unlike corresponding methods in other drivers, this function operates with angular speeds in rpm, not duty values in percentage. Valid channel values are 'fanN', where N >= 1 is the fan number, and 'fan', to simultaneously configure all fans. Unconfigured fan channels may default to 100% duty. Up to six (temperature, speed) pairs can be supplied in `profile`, with temperatures in Celsius and speeds in rpm. The last point should set the fan to 100% duty cycle, or be omitted; in the latter case the fan will be heuristically set to max out at 60°C. """ # send fan num, temp sensor, check to make sure it is actually enabled, and do not let the user send external sensor # 6 2-byte big endian temps (celsius * 100), then 6 2-byte big endian rpms # need to figure out how to find out what the max rpm is for the given fan if self._fan_count == 0: raise NotSupportedByDevice() profile = list(profile) criticalTemp = _CRITICAL_TEMPERATURE_HIGH if check_unsafe('high_temperature', **kwargs) else _CRITICAL_TEMPERATURE profile = _prepare_profile(profile, criticalTemp) # fan_type = kwargs['fan_type'] # need to make sure this is set temp_sensor = clamp(temperature_sensor, 1, self._temp_probs) sensors = self._data.load('temp_sensors_connected', default=[0]*self._temp_probs) if sensors[temp_sensor-1] != 1: raise ValueError('the specified temperature sensor is not connected') buf = bytearray(26) buf[1] = temp_sensor-1 # 0 # use temp sensor 1 for i, entry in enumerate(profile): temp = entry[0]*100 rpm = entry[1] # convert both values to 2 byte big endian values buf[2 + i*2] = temp.to_bytes(2, byteorder='big')[0] buf[3 + i*2] = temp.to_bytes(2, byteorder='big')[1] buf[14 + i*2] = rpm.to_bytes(2, byteorder='big')[0] buf[15 + i*2] = rpm.to_bytes(2, byteorder='big')[1] fan_channels = self._get_hw_fan_channels(channel) fan_modes = self._data.load('fan_modes', default=[0]*self._fan_count) for fan in fan_channels: mode = fan_modes[fan] if mode == _FAN_MODE_DC or mode == _FAN_MODE_PWM: buf[0] = fan self._send_command(_CMD_SET_FAN_PROFILE, buf) def set_color(self, channel, mode, colors, direction='forward', speed='medium', start_led=1, maximum_leds=_MAX_LEDS, **kwargs): """Set the color of each LED. The table bellow summarizes the available channels, modes, and their associated maximum number of colors for each device family. | Channel | Mode | Num colors | | -------- | ----------- | ---------- | | led | off | 0 | | led | fixed | 1 | | led | color_shift | 2 | | led | color_pulse | 2 | | led | color_wave | 2 | | led | visor | 2 | | led | blink | 2 | | led | marquee | 1 | | led | sequential | 1 | | led | rainbow | 0 | | led | rainbow2 | 0 | """ # a special mode to clear the current led settings. # this is usefull if the the user wants to use a led mode for multiple devices if mode == 'clear': self._data.store('saved_effects', None) return colors = list(colors) expanded = colors[:3] c = itertools.chain(*((r, g, b) for r, g, b in expanded)) colors = list(c) direction = map_direction(direction, _LED_DIRECTION_FORWARD, _LED_DIRECTION_BACKWARD) speed = _LED_SPEED_SLOW if speed == 'slow' else _LED_SPEED_FAST if speed == 'fast' else _LED_SPEED_MEDIUM start_led = clamp(start_led, 1, _MAX_LEDS) - 1 num_leds = clamp(maximum_leds, 1, _MAX_LEDS - start_led) random_colors = 0x00 if mode == 'off' or len(colors) != 0 else 0x01 mode_val = _MODES.get(mode, -1) if mode_val == -1: raise ValueError(f'mode "{mode}" is not valid') # FIXME clears on 'off', while the docs only mention this behavior for 'clear' saved_effects = [] if mode == 'off' else self._data.load('saved_effects', default=[]) for led_channel in self._get_hw_led_channels(channel): lighting_effect = { 'channel': led_channel, 'start_led': start_led, 'num_leds': num_leds, 'mode': mode_val, 'speed': speed, 'direction': direction, 'random_colors': random_colors, 'colors': colors } saved_effects += [lighting_effect] # check to make sure that too many LED effects are not being sent. # the max seems to be 8 as found here https://github.com/liquidctl/liquidctl/issues/154#issuecomment-762372583 if len(saved_effects) > 8: _LOGGER.warning(f'too many lighting effects. Run `liquidctl set {channel} color clear` to reset the effect') return # start sending the led commands self._send_command(_CMD_RESET_LED_CHANNEL, [led_channel]) self._send_command(_CMD_BEGIN_LED_EFFECT, [led_channel]) self._send_command(_CMD_SET_LED_CHANNEL_STATE, [led_channel, 0x01]) # FIXME clears on 'off', while the docs only mention this behavior for 'clear' self._data.store('saved_effects', None if mode == 'off' else saved_effects) for effect in saved_effects: config = [effect.get('channel'), effect.get('start_led'), effect.get('num_leds'), effect.get('mode'), effect.get('speed'), effect.get('direction'), effect.get('random_colors'), 0xff ] + effect.get('colors') self._send_command(_CMD_LED_EFFECT, config) self._send_command(_CMD_LED_COMMIT, [0xff]) def _send_command(self, command, data=None): # self.device.write expects buf[0] to be the report number or 0 if not used buf = bytearray(_REPORT_LENGTH + 1) buf[1] = command start_at = 2 if data: data = data[:_REPORT_LENGTH-1] buf[start_at: start_at + len(data)] = data self.device.clear_enqueued_reports() self.device.write(buf) buf = bytes(self.device.read(_RESPONSE_LENGTH)) return buf def set_screen(self, channel, mode, value, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() liquidctl-1.16.0/liquidctl/driver/control_hub.py000066400000000000000000000325761515166127400217730ustar00rootroot00000000000000"""liquidctl driver for NZXT Control Hub. Copyright Joseph Livecchi, and contributors SPDX-License-Identifier: GPL-3.0-or-later """ from liquidctl.driver.smart_device import _BaseSmartDevice from liquidctl.util import Hue2Accessory, HUE2_MAX_ACCESSORIES_IN_CHANNEL _MIN_DUTY = 0 _MAX_DUTY = 100 class ControlHub(_BaseSmartDevice): """NZXT Control Hub RGB and fan controller.""" _MATCHES = [ (0x1E71, 0x2022, "NZXT Control Hub", {"speed_channel_count": 5, "color_channel_count": 5}), ] _MAX_READ_ATTEMPTS = 12 _READ_LENGTH = 64 _WRITE_LENGTH = 64 # Color modes with extended packet configuration # Format: (mode_byte, variant_byte, moving_byte, min_colors, max_colors, packet_config) # packet_config only needs to specify overrides; defaults are applied in _build_mode_packet _COLOR_MODES = { "off": (0x00, 0x00, 0x00, 0, 0, {"type": "fixed"}), "fixed": (0x00, 0x00, 0x00, 1, 1, {"type": "fixed"}), "fading": ( 0x01, 0x00, 0x00, 1, 8, { "speed_map": "fading", "has_colors": True, "color_count_pos": 56, "footer": [0x08, 0x18, 0x03, 0x00, 0x00], }, ), "spectrum-wave": ( 0x02, 0x00, 0x00, 0, 0, {"has_direction": True, "footer": [0x00, 0x00, 0x12, 0x03, 0x00, 0x00]}, ), "covering-marquee": ( 0x04, 0x00, 0x00, 1, 8, { "has_direction": True, "has_colors": True, "pad_to": 55, "direction_pos": 55, "color_count_pos": 56, "footer": [0x00, 0x18, 0x03, 0x00, 0x00], }, ), "super-rainbow": ( 0x0C, 0x00, 0x00, 0, 0, { "has_direction": True, "header_padding": [0x00, 0x00], "footer": [0x00, 0x18, 0x03, 0x00, 0x00], }, ), } # Speed mappings for different mode types _SPEED_MAPS = { "standard": { # Used by spectrum-wave, marquee, rainbow modes "slowest": [0x5E, 0x01], "slower": [0x2C, 0x01], "normal": [0xFA, 0x00], "faster": [0x96, 0x00], "fastest": [0x50, 0x00], }, "fading": { # Used by fading mode "slowest": [0x50, 0x00], "slower": [0x3C, 0x00], "normal": [0x28, 0x00], "faster": [0x14, 0x00], "fastest": [0x0A, 0x00], }, } # Channel ID to byte mapping _CHANNEL_BYTE_MAP = {0: 0x02, 1: 0x04, 2: 0x06, 3: 0x08, 4: 0x10} def __init__(self, device, description, speed_channel_count, color_channel_count, **kwargs): """Instantiate a driver with a device handle.""" speed_channels = { f"fan{i + 1}": (i, _MIN_DUTY, _MAX_DUTY) for i in range(speed_channel_count) } color_channels = {f"led{i + 1}": i for i in range(color_channel_count)} if color_channels: color_channels["sync"] = 0xFF # Special value for all channels super().__init__(device, description, speed_channels, color_channels) def initialize(self, **kwargs): """Initialize the device and the driver. Connected fans and LED accessories are detected. This method should be called every time the systems boots, resumes from a suspended state, or if the device has just been (re)connected. In those scenarios, no other method, except `connect()` or `disconnect()`, should be called until the device and driver has been (re-)initialized. Returns None or a list of `(property, value, unit)` tuples, similarly to `get_status()`. """ self.device.clear_enqueued_reports() update_interval = (lambda secs: 1 + round((secs - 0.5) / 0.25))(0.5) # see issue #128 self._write([0x60, 0x02, 0x01, 0xE8, update_interval, 0x01, 0xE8, update_interval]) self._write([0x66, 0x01]) # request static infos self._write([0x10, 0x02]) # firmware info self._write([0x20, 0x03]) # lighting info ret = [] def parse_firm_info(msg): fw = f"{msg[0x11]}.{msg[0x12]}.{msg[0x13]}" ret.append(("Firmware version", fw, "")) def parse_led_info(msg): channel_count = msg[14] offset = 15 # offset of first channel/first accessory for c in range(channel_count): for a in range(HUE2_MAX_ACCESSORIES_IN_CHANNEL): accessory_id = msg[offset + c * HUE2_MAX_ACCESSORIES_IN_CHANNEL + a] if accessory_id == 0: break ret.append((f"LED {c + 1} accessory {a + 1}", Hue2Accessory(accessory_id), "")) parsers = {b"\x11\x02": parse_firm_info} if self._color_channels: parsers[b"\x21\x03"] = parse_led_info self._read_until(parsers) return sorted(ret) def get_status(self, **kwargs): ret = [] def parse_fan_info(msg): mode_offset = 16 rpm_offset = 24 duty_offset = 40 noise_offset = 56 raw_modes = [None, "DC", "PWM"] for i, _ in enumerate(self._speed_channels): mode = raw_modes[msg[mode_offset + i]] ret.append( (f"Fan {i + 1} speed", msg[rpm_offset + 1] << 8 | msg[rpm_offset], "rpm") ) ret.append((f"Fan {i + 1} duty", msg[duty_offset + i], "%")) ret.append((f"Fan {i + 1} control mode", mode, "")) rpm_offset += 2 ret.append(("Noise level", msg[noise_offset], "dB")) self.device.clear_enqueued_reports() self._read_until({b"\x67\x02": parse_fan_info}) return sorted(ret) def set_color(self, channel, mode, colors, speed="normal", direction="forward", **kwargs): """Set the color mode for a specific channel. Supported modes: - off: Turn off the channel - fixed: Set a fixed color - fading: Fade between colors - spectrum-wave: Spectrum wave effect - covering-marquee: Covering marquee effect - super-rainbow: Super rainbow effect """ if channel not in self._color_channels: raise ValueError(f"invalid channel: {channel}") if mode not in self._COLOR_MODES: raise ValueError( f"invalid mode: {mode}, supported modes: {list(self._COLOR_MODES.keys())}" ) # Unpack mode configuration (extended format with config dict) mode_byte, variant_byte, moving_byte, min_colors, max_colors, packet_config = ( self._COLOR_MODES[mode] ) # Convert colors to list if it's a map object colors_list = ( list(colors) if hasattr(colors, "__iter__") and not isinstance(colors, (list, tuple)) else colors ) # Validate color count if len(colors_list) < min_colors: raise ValueError(f"mode {mode!r} requires at least {min_colors} colors") if len(colors_list) > max_colors: raise ValueError(f"mode {mode!r} supports at most {max_colors} colors") # Handle off mode if mode == "off": colors_list = [(0, 0, 0)] # Determine channel ID cid = self._color_channels[channel] # Set color mode and data if cid == 0xFF: # sync mode - set all channels for ch_id in range(len(self._color_channels) - 1): # -1 to exclude 'sync' self._set_channel_color_mode( ch_id, mode_byte, variant_byte, moving_byte, colors_list, speed, direction, packet_config, ) else: self._set_channel_color_mode( cid, mode_byte, variant_byte, moving_byte, colors_list, speed, direction, packet_config, ) def _set_channel_color_mode( self, channel_id, mode_byte, _variant_byte, _moving_byte, colors, speed, direction, packet_config, ): """Set color mode for a specific channel.""" channel_byte = self._CHANNEL_BYTE_MAP.get(channel_id, 0x08) # Use packet_config to build the data data = self._build_mode_packet( channel_byte, mode_byte, colors, speed, direction, packet_config ) # Pad and write padding = [0x00] * (self._WRITE_LENGTH - len(data)) data.extend(padding) self._write(data) # Apply settings if required if packet_config.get("type") == "fixed": self._apply_color_settings(channel_byte) def _build_mode_packet(self, channel_byte, mode_byte, colors, speed, direction, config): """Build packet based on mode configuration from _COLOR_MODES. Applies sensible defaults for common fields: - type: 'animated' (unless specified as 'fixed') - base_cmd: [0x2a, 0x04] for animated, [0x26, 0x04] for fixed - speed_map: 'standard' - pad_to: 56 - direction_pos: 56 (when has_direction is True) - led_count: 24 (for fixed type) """ # Apply defaults packet_type = config.get("type", "animated") if packet_type == "fixed": # Fixed color mode defaults base_cmd = config.get("base_cmd", [0x26, 0x04]) led_count = config.get("led_count", 24) data = base_cmd + [channel_byte, 0x00] if colors: r, g, b = colors[0] for _ in range(led_count): data.extend([g, r, b]) # GRB order else: data.extend([0x00] * (led_count * 3)) else: # animated # Animated mode defaults base_cmd = config.get("base_cmd", [0x2A, 0x04]) speed_map_name = config.get("speed_map", "standard") pad_to = config.get("pad_to", 56) _direction_pos = config.get("direction_pos", 56) data = base_cmd + [channel_byte, channel_byte, mode_byte] # Add speed bytes if speed_map is specified if speed_map_name: speed_map = self._SPEED_MAPS[speed_map_name] speed_bytes = speed_map.get(speed, speed_map["normal"]) data.extend(speed_bytes) # Add header padding if specified if "header_padding" in config: data.extend(config["header_padding"]) # Add colors if mode supports them if config.get("has_colors") and colors: for r, g, b in colors: data.extend([g, r, b]) # GRB order # Pad to specified position while len(data) < pad_to: data.append(0x00) # Add direction byte if needed if config.get("has_direction"): direction_byte = 0x02 if direction == "backward" else 0x00 data.append(direction_byte) # Add color count if needed if config.get("has_colors") and "color_count_pos" in config and colors: data.append(len(colors)) # Add footer bytes if specified if "footer" in config: data.extend(config["footer"]) # Pad to minimum length if no colors provided if not colors and config.get("has_colors"): while len(data) < 61: data.append(0x00) return data def _apply_color_settings(self, channel_byte): """Apply/commit the color settings to the device.""" # Based on USB capture analysis: # Format: 26 06 [channel] 00 01 00 00 18 00 00 80 00 32 00 00 01 00 00... data = [ 0x26, 0x06, channel_byte, 0x00, 0x01, 0x00, 0x00, 0x18, 0x00, 0x00, 0x80, 0x00, 0x32, 0x00, 0x00, 0x01, 0x00, 0x00, ] # Pad to full packet size padding = [0x00] * (self._WRITE_LENGTH - len(data)) data.extend(padding) self._write(data) def _write_fixed_duty(self, cid, duty): # Fan channel passed as bitflag in last 3 bits of 3rd byte msg = [0x62, 0x01, 0x01 << cid, 0x00, 0x00, 0x00, 0x00, 0x00] # Duty percent in 4th, 5th, 6th, 7th and 8th bytes for, respectively, fan1, fan2, fan3, fan4 # and fan5 msg[cid + 3] = duty self._write(msg) def _read_until(self, parsers): for _ in range(self._MAX_READ_ATTEMPTS): msg = self.device.read(self._READ_LENGTH) prefix = bytes(msg[0:2]) func = parsers.pop(prefix, None) if func: func(msg) if not parsers: return assert ( False ), f"missing messages (attempts={self._MAX_READ_ATTEMPTS}, missing={len(parsers)})" liquidctl-1.16.0/liquidctl/driver/coolit.py000066400000000000000000000327601515166127400207410ustar00rootroot00000000000000"""liquidctl driver for Corsair Platinum and PRO XT coolers. Supported devices ----------------- - Corsair H110i GT Supported features ------------------ - general monitoring - pump speed control - fan speed control Copyright Roberto Marques, Serphentas, and other contributors SPDX-License-Identifier: GPL-3.0-or-later """ import logging import re from enum import Enum, unique from liquidctl.error import NotSupportedByDevice, NotSupportedByDriver from liquidctl.driver.usb import UsbHidDriver from liquidctl.keyval import RuntimeStorage from liquidctl.util import clamp, fraction_of_byte, u16le_from, normalize_profile LOGGER = logging.getLogger(__name__) _REPORT_LENGTH = 64 _PUMP_INDEX = 0x02 _COMMAND_FIRMWARE_ID = 0x01 _COMMAND_TEMP_READ = 0x0E _COMMAND_FAN_SELECT = 0x10 _COMMAND_FAN_MODE = 0x12 _COMMAND_FAN_FIXED_PWM = 0x13 _COMMAND_FAN_FIXED_RPM = 0x14 _COMMAND_FAN_READ_RPM = 0x16 _COMMAND_FAN_MAX_RPM = 0x17 _COMMAND_FAN_RPM_TABLE = 0x19 _COMMAND_FAN_TEMP_TABLE = 0x1A _OP_CODE_WRITE_ONE_BYTE = 0x06 _OP_CODE_READ_ONE_BYTE = 0x07 _OP_CODE_WRITE_TWO_BYTES = 0x08 _OP_CODE_READ_TWO_BYTES = 0x09 _OP_CODE_WRITE_THREE_BYTES = 0x0A _OP_CODE_READ_THREE_BYTES = 0x0B _PROFILE_LENGTH = 5 _CRITICAL_TEMPERATURE = 60 _PUMP_DEFAULT_QUIET = [0x2E, 0x09] _PUMP_DEFAULT_EXTREME = [0x86, 0x0B] _SEQUENCE_MIN = 1 _SEQUENCE_MAX = 255 @unique class _FanMode(Enum): FIXED_DUTY = 0x02 FIXED_RPM = 0x04 CUSTOM_PROFILE = 0x0E @classmethod def _missing_(cls, value): LOGGER.debug("falling back to FIXED_DUTY for _FanMode(%s)", value) return _FanMode.FIXED_DUTY @unique class _PumpMode(Enum): QUIET = 0x08 EXTREME = 0x0C @classmethod def _missing_(cls, value): LOGGER.debug("falling back to QUIET for _PumpMode(%s)", value) return _PumpMode.QUIET def _sequence(): """Return a generator that produces valid protocol sequence numbers. Sequence numbers start from 2 to 31, then rolling over to 1 and up again. """ num = 1 while True: yield (num % 31) + 1 num += 1 def _prepare_profile(original): clamped = ((temp, clamp(duty, 0, 100)) for temp, duty in original) normal = normalize_profile(clamped, _CRITICAL_TEMPERATURE) missing = _PROFILE_LENGTH - len(normal) if missing < 0: raise ValueError(f"Too many points in profile (remove {-missing})") if missing > 0: normal += missing * [(_CRITICAL_TEMPERATURE, 100)] return normal def _quoted(*names): return ", ".join(map(repr, names)) class Coolit(UsbHidDriver): """liquidctl driver for Corsair H110i GT cooler""" _MATCHES = [ ( 0x1B1C, 0x0C04, "Corsair H110i GT", {"has_pump": True, "fan_count": 2, "rgb_fans": False}, ), ] def __init__(self, device, description, fan_count, rgb_fans, **kwargs): super().__init__(device, description, **kwargs) self._component_count = 1 + fan_count * rgb_fans self._fan_names = [f"fan{i + 1}" for i in range(fan_count)] # the following fields are only initialized in connect() self._data = None self._sequence = None def connect(self, **kwargs): """Connect to the device.""" ret = super().connect(**kwargs) ids = f"vid{self.vendor_id:04x}_pid{self.product_id:04x}" loc = "loc" + "_".join(re.findall(r"\d+", self.address)) self._data = RuntimeStorage(key_prefixes=[ids, loc]) self._sequence = _sequence() return ret def initialize(self, pump_mode="quiet", **kwargs): """Initialize the device and set the pump mode The device should be initialized every time it is powered on, including when the system resumes from suspending to memory. Valid values for `pump_mode` are "quiet" and "extreme". Unconfigured fan channels may default to 100% duty. Returns a list of `(property, value, unit)` tuples. """ if pump_mode not in ["quiet", "extreme"]: LOGGER.warning('pump mode must be either "quiet" or "extreme", falling back to "quiet"') pump_mode = "quiet" self._data.store("pump_mode", _PumpMode[pump_mode.upper()].value) res = self._send_command( self._build_data_package(_COMMAND_FIRMWARE_ID, _OP_CODE_READ_TWO_BYTES) ) fw_version = (res[3] >> 4, res[3] & 0xF, res[2]) return [("Firmware version", "%d.%d.%d" % fw_version, "")] def get_status(self, **kwargs): """Get a status report. Returns a list of `(property, value, unit)` tuples. """ dataPackages = list() # temperature dataPackages.append(self._build_data_package(_COMMAND_TEMP_READ, _OP_CODE_READ_TWO_BYTES)) # fan 1 dataPackages.append( self._build_data_package( _COMMAND_FAN_SELECT, _OP_CODE_WRITE_ONE_BYTE, params=bytes([0]) ) ) dataPackages.append( self._build_data_package(_COMMAND_FAN_READ_RPM, _OP_CODE_READ_TWO_BYTES) ) # fan 2 dataPackages.append( self._build_data_package( _COMMAND_FAN_SELECT, _OP_CODE_WRITE_ONE_BYTE, params=bytes([1]) ) ) dataPackages.append( self._build_data_package(_COMMAND_FAN_READ_RPM, _OP_CODE_READ_TWO_BYTES) ) # pump dataPackages.append( self._build_data_package( _COMMAND_FAN_SELECT, _OP_CODE_WRITE_ONE_BYTE, params=bytes([2]) ) ) dataPackages.append( self._build_data_package(_COMMAND_FAN_READ_RPM, _OP_CODE_READ_TWO_BYTES) ) res = self._send_commands(dataPackages) temp = res[3] + res[2] / 255 return [ ("Liquid temperature", temp, "°C"), ("Fan 1 speed", u16le_from(res, offset=8), "rpm"), ("Fan 2 speed", u16le_from(res, offset=14), "rpm"), ("Pump speed", u16le_from(res, offset=20), "rpm"), ] def set_fixed_speed(self, channel, duty, **kwargs): """Set fan or fans to a fixed speed duty. Valid channel values are "fanN", where N >= 1 is the fan number, and "fan", to simultaneously configure all fans. Unconfigured fan channels may default to 100% duty. """ for hw_channel in self._get_hw_fan_channels(channel): self._data.store(f"{hw_channel}_mode", _FanMode.FIXED_DUTY.value) self._data.store(f"{hw_channel}_duty", duty) LOGGER.info(f"setting {hw_channel} to duty mode") self._send_set_cooling() def set_speed_profile(self, channel, profile, **kwargs): """Set fan or fans to follow a speed duty profile. Valid channel values are "fanN", where N >= 1 is the fan number, and "fan", to simultaneously configure all fans. Unconfigured fan channels may default to 100% duty. Up to seven (temperature, duty) pairs can be supplied in `profile`, with temperatures in Celsius and duty values in percentage. The last point should set the fan to 100% duty cycle, or be omitted; in the latter case the fan will be set to max out at 60°C. """ profile = list(profile) for hw_channel in self._get_hw_fan_channels(channel): self._data.store(f"{hw_channel}_mode", _FanMode.CUSTOM_PROFILE.value) self._data.store(f"{hw_channel}_profile", profile) LOGGER.info(f"setting {hw_channel} to profile mode") self._send_set_cooling() def set_color(self, channel, mode, colors, **kwargs): """Not supported by this driver.""" raise NotSupportedByDriver() def set_screen(self, channel, mode, value, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() def _get_hw_fan_channels(self, channel): channel = channel.lower() if channel == "fan": return self._fan_names if channel in self._fan_names: return [channel] raise ValueError(f"Unknown channel, should be one of: {_quoted('fan', *self._fan_names)}") def _build_data_package(self, command, opCode, params=None): if params: buf = bytearray(3 + len(params)) buf[3 : 3 + len(params)] = params else: buf = bytearray(3) buf[0] = next(self._sequence) buf[1] = opCode buf[2] = command return buf def _send_commands(self, dataPackages): buf = bytearray(_REPORT_LENGTH) startIndex = 1 for dataPackage in dataPackages: buf[startIndex : startIndex + len(dataPackage)] = dataPackage startIndex += len(dataPackage) buf[0] = startIndex - 1 return self._send_buffer(buf) def _send_command(self, dataPackage): buf = bytearray(_REPORT_LENGTH) buf[0] = len(dataPackage) buf[1:] = dataPackage return self._send_buffer(buf) def _send_buffer(self, buf): self.device.clear_enqueued_reports() self.device.write(buf) buf = bytes(self.device.read(_REPORT_LENGTH)) return buf def _send_set_cooling(self): for fan in self._fan_names: fanIndex = 0 if fan == "fan1" else 1 mode = _FanMode(self._data.load(f"{fan}_mode", of_type=int)) if mode is _FanMode.FIXED_DUTY: stored = self._data.load(f"{fan}_duty", of_type=int, default=100) duty = clamp(stored, 0, 100) self._send_command( self._build_data_package( _COMMAND_FAN_SELECT, _OP_CODE_WRITE_ONE_BYTE, params=bytes([fanIndex]) ) ) self._send_command( self._build_data_package( _COMMAND_FAN_MODE, _OP_CODE_WRITE_ONE_BYTE, params=bytes([mode.value]) ) ) self._send_command( self._build_data_package( _COMMAND_FAN_FIXED_PWM, _OP_CODE_WRITE_ONE_BYTE, params=bytes([fraction_of_byte(percentage=duty)]), ) ) LOGGER.info("setting %s to %d%% duty cycle", fan, duty) elif mode is _FanMode.CUSTOM_PROFILE: stored = self._data.load(f"{fan}_profile", of_type=list, default=[]) profile = _prepare_profile(stored) # ensures correct len(profile) pairs = ((temp, fraction_of_byte(percentage=duty)) for temp, duty in profile) # "magical" 0x0A in front of curve definition packages fanTemperatureData = [0x0A] fanDutyData = [0x0A] # get max RPM for current fan dataPackages = [] dataPackages.append( self._build_data_package( _COMMAND_FAN_SELECT, _OP_CODE_WRITE_ONE_BYTE, params=bytes([0]) ) ) dataPackages.append( self._build_data_package(_COMMAND_FAN_MAX_RPM, _OP_CODE_READ_TWO_BYTES) ) max_rpm = u16le_from(self._send_commands(dataPackages), offset=4) for temp, duty in profile: fanTemperatureData.append(0x00) fanTemperatureData.append(temp) rpm = duty * max_rpm / 100 fanDutyData.append(int(rpm % 255)) fanDutyData.append(int(rpm - (rpm % 255)) >> 8) # select fan to customize self._send_command( self._build_data_package( _COMMAND_FAN_SELECT, _OP_CODE_WRITE_ONE_BYTE, params=bytes([fanIndex]) ) ) # Change mode to custom Profile self._send_command( self._build_data_package( _COMMAND_FAN_MODE, _OP_CODE_WRITE_ONE_BYTE, params=bytes([mode.value]) ) ) # Send duty cycle Profile self._send_command( self._build_data_package( _COMMAND_FAN_RPM_TABLE, _OP_CODE_WRITE_THREE_BYTES, params=bytes(fanDutyData), ) ) # Send temperature profile self._send_command( self._build_data_package( _COMMAND_FAN_TEMP_TABLE, _OP_CODE_WRITE_THREE_BYTES, params=bytes(fanTemperatureData), ) ) LOGGER.info("setting %s to follow profile %r", fan, profile) else: raise ValueError(f"Unsupported fan {mode}") pump_mode = _PumpMode(self._data.load("pump_mode", of_type=int)) self._send_commands( [ self._build_data_package( _COMMAND_FAN_SELECT, _OP_CODE_WRITE_ONE_BYTE, params=bytes([_PUMP_INDEX]) ), self._build_data_package( _COMMAND_FAN_FIXED_RPM, _OP_CODE_WRITE_TWO_BYTES, params=bytes( _PUMP_DEFAULT_QUIET if pump_mode == _PumpMode.QUIET else _PUMP_DEFAULT_EXTREME ), ), ] ) LOGGER.info("setting pump mode to %s", pump_mode.name.lower()) liquidctl-1.16.0/liquidctl/driver/corsair_hid_psu.py000066400000000000000000000345301515166127400226220ustar00rootroot00000000000000"""liquidctl drivers for Corsair HXi and RMi series power supply units. Supported devices: - Corsair HXi (HX750i, HX850i, HX1000i and HX1200i) - Corsair RMi (RM650i, RM750i, RM850i and RM1000i) Copyright Jonas Malaco and contributors Port of corsaiRMi by notaz and realies. Copyright (c) notaz, 2016 Incorporates or uses as reference work by Sean Nelson. SPDX-License-Identifier: GPL-3.0-or-later """ import logging from datetime import timedelta from enum import Enum from liquidctl.driver.usb import UsbHidDriver from liquidctl.error import NotSupportedByDevice from liquidctl.pmbus import CommandCode as CMD from liquidctl.pmbus import WriteBit, linear_to_float from liquidctl.util import clamp _LOGGER = logging.getLogger(__name__) _REPORT_LENGTH = 64 _SLAVE_ADDRESS = 0x02 _CORSAIR_READ_TOTAL_UPTIME = CMD.MFR_SPECIFIC_D1 _CORSAIR_READ_UPTIME = CMD.MFR_SPECIFIC_D2 _CORSAIR_12V_OCP_MODE = CMD.MFR_SPECIFIC_D8 _CORSAIR_READ_OUTPUT_POWER = CMD.MFR_SPECIFIC_EE _CORSAIR_FAN_CONTROL_MODE = CMD.MFR_SPECIFIC_F0 _RAIL_12V = 0x0 _RAIL_5V = 0x1 _RAIL_3P3V = 0x2 _RAIL_NAMES = {_RAIL_12V: '+12V', _RAIL_5V: '+5V', _RAIL_3P3V: '+3.3V'} _MIN_FAN_DUTY = 30 class OCPMode(Enum): """Overcurrent protection mode.""" SINGLE_RAIL = 0x1 MULTI_RAIL = 0x2 def __str__(self): return self.name.capitalize().replace('_', ' ') class FanControlMode(Enum): """Fan control mode.""" HARDWARE = 0x0 SOFTWARE = 0x1 def __str__(self): return self.name.capitalize() class CorsairHidPsu(UsbHidDriver): """Corsair HXi or RMi series power supply unit.""" # support for hwmon: corsair-psu, Linux 5.11 (5.13 recommended) # note: quadratic equation coefficients calculated with the following script: # https://github.com/liquidctl/collected-device-data/blob/master/psu-efficiency/interpolate _MATCHES = [ (0x1b1c, 0x1c05, 'Corsair HX750i', { 'fpowin115': (0.00013153276902318052, 1.0118732314945875, 9.783796618886313), 'fpowin230': ( 9.268856467314546e-05, 1.0183515407387007, 8.279822175342481), }), (0x1b1c, 0x1c06, 'Corsair HX850i', { 'fpowin115': (0.00011552923724840388, 1.0111311876704099, 12.015296651918918), 'fpowin230': ( 8.126644224872423e-05, 1.0176256272095185, 10.290640442373850), }), (0x1b1c, 0x1c07, 'Corsair HX1000i', { # CP-9020074-NA 'fpowin115': (9.48609754417109e-05, 1.0170509865269720, 11.619826520447452), 'fpowin230': (9.649987544008507e-05, 1.0018241767296636, 12.759957859756842), }), (0x1b1c, 0x1c08, 'Corsair HX1200i', { 'fpowin115': (6.244705156199815e-05, 1.0234738310580973, 15.293509559389241), 'fpowin230': (5.9413179794350966e-05, 1.0023670927127724, 15.886126793547152), }), (0x1b1c, 0x1c23, 'Corsair HX1200i ATX 3.1', { # CP-9020281-NA # Certification is source for efficiency numbers https://www.cybenetics.com/evaluations/psus/2510/ # 10% 20% 50% 100% # 115v: .8877 .91774 .92095 .88146 # 230v: .89881 .92956 .93047 .91292 'fpowin115': (9.930197967499293e-05, 1.003634953854399, 13.956713659543981), 'fpowin230': (4.716701557627399e-05, 1.031689131040792, 8.562560345390088), }), (0x1b1c, 0x1c27, 'Corsair HX1200i ATX 3.1 #2', { # CP-9020307-NA # Certification is source for efficiency numbers https://www.cybenetics.com/evaluations/psus/2733/ # 10% 20% 50% 100% # 115v: .88875 .91886 .92168 .88731 # 230v: .89954 .93143 .93185 .92003 'fpowin115': (8.701178559061476e-05, 1.0119502460041445, 12.725770701505295), 'fpowin230': (3.4692421780176756e-05, 1.0391630676290817, 7.429785098514605), }), (0x1b1c, 0x1c0a, 'Corsair RM650i', { 'fpowin115': (0.00017323493381072683, 1.0047044721686030, 12.376592422281606), 'fpowin230': (0.00012413136310310370, 1.0284317478987164, 9.465259079360674), }), (0x1b1c, 0x1c0b, 'Corsair RM750i', { 'fpowin115': (0.00015013694263596336, 1.0047044721686027, 14.280683564171110), 'fpowin230': (0.00010460621468919797, 1.0173089573727216, 11.495900706372142), }), (0x1b1c, 0x1c0c, 'Corsair RM850i', { 'fpowin115': (0.00012280002467981107, 1.0159421430340847, 13.555472968718759), 'fpowin230': ( 8.816054254801031e-05, 1.0234738318592156, 10.832902491655597), }), (0x1b1c, 0x1c0d, 'Corsair RM1000i', { 'fpowin115': (0.00010018433053123574, 1.0272313660072225, 14.092187353321624), 'fpowin230': ( 8.600634771656125e-05, 1.0289245073649413, 13.701515390258626), }), (0x1b1c, 0x1c1e, 'Corsair HX1000i (2022)', { # CP-9020214-NA # FIXME does not accurately represent known efficiency curve at 2%–10% loads 'fpowin115': (0.00012038623467957958, 0.9899868099948035, 13.125601514017152), 'fpowin230': ( 8.725695209710315e-05, 1.0017598021499974, 9.789546063300154), }), (0x1b1c, 0x1c1f, 'Corsair HX1500i', { # CP-9020215-NA # FIXME does not accurately represent known efficiency curve at 2%–10% loads 'fpowin115': (6.605968230747892e-05, 1.0125991461405333, 17.96728350708451), 'fpowin230': (4.634428233657273e-05, 1.0183515407387007, 16.559644350684962), }), ] def __init__(self, *args, fpowin115=None, fpowin230=None, **kwargs): """ Args: fpowin115: coefficients of a quadratic function that maps from output power to input power at 115V fpowin230: coefficients of a quadratic function that maps from output power to input power at 230V """ assert fpowin115 and fpowin230 super().__init__(*args, **kwargs) self.fpowin115 = fpowin115 self.fpowin230 = fpowin230 def initialize(self, single_12v_ocp=False, direct_access=False, **kwargs): """Initialize the device and the driver. This method should be called every time the systems boots, resumes from a suspended state, or if the device has just been (re)connected. In those scenarios, no other method, except `connect()` or `disconnect()`, should be called until the device and driver has been (re-)initialized. Returns None or a list of `(property, value, unit)` tuples, similarly to `get_status()`. """ # necessary to receive non-zero status responses from the device: # replies before calling this function appear to follow the pattern #
if self._hwmon: if not direct_access: _LOGGER.warning('bound to %s kernel driver, OCP and fan modes not changed', self._hwmon.driver) return else: _LOGGER.warning('forcing re-initialization despite %s kernel driver', self._hwmon.driver) self._write([0xfe, 0x03]) _ = self._read() # don't check current OCP and fan control modes in case we're racing # with a hwmon driver and the returned values, which aren't available # through hwmon, are corrupted by the race mode = OCPMode.SINGLE_RAIL if single_12v_ocp else OCPMode.MULTI_RAIL _LOGGER.info('setting +12V OCP mode to %s', mode) self._exec(WriteBit.WRITE, _CORSAIR_12V_OCP_MODE, [mode.value]) _LOGGER.info('resetting fan control to hardware mode') self._set_fan_control_mode(FanControlMode.HARDWARE) def _get_status_directly(self): self.device.clear_enqueued_reports() ret = self._exec(WriteBit.WRITE, CMD.PAGE, [0]) if ret[1] == 0xfe: _LOGGER.warning('possibly uninitialized device') input_voltage = self._get_float(CMD.READ_VIN) ret = [ ('Current uptime', self._get_timedelta(_CORSAIR_READ_UPTIME), ''), ('Total uptime', self._get_timedelta(_CORSAIR_READ_TOTAL_UPTIME), ''), ('VRM temperature', self._get_float(CMD.READ_TEMPERATURE_1), '°C'), ('Case temperature', self._get_float(CMD.READ_TEMPERATURE_2), '°C'), ('Fan control mode', self._get_fan_control_mode(), ''), ('Fan speed', self._get_float(CMD.READ_FAN_SPEED_1), 'rpm'), ('Input voltage', input_voltage, 'V'), ('+12V OCP mode', self._get_12v_ocp_mode(), ''), ] for rail in [_RAIL_12V, _RAIL_5V, _RAIL_3P3V]: name = _RAIL_NAMES[rail] self._exec(WriteBit.WRITE, CMD.PAGE, [rail]) ret.append((f'{name} output voltage', self._get_float(CMD.READ_VOUT), 'V')) ret.append((f'{name} output current', self._get_float(CMD.READ_IOUT), 'A')) ret.append((f'{name} output power', self._get_float(CMD.READ_POUT), 'W')) output_power = self._get_float(_CORSAIR_READ_OUTPUT_POWER) input_power = round(self._input_power_at(input_voltage, output_power), 0) efficiency = round(output_power / input_power * 100, 0) ret.append(('Total power output', output_power, 'W')) ret.append(('Estimated input power', input_power, 'W')) ret.append(('Estimated efficiency', efficiency, '%')) self._exec(WriteBit.WRITE, CMD.PAGE, [0]) return ret def _get_status_from_hwmon(self): # can't report some values (current and total uptime are only available # on debugfs, and fan and ocp modes are not available at all); still, # with this particular device, it is better to ignore them than to race # with a kernel driver _LOGGER.warning('some attributes cannot be read from %s kernel driver', self._hwmon.driver) input_voltage = self._hwmon.read_int('in0_input') * 1e-3 ret = [ ('VRM temperature', self._hwmon.read_int('temp1_input') * 1e-3, '°C'), ('Case temperature', self._hwmon.read_int('temp2_input') * 1e-3, '°C'), ('Fan speed', self._hwmon.read_int('fan1_input'), 'rpm'), ('Input voltage', input_voltage, 'V'), ] for n, rail in zip(range(2, 5), [_RAIL_12V, _RAIL_5V, _RAIL_3P3V]): i = n - 1 name = _RAIL_NAMES[rail] ret.append((f'{name} output voltage', self._hwmon.read_int(f'in{i}_input') * 1e-3, 'V')) ret.append((f'{name} output current', self._hwmon.read_int(f'curr{n}_input') * 1e-3, 'A')) ret.append((f'{name} output power', self._hwmon.read_int(f'power{n}_input') * 1e-6, 'W')) output_power = self._hwmon.read_int('power1_input') * 1e-6 input_power = round(self._input_power_at(input_voltage, output_power), 0) efficiency = round(output_power / input_power * 100, 0) ret.append(('Total power output', output_power, 'W')) ret.append(('Estimated input power', input_power, 'W')) ret.append(('Estimated efficiency', efficiency, '%')) return ret def get_status(self, direct_access=False, **kwargs): """Get a status report. Returns a list of `(property, value, unit)` tuples. """ if self._hwmon and not direct_access: _LOGGER.info('bound to %s kernel driver, reading status from hwmon', self._hwmon.driver) return self._get_status_from_hwmon() if self._hwmon: _LOGGER.warning('directly reading the status despite %s kernel driver', self._hwmon.driver) return self._get_status_directly() def set_fixed_speed(self, channel, duty, **kwargs): """Set channel to a fixed speed duty.""" duty = clamp(duty, _MIN_FAN_DUTY, 100) _LOGGER.info('ensuring fan control is in software mode') self._set_fan_control_mode(FanControlMode.SOFTWARE) _LOGGER.info('setting fan PWM duty to %d%%', duty) self._exec(WriteBit.WRITE, CMD.FAN_COMMAND_1, [duty]) def set_color(self, channel, mode, colors, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() def set_speed_profile(self, channel, profile, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() def _input_power_at(self, input_voltage, output_power): def quadratic(params, x): a, b, c = params return a * x**2 + b * x + c for_in115v = quadratic(self.fpowin115, output_power) for_in230v = quadratic(self.fpowin230, output_power) _LOGGER.debug('input power estimates: %.3f W @ 115 V; %.3f W @ 230 V', for_in115v, for_in230v) # linearly interpolate for input_voltage return for_in115v + (for_in230v - for_in115v) * (input_voltage - 115) / 115 def _write(self, data): assert len(data) <= _REPORT_LENGTH packet = bytearray(1 + _REPORT_LENGTH) packet[1: 1 + len(data)] = data # device doesn't use numbered reports self.device.write(packet) def _read(self): return self.device.read(_REPORT_LENGTH) def _exec(self, writebit, command, data=None): out = [_SLAVE_ADDRESS | WriteBit(writebit), CMD(command)] + (data or []) self._write(out) ret = self._read() assert ret[0:2] == out[0:2], f'invalid response (possible conflict with another program)' return ret def _get_12v_ocp_mode(self): """Get +12V single/multi-rail OCP mode.""" return OCPMode(self._exec(WriteBit.READ, _CORSAIR_12V_OCP_MODE)[2]) def _get_fan_control_mode(self): """Get hardware/software fan control mode.""" return FanControlMode(self._exec(WriteBit.READ, _CORSAIR_FAN_CONTROL_MODE)[2]) def _set_fan_control_mode(self, mode): """Set hardware/software fan control mode.""" return self._exec(WriteBit.WRITE, _CORSAIR_FAN_CONTROL_MODE, [mode.value]) def _get_float(self, command): """Get float value with `command`.""" return linear_to_float(self._exec(WriteBit.READ, command)[2:]) def _get_timedelta(self, command): """Get timedelta with `command`.""" secs = int.from_bytes(self._exec(WriteBit.READ, command)[2:6], byteorder='little') return timedelta(seconds=secs) def set_screen(self, channel, mode, value, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() # deprecated aliases CorsairHidPsuDriver = CorsairHidPsu liquidctl-1.16.0/liquidctl/driver/ddr4.py000066400000000000000000000314061515166127400203010ustar00rootroot00000000000000"""liquidctl drivers for DDR4 memory. Copyright Jonas Malaco and contributors SPDX-License-Identifier: GPL-3.0-or-later """ import itertools import logging from collections import namedtuple from enum import Enum, unique from liquidctl.driver.smbus import SmbusDriver from liquidctl.error import ExpectationNotMet, NotSupportedByDevice, NotSupportedByDriver from liquidctl.util import RelaxedNamesEnum, check_unsafe, clamp _LOGGER = logging.getLogger(__name__) class Ddr4Spd: """Partial decoding of DDR4 Serial Presence Detect (SPD) information. Properties will raise on data they are not yet prepared to handle, but what is implemented attempts to comply with JEDEC 21-C 4.1.2 Annex L. """ class DramDeviceType(Enum): """DRAM device type (not exhaustive).""" DDR4_SDRAM = 0x0c LPDDR4_SDRAM = 0x10 LPDDR4X_SDRAM = 0x11 def __str__(self): return self.name.replace('_', ' ') class BaseModuleType(Enum): """Base module type (not exhaustive).""" RDIMM = 0b0001 UDIMM = 0b0010 SO_DIMM = 0b0011 LRDIMM = 0x0100 def __str__(self): return self.name.replace('_', ' ') # Standard Manufacturer's Identification Code from JEDEC JEP106; # (not exhaustive) maps banks and IDs to names: _JEP106[][id] _JEP106 = { 1: { 0x2c: 'Micron', 0xad: 'SK Hynix', 0xce: 'Samsung', }, 2: {0x98: 'Kingston'}, 3: {0x9e: 'Corsair'}, 5: { 0xcd: 'G.SKILL', 0xef: 'Team Group', }, 6: { 0x02: 'Patriot', 0x9b: 'Crucial', }, } def __init__(self, eeprom): self._eeprom = eeprom if self.dram_device_type not in [self.DramDeviceType.DDR4_SDRAM, self.DramDeviceType.LPDDR4_SDRAM, self.DramDeviceType.LPDDR4X_SDRAM]: raise ValueError('not a DDR4 SPD EEPROM') @property def spd_bytes_used(self): nibble = self._eeprom[0x00] & 0x0f assert nibble <= 0b0100, 'reserved' return nibble * 128 @property def spd_bytes_total(self): nibble = (self._eeprom[0x00] >> 4) & 0b111 assert nibble <= 0b010, 'reserved' return nibble * 256 @property def spd_revision(self): enc_level = self._eeprom[0x01] >> 4 add_level = self._eeprom[0x01] & 0x0f return (enc_level, add_level) @property def dram_device_type(self): return self.DramDeviceType(self._eeprom[0x02]) @property def module_type(self): base = self._eeprom[0x03] & 0x0f hybrid = self._eeprom[0x03] >> 4 assert not hybrid return (self.BaseModuleType(base), None) @property def module_thermal_sensor(self): present = self._eeprom[0x0e] >> 7 return bool(present) @property def module_manufacturer(self): bank = 1 + self._eeprom[0x140] & 0x7f mid = self._eeprom[0x141] return self._JEP106[bank][mid] @property def module_part_number(self): return self._eeprom[0x149:0x15d].decode(encoding='ascii').rstrip() @property def dram_manufacturer(self): bank = 1 + self._eeprom[0x15e] & 0x7f mid = self._eeprom[0x15f] return self._JEP106[bank][mid] class Ddr4Temperature(SmbusDriver): """DDR4 module with TSE2004-compatible SPD EEPROM and temperature sensor.""" _SPD_DTIC = 0x50 _TS_DTIC = 0x18 _SA_MASK = 0b111 _REG_CAPABILITIES = 0x00 _REG_TEMPERATURE = 0x05 _UNSAFE = ['smbus', 'ddr4_temperature'] @classmethod def probe(cls, smbus, vendor=None, product=None, address=None, match=None, release=None, serial=None, **kwargs): # FIXME support mainstream AMD chipsets on Linux; note that unlike # i801_smbus, piix4_smbus does not enumerate and register the available # SPD EEPROMs with i2c_register_spd _SMBUS_DRIVERS = ['i801_smbus'] if smbus.parent_driver not in _SMBUS_DRIVERS \ or any([vendor, product, release, serial]): # wont match, always None return for dimm in range(cls._SA_MASK + 1): spd_addr = cls._SPD_DTIC | dimm _LOGGER.debug('%s checking address: %x', cls.__name__, spd_addr) eeprom = smbus.load_eeprom(spd_addr) if not eeprom or eeprom.name != 'ee1004': continue try: spd = Ddr4Spd(eeprom.data) if spd.dram_device_type != Ddr4Spd.DramDeviceType.DDR4_SDRAM: continue desc = cls._match(spd) except: continue if not desc: continue desc += f' DIMM{dimm + 1}' if (address and int(address, base=16) != spd_addr) \ or (match and match.lower() not in desc.lower()): continue # set the default device address to a weird value to prevent # accidental attempts of writes to the SPD EEPROM (DDR4 SPD writes # are also disabled by default in many motherboards) dev = cls(smbus, desc, address=(None, None, spd_addr)) _LOGGER.debug('%s identified: %s', cls.__name__, desc) yield dev @classmethod def _match(cls, spd): if not spd.module_thermal_sensor: return None try: manufacturer = spd.module_manufacturer except: return 'DDR4' if spd.module_part_number: return f'{manufacturer} {spd.module_part_number}' else: return manufacturer def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self._ts_address = self._TS_DTIC | (self._address[2] & self._SA_MASK) @property def address(self): return f'{self._address[2]:#04x}' def get_status(self, **kwargs): """Get a status report. Returns a list of `(property, value, unit)` tuples. """ if not check_unsafe(*self._UNSAFE, **kwargs): _LOGGER.warning("%s: disabled, requires unsafe features '%s'", self.description, ','.join(self._UNSAFE)) return [] treg = self._read_temperature_register() # discard flags bits and interpret remaining bits as 2s complement treg = treg & 0x1fff if treg > 0x0fff: treg -= 0x2000 # should always be supported resolution, bits = (.25, 10) multiplier = treg >> (12 - bits) return [ ('Temperature', resolution * multiplier, '°C'), ] def _read_temperature_register(self): # in theory we should first write 0x05 to the pointer register, but # avoid writing to the device, even if that means occasionally reading # garbage; ideally we would check the currently set pointer, but we # have not found any way to do that # while JEDEC 21-C 4.1.6 uses the term "block read", it has little to # do with the SMBus Block Read protocol; instead, it is closer to the # SMBus Read Word protocol, except in big endianess treg = self._smbus.read_word_data(self._ts_address, self._REG_TEMPERATURE) # swap LSB and MSB before returning: read_word_data reads in little # endianess, but the register must be read in big endianess return ((treg & 0xff) << 8) | (treg >> 8) def initialize(self, **kwargs): """Initialize the device.""" pass def set_color(self, channel, mode, colors, **kwargs): """Not supported by this driver.""" raise NotSupportedByDriver() def set_speed_profile(self, channel, profile, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() def set_fixed_speed(self, channel, duty, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() def set_screen(self, channel, mode, value, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() class VengeanceRgb(Ddr4Temperature): """Corsair Vengeance RGB DDR4 module.""" _RGB_DTIC = 0x58 _REG_RGB_TIMING1 = 0xa4 _REG_RGB_TIMING2 = 0xa5 _REG_RGB_MODE = 0xa6 _REG_RGB_COLOR_COUNT = 0xa7 _REG_RGB_COLOR_START = 0xb0 _REG_RGB_COLOR_END = 0xc5 _UNSAFE = ['smbus', 'vengeance_rgb'] @unique class Mode(bytes, RelaxedNamesEnum): def __new__(cls, value, min_colors, max_colors): obj = bytes.__new__(cls, [value]) obj._value_ = value obj.min_colors = min_colors obj.max_colors = max_colors return obj FIXED = (0x00, 1, 1) FADING = (0x01, 2, 7) BREATHING = (0x02, 1, 7) OFF = (0xf0, 0, 0) # pseudo mode, equivalent to fixed #000000 def __str__(self): return self.name.lower() @unique class SpeedTimings(RelaxedNamesEnum): SLOWEST = 63 SLOWER = 48 NORMAL = 32 FASTER = 16 FASTEST = 1 def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self._rgb_address = None @classmethod def _match(cls, spd): if spd.module_type != (Ddr4Spd.BaseModuleType.UDIMM, None) \ or spd.module_manufacturer != 'Corsair' \ or not spd.module_part_number.startswith('CMR'): return None return 'Corsair Vengeance RGB' def set_color(self, channel, mode, colors, speed='normal', transition_ticks=None, stable_ticks=None, **kwargs): """Set the RGB lighting mode and, when applicable, color. The table bellow summarizes the available channels, modes and their associated number of required colors. | Channel | Mode | Colors | | -------- | --------- | ------ | | led | off | 0 | | led | fixed | 1 | | led | breathing | 1–7 | | led | fading | 2–7 | The speed of the breathing and fading animations can be adjusted with `speed`; the allowed values are 'slowest', 'slower', 'normal' (default), 'faster' and 'fastest'. It is also possible to override the raw timing parameters through `transition_ticks` and `stable_ticks`; these should be integer values in the range 0–63. """ check_unsafe(*self._UNSAFE, error=True, **kwargs) try: common = self.SpeedTimings[speed].value tp1 = tp2 = common except KeyError: raise ValueError(f'invalid speed preset: {speed!r}') from None if transition_ticks is not None: tp1 = clamp(transition_ticks, 0, 63) if stable_ticks is not None: tp2 = clamp(stable_ticks, 0, 63) colors = list(colors) try: mode = self.Mode[mode] except KeyError: raise ValueError(f'invalid mode: {mode!r}') from None if len(colors) < mode.min_colors: raise ValueError(f'{mode} mode requires {mode.min_colors} colors') if len(colors) > mode.max_colors: _LOGGER.debug('too many colors, dropping to %d', mode.max_colors) colors = colors[:mode.max_colors] self._compute_rgb_address() if mode == self.Mode.OFF: mode = self.Mode.FIXED colors = [[0x00, 0x00, 0x00]] def rgb_write(register, value): self._smbus.write_byte_data(self._rgb_address, register, value) if mode == self.Mode.FIXED: rgb_write(self._REG_RGB_TIMING1, 0x00) else: rgb_write(self._REG_RGB_TIMING1, tp1) rgb_write(self._REG_RGB_TIMING2, tp2) color_registers = range(self._REG_RGB_COLOR_START, self._REG_RGB_COLOR_END) color_components = itertools.chain(*colors) for register, component in zip(color_registers, color_components): rgb_write(register, component) rgb_write(self._REG_RGB_COLOR_COUNT, len(colors)) if mode == self.Mode.BREATHING and len(colors) == 1: rgb_write(self._REG_RGB_MODE, self.Mode.FIXED.value) else: rgb_write(self._REG_RGB_MODE, mode.value) def _compute_rgb_address(self): if self._rgb_address: return # the dimm's rgb controller is typically at 0x58–0x5f candidate = self._RGB_DTIC | (self._address[2] & self._SA_MASK) # reading from any register should return 0xba if we have the right device if self._smbus.read_byte_data(candidate, self._REG_RGB_MODE) != 0xba: raise ExpectationNotMet(f'{self.bus}:{candidate:#04x} is not the RGB controller') self._rgb_address = candidate liquidctl-1.16.0/liquidctl/driver/ga2_lcd.py000066400000000000000000000300051515166127400207310ustar00rootroot00000000000000"""liquidctl drivers for Lian Li Gallahad II Vision liquid coolers. Supported devices: - GA II LCD Copyright Tom Frey, Jonas Malaco, Shady Nawara, Ilia Khubuluri and contributors SPDX-License-Identifier: GPL-3.0-or-later """ import math import logging import sys from liquidctl.driver.usb import PyUsbDevice, UsbHidDriver from liquidctl.error import NotSupportedByDevice, NotSupportedByDriver _LOGGER = logging.getLogger(__name__) _PUMP_RPM_MAX = 3600 _FAN_RPM_MAX = 2520 _STATUS_TEMPERATURE = "Liquid temperature" _STATUS_PUMP_SPEED = "Pump speed" _STATUS_PUMP_DUTY = "Pump duty" _STATUS_FAN_SPEED = "Fan speed" _STATUS_FAN_DUTY = "Fan duty" _LIGHTING_DIRECTIONS = { "forward": 0x00, "backward": 0x01, } _PUMP_LIGHTING_SPEEDS = { "slowest": 0x0, "slower": 0x1, "normal": 0x2, "faster": 0x3, "fastest": 0x4, } _PUMP_LIGHTING_MODES = { "bounce": 0x10, "color-morph": 0x0F, "burst": 0x0E, "big-bang": 0x0D, "static-starry-night": 0x0B, "colorful-starry-night": 0x0A, "transmit": 0x09, "fluctuation": 0x08, "ticker-tape": 0x07, "meteor": 0x06, "runway": 0x05, "breathing": 0x04, "static": 0x03, "rainbow-morph": 0x02, "rainbow": 0x01, } _FAN_LIGHTING_MODES = { "meteor": 0x00, "runway": 0x01, "breathing": 0x02, "static": 0x03, "rainbow-morph": 0x04, "rainbow": 0x05, } _SPEED_CHANNELS = { "fan": 0x8B, "pump": 0x8A, } def _quoted(*names): return ", ".join(map(repr, names)) def _write_colors(buffer, colors, offset, length): """Write variable length 3-byte RGB color arrays to a buffer at a specific offset.""" buffer[offset : offset + length] = [0] * length if len(colors) > 0: buffer[offset] = colors[0][0] buffer[offset + 1] = colors[0][1] buffer[offset + 2] = colors[0][2] if len(colors) > 1: buffer[offset + 3] = colors[1][0] buffer[offset + 4] = colors[1][1] buffer[offset + 5] = colors[1][2] if len(colors) > 2: buffer[offset + 6] = colors[2][0] buffer[offset + 7] = colors[2][1] buffer[offset + 8] = colors[2][2] if len(colors) > 3: buffer[offset + 9] = colors[3][0] buffer[offset + 10] = colors[3][1] buffer[offset + 11] = colors[3][2] class GA2LCD(UsbHidDriver): _status = [] _MATCHES = [ ( 0x0416, # Winbond Electronics Corp. 0x7395, # LianLi-GA_II-LCD_v1.4 "Lian Li GA II LCD", {}, ) ] def initialize(self, direct_access=False, **kwargs): self.device.clear_enqueued_reports() version = self._read_firmware_version() # version must contain "CA_II-Vision" somewhere in middle. Yep it's a C. if not ("CA_II-Vision" in version): raise NotSupportedByDriver( "Device firmware version does not match expected GA_II format: " f"{version}" ) self._status.append(("Firmware version", version, "")) self.supports_lighting = False self.supports_cooling = True return sorted(self._status) def get_status(self, direct_access=False, **kwargs): """Get a status report. Returns a list of `(property, value, unit)` tuples. """ self.device.clear_enqueued_reports() handshake = self._get_handshake() return [ (_STATUS_TEMPERATURE, handshake["temperature"], "°C"), (_STATUS_FAN_SPEED, handshake["fan_rpm"], "rpm"), (_STATUS_FAN_DUTY, min(handshake["fan_rpm"] / _FAN_RPM_MAX * 100, 100), "%"), (_STATUS_PUMP_SPEED, handshake["pump_rpm"], "rpm"), (_STATUS_PUMP_DUTY, handshake["pump_rpm"] / _PUMP_RPM_MAX * 100, "%"), ] def set_color(self, channel, mode, colors, speed="normal", direction="forward", **kwargs): """Set the color mode for a specific channel.""" if channel == "pump": self._set_pump_lighting(mode, colors, speed, direction, **kwargs) elif channel == "fan": self._set_fan_lighting(mode, colors, speed, direction, **kwargs) else: raise NotSupportedByDevice( f"lighting control for {channel} is not supported by this driver" ) def set_speed_profile(self, channel, profile, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() def set_fixed_speed(self, channel, duty, direct_access=False, **kwargs): """Set channel to a fixed speed duty.""" if channel not in _SPEED_CHANNELS: raise NotSupportedByDevice( f"fixed speed control for {channel} is not supported by this driver" ) speed = max(0, min(100, duty)) self._write_a_cmd_with_data(_SPEED_CHANNELS[channel], [0, speed]) def set_screen(self, channel, mode, value, **kwargs): """Not supported by this device.""" # This device has a screen but it appears that it does not # support sending images to it, instead if relies on a # computer software to stream H.264 video to it over USB. # Liquidctl does not currently support this functionality. raise NotSupportedByDriver() def _get_a_cmd_bytes(self, cmd, data): # return empty list if data is empty if not data: return [ [ 1, # type cmd, # command 0, # reserved 0, # number_a (2 bytes) 0, # number_b (2 bytes) 0, ] ] num = 0 offset = 0 cmd_pas = [] # take chunks of data and send them in packets until all data is sent while offset < len(data): data_len = min(len(data) - offset, 58) cmd_pa = [0] * 64 cmd_pa[0] = 1 cmd_pa[1] = cmd cmd_pa[2] = 0 num_bytes = num.to_bytes(2, byteorder="big") cmd_pa[3] = num_bytes[0] cmd_pa[4] = num_bytes[1] cmd_pa[5] = data_len cmd_pa[6 : 6 + data_len] = data[offset : offset + data_len] _LOGGER.debug( "Command: 0x%02x, PDU Number: %d, Offset: %d, Data Length: %d\n", cmd, num, offset, data_len, ) num += 1 offset += data_len cmd_pas.append(cmd_pa) return cmd_pas def _write_a_cmd(self, cmd): packets = self._get_a_cmd_bytes(cmd, []) self._write(packets[0]) def _write_a_cmd_with_data(self, cmd, data): packets = self._get_a_cmd_bytes(cmd, data) _LOGGER.debug("Writing command: 0x%02x", cmd) for packet in packets: self._write(packet) def _write(self, bytes): self.device.write(bytes) def _read_a_cmd(self): r = self.device.read(64) if not r: raise ValueError("Device not responding") if len(r) < 6: raise ValueError("Unexpected response from device") _LOGGER.debug( "Read command: type: 0x%02X, command: 0x%02X, number_a: 0x%02X, number_b: 0x%02X, length: 0x%02X", r[0], r[1], r[3], r[4], r[5], ) if r[0] != 1: raise ValueError("Invalid response from device") command = r[1] number = int.from_bytes(r[3:5], byteorder="big") length = r[5] current_length = min(length, 58) packet_count = math.ceil(length / 58) data = r[6 : 6 + current_length] if packet_count > 1: for i in range(packet_count - 1): r = self.device.read(64) if r[0] != 1: raise ValueError("Invalid response from device") if r[1] != command: raise ValueError("Unexpected command in response") number = int.from_bytes(r[3:5], byteorder="big") if number != i + 1: raise ValueError("Unexpected response number") length_remaining = length - len(data) current_length = min(length_remaining, 58) data += r[6 : 6 + current_length] return {"command": command, "number": number, "length": length, "data": data} def _read_firmware_version(self): """Read the firmware version from the device.""" self._write_a_cmd(0x86) # firmware response is two packets p1 = self._read_a_cmd() # copy until first 0 p1_data = p1["data"][: p1["data"].index(0)] if 0 in p1["data"] else p1["data"] string_data = bytes(p1_data) ascii_string_p1 = string_data.decode("ascii", errors="ignore") p2 = self._read_a_cmd() p2_data = p2["data"][: p2["data"].index(0)] if 0 in p2["data"] else p2["data"] string_data = bytes(p2_data) ascii_string_p2 = string_data.decode("ascii", errors="ignore") ascii_string = ascii_string_p1.strip() + " " + ascii_string_p2.strip() return ascii_string def _get_handshake(self): self.device.clear_enqueued_reports() self._write_a_cmd(0x81) # handshake command r = self._read_a_cmd() if r["command"] != 0x81: raise ValueError("Unexpected handshake response") if r["number"] != 0: raise ValueError("Unexpected handshake response number") if r["length"] != 0x07: raise ValueError("Unexpected handshake response length") fan_rpm = int.from_bytes(r["data"][0:2], byteorder="big") pump_rpm = int.from_bytes(r["data"][2:4], byteorder="big") temp_int = r["data"][5] temp_frac = r["data"][6] temperature = temp_int + temp_frac / 10.0 _LOGGER.debug( "Handshake response: fan_rpm=%d, pump_rpm=%d, temperature=%f", fan_rpm, pump_rpm, temperature, ) return { "fan_rpm": fan_rpm, "pump_rpm": pump_rpm, "temperature": temperature, } def _set_pump_lighting(self, mode, colors, speed, direction, **kwargs): req = [0] * 19 if mode not in _PUMP_LIGHTING_MODES: raise ValueError( f"unknown pump lighting mode, should be one of: {_quoted(*_PUMP_LIGHTING_MODES)}" ) if speed not in _PUMP_LIGHTING_SPEEDS: raise ValueError( f"unknown pump lighting speed, should be one of: {_quoted(*_PUMP_LIGHTING_SPEEDS)}" ) if direction not in _LIGHTING_DIRECTIONS: raise ValueError( f"unknown lighting direction, should be one of: {_quoted(*_LIGHTING_DIRECTIONS)}" ) colors = list(colors) req[0] = 0 req[1] = _PUMP_LIGHTING_MODES[mode] req[2] = 4 # brightness 0-4 req[3] = _PUMP_LIGHTING_SPEEDS[speed] _write_colors(req, colors, 4, 12) req[16] = _LIGHTING_DIRECTIONS[direction] req[17] = 0 req[18] = 0 self._write_a_cmd_with_data(0x83, req) def _set_fan_lighting(self, mode, colors, speed, direction, **kwargs): req = [8] * 20 if mode not in _FAN_LIGHTING_MODES: raise ValueError( f"unknown fan lighting mode, should be one of: {_quoted(*_FAN_LIGHTING_MODES)}" ) if speed not in _PUMP_LIGHTING_SPEEDS: raise ValueError( f"unknown fan lighting speed, should be one of: {_quoted(*_PUMP_LIGHTING_SPEEDS)}" ) if direction not in _LIGHTING_DIRECTIONS: raise ValueError( f"unknown lighting direction, should be one of: {_quoted(*_LIGHTING_DIRECTIONS)}" ) req[0] = _FAN_LIGHTING_MODES[mode] req[1] = 4 req[2] = _PUMP_LIGHTING_SPEEDS[speed] _write_colors(req, colors, 3, 12) req[15] = _LIGHTING_DIRECTIONS[direction] req[16] = 0 req[17] = 0 req[18] = 0 req[19] = 24 self._write_a_cmd_with_data(0x85, req) liquidctl-1.16.0/liquidctl/driver/hwmon.py000066400000000000000000000034621515166127400205750ustar00rootroot00000000000000"""Access to Linux HWMON data. Copyright Jonas Malaco and contributors SPDX-License-Identifier: GPL-3.0-or-later """ # uses the psf/black style import logging import sys from pathlib import Path _LOGGER = logging.getLogger(__name__) _IS_LINUX = sys.platform == "linux" class HwmonDevice: """Unstable API.""" __slots__ = [ "driver", "path", ] def __init__(self, driver, path): self.driver = driver self.path = path @property def name(self): return self.path.name def has_attribute(self, name): return (self.path / name).is_file() def get_string(self, name): value = (self.path / name).read_text().rstrip() _LOGGER.debug("read %s: %s", name, value) return value def read_int(self, name): return int(self.get_string(name)) def write_int(self, name, value): (self.path / name).write_text(str(value)) @classmethod def from_hidraw(cls, path): """Find the `HwmonDevice` for `path`.""" if not _IS_LINUX: return None if not path.startswith(b"/dev/hidraw"): _LOGGER.debug("cannot search hwmon device for %s: unsupported path", path) return None path = path.decode() name = path[5:] class_path = Path("/sys/class/hidraw", name) sys_device = class_path / "device" hwmon_devices = sys_device / "hwmon" if not hwmon_devices.exists(): return None hwmon_paths = hwmon_devices.iterdir() path = next(hwmon_paths) if next(hwmon_paths, None): _LOGGER.debug("cannot pick hwmon device for %s: more than one alternative", path) return None driver = (sys_device / "driver").readlink().name return HwmonDevice(driver, path) liquidctl-1.16.0/liquidctl/driver/hydro_platinum.py000066400000000000000000000427311515166127400225050ustar00rootroot00000000000000"""liquidctl drivers for Corsair Hydro Platinum and Pro XT liquid coolers. Supported devices: - Corsair Hydro H100i Platinum - Corsair Hydro H100i Platinum SE - Corsair Hydro H115i Platinum - Corsair Hydro H60i Pro XT - Corsair Hydro H100i Pro XT - Corsair Hydro H115i Pro XT - Corsair Hydro H150i Pro XT - Corsair iCUE H100i Elite RGB - Corsair iCUE H115i Elite RGB - Corsair iCUE H150i Elite RGB Copyright Jonas Malaco and contributors SPDX-License-Identifier: GPL-3.0-or-later """ import itertools import logging import re from enum import Enum, unique from liquidctl.driver.usb import UsbHidDriver from liquidctl.error import NotSupportedByDevice from liquidctl.keyval import RuntimeStorage from liquidctl.util import RelaxedNamesEnum, clamp, fraction_of_byte, \ u16le_from, normalize_profile, mkCrcFun _LOGGER = logging.getLogger(__name__) _REPORT_LENGTH = 64 _WRITE_PREFIX = 0x3f _FEATURE_COOLING = 0b000 _FEATURE_COOLING2 = 0b011 _CMD_GET_STATUS = 0xff _CMD_SET_COOLING = 0x14 _FEATURE_LIGHTING = None _CMD_SET_LIGHTING1 = 0b100 _CMD_SET_LIGHTING2 = 0b101 _CMD_SET_LIGHTING3 = 0b110 # cooling data starts at offset 3 and ends just before the PEC byte _SET_COOLING_DATA_LENGTH = _REPORT_LENGTH - 4 _SET_COOLING_DATA_PREFIX = [0x0, 0xff, 0x5, 0xff, 0xff, 0xff, 0xff, 0xff] _FAN_MODE_OFFSETS = [0x0b - 3, 0x11 - 3] _FAN_DUTY_OFFSETS = [offset + 5 for offset in _FAN_MODE_OFFSETS] _FAN_PROFILE_OFFSETS = [0x1e - 3, 0x2c - 3] _FAN_OFFSETS = list(zip(_FAN_MODE_OFFSETS, _FAN_DUTY_OFFSETS, _FAN_PROFILE_OFFSETS)) _PUMP_MODE_OFFSET = 0x17 - 3 _PROFILE_LENGTH_OFFSET = 0x1d - 3 _PROFILE_LENGTH = 7 _CRITICAL_TEMPERATURE = 60 @unique class _FanMode(Enum): CUSTOM_PROFILE = 0x0 CUSTOM_PROFILE_WITH_EXTERNAL_SENSOR = 0x1 FIXED_DUTY = 0x2 FIXED_RPM = 0x4 @classmethod def _missing_(cls, value): _LOGGER.debug('falling back to FIXED_DUTY for _FanMode(%s)', value) return _FanMode.FIXED_DUTY @unique class _PumpMode(RelaxedNamesEnum): QUIET = 0x0 BALANCED = 0x1 EXTREME = 0x2 @classmethod def _missing_(cls, value): _LOGGER.debug('falling back to BALANCED for _PumpMode(%s)', value) return _PumpMode.BALANCED def _sequence(storage): """Return a generator that produces valid protocol sequence numbers. Sequence numbers increment across successful invocations of liquidctl, but are not atomic. The sequence is: 1, 2, 3... 29, 30, 31, 1, 2, 3... In the protocol the sequence number is usually shifted left by 3 bits, and a shifted sequence will look like: 8, 16, 24... 232, 240, 248, 8, 16, 24... """ while True: seq = storage.load_store('sequence', lambda x : x % 31 + 1, of_type=int, default=0) yield seq[1] def _prepare_profile(original): clamped = ((temp, clamp(duty, 0, 100)) for temp, duty in original) normal = normalize_profile(clamped, _CRITICAL_TEMPERATURE) missing = _PROFILE_LENGTH - len(normal) if missing < 0: raise ValueError(f'too many points in profile (remove {-missing})') if missing > 0: normal += missing * [(_CRITICAL_TEMPERATURE, 100)] return normal def _quoted(*names): return ', '.join(map(repr, names)) class HydroPlatinum(UsbHidDriver): """Corsair Hydro Platinum or Pro XT liquid cooler.""" _MATCHES = [ (0x1b1c, 0x0c18, 'Corsair Hydro H100i Platinum', {'fan_count': 2, 'fan_leds': 4}), (0x1b1c, 0x0c19, 'Corsair Hydro H100i Platinum SE', {'fan_count': 2, 'fan_leds': 16}), (0x1b1c, 0x0c17, 'Corsair Hydro H115i Platinum', {'fan_count': 2, 'fan_leds': 4}), (0x1b1c, 0x0c29, 'Corsair Hydro H60i Pro XT', {'fan_count': 2, 'fan_leds': 0}), (0x1b1c, 0x0c20, 'Corsair Hydro H100i Pro XT', {'fan_count': 2, 'fan_leds': 0}), (0x1b1c, 0x0c21, 'Corsair Hydro H115i Pro XT', {'fan_count': 2, 'fan_leds': 0}), (0x1b1c, 0x0c22, 'Corsair Hydro H150i Pro XT', {'fan_count': 3, 'fan_leds': 0}), (0x1b1c, 0x0c35, 'Corsair iCUE H100i Elite RGB', {'fan_count': 2, 'fan_leds': 0}), (0x1b1c, 0x0c36, 'Corsair iCUE H115i Elite RGB', {'fan_count': 2, 'fan_leds': 0}), (0x1b1c, 0x0c37, 'Corsair iCUE H150i Elite RGB', {'fan_count': 3, 'fan_leds': 0}), (0x1b1c, 0x0c40, 'Corsair iCUE H100i Elite RGB (White)', {'fan_count': 2, 'fan_leds': 0}), (0x1b1c, 0x0c41, 'Corsair iCUE H150i Elite RGB (White)', {'fan_count': 3, 'fan_leds': 0}) ] @classmethod def probe(cls, handle, vendor=None, product=None, release=None, serial=None, match=None, **kwargs): """Probe `handle` and yield corresponding driver instances.""" # this is modified from BaseUsbDriver.probe to match regardless of # presence of "Hydro", for backward compatibility with 1.5.0 and # previous versions for vid, pid, desc, devargs in cls._MATCHES: if (vendor and vendor != vid) or handle.vendor_id != vid: continue if (product and product != pid) or handle.product_id != pid: continue if release and handle.release_number != release: continue if serial and handle.serial_number != serial: continue if match: match = match.lower() descr = desc.lower() if not (match in descr or match in descr.replace('hydro ', '')): continue consargs = devargs.copy() consargs.update(kwargs) dev = cls(handle, desc, **consargs) _LOGGER.debug('%s identified: %s', cls.__name__, desc) yield dev def __init__(self, device, description, fan_count, fan_leds, **kwargs): super().__init__(device, description, **kwargs) self._led_count = 16 + fan_count * fan_leds self._fan_names = [f'fan{i + 1}' for i in range(fan_count)] self._mincolors = { ('led', 'super-fixed'): 1, ('led', 'fixed'): 1, ('led', 'off'): 0, } self._maxcolors = { ('led', 'super-fixed'): self._led_count, ('led', 'fixed'): 1, ('led', 'off'): 0, } # the following fields are only initialized in connect() self._data = None self._sequence = None def connect(self, runtime_storage=None, **kwargs): """Connect to the device.""" ret = super().connect(**kwargs) if runtime_storage: self._data = runtime_storage else: ids = f'vid{self.vendor_id:04x}_pid{self.product_id:04x}' # must use the HID path because there is no serial number; however, # these can be quite long on Windows and macOS, so only take the # numbers, since they are likely the only parts that vary between two # devices of the same model loc = 'loc' + '_'.join(re.findall(r'\d+', self.address)) self._data = RuntimeStorage(key_prefixes=[ids, loc]) self._sequence = _sequence(self._data) return ret def initialize(self, pump_mode='balanced', **kwargs): """Initialize the device and set the pump mode. The device should be initialized every time it is powered on, including when the system resumes from suspending to memory. Valid values for `pump_mode` are 'quiet', 'balanced' and 'extreme'. Unconfigured fan channels may default to 100% duty. Subsequent calls should leave the fan speeds unaffected. Returns a list of `(property, value, unit)` tuples. """ # set the flag so the LED command will need to be set again self._data.store('leds_enabled', 0) self._data.store('pump_mode', _PumpMode[pump_mode].value) res = self._send_set_cooling() fw_version = (res[2] >> 4, res[2] & 0xf, res[3]) if fw_version < (1, 1, 0): # see: #201 ("Fan settings affects Fan 1 only and disables fan2") _LOGGER.warning('outdated and possibly unsupported firmware version') return [('Firmware version', '{}.{}.{}'.format(*fw_version), '')] def get_status(self, **kwargs): """Get a status report. Returns a list of `(property, value, unit)` tuples. """ res = self._send_command(_FEATURE_COOLING, _CMD_GET_STATUS) info = [ ('Liquid temperature', res[8] + res[7] / 255, '°C'), ] channels = [('Fan 1', 14), ('Fan 2', 21), ('Fan 3', 42)][:len(self._fan_names)] channels.append(('Pump', 28)) for name, base in channels: info.append((f'{name} speed', u16le_from(res, offset=base + 1), 'rpm')) info.append((f'{name} duty', round(res[base] / 255 * 100), '%')) return info def set_fixed_speed(self, channel, duty, **kwargs): """Set fan or fans to a fixed speed duty. Valid channel values are 'fanN', where N >= 1 is the fan number, and 'fan', to simultaneously configure all fans. Unconfigured fan channels may default to 100% duty. """ for hw_channel in self._get_hw_fan_channels(channel): self._data.store(f'{hw_channel}_mode', _FanMode.FIXED_DUTY.value) self._data.store(f'{hw_channel}_duty', duty) self._send_set_cooling() def set_speed_profile(self, channel, profile, **kwargs): """Set fan or fans to follow a speed duty profile. Valid channel values are 'fanN', where N >= 1 is the fan number, and 'fan', to simultaneously configure all fans. Unconfigured fan channels may default to 100% duty. Up to seven (temperature, duty) pairs can be supplied in `profile`, with temperatures in Celsius and duty values in percentage. The last point should set the fan to 100% duty cycle, or be omitted; in the latter case the fan will be set to max out at 60°C. """ profile = list(profile) for hw_channel in self._get_hw_fan_channels(channel): self._data.store(f'{hw_channel}_mode', _FanMode.CUSTOM_PROFILE.value) self._data.store(f'{hw_channel}_profile', profile) self._send_set_cooling() def set_color(self, channel, mode, colors, **kwargs): """Set the color of each LED. In reality the device does not have the concept of different channels or modes, but this driver provides a few for convenience. Animations still require successive calls to this API. The 'led' channel can be used to address individual LEDs, and supports the 'super-fixed', 'fixed' and 'off' modes. In 'super-fixed' mode, each color in `colors` is applied to one individual LED, successively. LEDs for which no color has been specified default to off/solid black. This is closest to how the device works. In 'fixed' mode, all LEDs are set to the first color taken from `colors`. The `off` mode is equivalent to calling this function with 'fixed' and a single solid black color in `colors`. The `colors` argument should be an iterable of one or more `[red, blue, green]` triples, where each red/blue/green component is a value in the range 0–255. The table bellow summarizes the available channels, modes, and their associated maximum number of colors for each device family. | Channel | Mode | LEDs | Platinum | Pro XT/Elite RGB | Platinum SE | | -------- | ----------- | ------------ | -------- | ---------------- | ----------- | | led | off | synchronized | 0 | 0 | 0 | | led | fixed | synchronized | 1 | 1 | 1 | | led | super-fixed | independent | 24 | 16 | 48 | """ colors = list(colors) self._check_color_args(channel, mode, colors) if mode == 'off': expanded = [] elif (channel, mode) == ('led', 'super-fixed'): expanded = colors[:self._led_count] elif (channel, mode) == ('led', 'fixed'): expanded = list(itertools.chain(*([color] * self._led_count for color in colors[:1]))) else: assert False, 'assumed unreacheable' if self._data.load('leds_enabled', of_type=int, default=0) == 0: # These hex strings are currently magic values that work but Im not quite sure why. d1 = bytes.fromhex("0101ffffffffffffffffffffffffff7f7f7f7fff00ffffffff00ffffffff00ffffffff00ffffffff00ffffffff00ffffffffffffffffffffffffffffff") d2 = bytes.fromhex("000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324252627ffffffffffffffffffffffffffffffffffffffffff") d3 = bytes.fromhex("28292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4fffffffffffffffffffffffffffffffffffffffffff") # Send the magic messages to enable setting the LEDs to statuC values self._send_command(None, 0b001, data=d1) self._send_command(None, 0b010, data=d2) self._send_command(None, 0b011, data=d3) self._data.store('leds_enabled', 1) data1 = bytes(itertools.chain(*((b, g, r) for r, g, b in expanded[0:20]))) data2 = bytes(itertools.chain(*((b, g, r) for r, g, b in expanded[20:40]))) data3 = bytes(itertools.chain(*((b, g, r) for r, g, b in expanded[40:]))) self._send_command(_FEATURE_LIGHTING, _CMD_SET_LIGHTING1, data=data1) if self._led_count > 20: self._send_command(_FEATURE_LIGHTING, _CMD_SET_LIGHTING2, data=data2) if self._led_count > 40: self._send_command(_FEATURE_LIGHTING, _CMD_SET_LIGHTING3, data=data3) def _check_color_args(self, channel, mode, colors): try: mincolors = self._mincolors[(channel, mode)] maxcolors = self._maxcolors[(channel, mode)] except KeyError: raise ValueError(f'unsupported (channel, mode) pair, ' f'should be one of: {_quoted(*self._mincolors)}') from None if len(colors) < mincolors: raise ValueError(f'at least {mincolors} required for {_quoted(channel, mode)}') if len(colors) > maxcolors: _LOGGER.warning('too many colors, dropping to %d', maxcolors) return maxcolors return len(colors) def _get_hw_fan_channels(self, channel): if channel == 'fan': return self._fan_names if channel in self._fan_names: return [channel] raise ValueError(f'unknown channel, should be one of: {_quoted("fan", *self._fan_names)}') def _send_command(self, feature, command, data=None): # self.device.write expects buf[0] to be the report number or 0 if not used buf = bytearray(_REPORT_LENGTH + 1) buf[1] = _WRITE_PREFIX buf[2] = next(self._sequence) << 3 if feature is not None: buf[2] |= feature buf[3] = command start_at = 4 else: buf[2] |= command start_at = 3 if data: buf[start_at: start_at + len(data)] = data buf[-1] = mkCrcFun('crc-8')(buf[2:-1]) self.device.clear_enqueued_reports() self.device.write(buf) buf = bytes(self.device.read(_REPORT_LENGTH)) if mkCrcFun('crc-8')(buf[1:]): _LOGGER.warning('response checksum does not match data') return buf def _generate_cooling_payload(self, fan_names): data = bytearray(_SET_COOLING_DATA_LENGTH) data[0: len(_SET_COOLING_DATA_PREFIX)] = _SET_COOLING_DATA_PREFIX data[_PROFILE_LENGTH_OFFSET] = _PROFILE_LENGTH for fan, (imode, iduty, iprofile) in zip(fan_names, _FAN_OFFSETS): mode = _FanMode(self._data.load(f'{fan}_mode', of_type=int)) if mode is _FanMode.FIXED_DUTY: stored = self._data.load(f'{fan}_duty', of_type=int, default=100) duty = clamp(stored, 0, 100) data[iduty] = fraction_of_byte(percentage=duty) _LOGGER.info('setting %s to %d%% duty cycle', fan, duty) elif mode is _FanMode.CUSTOM_PROFILE: stored = self._data.load(f'{fan}_profile', of_type=list, default=[]) profile = _prepare_profile(stored) # ensures correct len(profile) pairs = ((temp, fraction_of_byte(percentage=duty)) for temp, duty in profile) data[iprofile: iprofile + _PROFILE_LENGTH * 2] = itertools.chain(*pairs) _LOGGER.info('setting %s to follow profile %r', fan, profile) else: raise ValueError(f'unsupported fan {mode}') data[imode] = mode.value return data def _send_set_cooling(self): pump_mode = _PumpMode(self._data.load('pump_mode', of_type=int)) data = self._generate_cooling_payload(self._fan_names[0:2]) data[_PUMP_MODE_OFFSET] = pump_mode.value _LOGGER.info('setting pump mode to %s', pump_mode.name.lower()) if len(self._fan_names) == 3: data2 = self._generate_cooling_payload(self._fan_names[2:]) data2[_PUMP_MODE_OFFSET] = 0xff self._send_command(_FEATURE_COOLING2, _CMD_SET_COOLING, data=data2) return self._send_command(_FEATURE_COOLING, _CMD_SET_COOLING, data=data) def set_screen(self, channel, mode, value, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() liquidctl-1.16.0/liquidctl/driver/kraken2.py000066400000000000000000000270701515166127400210030ustar00rootroot00000000000000"""liquidctl drivers for third generation NZXT Kraken X and M liquid coolers. Kraken X (X42, X52, X62 and X72) -------------------------------- These coolers house 5-th generation Asetek pumps with additional PCBs for advanced control and RGB capabilites. Kraken M22 ---------- The Kraken M22 shares similar RGB funcionality to the X models of the same generation, but has no liquid temperature sensor and no hability to report or set fan or pump speeds. Copyright Jonas Malaco and contributors Incorporates work by leaty, Ksenija Stanojevic, Alexander Tong and Jens Neumaier. SPDX-License-Identifier: GPL-3.0-or-later """ import itertools import logging from liquidctl.driver.usb import UsbHidDriver from liquidctl.error import NotSupportedByDevice from liquidctl.util import clamp, normalize_profile, interpolate_profile, \ map_direction _LOGGER = logging.getLogger(__name__) _SPEED_CHANNELS = { # (base, minimum duty, maximum duty) 'fan': (0x80, 0, 100), 'pump': (0xc0, 0, 100), } _STATUS_TEMPERATURE = 'Liquid temperature' _STATUS_FAN_SPEED = 'Fan speed' _STATUS_PUMP_SPEED = 'Pump speed' _STATUS_FWVERSION = 'Firmware version' # more aggressive than observed 4.0.3 and 6.2 firmware defaults _RESET_FAN_PROFILE = [(20, 25), (30, 50), (50, 90), (60, 100)] _RESET_PUMP_PROFILE = [(20, 50), (30, 60), (40, 90), (50, 100)] _CRITICAL_TEMPERATURE = 60 _COLOR_CHANNELS = { 'sync': 0x0, 'logo': 0x1, 'ring': 0x2, } _COLOR_MODES = { # (byte3/mode, byte2/reverse, byte4/modifier, min colors, max colors, only ring) 'off': (0x00, 0x00, 0x00, 0, 0, False), 'fixed': (0x00, 0x00, 0x00, 1, 1, False), 'super-fixed': (0x00, 0x00, 0x00, 1, 9, False), # independent logo + ring leds 'fading': (0x01, 0x00, 0x00, 2, 8, False), 'spectrum-wave': (0x02, 0x00, 0x00, 0, 0, False), 'marquee-3': (0x03, 0x00, 0x00, 1, 1, True), 'marquee-4': (0x03, 0x00, 0x08, 1, 1, True), 'marquee-5': (0x03, 0x00, 0x10, 1, 1, True), 'marquee-6': (0x03, 0x00, 0x18, 1, 1, True), 'covering-marquee': (0x04, 0x00, 0x00, 1, 8, True), 'alternating': (0x05, 0x00, 0x00, 2, 2, True), 'moving-alternating': (0x05, 0x08, 0x00, 2, 2, True), 'breathing': (0x06, 0x00, 0x00, 1, 8, False), # colors for each step 'super-breathing': (0x06, 0x00, 0x00, 1, 9, False), # one step, independent logo + ring leds 'pulse': (0x07, 0x00, 0x00, 1, 8, False), 'tai-chi': (0x08, 0x00, 0x00, 2, 2, True), 'water-cooler': (0x09, 0x00, 0x00, 0, 0, True), 'loading': (0x0a, 0x00, 0x00, 1, 1, True), 'wings': (0x0c, 0x00, 0x00, 1, 1, True), 'super-wave': (0x0d, 0x00, 0x00, 1, 8, True), # independent ring leds } _ANIMATION_SPEEDS = { 'slowest': 0x0, 'slower': 0x1, 'normal': 0x2, 'faster': 0x3, 'fastest': 0x4, } _READ_ENDPOINT = 0x81 _READ_LENGTH = 64 _WRITE_ENDPOINT = 0x1 _WRITE_LENGTH = 65 class Kraken2(UsbHidDriver): """Third generation NZXT Kraken X or M liquid cooler.""" # support for hwmon: nzxt-kraken2, Linux 5.13 DEVICE_KRAKENX = 'Kraken X' DEVICE_KRAKENM = 'Kraken M' _MATCHES = [ (0x1e71, 0x170e, 'NZXT Kraken X (X42, X52, X62 or X72)', { 'device_type': DEVICE_KRAKENX }), (0x1e71, 0x1715, 'NZXT Kraken M22', { 'device_type': DEVICE_KRAKENM }), ] def __init__(self, device, description, device_type=DEVICE_KRAKENX, **kwargs): super().__init__(device, description) self.device_type = device_type self.supports_lighting = True self.supports_cooling = self.device_type != self.DEVICE_KRAKENM self._firmware_version = None # read once necessary def initialize(self, **kwargs): """Initialize the device and the driver. This method should be called every time the systems boots, resumes from a suspended state, or if the device has just been (re)connected. In those scenarios, no other method, except `connect()` or `disconnect()`, should be called until the device and driver has been (re-)initialized. Returns None or a list of `(property, value, unit)` tuples, similarly to `get_status()`. """ if self.supports_cooling_profiles: # due to a firmware limitation the same set of temperatures must be # used on both channels; ensure that is always true, even if the # user later only changes one of them, by resetting the profiles self.set_speed_profile('fan', _RESET_FAN_PROFILE) self.set_speed_profile('pump', _RESET_PUMP_PROFILE) fw = self.firmware_version _LOGGER.debug('raw firmware version: %r', fw) # after the transition to the unified 5.x/6.x firmware, NZXT/CAM # simplified how they report the firmware version from its raw # 4-component form fw_human = f'{fw[0]}.{fw[3]}' if fw[0] >= 5 else f'{fw[0]}.{fw[2]}.{fw[3]}' return [('Firmware version', fw_human, '')] def _get_status_directly(self): msg = self._read() return [ (_STATUS_TEMPERATURE, msg[1] + msg[2]/10, '°C'), (_STATUS_FAN_SPEED, msg[3] << 8 | msg[4], 'rpm'), (_STATUS_PUMP_SPEED, msg[5] << 8 | msg[6], 'rpm'), ] def _get_status_from_hwmon(self): return [ (_STATUS_TEMPERATURE, self._hwmon.read_int('temp1_input') * 1e-3, '°C'), (_STATUS_FAN_SPEED, self._hwmon.read_int('fan1_input'), 'rpm'), (_STATUS_PUMP_SPEED, self._hwmon.read_int('fan2_input'), 'rpm'), ] def get_status(self, direct_access=False, **kwargs): """Get a status report. Returns a list of `(property, value, unit)` tuples. """ if self.device_type == self.DEVICE_KRAKENM: return [] if self._hwmon and not direct_access: _LOGGER.info('bound to %s kernel driver, reading status from hwmon', self._hwmon.driver) return self._get_status_from_hwmon() if self._hwmon: _LOGGER.warning('directly reading the status despite %s kernel driver', self._hwmon.driver) return self._get_status_directly() def set_color(self, channel, mode, colors, speed='normal', direction='forward', **kwargs): """Set the color mode for a specific channel.""" if not self.supports_lighting: raise NotSupportedByDevice() if mode == 'super': _LOGGER.warning('deprecated mode, move to super-fixed, super-breathing or super-wave') mode = 'super-fixed' if 'backwards' in mode: _LOGGER.warning('deprecated mode, move to direction=backward option') mode = mode.replace('backwards-', '') direction = 'backward' mval, mod2, mod4, mincolors, maxcolors, ringonly = _COLOR_MODES[mode] mod2 += map_direction(direction, 0, 0x10) if ringonly and channel != 'ring': _LOGGER.warning('mode=%s unsupported with channel=%s, dropping to ring', mode, channel) channel = 'ring' steps = self._generate_steps(colors, mincolors, maxcolors, mode, ringonly) sval = _ANIMATION_SPEEDS[speed] byte2 = mod2 | _COLOR_CHANNELS[channel] for i, leds in enumerate(steps): seq = i << 5 byte4 = sval | seq | mod4 logo = [leds[0][1], leds[0][0], leds[0][2]] ring = list(itertools.chain(*leds[1:])) self._write([0x2, 0x4c, byte2, mval, byte4] + logo + ring) def _generate_steps(self, colors, mincolors, maxcolors, mode, ringonly): colors = list(colors) if len(colors) < mincolors: raise ValueError(f'not enough colors for mode={mode}, at least {mincolors} required') elif maxcolors == 0: if len(colors) > 0: _LOGGER.warning('too many colors for mode=%s, none needed', mode) colors = [(0, 0, 0)] # discard the input but ensure at least one step elif len(colors) > maxcolors: _LOGGER.warning('too many colors for mode=%s, dropping to %d', mode, maxcolors) colors = colors[:maxcolors] # generate steps from mode and colors: usually each color set by the user generates # one step, where it is specified to all leds and the device handles the animation; # but in super mode there is a single step and each color directly controls a led if 'super' not in mode: steps = [(color,)*9 for color in colors] elif ringonly: steps = [[(0, 0, 0)] + colors] else: steps = [colors] return steps def set_speed_profile(self, channel, profile, **kwargs): """Set channel to follow a speed duty profile.""" if not self.supports_cooling_profiles: raise NotSupportedByDevice() norm = normalize_profile(profile, _CRITICAL_TEMPERATURE) # due to a firmware limitation the same set of temperatures must be # used on both channels; we reduce the number of writes by trimming the # interval and/or resolution to the most useful range stdtemps = list(range(20, 50)) + list(range(50, 60, 2)) + [60] interp = [(t, interpolate_profile(norm, t)) for t in stdtemps] cbase, dmin, dmax = _SPEED_CHANNELS[channel] for i, (temp, duty) in enumerate(interp): duty = clamp(duty, dmin, dmax) _LOGGER.info('setting %s PWM duty to %d%% for liquid temperature >= %d°C', channel, duty, temp) self._write([0x2, 0x4d, cbase + i, temp, duty]) def set_fixed_speed(self, channel, duty, **kwargs): """Set channel to a fixed speed duty.""" if not self.supports_cooling: raise NotSupportedByDevice() elif self.supports_cooling_profiles: self.set_speed_profile(channel, [(0, duty), (59, duty), (60, 100), (100, 100)]) else: self.set_instantaneous_speed(channel, duty) def set_instantaneous_speed(self, channel, duty, **kwargs): """Set channel to speed duty, but do not guarantee persistence.""" if not self.supports_cooling: raise NotSupportedByDevice() cbase, dmin, dmax = _SPEED_CHANNELS[channel] duty = clamp(duty, dmin, dmax) _LOGGER.info('setting %s PWM duty to %d%%', channel, duty) self._write([0x2, 0x4d, cbase & 0x70, 0, duty]) @property def supports_cooling_profiles(self): return self.supports_cooling and self.firmware_version[0] >= 3 @property def firmware_version(self): if self._firmware_version is None: _ = self._read(clear_first=False) return self._firmware_version def _read(self, clear_first=True): if clear_first: self.device.clear_enqueued_reports() msg = self.device.read(_READ_LENGTH) self._firmware_version = tuple(msg[0xb:0xf]) return msg def _write(self, data): padding = [0x0]*(_WRITE_LENGTH - len(data)) self.device.write(data + padding) def set_screen(self, channel, mode, value, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() # deprecated aliases KrakenTwoDriver = Kraken2 liquidctl-1.16.0/liquidctl/driver/kraken3.py000066400000000000000000001303241515166127400210010ustar00rootroot00000000000000"""liquidctl drivers for fourth-generation NZXT Kraken X liquid coolers. Supported devices: - NZXT Kraken X (X53, X63 and X73) - NZXT Kraken Z (Z53, Z63 and Z73) - NZXT Kraken 2023 - NZXT Kraken 2023 Elite Copyright Tom Frey, Jonas Malaco, Shady Nawara and contributors SPDX-License-Identifier: GPL-3.0-or-later """ # uses the psf/black style import itertools import io import math import logging import sys import time from PIL import Image, ImageSequence if sys.platform == "win32": from winusbcdc import WinUsbPy from liquidctl.driver.usb import PyUsbDevice, UsbHidDriver from liquidctl.error import NotSupportedByDevice, NotSupportedByDriver from liquidctl.util import ( LazyHexRepr, normalize_profile, interpolate_profile, clamp, Hue2Accessory, HUE2_MAX_ACCESSORIES_IN_CHANNEL, map_direction, ) _LOGGER = logging.getLogger(__name__) _READ_LENGTH = 64 _WRITE_LENGTH = 64 _MAX_READ_ATTEMPTS = 12 _LCD_TOTAL_MEMORY = 24320 _STATUS_TEMPERATURE = "Liquid temperature" _STATUS_PUMP_SPEED = "Pump speed" _STATUS_PUMP_DUTY = "Pump duty" _STATUS_FAN_SPEED = "Fan speed" _STATUS_FAN_DUTY = "Fan duty" # Available speed channels for model X coolers # name -> (channel_id, min_duty, max_duty) # TODO adjust min duty value to what the firmware enforces _SPEED_CHANNELS_KRAKENX = { "pump": ([0x1, 0x0, 0x0], 20, 100), } # Available speed channels for model Z coolers # name -> (channel_id, min_duty, max_duty) # TODO adjust min duty values to what the firmware enforces _SPEED_CHANNELS_KRAKENZ = { "pump": ([0x1, 0x0, 0x0], 20, 100), "fan": ([0x2, 0x0, 0x0], 0, 100), } _SPEED_CHANNELS_KRAKEN2023 = { "pump": ([0x1, 0x1, 0x0], 20, 100), "fan": ([0x2, 0x1, 0x1], 0, 100), } _CRITICAL_TEMPERATURE = 59 # Available color channels and IDs for model X coolers _COLOR_CHANNELS_KRAKENX = {"external": 0b001, "ring": 0b010, "logo": 0b100, "sync": 0b111} # Available color channels and IDs for model Z coolers _COLOR_CHANNELS_KRAKENZ = { "external": 0b001, } # Available color channels and IDs for model Z coolers _COLOR_CHANNELS_KRAKEN2023 = {} _HWMON_CTRL_MAPPING_KRAKENX = {"pump": 1} _HWMON_CTRL_MAPPING_KRAKENZ = {"pump": 1, "fan": 2} # Available LED channel modes/animations # name -> (mode, size/variant, speed scale, min colors, max colors) # FIXME any point in a one-color *alternating* or tai-chi animations? # FIXME are all modes really supported by all channels? (this is better because # of synchronization, but it's not how the previous generation worked, so # I would like to double check) _COLOR_MODES = { "off": (0x00, 0x00, 0, 0, 0), "fixed": (0x00, 0x00, 0, 1, 1), "fading": (0x01, 0x00, 1, 1, 8), "super-fixed": (0x01, 0x01, 9, 1, 40), "spectrum-wave": (0x02, 0x00, 2, 0, 0), "marquee-3": (0x03, 0x03, 2, 1, 1), "marquee-4": (0x03, 0x04, 2, 1, 1), "marquee-5": (0x03, 0x05, 2, 1, 1), "marquee-6": (0x03, 0x06, 2, 1, 1), "covering-marquee": (0x04, 0x00, 2, 1, 8), "alternating-3": (0x05, 0x03, 3, 1, 2), "alternating-4": (0x05, 0x04, 3, 1, 2), "alternating-5": (0x05, 0x05, 3, 1, 2), "alternating-6": (0x05, 0x06, 3, 1, 2), "moving-alternating-3": (0x05, 0x03, 4, 1, 2), "moving-alternating-4": (0x05, 0x04, 4, 1, 2), "moving-alternating-5": (0x05, 0x05, 4, 1, 2), "moving-alternating-6": (0x05, 0x06, 4, 1, 2), "pulse": (0x06, 0x00, 5, 1, 8), "breathing": (0x07, 0x00, 6, 1, 8), "super-breathing": (0x03, 0x00, 10, 1, 40), "candle": (0x08, 0x00, 0, 1, 1), "starry-night": (0x09, 0x00, 5, 1, 1), "rainbow-flow": (0x0B, 0x00, 2, 0, 0), "super-rainbow": (0x0C, 0x00, 2, 0, 0), "rainbow-pulse": (0x0D, 0x00, 2, 0, 0), "loading": (0x10, 0x00, 8, 1, 1), "tai-chi": (0x0E, 0x00, 7, 1, 2), "water-cooler": (0x0F, 0x00, 6, 2, 2), "wings": (None, 0x00, 11, 1, 1), # deprecated in favor of direction=backward "backwards-spectrum-wave": (0x02, 0x00, 2, 0, 0), "backwards-marquee-3": (0x03, 0x03, 2, 1, 1), "backwards-marquee-4": (0x03, 0x04, 2, 1, 1), "backwards-marquee-5": (0x03, 0x05, 2, 1, 1), "backwards-marquee-6": (0x03, 0x06, 2, 1, 1), "covering-backwards-marquee": (0x04, 0x00, 2, 1, 8), "backwards-moving-alternating-3": (0x05, 0x03, 4, 1, 2), "backwards-moving-alternating-4": (0x05, 0x04, 4, 1, 2), "backwards-moving-alternating-5": (0x05, 0x05, 4, 1, 2), "backwards-moving-alternating-6": (0x05, 0x06, 4, 1, 2), "backwards-rainbow-flow": (0x0B, 0x00, 2, 0, 0), "backwards-super-rainbow": (0x0C, 0x00, 2, 0, 0), "backwards-rainbow-pulse": (0x0D, 0x00, 2, 0, 0), } # A static value per channel that is somehow related to animation time and # synchronization, although the specific mechanism is not yet understood. # Could require information from `initialize`, but more testing is required. _STATIC_VALUE = { 0b001: 40, # may result in long all-off intervals (FIXME?) 0b010: 8, 0b100: 1, 0b111: 40, # may result in long all-off intervals (FIXME?) } # Speed scale/timing bytes # scale -> (slowest, slower, normal, faster, fastest) _SPEED_VALUE = { 0: ([0x32, 0x00], [0x32, 0x00], [0x32, 0x00], [0x32, 0x00], [0x32, 0x00]), 1: ([0x50, 0x00], [0x3C, 0x00], [0x28, 0x00], [0x14, 0x00], [0x0A, 0x00]), 2: ([0x5E, 0x01], [0x2C, 0x01], [0xFA, 0x00], [0x96, 0x00], [0x50, 0x00]), 3: ([0x40, 0x06], [0x14, 0x05], [0xE8, 0x03], [0x20, 0x03], [0x58, 0x02]), 4: ([0x20, 0x03], [0xBC, 0x02], [0xF4, 0x01], [0x90, 0x01], [0x2C, 0x01]), 5: ([0x19, 0x00], [0x14, 0x00], [0x0F, 0x00], [0x07, 0x00], [0x04, 0x00]), 6: ([0x28, 0x00], [0x1E, 0x00], [0x14, 0x00], [0x0A, 0x00], [0x04, 0x00]), 7: ([0x32, 0x00], [0x28, 0x00], [0x1E, 0x00], [0x14, 0x00], [0x0A, 0x00]), 8: ([0x14, 0x00], [0x14, 0x00], [0x14, 0x00], [0x14, 0x00], [0x14, 0x00]), 9: ([0x00, 0x00], [0x00, 0x00], [0x00, 0x00], [0x00, 0x00], [0x00, 0x00]), 10: ([0x37, 0x00], [0x28, 0x00], [0x19, 0x00], [0x0A, 0x00], [0x00, 0x00]), 11: ([0x6E, 0x00], [0x53, 0x00], [0x39, 0x00], [0x2E, 0x00], [0x20, 0x00]), } _ANIMATION_SPEEDS = { "slowest": 0x0, "slower": 0x1, "normal": 0x2, "faster": 0x3, "fastest": 0x4, } class KrakenX3(UsbHidDriver): """Fourth-generation Kraken X liquid cooler.""" # support for hwmon: nzxt-kraken3, liquidtux # https://github.com/liquidctl/liquidtux/blob/3b80dafead6f/nzxt-kraken3.c _MATCHES = [ ( 0x1E71, 0x2007, "NZXT Kraken X (X53, X63 or X73)", { "speed_channels": _SPEED_CHANNELS_KRAKENX, "color_channels": _COLOR_CHANNELS_KRAKENX, "hwmon_ctrl_mapping": _HWMON_CTRL_MAPPING_KRAKENX, }, ), ( 0x1E71, 0x2014, "NZXT Kraken X (X53, X63 or X73)", { "speed_channels": _SPEED_CHANNELS_KRAKENX, "color_channels": _COLOR_CHANNELS_KRAKENX, "hwmon_ctrl_mapping": _HWMON_CTRL_MAPPING_KRAKENX, }, ), ] def __init__( self, device, description, speed_channels, color_channels, hwmon_ctrl_mapping, **kwargs ): super().__init__(device, description) self._speed_channels = speed_channels self._color_channels = color_channels self._hwmon_ctrl_mapping = hwmon_ctrl_mapping self._fw = None def initialize(self, direct_access=False, **kwargs): """Initialize the device and the driver. This method should be called every time the systems boots, resumes from a suspended state, or if the device has just been (re)connected. In those scenarios, no other method, except `connect()` or `disconnect()`, should be called until the device and driver has been (re-)initialized. Returns None or a list of `(property, value, unit)` tuples, similarly to `get_status()`. """ self.device.clear_enqueued_reports() # request static infos self._write([0x10, 0x01]) # firmware info self._write([0x20, 0x03]) # lighting info # initialize if self._hwmon and not direct_access: _LOGGER.info( "bound to %s kernel driver, assuming it is already initialized", self._hwmon.driver ) else: if self._hwmon: _LOGGER.warning( "forcing re-initialization despite %s kernel driver", self._hwmon.driver ) update_interval = (lambda secs: 1 + round((secs - 0.5) / 0.25))(0.5) # see issue #128 self._write([0x70, 0x02, 0x01, 0xB8, update_interval]) self._write([0x70, 0x01]) self._status = [] self._read_until({b"\x11\x01": self.parse_firm_info, b"\x21\x03": self.parse_led_info}) self._status.append(("Firmware version", f"{self._fw[0]}.{self._fw[1]}.{self._fw[2]}", "")) return sorted(self._status) def parse_firm_info(self, msg): self._fw = (msg[0x11], msg[0x12], msg[0x13]) def parse_led_info(self, msg): channel_count = msg[14] assert channel_count == len(self._color_channels) - ( "sync" in self._color_channels ), f"Unexpected number of color channels received: {channel_count}" def find(channel, accessory): offset = 15 # offset of first channel/first accessory acc_id = msg[offset + channel * HUE2_MAX_ACCESSORIES_IN_CHANNEL + accessory] return Hue2Accessory(acc_id) if acc_id else None for i in range(HUE2_MAX_ACCESSORIES_IN_CHANNEL): accessory = find(0, i) if not accessory: break self._status.append((f"LED accessory {i + 1}", accessory, "")) if len(self._color_channels) > 1: found_ring = find(1, 0) == Hue2Accessory.KRAKENX_GEN4_RING found_logo = find(2, 0) == Hue2Accessory.KRAKENX_GEN4_LOGO self._status.append(("Pump Ring LEDs", "detected" if found_ring else "missing", "")) self._status.append(("Pump Logo LEDs", "detected" if found_logo else "missing", "")) assert found_ring and found_logo, "Pump ring and/or logo were not detected" def _get_status_directly(self): self.device.clear_enqueued_reports() msg = self._read() if msg[15:17] == [0xFF, 0xFF]: _LOGGER.warning("unexpected temperature reading, possible firmware fault;") _LOGGER.warning("try resetting the device or updating the firmware") _LOGGER.warning("(see https://github.com/liquidctl/liquidctl/issues/172)") return [ (_STATUS_TEMPERATURE, msg[15] + msg[16] / 10, "°C"), (_STATUS_PUMP_SPEED, msg[18] << 8 | msg[17], "rpm"), (_STATUS_PUMP_DUTY, msg[19], "%"), ] def _get_status_from_hwmon(self): status_readings = [ (_STATUS_TEMPERATURE, self._hwmon.read_int("temp1_input") * 1e-3, "°C"), (_STATUS_PUMP_SPEED, self._hwmon.read_int("fan1_input"), "rpm"), ] if self._hwmon.has_attribute("pwm1"): status_readings.append( (_STATUS_PUMP_DUTY, self._hwmon.read_int("pwm1") * 100.0 / 255, "%") ) else: # An older version of the kernel driver only exposed coolant temp and pump speed _LOGGER.warning("pump duty cannot be read from %s kernel driver", self._hwmon.driver) return status_readings def get_status(self, direct_access=False, **kwargs): """Get a status report. Returns a list of `(property, value, unit)` tuples. """ if self._hwmon and not direct_access: _LOGGER.info("bound to %s kernel driver, reading status from hwmon", self._hwmon.driver) return self._get_status_from_hwmon() if self._hwmon: _LOGGER.warning( "directly reading the status despite %s kernel driver", self._hwmon.driver ) return self._get_status_directly() def set_color(self, channel, mode, colors, speed="normal", direction="forward", **kwargs): """Set the color mode for a specific channel.""" if len(self._color_channels) == 0: raise NotSupportedByDevice() if "backwards" in mode: _LOGGER.warning("deprecated mode, move to direction=backward option") mode = mode.replace("backwards-", "") direction = "backward" cid = self._color_channels[channel] _, _, _, mincolors, maxcolors = _COLOR_MODES[mode] colors = [[g, r, b] for [r, g, b] in colors] if len(colors) < mincolors: raise ValueError(f"not enough colors for mode={mode}, at least {mincolors} required") elif maxcolors == 0: if colors: _LOGGER.warning("too many colors for mode=%s, none needed", mode) colors = [[0, 0, 0]] elif len(colors) > maxcolors: _LOGGER.warning("too many colors for mode=%s, dropping to %d", mode, maxcolors) colors = colors[:maxcolors] sval = _ANIMATION_SPEEDS[speed] self._write_colors(cid, mode, colors, sval, direction) def _set_speed_profile_hwmon(self, channel, interp): hwmon_ctrl_channel = self._hwmon_ctrl_mapping[channel] # Write duty curve for channel for idx, duty in enumerate(interp): pwm_duty = duty * 255 // 100 self._hwmon.write_int(f"temp{hwmon_ctrl_channel}_auto_point{idx + 1}_pwm", pwm_duty) # The device can get confused when hammered with HID reports, which can happen when # we set all curve points (done above) through the kernel driver, when the device # is in curve mode. In that case, the driver sends a report for each point value change # to update it. We send the whole curve to the device again by setting pwmX_enable to 2, # regardless of what it was, to ensure that the curve is properly applied. Wait just for # a bit to ensure that goes through time.sleep(0.2) # Set channel to curve mode self._hwmon.write_int(f"pwm{hwmon_ctrl_channel}_enable", 2) def set_speed_profile(self, channel, profile, direct_access=False, **kwargs): """Set channel to use a speed duty profile.""" cid, dmin, dmax = self._speed_channels[channel] header = [0x72] + cid norm = normalize_profile(profile, _CRITICAL_TEMPERATURE) stdtemps = list(range(20, _CRITICAL_TEMPERATURE + 1)) interp = [clamp(interpolate_profile(norm, t), dmin, dmax) for t in stdtemps] for temp, duty in zip(stdtemps, interp): _LOGGER.info( "setting %s PWM duty to %d%% for liquid temperature >= %d°C", channel, duty, temp ) if self._hwmon: hwmon_pwm_enable_name = f"pwm{self._hwmon_ctrl_mapping[channel]}_enable" # Check if the required attribute is present if self._hwmon.has_attribute(hwmon_pwm_enable_name): # It is, and if we have to use direct access, warn that we are sidestepping the kernel driver if direct_access: _LOGGER.warning( "directly writing duty curve despite %s kernel driver having support", self._hwmon.driver, ) return self._write(header + interp) _LOGGER.info( "bound to %s kernel driver, writing duty curve to hwmon", self._hwmon.driver ) return self._set_speed_profile_hwmon(channel, interp) elif not direct_access: _LOGGER.warning( "required duty curve functionality is not available in %s kernel driver, falling back to direct access", self._hwmon.driver, ) return self._write(header + interp) def _set_fixed_speed_directly(self, channel, duty): self.set_speed_profile(channel, [(0, duty), (_CRITICAL_TEMPERATURE - 1, duty)], True) def _set_fixed_speed_hwmon(self, channel, duty): hwmon_pwm_name = f"pwm{self._hwmon_ctrl_mapping[channel]}" hwmon_pwm_enable_name = f"{hwmon_pwm_name}_enable" # Convert duty from percent to PWM range (0-255) pwm_duty = duty * 255 // 100 # Write duty to hwmon self._hwmon.write_int(hwmon_pwm_name, pwm_duty) # Set channel to direct percent mode self._hwmon.write_int(hwmon_pwm_enable_name, 1) def set_fixed_speed(self, channel, duty, direct_access=False, **kwargs): """Set channel to a fixed speed duty.""" if self._hwmon: _, dmin, dmax = self._speed_channels[channel] duty = clamp(duty, dmin, dmax) hwmon_pwm_name = f"pwm{self._hwmon_ctrl_mapping[channel]}" # Check if the required attribute is present if self._hwmon.has_attribute(hwmon_pwm_name): # It is, and if we have to use direct access, warn that we are sidestepping the kernel driver if direct_access: _LOGGER.warning( "directly writing fixed speed despite %s kernel driver having support", self._hwmon.driver, ) return self._set_fixed_speed_directly(channel, duty) _LOGGER.info( "bound to %s kernel driver, writing fixed speed to hwmon", self._hwmon.driver ) return self._set_fixed_speed_hwmon(channel, duty) elif not direct_access: _LOGGER.warning( "required PWM functionality is not available in %s kernel driver, falling back to direct access", self._hwmon.driver, ) return self._set_fixed_speed_directly(channel, duty) def _read(self): data = self.device.read(_READ_LENGTH) return data def _read_until(self, parsers): for _ in range(_MAX_READ_ATTEMPTS): msg = self._read() prefix = bytes(msg[0:2]) func = parsers.pop(prefix, None) if func: func(msg) if not parsers: return assert False, f"missing messages (attempts={_MAX_READ_ATTEMPTS}, missing={len(parsers)})" def _write(self, data): padding = [0x0] * (_WRITE_LENGTH - len(data)) self.device.write(data + padding) def _write_colors(self, cid, mode, colors, sval, direction): mval, size_variant, speed_scale, mincolors, maxcolors = _COLOR_MODES[mode] color_count = len(colors) if "super-fixed" == mode or "super-breathing" == mode: color = list(itertools.chain(*colors)) + [0x00, 0x00, 0x00] * (maxcolors - color_count) speed_value = _SPEED_VALUE[speed_scale][sval] self._write([0x22, 0x10, cid, 0x00] + color) self._write([0x22, 0x11, cid, 0x00]) self._write( [0x22, 0xA0, cid, 0x00, mval] + speed_value + [0x08, 0x00, 0x00, 0x80, 0x00, 0x32, 0x00, 0x00, 0x01] ) elif mode == "wings": # wings requires special handling self._write([0x22, 0x10, cid]) # clear out all independent LEDs self._write([0x22, 0x11, cid]) # clear out all independent LEDs color_lists = {} color_lists[0] = colors[0] * 2 color_lists[1] = [int(x // 2.5) for x in color_lists[0]] color_lists[2] = [int(x // 4) for x in color_lists[1]] color_lists[3] = [0x00] * 8 speed_value = _SPEED_VALUE[speed_scale][sval] for i in range(8): # send color scheme first, before enabling wings mode mod = 0x05 if i in [3, 7] else 0x01 alt = [0x04, 0x84] if i // 4 == 0 else [0x84, 0x04] msg = ( [0x22, 0x20, cid, i, 0x04] + speed_value + [mod] + [0x00] * 7 + [0x02] + alt + [0x00] * 10 ) self._write(msg + color_lists[i % 4]) # this actually enables wings mode self._write([0x22, 0x03, cid, 0x08]) else: opcode = [0x2A, 0x04] address = [cid, cid] speed_value = _SPEED_VALUE[speed_scale][sval] header = opcode + address + [mval] + speed_value color = list(itertools.chain(*colors)) + [0, 0, 0] * (16 - color_count) if "marquee" in mode: backward_byte = 0x04 elif mode == "starry-night" or "moving-alternating" in mode: backward_byte = 0x01 else: backward_byte = 0x00 backward_byte += map_direction(direction, 0, 0x02) if mode == "fading" or mode == "pulse" or mode == "breathing": mode_related = 0x08 elif mode == "tai-chi": mode_related = 0x05 elif mode == "water-cooler": mode_related = 0x05 color_count = 0x01 elif mode == "loading": mode_related = 0x04 else: mode_related = 0x00 static_byte = _STATIC_VALUE[cid] led_size = size_variant if mval == 0x03 or mval == 0x05 else 0x03 footer = [backward_byte, color_count, mode_related, static_byte, led_size] self._write(header + color + footer) def set_screen(self, channel, mode, value, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() class KrakenZ3(KrakenX3): """Fourth-generation Kraken Z liquid cooler.""" _MATCHES = [ ( 0x1E71, 0x3008, "NZXT Kraken Z (Z53, Z63 or Z73)", { "speed_channels": _SPEED_CHANNELS_KRAKENZ, "color_channels": _COLOR_CHANNELS_KRAKENZ, "hwmon_ctrl_mapping": _HWMON_CTRL_MAPPING_KRAKENZ, "bulk_buffer_size": 512, "lcd_resolution": (320, 320), }, ), ( 0x1E71, 0x300C, "NZXT Kraken 2023 Elite (broken)", { "speed_channels": _SPEED_CHANNELS_KRAKEN2023, "color_channels": _COLOR_CHANNELS_KRAKEN2023, "hwmon_ctrl_mapping": _HWMON_CTRL_MAPPING_KRAKENZ, "bulk_buffer_size": 1024 * 1024 * 2, # 2 MB "lcd_resolution": (640, 640), }, ), ( 0x1E71, 0x300E, "NZXT Kraken 2023", { "speed_channels": _SPEED_CHANNELS_KRAKEN2023, "color_channels": _COLOR_CHANNELS_KRAKEN2023, "hwmon_ctrl_mapping": _HWMON_CTRL_MAPPING_KRAKENZ, "bulk_buffer_size": 1024 * 1024 * 2, # 2 MB "lcd_resolution": (240, 240), }, ), ( 0x1E71, 0x3012, "NZXT Kraken 2024 Elite RGB", { "speed_channels": _SPEED_CHANNELS_KRAKEN2023, "color_channels": _COLOR_CHANNELS_KRAKEN2023, "hwmon_ctrl_mapping": _HWMON_CTRL_MAPPING_KRAKENZ, "bulk_buffer_size": 1024 * 1024 * 2, # 2 MB "lcd_resolution": (640, 640), }, ), ( 0x1E71, 0x3014, "NZXT Kraken 2024 Plus", { "speed_channels": _SPEED_CHANNELS_KRAKEN2023, "color_channels": _COLOR_CHANNELS_KRAKEN2023, "hwmon_ctrl_mapping": _HWMON_CTRL_MAPPING_KRAKENZ, "bulk_buffer_size": 1024 * 1024 * 2, # 2 MB "lcd_resolution": (240, 240), }, ), ] def __init__( self, device, description, speed_channels, color_channels, bulk_buffer_size, lcd_resolution, **kwargs, ): super().__init__(device, description, speed_channels, color_channels, **kwargs) if sys.platform == "win32": self.bulk_device = WinUsbPy() found_device = self._find_winusb_device( device.vendor_id, device.product_id, self.device.serial_number ) if not found_device: self.bulk_device = None else: self.bulk_device = next( ( handle for handle in PyUsbDevice.enumerate(self.vendor_id, self.product_id) if handle.serial_number == self.device.serial_number ), None, ) if self.bulk_device: self.bulk_device.open() self.bulk_buffer_size = bulk_buffer_size self.lcd_resolution = lcd_resolution # 0 = Normal, 1 = +90 degrees, 2 = 180 degrees, 3 = -90(270) degrees self.orientation = 0 self.brightness = 50 # default 50% def _find_winusb_device(self, vid, pid, serial): winusb_devices = self.bulk_device.list_usb_devices( deviceinterface=True, present=True, findparent=True ) for device in winusb_devices: if ( device.path.find("vid_{:x}&pid_{:x}".format(vid, pid)) != -1 and device.parent and device.parent.find(serial) != -1 ): self.bulk_device.init_winusb_device_with_path(device.path) return True return False def _get_fw_version(self, clear_reports=True): if self._fw is not None: return # Already cached if clear_reports: self.device.clear_enqueued_reports() self._write([0x10, 0x01]) # firmware info self._read_until({b"\x11\x01": self.parse_firm_info}) def initialize(self, direct_access=False, **kwargs): """Initialize the device and the driver. This method should be called every time the systems boots, resumes from a suspended state, or if the device has just been (re)connected. In those scenarios, no other method, except `connect()` or `disconnect()`, should be called until the device and driver has been (re-)initialized. Returns None or a list of `(property, value, unit)` tuples, similarly to `get_status()`. """ self.device.clear_enqueued_reports() # initialize if self._hwmon and not direct_access: _LOGGER.info( "bound to %s kernel driver, assuming it is already initialized", self._hwmon.driver ) else: if self._hwmon: _LOGGER.warning( "forcing re-initialization despite %s kernel driver", self._hwmon.driver ) # see issue #128 update_interval = (lambda secs: 1 + round((secs - 0.5) / 0.25))(0.5) self._write([0x70, 0x02, 0x01, 0xB8, update_interval]) self._write([0x70, 0x01]) self._status = [] # request static infos self._get_fw_version(clear_reports=False) self._status.append(("Firmware version", f"{self._fw[0]}.{self._fw[1]}.{self._fw[2]}", "")) self._write([0x30, 0x01]) # lcd info self._read_until({b"\x31\x01": self.parse_lcd_info}) if len(self._color_channels) > 0: self._write([0x20, 0x03]) # lighting info self._read_until({b"\x21\x03": self.parse_led_info}) return sorted(self._status) def parse_lcd_info(self, msg): self.brightness = msg[0x18] self.orientation = msg[0x1A] self._status.append(("LCD Brightness", self.brightness, "%")) self._status.append(("LCD Orientation", self.orientation * 90, "°")) def _get_status_directly(self): self.device.clear_enqueued_reports() self._write([0x74, 0x01]) msg = self._read() if msg[15:17] == [0xFF, 0xFF]: _LOGGER.warning("unexpected temperature reading, possible firmware fault;") _LOGGER.warning("try resetting the device or updating the firmware") return [ (_STATUS_TEMPERATURE, msg[15] + msg[16] / 10, "°C"), (_STATUS_PUMP_SPEED, msg[18] << 8 | msg[17], "rpm"), (_STATUS_PUMP_DUTY, msg[19], "%"), (_STATUS_FAN_SPEED, msg[24] << 8 | msg[23], "rpm"), (_STATUS_FAN_DUTY, msg[25], "%"), ] def _get_status_from_hwmon(self): return [ (_STATUS_TEMPERATURE, self._hwmon.read_int("temp1_input") * 1e-3, "°C"), (_STATUS_PUMP_SPEED, self._hwmon.read_int("fan1_input"), "rpm"), (_STATUS_PUMP_DUTY, self._hwmon.read_int("pwm1") * 100.0 / 255, "%"), (_STATUS_FAN_SPEED, self._hwmon.read_int("fan2_input"), "rpm"), (_STATUS_FAN_DUTY, self._hwmon.read_int("pwm2") * 100.0 / 255, "%"), ] def _read_until_first_match(self, parsers): for _ in range(_MAX_READ_ATTEMPTS): msg = self._read() prefix = bytes(msg[0:2]) func = parsers.pop(prefix, None) if func: return func(msg) if not parsers: return assert False, f"missing messages (attempts={_MAX_READ_ATTEMPTS}, missing={len(parsers)})" def _write_then_read(self, data): self._write(data) return self._read() def _bulk_write(self, data): if sys.platform == "win32": _LOGGER.debug("writing %d bytes: %r", len(data), LazyHexRepr(data)) data = bytes(data) self.bulk_device.write(0x2, data) def set_screen(self, channel, mode, value, **kwargs): """Set the screen mode and content. Unstable. Supported channels, modes and values: | Channel | Mode | Value | | --- | --- | --- | | `lcd` | `liquid` | — | | `lcd` | `brightness` | int between `0` and `100` (%) | | `lcd` | `orientation` | `0`, `90`, `180` or `270` (°) | | `lcd` | `static` | path to image | | `lcd` | `gif` | path to animated GIF | """ assert channel.lower() == "lcd", "Invalid Channel, valid: lcd, provided: " + channel assert mode != None, "No mode specified" if mode != "liquid": assert value != None, f"Mode: {mode} needs a value" # get orientation and brightness self._write([0x30, 0x01]) def parse_lcd_info(msg): self.brightness = msg[0x18] self.orientation = msg[0x1A] def _is_2023_fw_version2(): device_product_id = self.device.product_id if device_product_id == 0x300E: self._get_fw_version() return self._fw[0] == 2 return False self._read_until({b"\x31\x01": parse_lcd_info}) if mode == "brightness": value_int = int(value) assert value_int >= 0 and value_int <= 100, "Invalid brightness value" self._write([0x30, 0x02, 0x01, value_int, 0x0, 0x0, 0x1, self.orientation]) return elif mode == "orientation": value_int = int(value) assert ( value_int == 0 or value_int == 90 or value_int == 180 or value_int == 270 ), "Invalid orientation value" self._write([0x30, 0x02, 0x01, self.brightness, 0x0, 0x0, 0x1, int(value_int / 90)]) return elif mode == "static": if _is_2023_fw_version2(): data = self._prepare_static_file_rgb16(value, self.orientation) self._send_2023_data_fw2( data, [0x06, 0x0, 0x0, 0x0] + list(len(data).to_bytes(4, "little")) ) # sending it twice is only required once after initialization # the same behaviour is observed in manufacturer at init # some soft of framebuffer swapping? self._send_2023_data_fw2( data, [0x06, 0x0, 0x0, 0x0] + list(len(data).to_bytes(4, "little")) ) else: data = self._prepare_static_file(value, self.orientation) self._send_data(data, [0x02, 0x0, 0x0, 0x0] + list(len(data).to_bytes(4, "little"))) return elif mode == "gif": if _is_2023_fw_version2(): raise NotSupportedByDriver( "gif images are not supported on firmware 2.X.Y, please see issue #631" ) data = self._prepare_gif_file(value, self.orientation) assert ( len(data) / 1000 < _LCD_TOTAL_MEMORY ), f"Max file size after resize is 24MB, selected file is {len(data) / 1000000}MB" self._send_data(data, [0x01, 0x0, 0x0, 0x0] + list(len(data).to_bytes(4, "little"))) return elif mode == "liquid": self._switch_bucket(0, 2) return # release device when finished if self.bulk_device and (mode == "static" or mode == "gif"): if sys.platform == "win32": self.bulk_device.close_winusb_device() else: self.bulk_device.release() raise TypeError("Invalid mode") def _prepare_static_file(self, path, rotation): """ path is the path to any image file Rotation is expected as 0 = no rotation, 1 = 90 degrees, 2 = 180 degrees, 3 = 270 degrees """ data = ( Image.open(path) .resize(self.lcd_resolution) .rotate(rotation * -90) .convert("RGB") .getdata() ) result = [] pixelDataIndex = 0 for pixelDataIndex in range(0, len(data)): result.append(data[pixelDataIndex][0]) result.append(data[pixelDataIndex][1]) result.append(data[pixelDataIndex][2]) result.append(0) return result def _prepare_static_file_rgb16(self, path, rotation): """ path is the path to any image file Rotation is expected as 0 = no rotation, 1 = 90 degrees, 2 = 180 degrees, 3 = 270 degrees """ data = ( Image.open(path) .resize(self.lcd_resolution) .rotate(rotation * -90) .convert("RGB") .getdata() ) result = [] pixelDataIndex = 0 for pixelDataIndex in range(0, len(data)): dr = data[pixelDataIndex][0] >> 3 dg = data[pixelDataIndex][1] >> 2 db = data[pixelDataIndex][2] >> 3 result.append((dr << 3) + (dg >> 3)) result.append(((dg & 0x7) << 5) + db) return result def _prepare_gif_file(self, path, rotation): """ path is the path of the gif file Rotation is expected as 0 = no rotation, 1 = 90 degrees, 2 = 180 degrees, 3 = 270 degrees Gifs are resized to LCD resolution and rotated to match the desired orientation result is a bytesIo stream """ img = Image.open(path) frames = ImageSequence.Iterator(img) def prepare_frames(frames): for frame in frames: resized = frame.copy().resize(self.lcd_resolution).rotate(rotation * -90) yield resized frames = prepare_frames(frames) result_img = next(frames) # Handle first frame separately result_img.info = img.info # Copy sequence info result_bytes = io.BytesIO() result_img.save( result_bytes, format="GIF", interlace=False, save_all=True, append_images=list(frames), loop=0, ) return result_bytes.getvalue() def _send_2023_data_fw2(self, data, bulkInfo): """ This method is intended for Kraken 2023 firmware version 2.X.Y sends image or gif to device data is an array of bytes to write bulk info contains info about the transfer """ self._write_then_read([0x36, 0x01, 0x00, 0x01, 0x06]) # start data transfer header = [ 0x12, 0xFA, 0x01, 0xE8, 0xAB, 0xCD, 0xEF, 0x98, 0x76, 0x54, 0x32, 0x10, ] + bulkInfo self._bulk_write(header) for i in range(0, len(data), self.bulk_buffer_size): # start sending data in chunks self._bulk_write(list(data[i : i + self.bulk_buffer_size])) self._write_then_read([0x36, 0x02]) # end data transfer def _send_data(self, data, bulkInfo): """ sends image or gif to device data is an array of bytes to write bulk info contains info about the transfer """ assert self.bulk_device, "Cannot find bulk out device" self._write_then_read([0x36, 0x03]) # unknown buckets = self._query_buckets() # query all buckets and store their response bucketIndex = self._find_next_unoccupied_bucket( buckets ) # find the first unoccupied bucket in the list bucketIndex = self._prepare_bucket( bucketIndex if bucketIndex != -1 else 0, bucketIndex == -1 ) # prepare bucket or find a more suitable one # first bulk write message contains a standard part and information about the transfer header = [ 0x12, 0xFA, 0x01, 0xE8, 0xAB, 0xCD, 0xEF, 0x98, 0x76, 0x54, 0x32, 0x10, ] + bulkInfo dataSize = math.ceil((len(header) + len(data)) / 1024) dataSizeBytes = list( # calculates the number of needed packets dataSize.to_bytes(2, "little") ) bucketMemoryStart = self._get_bucket_memory_offset( buckets, bucketIndex, dataSize ) # extracts the bucket starting address if bucketMemoryStart == -1: # cant find a good memory start self._delete_all_buckets() bucketIndex = 0 # start from byte 0 bucketMemoryStart = [0x0, 0x0] # setup bucket for transfer if not self._setup_bucket(bucketIndex, bucketIndex + 1, bucketMemoryStart, dataSizeBytes): _LOGGER.error("Failed to setup bucket for data transfer") self._write_then_read([0x36, 0x01, bucketIndex]) # start data transfer self._bulk_write(header) for i in range(0, len(data), self.bulk_buffer_size): # start sending data in chunks self._bulk_write(list(data[i : i + self.bulk_buffer_size])) self._write([0x36, 0x02]) # end data transfer # switch to newly written bucket if not self._switch_bucket(bucketIndex): _LOGGER.error("Failed to switch active bucket") def _query_buckets(self): """ Queries all 16 buckets and stores their response Response in structures as follow: - standard part (14 bytes) - unknown ---- following is all 0x0 if bucket is unoccupied - bucket index (1 byte) - asset index (1 byte) - same as bucket index + 1 - 0x2 (1 byte) - unknown - starting memory address (2 bytes) - address sometimes changes so must be read from here - memory size (2 bytes) - size sometimes changes so must be read from here - 0x1 (1 byte) - unknown - 0x0|0x1 (1 byte) - most likely used/unused but could also be something else """ buckets = {} for bI in range(16): response = self._write_then_read([0x30, 0x04, bI]) # query bucket buckets[bI] = response return buckets def _find_next_unoccupied_bucket(self, buckets): """ finds the first available unoccupied bucket buckets are unoccupied when bytes 14 onward are 0x0 returns -1 if unoccupied buckets are found """ for bucketIndex, bucketInfo in buckets.items(): if not any(bucketInfo[15:]): return bucketIndex return -1 def _get_bucket_memory_offset(self, buckets, bucketIndex, dataSize): """ returns the memory start address for the selected bucket memory offset is calculated by first checking if the bucket can already accommodate the new data, this avoids any additional calculations if uploading the same or smaller image otherwise, we check if we can expand the current bucket without overlapping the memory space of any other bucket otherwise, we set the offset after max utilized memory if there is space left on the device otherwise, we check if there is space at the beginning of the memory space finally, if all else fails then we clear the device and start over """ currentBucket = buckets[bucketIndex] currentBucketOffset = int.from_bytes([currentBucket[17], currentBucket[18]], "little") currentBucketSize = int.from_bytes([currentBucket[19], currentBucket[20]], "little") # check if we can fit content in existing bucket space if dataSize <= currentBucketSize: return [currentBucket[17], currentBucket[18]] # find max byte number minOccupiedByte = currentBucketOffset maxOccupiedByte = 0 existingBucketWithinRange = False for bI in buckets: bucket = buckets[bI] startByte = int.from_bytes([bucket[17], bucket[18]], "little") endByte = startByte + int.from_bytes([bucket[19], bucket[20]], "little") if endByte > maxOccupiedByte: maxOccupiedByte = endByte if startByte < minOccupiedByte: minOccupiedByte = startByte if ( (startByte > currentBucketOffset and startByte < currentBucketOffset + dataSize) or (startByte < currentBucketOffset and endByte > startByte) or (startByte == currentBucketOffset and bI != bucketIndex) ): existingBucketWithinRange = True # check if we can use current offset without overlapping other buckets if not existingBucketWithinRange: return [currentBucket[17], currentBucket[18]] # check if we would exceed available memory if we put data at the end if maxOccupiedByte + dataSize < _LCD_TOTAL_MEMORY: return list(maxOccupiedByte.to_bytes(2, "little")) # if the lowest used byte is more than zero and we can fit the data then start from zero if dataSize < minOccupiedByte: return [0x0, 0x0] # if all else fails return -1 to reset and start over return -1 def _prepare_bucket(self, bucketIndex, bucketFilled): """ if a bucket delete returns 0x9 then try next bucket if bucket already had data then delete it twice """ assert bucketIndex < 16, "reached max bucket" delete_response = self._delete_bucket(bucketIndex) if not delete_response: return self._prepare_bucket(bucketIndex + 1, True) else: if bucketFilled: return self._prepare_bucket(bucketIndex, False) return bucketIndex def _delete_bucket(self, bucketIndex): """ deletes bucket, returns true if successful, false otherwise """ self._write([0x32, 0x2, bucketIndex]) def parse_delete_result(msg): return msg[14] == 0x1 return self._read_until_first_match({b"\x33\x02": parse_delete_result}) def _delete_all_buckets(self): """ Switches to liquid mode then deletes all buckets """ self._switch_bucket(0, 2) # switch to liquid mode for bI in range(16): self._delete_bucket(bI) # delete bucket def _switch_bucket(self, bucketIndex, mode=0x4): """ switches active bucket, returns true if successful, false otherwise """ response = self._write_then_read([0x38, 0x1, mode, bucketIndex]) return response[14] == 0x1 def _setup_bucket(self, startBucketIndex, endBucketIndex, startingMemoryAddress, memorySize): """ sets bucket for transmission, returns true if successful, false otherwise """ response = self._write_then_read( [ 0x32, 0x1, startBucketIndex, endBucketIndex, startingMemoryAddress[0], startingMemoryAddress[1], memorySize[0], memorySize[1], 0x1, ] ) return response[14] == 0x1 liquidctl-1.16.0/liquidctl/driver/lianli_uni.py000066400000000000000000000203411515166127400215630ustar00rootroot00000000000000"""liquidctl drivers for Lian Li Uni hubs. Supported devices: - Lian Li Uni SL - Lian Li Uni SL v2 - Lian Li Uni AL - Lian Li Uni AL v2 - Lian Li Uni SL-Infinity Acknowledgements: - EightB1ts for finding IDs, PWM Commands and speed byte calculation https://github.com/EightB1ts/uni-sync Copyright BlafKing and contributors SPDX-License-Identifier: GPL-3.0-or-later """ import logging import time from enum import Enum from liquidctl.driver.usb import UsbHidDriver from liquidctl.util import clamp _LOGGER = logging.getLogger(__name__) # Minimum and maximum channel, corresponds to channels 1-4 _MIN_CHANNEL = 1 _MAX_CHANNEL = 4 # PWM commands mapped by device type _PWM_COMMANDS = { "SL": [224, 16, 49], "AL": [224, 16, 66], "SLI": [224, 16, 98], "SLV2": [224, 16, 98], "ALV2": [224, 16, 98], } _REPORT_LENGTH = 65 class ChannelMode(Enum): AUTO = "auto" FIXED = "fixed" class LianLiUni(UsbHidDriver): """Driver for Lian Li Uni fan controllers.""" _MATCHES = [ (0x0CF2, 0x7750, "Lian Li Uni SL", {"device_type": "SL"}), (0x0CF2, 0xA100, "Lian Li Uni SL", {"device_type": "SL"}), (0x0CF2, 0xA101, "Lian Li Uni AL", {"device_type": "AL"}), (0x0CF2, 0xA102, "Lian Li Uni SL-Infinity", {"device_type": "SLI"}), (0x0CF2, 0xA103, "Lian Li Uni SL V2", {"device_type": "SLV2"}), (0x0CF2, 0xA104, "Lian Li Uni AL V2", {"device_type": "ALV2"}), (0x0CF2, 0xA105, "Lian Li Uni SL V2", {"device_type": "SLV2"}), ] def __init__(self, device, description, **kwargs): """Initialize the Lian Li Uni driver.""" super().__init__(device, description, **kwargs) self.device_type = kwargs.get("device_type") assert self.device_type, f"unexpected device with PID {hex(self.device.product_id)}" self.supports_cooling = True def initialize(self, **kwargs): """Initialize the device and enable PWM synchronization on all channels.""" # Enable PWM synchronization on all channels for channel in range(_MIN_CHANNEL, _MAX_CHANNEL + 1): self.set_fan_control_mode(channel, ChannelMode.AUTO) time.sleep(0.2) # Delay to prevent race conditions return None def get_status(self, **kwargs): """Returns queried speed from controller, if nothing is returned, returns 0""" status = [] for channel in range(_MIN_CHANNEL, _MAX_CHANNEL + 1): current_speed = self._query_current_speed(channel) if current_speed is None: current_speed = 0 status.append((f"Fan {channel} speed", int(current_speed), "rpm")) return status def set_fan_control_mode(self, channel, desired_state): """Toggles or explicitly sets PWM synchronization for manual speed control. Unstable Parameters: channel: str or (unstable) int - channel name or number ([fan]1–4); desired_state: ChannelMode - set AUTO to enable Auto PWM mode, FIXED to set be able to set fixed/manual speed. """ channel = _parse_channel(channel) if desired_state is ChannelMode.AUTO: debug_string = "enabling" channel_byte = 0x11 << (channel - 1) # enables auto mode else: debug_string = "disabling" channel_byte = 0x10 << (channel - 1) # disables auto mode # Construct the command to toggle PWM synchronization command_prefix = _PWM_COMMANDS.get(self.device_type) assert command_prefix command = command_prefix + [channel_byte] _LOGGER.debug("%s PWM sync for channel %d: command %s", debug_string, channel, command) self.device.write(command) def set_fixed_speed(self, channel, duty, **kwargs): """Set a fixed speed for the specified channel. Parameters: channel: str or (unstable) int - channel name or number ([fan]1–4); duty: int - the desired speed percentage (0-100). """ channel = _parse_channel(channel) duty = clamp(duty, 0, 100) self.set_fan_control_mode(channel, ChannelMode.FIXED) speed_byte = self._calculate_speed_byte(duty) command = [224, channel + 31, 0, speed_byte] _LOGGER.info("setting fan%d PWM duty to %d%%", channel, duty) self.device.write(command) time.sleep(0.1) # Delay to prevent race conditions def _query_current_speed(self, channel): """ Query the actual fan speed from the device for a given channel by reading the controller's input report. For device types: - 'SL', 'AL', 'SLI': speed data begins at offset 1. - 'SLV2', 'ALV2': speed data begins at offset 2. Each channel's speed occupies 2 bytes and is the current RPM Parameters: channel (int): channel number (1–4). Returns: int: The fan speed value as reported by the device, or raises an Assert if the read fails. """ assert _MIN_CHANNEL <= channel <= _MAX_CHANNEL # Determine offset based on the device type. if self.device_type in ["SL", "AL", "SLI"]: offset = 1 elif self.device_type in ["SLV2", "ALV2"]: offset = 2 else: raise AssertionError(f"unsupported device type for reading speed: {self.device_type}") report = self.device.get_input_report(224, 65) # # Calculate the starting index for this channel's speed value. start_index = offset + (channel - 1) * 2 _LOGGER.debug("start_index: %s", start_index) # Extract the 2 bytes corresponding to this channel. speed_bytes = report[start_index : start_index + 2] if len(speed_bytes) < 2: raise AssertionError(f"report is too short for channel {channel}: {report}") speed_value = int.from_bytes(speed_bytes, byteorder="big") _LOGGER.debug( "channel %d: extracted bytes %s -> speed value %d", channel, speed_bytes, speed_value, ) return speed_value def _calculate_speed_byte(self, speed): """Calculate the speed byte based on the device type and desired speed. Parameters: speed: int - The desired speed percentage (0-100) Returns: int - The calculated speed byte to send to the device """ if self.device_type in ["SL", "AL"]: if speed == 0: return 40 else: speed_byte = int((800 + (11 * speed)) / 19) & 0xFF elif self.device_type == "SLI": if speed == 0: return 10 else: speed_byte = int((250 + (17.5 * speed)) / 20) & 0xFF elif self.device_type in ["SLV2", "ALV2"]: if speed == 0: return 7 else: speed_byte = int((200 + (19 * speed)) / 21) & 0xFF else: raise AssertionError(f"unsupported device type: {self.device_type}") return speed_byte def _parse_channel(name_or_number): """Parse a channel name-or-number spec into a channel number. Note that passing channel numbers to the public driver APIs is an unstable feature, that may very well be removed. >>> _parse_channel("fan1") 1 >>> _parse_channel(1) 1 >>> _parse_channel("1") Traceback (most recent call last): ... ValueError: invalid channel '1', available channels are 'fan1'...'fan4' >>> _parse_channel("fan5") Traceback (most recent call last): ... ValueError: invalid channel 'fan5', available channels are 'fan1'...'fan4' >>> _parse_channel(5) Traceback (most recent call last): ... ValueError: invalid channel 5, available channels are 'fan1'...'fan4' """ channel = None if isinstance(name_or_number, str) and name_or_number.startswith("fan"): channel = int(name_or_number.removeprefix("fan")) elif isinstance(name_or_number, int): channel = name_or_number if channel is None or not (_MIN_CHANNEL <= channel <= _MAX_CHANNEL): raise ValueError( f"invalid channel {name_or_number!r}, " f"available channels are 'fan{_MIN_CHANNEL}'...'fan{_MAX_CHANNEL}'" ) return channel liquidctl-1.16.0/liquidctl/driver/msi.py000066400000000000000000001364451515166127400202450ustar00rootroot00000000000000"""liquidctl drivers for MSI liquid coolers. Supported devices: - MPG Coreliquid K360 Copyright (C) 2021 Andrew Udvare, Aapo Kössi and contributors SPDX-License-Identifier: GPL-3.0-or-later """ # uses the psf/black style from collections import namedtuple from collections.abc import Sequence from copy import copy from enum import Enum, unique from time import sleep import logging import io from PIL import Image from liquidctl.driver.usb import UsbHidDriver from liquidctl.keyval import RuntimeStorage from liquidctl.util import RelaxedNamesEnum, check_unsafe, clamp, u16le_from _LOGGER = logging.getLogger(__name__) EXTRA_USAGE_PAGE = 0x0001 _MAX_DATA_LENGTH = 185 _PER_LED_LENGTH = 720 _REPORT_LENGTH = 64 _MAX_DUTIES = 7 _RAD_FAN_COUNT = 3 _CYCLE_NUMBER_STRIPE_TYPE_MAPPING = {0: 41, 1: 52, 2: 63, 3: 20, 4: 30} # fmt: off _DEFAULT_FEATURE_DATA = [ 82, 1, 255, 0, 0, 40, 0, 255, 0, 128, 0, 1, 255, 0, 0, 40, 0, 255, 0, 128, 0, 1, 255, 0, 0, 40, 0, 255, 0, 128, 0, 1, 255, 0, 0, 40, 0, 255, 0, 128, 0, 20, 1, 255, 0, 0, 40, 0, 255, 0, 128, 0, 20, 1, 255, 0, 0, 40, 0, 255, 0, 130, 76, 10, 1, 255, 0, 0, 40, 0, 255, 0, 128, 0, 26, 255, 0, 0, 168, 0, 255, 0, 191, 0, 32, 255, 0, 0, 40, 0, 255, 0, 128, 0, 32, 255, 0, 0, 40, 0, 255, 0, 128, 0, 32, 255, 0, 0, 40, 0, 255, 0, 128, 0, 32, 255, 0, 0, 40, 0, 255, 0, 128, 0, 32, 255, 0, 0, 40, 0, 255, 0, 128, 0, 32, 255, 0, 0, 40, 0, 255, 0, 128, 0, 32, 255, 0, 0, 40, 0, 255, 0, 128, 0, 32, 255, 0, 0, 40, 0, 255, 0, 128, 0, 32, 255, 0, 0, 40, 0, 255, 0, 128, 0, 32, 255, 0, 0, 40, 0, 255, 0, 128, 0, 0 ] # fmt: on _DeviceSettings = namedtuple( "DeviceSettings", [ "stripe_or_fan", "fan_type", "corsair_device_quantity", "ll120_outer_individual", "led_num_jrainbow1", "led_num_jrainbow2", "led_num_jcorsair", ], ) _BoardSyncSettings = namedtuple( "BoardSyncSettings", [ "onboard_sync", "combine_jrgb", "combine_jpipe1", "combine_jpipe2", "combine_jrainbow1", "combine_jrainbow2", "combine_jcorsair", ], ) _StyleSettings = namedtuple( "StyleSettings", ["lighting_mode", "speed", "brightness", "color_selection"] ) _ColorSettings = namedtuple("ColorSettings", ["color1", "color2"]) _FanConfig = namedtuple( "FanConfig", ["mode", "duty0", "duty1", "duty2", "duty3", "duty4", "duty5", "duty6"] ) _FanTempConfig = namedtuple( "FanTempConfig", ["mode", "temp0", "temp1", "temp2", "temp3", "temp4", "temp5", "temp6"] ) @unique class _OLEDHardwareMonitorOffset(Enum): CPU_FREQ = 0 CPU_TEMP = 1 GPU_MEMORY_FREQ = 2 GPU_USAGE = 3 FAN_PUMP = 4 FAN_RADIATOR = 5 FAN_CPUMOS = 6 MAXIMUM = 7 @unique class _FanMode(RelaxedNamesEnum): SILENT = 0 BALANCE = 1 GAME = 2 CUSTOMIZE = 3 DEFAULT = 4 SMART = 5 @classmethod def _missing_(cls, value): _LOGGER.debug("falling back to BALANCE for _FanMode(%s)", value) return _FanMode.BALANCE @unique class _StripeOrFan(Enum): STRIPE = 0 FAN = 1 @unique class _FanType(Enum): SP = 0 HD = 1 LL = 2 class _LEDArea(Enum): JCORSAIR = 53 JCORSAIR_OUTER_LL120 = 0x40 JPIPE1 = 11 JPIPE2 = 21 JRAINBOW1 = 0x1F JRAINBOW2 = 42 JRGB1 = 1 JRGB2 = 174 ONBOARD_LED_0 = 74 ONBOARD_LED_1 = 84 ONBOARD_LED_10 = 174 ONBOARD_LED_2 = 94 ONBOARD_LED_3 = 104 ONBOARD_LED_4 = 114 ONBOARD_LED_5 = 124 ONBOARD_LED_6 = 134 ONBOARD_LED_7 = 144 ONBOARD_LED_8 = 154 ONBOARD_LED_9 = 164 _CYCLE_NUMBER_LED_AREA_MAPPING = { _LEDArea.JPIPE1.value: 20, _LEDArea.JPIPE2.value: 30, _LEDArea.JRAINBOW1.value: 41, _LEDArea.JRAINBOW2.value: 52, _LEDArea.JCORSAIR.value: 63, } @unique class _LightingMode(RelaxedNamesEnum): BLINK = 19 BREATHING = 2 CLOCK = 20 COLOR_PULSE = 21 COLOR_RING = 15 COLOR_RING_DOUBLE_FLASHING = 35 COLOR_RING_FLASHING = 34 COLOR_SHIFT = 22 COLOR_WAVE = 23 CORSAIR_IQUE = 37 DISABLE = 0 DISABLE2 = 33 DOUBLE_FLASHING = 4 DOUBLE_METEOR = 17 ENERGY = 18 FAN_CONTROL = 32 FIRE = 38 FLASHING = 3 JAZZ = 12 JRAINBOW = 28 LAVA = 39 LIGHTNING = 5 MARQUEE = 24 METEOR = 7 MOVIE = 14 MSI_MARQUEE = 6 MSI_RAINBOW = 9 NO_ANIMATION = 1 PLANETARY = 16 PLAY = 13 POP = 10 RAINBOW = 25 RAINBOW_DOUBLE_FLASHING = 30 RAINBOW_FLASHING = 29 RAINBOW_WAVE = 26 RANDOM = 31 RAP = 11 STACK = 36 VISOR = 27 WATER_DROP = 8 END = 40 @unique class _Speed(RelaxedNamesEnum): LOW = 0 MEDIUM = 1 HIGH = 2 @unique class _ColorSelection(Enum): RAINBOW_COLOR = 0 USER_DEFINED = 1 @unique class _JType(Enum): JRAINBOW = 3 JCORSAIR = 4 JONBOARD = 5 @unique class _UploadType(Enum): BANNER = 0 GIF = 1 @unique class _ScreenMode(Enum): HARDWARE = 0 IMAGE = 1 BANNER = 3 CLOCK = 4 SETTINGS = 5 DISABLED = 6 class MpgCooler(UsbHidDriver): _COLOR_MODES = { "blink": _LightingMode.BLINK, "breathing": _LightingMode.BREATHING, "clock": _LightingMode.CLOCK, "color pulse": _LightingMode.COLOR_PULSE, "color ring": _LightingMode.COLOR_RING, "color ring double flashing": _LightingMode.COLOR_RING_DOUBLE_FLASHING, "color ring flashing": _LightingMode.COLOR_RING_FLASHING, "color shift": _LightingMode.COLOR_SHIFT, "color wave": _LightingMode.COLOR_WAVE, "corsair ique": _LightingMode.CORSAIR_IQUE, "disable": _LightingMode.DISABLE, "disable2": _LightingMode.DISABLE2, "double flashing": _LightingMode.DOUBLE_FLASHING, "double meteor": _LightingMode.DOUBLE_METEOR, "energy": _LightingMode.ENERGY, "fan control": _LightingMode.FAN_CONTROL, "fire": _LightingMode.FIRE, "flashing": _LightingMode.FLASHING, "jazz": _LightingMode.JAZZ, "jrainbow": _LightingMode.JRAINBOW, "lava": _LightingMode.LAVA, "lightning": _LightingMode.LIGHTNING, "marquee": _LightingMode.MARQUEE, "meteor": _LightingMode.METEOR, "movie": _LightingMode.MOVIE, "msi marquee": _LightingMode.MSI_MARQUEE, "msi rainbow": _LightingMode.MSI_RAINBOW, "steady": _LightingMode.NO_ANIMATION, "planetary": _LightingMode.PLANETARY, "play": _LightingMode.PLAY, "pop": _LightingMode.POP, "rainbow": _LightingMode.RAINBOW, "rainbow double flashing": _LightingMode.RAINBOW_DOUBLE_FLASHING, "rainbow flashing": _LightingMode.RAINBOW_FLASHING, "rainbow wave": _LightingMode.RAINBOW_WAVE, "random": _LightingMode.RANDOM, "rap": _LightingMode.RAP, "stack": _LightingMode.STACK, "visor": _LightingMode.VISOR, "water drop": _LightingMode.WATER_DROP, "end": _LightingMode.END, } BUILTIN_MODES = { "silent": _FanMode.SILENT.value, "balanced": _FanMode.BALANCE.value, "game": _FanMode.GAME.value, "default": _FanMode.DEFAULT.value, "smart": _FanMode.SMART.value, } SCREEN_MODES = { "hardware": _ScreenMode.HARDWARE, "image": _ScreenMode.IMAGE, "banner": _ScreenMode.BANNER, "clock": _ScreenMode.CLOCK, "settings": _ScreenMode.SETTINGS, "disable": _ScreenMode.DISABLED, } HWMONITORDISPLAY = { "cpu_freq": _OLEDHardwareMonitorOffset.CPU_FREQ, "cpu_temp": _OLEDHardwareMonitorOffset.CPU_TEMP, "gpu_freq": _OLEDHardwareMonitorOffset.GPU_MEMORY_FREQ, "gpu_usage": _OLEDHardwareMonitorOffset.GPU_USAGE, "fan_pump": _OLEDHardwareMonitorOffset.FAN_PUMP, "fan_radiator": _OLEDHardwareMonitorOffset.FAN_RADIATOR, "fan_cpumos": _OLEDHardwareMonitorOffset.FAN_CPUMOS, } _MATCHES = [ ( 0x0DB0, 0xB130, "MSI MPG Coreliquid K360", {"fan_count": 5}, ), ( 0x0DB0, 0xCA00, "Suspected MSI MPG Coreliquid", {"_unsafe": ["experimental_coreliquid_cooler"]}, ), ( 0x0DB0, 0xCA02, "Suspected MSI MPG Coreliquid", {"_unsafe": ["experimental_coreliquid_cooler"]}, ), ] HAS_AUTOCONTROL = True def __init__(self, device, description, _unsafe=[], **kwargs): super().__init__(device, description, **kwargs) self._UNSAFE = _unsafe self._feature_data_per_led = bytearray(_PER_LED_LENGTH + 5) self._bytearray_oled_hardware_monitor_data = bytearray(_REPORT_LENGTH) self._per_led_rgb_jonboard = bytearray(_PER_LED_LENGTH) self._per_led_rgb_jrainbow1 = bytearray(_PER_LED_LENGTH) self._per_led_rgb_jrainbow2 = bytearray(_PER_LED_LENGTH) self._per_led_rgb_jcorsair = bytearray(_PER_LED_LENGTH) self._fan_count = kwargs.pop("fan_count", 5) # the following fields are only initialized in connect() self._data = None self._feature_data = None @classmethod def probe(cls, handle, **kwargs): """Probe `handle` and yield corresponding driver instances. These devices have multiple top-level HID usages, and HidapiDevice handles matching other usages have to be ignored. """ # if usage_page/usage are not available due to hidapi limitations # (version, platform or backend), they are unfortunately left # uninitialized; because of this, we explicitly exclude the undesired # usage_page, and assume in all other cases that we either # have the desired usage page, or that on that system a # single handle is returned for that device interface (see: #259) if handle.hidinfo["usage_page"] == EXTRA_USAGE_PAGE: return yield from super().probe(handle, **kwargs) def connect(self, **kwargs): check_unsafe(*self._UNSAFE, error=True, **kwargs) ret = super().connect(**kwargs) self._data = kwargs.pop( "runtime_storage", RuntimeStorage( key_prefixes=[ f"vid{self.vendor_id:04x}_pid{self.product_id:04x}", f"serial{self.serial_number}", ] ), ) self._feature_data = self.device.get_feature_report(0x52, _MAX_DATA_LENGTH) self._fan_cfg = self.get_fan_config() self._fan_temp_cfg = self.get_fan_temp_config() aprom_hi, aprom_lo = self.get_firmware_version_aprom() self._aprom_firmware_version = aprom_hi << 4 + aprom_lo ldrom_hi, ldrom_lo = self.get_firmware_version_ldrom() self._ldrom_firmware_version = ldrom_hi << 4 + ldrom_lo self._oled_firmware_version = self.get_oled_firmware_version() return ret def initialize(self, **kwargs): check_unsafe(*self._UNSAFE, error=True, **kwargs) pump_mode = kwargs.pop("pump_mode", "balanced") direction = kwargs.pop("direction", "default") if pump_mode == "balanced": pump_mode = "balance" pump_mode_int = _FanMode[pump_mode].value self._data.store("pump_mode", pump_mode_int) dir_int = 0 if direction not in ("default", "top", "bottom", "left", "right", "0", "1", "2", "3"): _LOGGER.warning( "unknown direction value: correct values are 0-3 or top, " "bottom, left, right, default." ) if direction in ("1", "left"): dir_int = 1 elif direction in ("2", "bottom"): dir_int = 2 elif direction in ("3", "right"): dir_int = 3 self._data.store("direction", dir_int) self.set_oled_brightness_and_direction(100, dir_int) if pump_mode_int == _FanMode.GAME.value: self.switch_to_game_mode() elif pump_mode_int == _FanMode.BALANCE.value: self.switch_to_balance_mode() elif pump_mode_int == _FanMode.DEFAULT.value: self.switch_to_default_mode() elif pump_mode_int == _FanMode.SILENT.value: self.switch_to_silent_mode() elif pump_mode_int == _FanMode.SMART.value: self.switch_to_smart_mode() return [ ("Display firmware version", self._oled_firmware_version, ""), ("APROM firmware version", self._aprom_firmware_version, ""), ("LDROM firmware version", self._ldrom_firmware_version, ""), ("Serial number", self.serial_number, ""), ("Pump mode", pump_mode, ""), ] def get_status(self, **kwargs): if not check_unsafe(*self._UNSAFE, **kwargs): _LOGGER.warning( f"{self.description}: disabled, requires unsafe features " f"'{','.join(self._UNSAFE)}'" ) return [] self._write((0x31,)) array = self._read() assert array[1] == 0x31, "Unexpected value in response buffer" return [ ("Fan 1 speed", u16le_from(array, offset=2), "rpm"), ("Fan 1 duty", u16le_from(array, offset=0x16), "%"), ("Fan 2 speed", u16le_from(array, offset=4), "rpm"), ("Fan 2 duty", u16le_from(array, offset=0x18), "%"), ("Fan 3 speed", u16le_from(array, offset=6), "rpm"), ("Fan 3 duty", u16le_from(array, offset=0x1A), "%"), ("Water block speed", u16le_from(array, offset=8), "rpm"), ("Water block duty", u16le_from(array, offset=0x1C), "%"), ("Pump speed", u16le_from(array, offset=0xA), "rpm"), ("Pump duty", u16le_from(array, offset=0x1E), "%"), # Temperature values are not used by the K360 model, it only reports # some default values that are not meaningful for the user. # https://github.com/liquidctl/liquidctl/pull/564#discussion_r1450753883 # ('Temperature inlet', u16le_from(array, offset=12), '°C'), # ('Temperature outlet', u16le_from(array, offset=14), '°C'), # ('Temperature sensor 1', u16le_from(array, offset=16), '°C'), # ('Temperature sensor 2', u16le_from(array, offset=18), '°C'), ] def set_time(self, time, **kwargs): check_unsafe(*self._UNSAFE, error=True, **kwargs) return self.set_oled_clock(time) def set_hardware_status(self, T, cpu_f=0, gpu_f=0, gpu_U=0, **kwargs): check_unsafe(*self._UNSAFE, error=True, **kwargs) self.set_oled_show_cpu_status(cpu_f, T) self.set_oled_gpu_status(gpu_f, gpu_U) def get_fan_config(self): self._write((0x32,)) buf = self._read() assert buf[1] == 0x32, "Unexpected value in returned list" ret = [] for mode_index in (2, 10, 18, 26, 34): ret.append(_FanConfig(*buf[mode_index : mode_index + 8])) return ret def set_fan_config(self, configs): buf = bytearray(_REPORT_LENGTH - 1) buf[0] = 0x40 for config, offset in zip(configs, (1, 9, 17, 25, 33)): buf[offset] = config.mode buf[offset + 1] = config.duty0 buf[offset + 2] = config.duty1 buf[offset + 3] = config.duty2 buf[offset + 4] = config.duty3 buf[offset + 5] = config.duty4 buf[offset + 6] = config.duty5 buf[offset + 7] = config.duty6 return self._write(buf) def get_fan_temp_config(self): self._write((0x33,)) buf = self._read() assert buf[1] == 0x32, "Unexpected value in returned list" ret = [] for mode_index in (2, 10, 18, 26, 34): ret.append(_FanTempConfig(*buf[mode_index : mode_index + 8])) return ret def set_fan_temp_config(self, configs): buf = bytearray(_REPORT_LENGTH) buf[0] = 0x41 for config, offset in zip(configs, (1, 9, 17, 25, 33)): buf[offset] = config.mode buf[offset + 1] = config.temp0 buf[offset + 2] = config.temp1 buf[offset + 3] = config.temp2 buf[offset + 4] = config.temp3 buf[offset + 5] = config.temp4 buf[offset + 6] = config.temp5 buf[offset + 7] = config.temp6 return self._write(buf) def _send_safe_temp(self): _LOGGER.info( "duty profiles on this device require continuous communication, " "setting initial control temperature to 100C for safety." ) self.set_oled_show_cpu_status(0, 100) def set_profiles(self, channels, profiles, **kwargs): """ Set custom or device preset fan curve for multiple channels. NOTE: The device will not keep updating its duty cycles automatically after this function is called. The device manages duties according to the previous temperature sent to it via device.set_oled_show_cpu_status() """ check_unsafe(*self._UNSAFE, error=True, **kwargs) fan_cfg = self.get_fan_config() fan_temp_cfg = self.get_fan_temp_config() channel_idx = [self.parse_channel(ch) for ch in channels] for idx, prof in zip(channel_idx, profiles): if type(prof) == str: fanmode = _FanConfig(self.BUILTIN_MODES[prof], 0, 0, 0, 0, 0, 0, 0) tempmode = _FanTempConfig(self.BUILTIN_MODES[prof], 0, 0, 0, 0, 0, 0, 0) else: duties, temps = map(self.clamp_and_pad, zip(*prof)) fanmode = _FanConfig(_FanMode.CUSTOMIZE.value, *duties) tempmode = _FanTempConfig(_FanMode.CUSTOMIZE.value, *temps) for i in idx: fan_cfg[i] = fanmode fan_temp_cfg[i] = tempmode self._fan_cfg = fan_cfg self._fan_temp_cfg = fan_temp_cfg self.set_fan_config(fan_cfg) self.set_fan_temp_config(fan_temp_cfg) self._send_safe_temp() def parse_channel(self, channel): if channel == "pump": return [4] elif channel == "fans": return range(_RAD_FAN_COUNT) elif channel == "waterblock-fan": return [3] elif channel[:3] == "fan" and (int(channel[3:]) in range(_RAD_FAN_COUNT)): return [int(channel[3:])] else: raise ValueError( 'unknown channel, should be "fans", "fan1", "fan2", "fan3", "waterblock-fan" or "pump".' ) @staticmethod def clamp_and_pad(values): return ([clamp(v, 0, 100) for v in values] + [0] * _MAX_DUTIES)[:_MAX_DUTIES] def set_speed_profile(self, channel, profile, **kwargs): """ Set custom fan curve for a given channel. NOTE: The device will not keep updating its duty cycles automatically after this function is called. The device manages duties according to the previous temperature sent to it via device.set_oled_show_cpu_status() """ check_unsafe(*self._UNSAFE, error=True, **kwargs) duties_temps = list(zip(*profile)) duties, temps = tuple(self.clamp_and_pad(v) for v in duties_temps) for i in self.parse_channel(channel): self._fan_cfg[i] = _FanConfig(_FanMode.CUSTOMIZE.value, *duties) self._fan_temp_cfg[i] = _FanTempConfig(_FanMode.CUSTOMIZE.value, *temps) self.set_fan_config(self._fan_cfg) self.set_fan_temp_config(self._fan_temp_cfg) self._send_safe_temp() def set_fixed_speed(self, channel, duty, **kwargs): channel_nums = self.parse_channel(channel) check_unsafe(*self._UNSAFE, error=True, **kwargs) for i in channel_nums: self._fan_cfg[i] = _FanConfig(_FanMode.CUSTOMIZE.value, *([duty] * _MAX_DUTIES)) self._fan_temp_cfg[i] = _FanTempConfig(_FanMode.CUSTOMIZE.value, 0, 0, 0, 0, 0, 0, 0) self.set_fan_config(self._fan_cfg) self.set_fan_temp_config(self._fan_temp_cfg) def set_color(self, channel, mode, colors, speed=1, brightness=10, color_selection=1, **kwargs): check_unsafe(*self._UNSAFE, error=True, **kwargs) assert channel == "sync", f'Unexpected lighting channel {channel}. Supported: "sync"' colors = list(colors) if not colors: color_selection = 0 else: if len(colors) == 1: colors.append((0, 0, 0)) self.set_color_setting(_LEDArea.JRAINBOW1.value, *colors[0], *colors[1]) mode = self._COLOR_MODES[mode].value self.set_style_setting( _LEDArea.JRAINBOW1.value, mode, int(speed), brightness, color_selection ) self.set_send_led_setting(1) def get_current_model_index(self): self._write((0xB1,), 0xCC, prefix=1) return self._read()[2] def set_screen(self, channel, mode, value, **kwargs): check_unsafe(*self._UNSAFE, error=True, **kwargs) assert channel.lower() == "lcd" try: mode = self.SCREEN_MODES[mode] except KeyError as e: raise Exception( f"Unknown screen mode! Should be one of: {self.SCREEN_MODES.keys()}" ) from e if value is not None: opts = value.split(";") if mode == _ScreenMode.HARDWARE: # hardware monitor options are a list of the values to display # (case-insensitive keys to MPGCooler.HWMONITORDISPLAY) self.set_oled_show_hardware_monitor(opts) if mode == _ScreenMode.IMAGE: # image options are: image-type, image-index[, image-file] if len(opts) == 3: self.set_oled_upload_gif(opts) elif len(opts) == 2: self.set_oled_show_profile(opts) else: raise ValueError( f"Unexpected options for LCD image. Expected either:" '"image-type;image-slot" or ' '"image-type;image-slot;image-file", ' "instead got: {opts}" ) elif mode == _ScreenMode.BANNER: # banner options are: banner-type, banner-index, message[, image-file] if (len(opts) == 3) or (len(opts) == 4): if len(opts) == 4: save_slot = int(opts[1]) assert save_slot >= 4, ( "Cannot overwrite preset banner images, " "please use save slots starting from 4 for your uploaded files" ) img = self._prepare_bmp(opts[3]) self.set_oled_upload_banner(img, banner_no=save_slot) self.set_oled_user_message(opts[2]) self.set_oled_show_banner(banner_type=int(opts[0]), bmp_no=int(opts[1])) else: raise ValueError( f"Unexpected options for LCD banner. Expected either:" '"banner-type;save-slot;message" or ' '"banner-type;save-slot;message;image-file", ' "instead got: {opts}" ) elif mode == _ScreenMode.CLOCK: # clock option is the display style self.set_oled_show_clock(int(opts[0])) elif mode == _ScreenMode.SETTINGS: # setting options are: brightness, direction brightness, direction = [int(x) for x in opts] self.set_oled_brightness_and_direction(brightness=brightness, direction=direction) elif mode == _ScreenMode.DISABLED: # switches off the display self.set_oled_show_disable() def _prepare_bmp(self, path): end_w, end_h = 240, 320 img = Image.open(path) w, h = img.size wrat = end_w / w hrat = end_h / h ratio = wrat if wrat > hrat else hrat img = img.resize((int(ratio * w), int(ratio * h))) w, h = img.size x_start = int((w - end_w) / 2) y_start = int((h - end_h) / 2) img = img.crop((x_start, y_start, x_start + end_w, y_start + end_h)) img = img.convert("RGB") img_bytes = io.BytesIO() img.save(img_bytes, format="BMP") return img_bytes def get_firmware_version_aprom(self): self._write((0xB0,), 0xCC, prefix=1) ret = self._read() return ( ret[2] >> 4, # high ret[2] & 0xF, # low ) def get_firmware_version_ldrom(self): self._write((0xB6,), 0xCC, prefix=1) ret = self._read() return ( ret[2] >> 4, # high ret[2] & 0xF, # low ) def get_firmware_checksum_aprom(self): self._write((0xB0,), 0xCC, prefix=1) ret = self._read() return ( ret[8], # high ret[9], # low ) def get_firmware_checksum_ldrom(self): self._write((0xB4,), 0xCC, prefix=1) ret = self._read() return ( ret[8], # high ret[9], # low ) def get_all_hardware_monitor(self): self.device.clear_enqueued_reports() return self.device.get_feature_report(0xD0, _REPORT_LENGTH) def set_buzzer(self, type, frequency=650): return self._write( (0xC2, 0, 0, 0, 0, 0, type, frequency & 0xFF, (frequency >> 8) & 0xFF), prefix=1 ) def set_led_global(self, on_off): return self._write((0xBB, 0, 0, 0, 0, int(on_off)), prefix=1) def get_led_global(self): self._write((0xBA,), 0xCC, prefix=1) ret = self._read() ok = len(ret) == _REPORT_LENGTH for j, _ in enumerate(ret): if ( (j == 0 and ret[j] != 1) or (j == 1 and ret[j] != 90) or (j == 6 and ret[j] not in (0, 1)) ): ok = False elif ret[j] != 0xCC: ok = False return ok and ret[6] == 1 def get_led_pe0(self): self._write((0xA0, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 1, 0xF2), 0xCC, prefix=0xFA) ret = self._read() ok = True if ( ret[0] != 250 or ret[1] != 160 or ret[2] != 205 or ret[9] != 1 or ret[10] != 242 or ret[11] not in (0, 1) ): ok = 0 for j, n in enumerate(ret, start=23): if j > 29: break if n != 0: ok = False for j, n in enumerate(ret, start=30): if n != 0xCC: ok = False return ok and ret[11] == 1 def get_device_settings(self): return _DeviceSettings( self._feature_data[61] & 1, (self._feature_data[61] & 0xE) >> 1, (self._feature_data[62] & 0xFC) >> 2, self._feature_data[72] & 1, self._feature_data[41], self._feature_data[52], self._feature_data[63], ) def get_board_sync_settings(self): return _BoardSyncSettings( (self._feature_data[82] & 1) == 1, (self._feature_data[78] & 0x80) >> 7 == 1, ((self._feature_data[82] >> 4) & 1) == 1, ((self._feature_data[82] >> 5) & 1) == 1, ((self._feature_data[82] >> 1) & 1) == 1, ((self._feature_data[82] >> 2) & 1) == 1, ((self._feature_data[82] >> 3) & 1) == 1, ) def get_style_settings(self, led_area): return _StyleSettings( self._feature_data[led_area], (self._feature_data[led_area + 4] & 3), (self._feature_data[led_area + 4] >> 2) & 0x1F, ((self._feature_data[led_area + 8] & 0x80) >> 7), ) def get_color_settings(self, led_area): return _ColorSettings( self._feature_data[led_area + 1 : led_area + 4], self._feature_data[led_area + 5 : led_area + 8], ) def get_current_led_setting(self): self._feature_data = self.device.get_feature_report(self._feature_data[0], _MAX_DATA_LENGTH) self._feature_data[62] = clamp(self._feature_data[62] - 4, 0, 255) return self._feature_data def get_all_board(self): return self.device.get_feature_report(0x52, _MAX_DATA_LENGTH) def get_oled_firmware_version(self): self._write((0xF1,)) return self._read()[2] def get_oled_gif_checksum(self): self._write((0xC2,)) ret = self._read() return ( ret[3], # high ret[2], # low ) def get_oled_banner_checksum(self): self._write((0xD2,)) buf = self._read() return ( buf[3], # high buf[2], # low ) def get_oled_m481checksum(self): self._write((0xF1,)) ret = self._read() return ( ret[3], # high ret[2], # low ) def set_volume(self, main, left, right): return self._write( (0xC0, clamp(main, 0, 100), clamp(left, 0, 100), clamp(right, 0, 100)), 0xCC, prefix=1 ) def set_oled_cpu_message(self, message): return self._write([0x90] + list(message[:60].encode("ascii", "ignore"))) def set_oled_show_hardware_monitor(self, opts, radiator_fan_smart_mode_on_off=True): """ Command device to display hardware information on the built in display. Parameters ---------- opts: Array[str] Indicates which hardware features will be presented on the screen, from CPU_FREQ, CPU_TEMP, GPU_MEMORY_FREQ, GPU_USAGE, FAN_PUMP, FAN_RADIATOR, FAN_CPUMOS radiator_fan_smart_mode_on_off: Bool Indicates whether smart control is enabled, this slightly alters the visualization """ show_idx = [self.HWMONITORDISPLAY[x.lower()].value for x in opts] show_area = [i in show_idx for i in range(_OLEDHardwareMonitorOffset.MAXIMUM.value + 1)] if len(show_area) < 7: return False buf = bytearray(_REPORT_LENGTH) buf[0] = 0xD0 buf[1] = 0x71 for item in iter(_OLEDHardwareMonitorOffset): if item.value != _OLEDHardwareMonitorOffset.MAXIMUM and show_area[item.value]: buf[item.value + 2] = 1 if show_area[5]: buf[9] = 3 if radiator_fan_smart_mode_on_off else 1 return self._write(buf[1:]) def set_return_to_default(self): """--reset-all""" self._feature_data = copy(_DEFAULT_FEATURE_DATA) self._feature_data[184] = 1 return self._set_all_board(self._feature_data) def _set_all_board(self, data): if data[41] > 200: data[41] = 100 if data[52] > 240: data[52] = 100 b = (data[62] & 0xFC) >> 2 if ((b + 1) * data[63]) > 240: b = 5 data[62] = b << 2 data[63] = 12 if len(data) < 185 or data[0] != 82: return False return bool(self.device.send_feature_report(data)) def set_cycle_number(self, stripe_type, cycle_num): """Cycle number should NOT be clamped.""" if stripe_type in _CYCLE_NUMBER_STRIPE_TYPE_MAPPING: self._feature_data[_CYCLE_NUMBER_STRIPE_TYPE_MAPPING[stripe_type]] = cycle_num def set_cycle_number_by_led_area(self, led_area, cycle_num): if led_area in _CYCLE_NUMBER_LED_AREA_MAPPING: self._feature_data[_CYCLE_NUMBER_LED_AREA_MAPPING[led_area]] = cycle_num def set_device_setting( self, stripe_or_fan, fan_type, corsair_device_qty, ll120_outer_individual ): corsair_device_qty = clamp(corsair_device_qty, 0, 63) ll120_outer_individual = clamp(int(ll120_outer_individual), 0, 1) self._feature_data[61] = (self._feature_data[61] & 0x80) | (fan_type << 1) | stripe_or_fan self._feature_data[62] = corsair_device_qty << 2 self._feature_data[72] = self._feature_data[72] | ll120_outer_individual def set_board_sync_setting( self, onboard_sync, combine_jrgb, combine_jpipe1, combine_jpipe2, combine_jrainbow1, combine_jrainbow2, combine_jcorsair, ): self._feature_data[82] |= clamp(int(onboard_sync), 0, 1) self._feature_data[78] |= 0b10000000 if combine_jrgb else 0 self._feature_data[82] |= 0b00010000 if combine_jpipe1 else 0 self._feature_data[82] |= 0b00100000 if combine_jpipe2 else 0 self._feature_data[82] |= 0b00000010 if combine_jrainbow1 else 0 self._feature_data[82] |= 0b00000100 if combine_jrainbow2 else 0 self._feature_data[82] |= 0b00001000 if combine_jcorsair else 0 def set_style_setting(self, led_area, lighting_mode, speed, brightness, color_selection): """ --led-area --lighting-mode --speed --brightness --color-selection """ lighting_mode = clamp(lighting_mode, 0, 40) speed = clamp(speed, 0, 2) brightness = clamp(brightness, 0, 10) color_selection = clamp(color_selection, 0, 1) self._feature_data[led_area] = lighting_mode self._feature_data[led_area + 4] = ( (self._feature_data[led_area + 4] & 0x80) | (brightness << 2) | speed ) self._feature_data[led_area + 8] = 0b10000000 if color_selection else 0 def set_color_setting( self, led_area, color1_r, color1_g, color1_b, color2_r, color2_g, color2_b ): """ --led-area --color1 --color2 """ self._feature_data[led_area + 1] = clamp(color1_r, 0, 255) self._feature_data[led_area + 2] = clamp(color1_g, 0, 255) self._feature_data[led_area + 3] = clamp(color1_b, 0, 255) self._feature_data[led_area + 4] = clamp(led_area, 0, 174) self._feature_data[led_area + 5] = clamp(color2_r, 0, 255) self._feature_data[led_area + 6] = clamp(color2_g, 0, 255) self._feature_data[led_area + 7] = clamp(color2_b, 0, 255) def set_send_led_setting(self, save): """applies changes, persists to device with save option""" self._feature_data[184] = int(bool(save)) return self._set_all_board(self._feature_data) def set_direction_setting_b931_only( self, board_sync, jrainbow1, jrainbow2, jrainbow3, jrainbow4, jrainbow5 ): """--b931-direction ?""" self._feature_data[83] |= int(bool(board_sync)) self._feature_data[39] |= int(bool(jrainbow1)) self._feature_data[61] |= int(bool(jrainbow2)) self._feature_data[50] |= int(bool(jrainbow3)) self._feature_data[19] |= int(bool(jrainbow4)) self._feature_data[29] |= int(bool(jrainbow5)) def set_oled_user_message(self, message): """--message""" return self._write([0x93] + list((message[:61] + " ").encode("ascii", "ignore"))) def set_oled_show_gameboot(self, selection, message): """ --selection --message """ return self._write([0x73, selection] + list(message[:60].encode("ascii", "ignore"))) def set_oled_show_profile(self, opts): """ --profile-type --gif-number """ profile_type, gif_no = map(int, opts[:2]) data = [0x70, 0, gif_no] self._write(data) data[1] = clamp(profile_type, 0, 1) return self._write(data) def set_oled_show_banner(self, banner_type=0, bmp_no=0): """ --banner-type --bmp-number """ data = [0x79, banner_type, bmp_no] return self._write(data) def set_oled_show_disable(self): """--disable-oled""" return self._write((0x7F,)) def _set_oled_upload(self, type, bytes, type_num=0): is_gif = type == _UploadType.GIF start_cmd = 0xC0 if is_gif else 0xD0 content = bytes.getbuffer() l = len(content) if l > (2**20): raise ValueError("file size of image is too large, something went wrong!") _LOGGER.debug(f"size of uploaded image is {l} bytes.") self._write( (start_cmd, l & 0xFF, (l >> 8) & 0xFF, (l >> 16) & 0xFF, (l >> 24) & 0xFF, type_num) ) sleep(2) checksum = sum(content) & 0xFFFF n = 0 while n < l: array = [start_cmd + 1] o = clamp(l - n, 0, 60) for k in range(0, o): array.append(content[n + k]) n += o self._write(array) if is_gif: high, low = self.get_oled_gif_checksum() check = (high << 8) + low else: high, low = self.get_oled_banner_checksum() check = (high << 8) + low if check != checksum: _LOGGER.error( f"invalid upload, image checksums: high {high} vs {checksum & 0xFF00}, " f"low {low} vs {checksum & 0xFF}." ) def set_oled_upload_gif(self, opts): """ --upload-gif-file --upload-gif-number """ imgtype, gif_no = map(int, opts[:2]) assert imgtype == 1, "Cannot override default images (image type 0)" file = opts[2] image_bytes = self._prepare_bmp(file) self._set_oled_upload(_UploadType.GIF, image_bytes, gif_no) def set_oled_upload_banner(self, bytes, banner_no=4): """Default is 4 to not overwrite the default banners. --upload-banner-file --upload-banner-number """ self._set_oled_upload(_UploadType.BANNER, bytes, banner_no) def set_oled_clock(self, time): """ Sends the specified time to the device. """ return self._write( ( 0x83, time.year % 100, time.month, time.day, time.weekday(), time.hour, time.minute, time.second, ) ) def set_oled_show_clock(self, style): """--set-oled-mode clock""" return self._write((0x7A, clamp(style, 0, 2))) def set_oled_show_cpu_status(self, freq, temp): """--update-cpu-status""" freq = clamp(int(freq), 0, 65536) temp = clamp(int(temp), 0, 65536) return self._write( ( 0x85, freq & 0xFF, (freq >> 8) & 0xFF, temp & 0xFF, (temp >> 8) & 0xFF, ) ) @staticmethod def _make_buffer(array, fill=0, total_size=_REPORT_LENGTH, prefix=0xD0): return bytearray([prefix] + list(array) + ((total_size - (len(array) + 1)) * [fill])) def _write(self, array, fill=0, total_size=_REPORT_LENGTH, prefix=0xD0): self.device.clear_enqueued_reports() return self.device.write(self._make_buffer(array, fill, total_size, prefix)) def _read(self, size=_REPORT_LENGTH): return bytearray(self.device.read(size)) def set_oled_gpu_status(self, mem_freq, usage): """ --set-gpu-memory-frequency --set-gpu-usage """ mem_freq = clamp(int(mem_freq), 0, 65536) usage = clamp(int(usage), 0, 65536) return self._write( ( 0x86, mem_freq & 0xFF, (mem_freq >> 8) & 0xFF, usage & 0xFF, (usage >> 8) & 0xFF, ) ) def set_oled_brightness_and_direction(self, brightness=100, direction=0): """ --set-oled-brightness --direction """ return self._write((0x7E, clamp(brightness, 0, 100), clamp(direction, 0, 3))) def set_per_led_720byte(self, jtype, area, rgb_data): b = jtype if self.product_id != 0x7B10 and self.product_id != 0x7C34: b += 1 if len(rgb_data) < 3: rgb_data = bytearray(3) rgb_data = rgb_data[:_PER_LED_LENGTH] self._feature_data_per_led = self._make_buffer( [0x37, b, area] + list(rgb_data), total_size=_PER_LED_LENGTH + 5, prefix=0x53 ) return self.device.send_feature_report(self._feature_data_per_led) def set_per_led_index(self, jtype, area, index_and_rgb, show=True, led_count=0): """ --set-per-led-index --jtype INT --area INT --index-and-rgb hex string? --show (or not passed) --maximum-leds INT """ array = bytearray(1) def rank_check(array): return ( isinstance(array, Sequence) and all(isinstance(x, Sequence) for x in array) and all(not isinstance(xa, Sequence) for x in array for xa in x) ) if len(index_and_rgb[1]) < 4 or len(index_and_rgb[0]) < 1 or not rank_check(index_and_rgb): raise ValueError("index_and_rgb should be a 2-dimensional list") if jtype == _JType.JONBOARD.value: array = self._per_led_rgb_jonboard elif jtype == _JType.JRAINBOW.value: area = clamp(area, 0, 1) array = self._per_led_rgb_jrainbow2 if area == 1 else self._per_led_rgb_jrainbow1 elif jtype == _JType.JCORSAIR.value: array = self._per_led_rgb_jcorsair end_index = led_count if led_count > 0 else len(index_and_rgb) for i in range(end_index): if index_and_rgb[i][0] * 3 + 2 < len(array): array[index_and_rgb[i][0] * 3] = index_and_rgb[i][1] array[index_and_rgb[i][0] * 3 + 1] = index_and_rgb[i][2] array[index_and_rgb[i][0] * 3 + 2] = index_and_rgb[i][3] if show: self.set_per_led_720byte(jtype, area, array) def set_switch_to_per_led_mode(self, jtype, area, show=False): """ --switch-to-per-led-mode --jtype INT --area INT --show (or not passed) """ if jtype == _JType.JONBOARD.value: self.set_style_setting( _LEDArea.ONBOARD_LED_0.value, _LightingMode.CORSAIR_IQUE.value, _Speed.MEDIUM.value, 10, _ColorSelection.USER_DEFINED.value, ) self._per_led_rgb_jonboard = bytearray(_PER_LED_LENGTH) elif jtype == _JType.JRAINBOW.value: if area == 0: self._per_led_rgb_jrainbow1 = bytearray(_PER_LED_LENGTH) self.set_cycle_number(0, 200) self.set_style_setting( _LEDArea.JRAINBOW1.value, _LightingMode.CORSAIR_IQUE.value, _Speed.MEDIUM.value, 10, _ColorSelection.USER_DEFINED.value, ) elif area == 1: self._per_led_rgb_jrainbow2 = bytearray(_PER_LED_LENGTH) self.set_cycle_number(1, 240) self.set_style_setting( _LEDArea.JRAINBOW2.value, _LightingMode.CORSAIR_IQUE.value, _Speed.MEDIUM.value, 10, _ColorSelection.USER_DEFINED.value, ) elif jtype == _JType.JCORSAIR.value: self._per_led_rgb_jcorsair = bytearray(_PER_LED_LENGTH) self.set_style_setting( _LEDArea.JCORSAIR.value, _LightingMode.CORSAIR_IQUE.value, _Speed.MEDIUM.value, 10, _ColorSelection.USER_DEFINED.value, ) if ((self._feature_data[61] & 0xE) >> 1) == 0 and (self._feature_data[61] & 1) == 1: self.set_device_setting(_StripeOrFan.FAN.value, _FanType.SP.value, 5, 0) else: self.set_cycle_number(2, 240) self.set_device_setting(_StripeOrFan.STRIPE.value, _FanType.HD.value, 0, 0) self.set_board_sync_setting(True, True, True, True, False, False, False) if show: self.set_send_led_setting(False) self.set_clear_per_led(jtype, area) def set_clear_per_led(self, jtype, area): """ --clear-per-led --jtype --area """ return self.set_per_led_720byte(jtype, area, bytearray(3)) def _set_all(self, which, r=0, g=0, b=0): self.set_board_sync_setting(True, True, True, True, True, True, True) self.set_style_setting(_LEDArea.ONBOARD_LED_0.value, which, 1, 10, 1) self.set_color_setting(_LEDArea.ONBOARD_LED_0.value, r, g, b, r, g, b) self.set_send_led_setting(False) def set_all_disable(self): """--led-disable""" self._set_all(_LightingMode.DISABLE.value) def set_all_static(self, r, g, b): """--led-all-static""" self._set_all(_LightingMode.NO_ANIMATION.value, r, g, b) def set_all_flashing(self, r, g, b): """--led-all-flashing""" self._set_all(_LightingMode.FLASHING.value, r, g, b) def set_all_breathing(self, r, g, b): """--led-all-breathing""" self._set_all(_LightingMode.BREATHING.value, r, g, b) def set_all_rainbow_wave(self): """--led-all-rainbow-wave""" self._set_all(_LightingMode.RAINBOW_WAVE.value) def switch_to_balance_mode(self): self.set_fan_config( [_FanConfig(_FanMode.BALANCE.value, 0, 0, 0, 0, 0, 0, 0)] * self._fan_count ) self.set_fan_temp_config( [_FanTempConfig(_FanMode.BALANCE.value, 0, 0, 0, 0, 0, 0, 0)] * self._fan_count ) self._send_safe_temp() def switch_to_game_mode(self): self.set_fan_config( [_FanConfig(_FanMode.GAME.value, 0, 0, 0, 0, 0, 0, 0)] * self._fan_count ) self.set_fan_temp_config( [_FanTempConfig(_FanMode.GAME.value, 0, 0, 0, 0, 0, 0, 0)] * self._fan_count ) self._send_safe_temp() def switch_to_silent_mode(self): self.set_fan_config( [_FanConfig(_FanMode.SILENT.value, 0, 0, 0, 0, 0, 0, 0)] * self._fan_count ) self.set_fan_temp_config( [_FanTempConfig(_FanMode.SILENT.value, 0, 0, 0, 0, 0, 0, 0)] * self._fan_count ) self._send_safe_temp() def switch_to_smart_mode(self): self.set_fan_config( [_FanConfig(_FanMode.SMART.value, 0, 0, 0, 0, 0, 0, 0)] * self._fan_count ) self.set_fan_temp_config( [_FanTempConfig(_FanMode.SMART.value, 0, 0, 0, 0, 0, 0, 0)] * self._fan_count ) self._send_safe_temp() def switch_to_default_mode(self): self.set_fan_config( [_FanConfig(_FanMode.DEFAULT.value, 0, 0, 0, 0, 0, 0, 0)] * self._fan_count ) self.set_fan_temp_config( [_FanTempConfig(_FanMode.DEFAULT.value, 0, 0, 0, 0, 0, 0, 0)] * self._fan_count ) self._send_safe_temp() # def set_oled_cpu_message(self, message): # return self._write([0x90] + # list(message[:60].encode('ascii', 'ignore'))) # def set_oled_memory_message(self, message): # return self._write([0x91] + # list(message[:60].encode('ascii', 'ignore'))) # def set_oled_vga_message(self, message): # return self._write([0x92] + # list(message[:60].encode('ascii', 'ignore'))) # def set_oled_show_system_message(self): # return self._write((0x72, )) # def set_oled_show_user_message(self): # return self._write((0x74, )) # def set_oled_start_isp_process(self): # return self._write((0xfa, )) # def set_oled_show_demo_mode(self): # return self._write((0x77, 0xff)) # def set_reset_mcu(self): # return self._write((0xd0, ), 0xcc, prefix=1) liquidctl-1.16.0/liquidctl/driver/nvidia.py000066400000000000000000000516731515166127400207260ustar00rootroot00000000000000"""liquidctl drivers for NVIDIA graphics cards. Copyright Jonas Malaco, Marshall Asch and contributors SPDX-License-Identifier: GPL-3.0-or-later """ import logging from enum import unique from liquidctl.driver.smbus import SmbusDriver from liquidctl.error import NotSupportedByDevice from liquidctl.util import RelaxedNamesEnum, check_unsafe _LOGGER = logging.getLogger(__name__) # sources for pci device and subsystem device ids: # - https://www.nv-drivers.eu/nvidia-all-devices.html # - https://pci-ids.ucw.cz/pci.ids # - https://gitlab.com/CalcProgrammer1/OpenRGB/-/blob/master/pci_ids/pci_ids.h # vendor, devices # FWUPD_GUID = [vendor]:[device] - use hwinfo to inspect NVIDIA = 0x10de NVIDIA_GTX_1050 = 0x1c81 NVIDIA_GTX_1050_TI = 0x1c82 NVIDIA_GTX_1060 = 0x1c03 NVIDIA_GTX_1070 = 0x1b81 NVIDIA_GTX_1070_TI = 0x1b82 NVIDIA_GTX_1080 = 0x1b80 NVIDIA_GTX_1080_TI = 0x1b06 NVIDIA_GTX_1650 = 0x1f82 NVIDIA_GTX_1650S = 0x2187 NVIDIA_GTX_1660 = 0x2184 NVIDIA_GTX_1660S = 0x21c4 NVIDIA_GTX_1660_TI = 0x2182 NVIDIA_RTX_2060S = 0x1f47 NVIDIA_RTX_2060S_OC = 0x1f06 NVIDIA_RTX_2060_TU104 = 0x1e89 NVIDIA_RTX_2060_TU106 = 0x1f08 NVIDIA_RTX_2070 = 0x1f02 NVIDIA_RTX_2070S = 0x1ec7 NVIDIA_RTX_2070S_OC = 0x1e84 NVIDIA_RTX_2070_OC = 0x1f07 NVIDIA_RTX_2080 = 0x1e82 NVIDIA_RTX_2080S = 0x1e81 NVIDIA_RTX_2080_REV_A = 0x1e87 NVIDIA_RTX_2080_TI = 0x1e04 NVIDIA_RTX_2080_TI_REV_A = 0x1e07 NVIDIA_RTX_3050 = 0x2507 NVIDIA_RTX_3060 = 0x2503 NVIDIA_RTX_3060_GA104 = 0x2487 NVIDIA_RTX_3060_LHR = 0x2504 NVIDIA_RTX_3060_TI = 0x2486 NVIDIA_RTX_3060_TI_LHR = 0x2489 NVIDIA_RTX_3070 = 0x2484 NVIDIA_RTX_3070_LHR = 0x2488 NVIDIA_RTX_3070_TI = 0x2482 NVIDIA_RTX_3080 = 0x2206 NVIDIA_RTX_3080_12G_LHR = 0x220a NVIDIA_RTX_3080_LHR = 0x2216 NVIDIA_RTX_3080_TI = 0x2208 NVIDIA_RTX_3090 = 0x2204 # subsystem vendor ASUS, subsystem devices # PCI_SUBSYS_ID = [subsystem vendor]:[subsystem device] - use hwinfo to inspect ASUS = 0x1043 ASUS_STRIX_GTX_1050_O2G = 0x85d8 ASUS_STRIX_GTX_1050_TI_O4G = 0x85cd ASUS_STRIX_GTX_1050_TI_O4G_2 = 0x85d1 ASUS_STRIX_GTX_1060_6G = 0x85a4 ASUS_STRIX_GTX_1060_O6G = 0x85ac ASUS_STRIX_GTX_1070 = 0x8598 ASUS_STRIX_GTX_1070_OC = 0x8599 ASUS_STRIX_GTX_1070_TI_8G = 0x861d ASUS_STRIX_GTX_1070_TI_A8G = 0x861e ASUS_STRIX_GTX_1080 = 0x8592 ASUS_STRIX_GTX_1080_A8G = 0x85aa ASUS_STRIX_GTX_1080_O8G = 0x85f9 ASUS_STRIX_GTX_1080_TI = 0x85eb ASUS_STRIX_GTX_1080_TI_11G = 0x85f1 ASUS_STRIX_GTX_1080_TI_O11G = 0x85ea ASUS_STRIX_GTX_1080_TI_O11G_A02 = 0x85e4 ASUS_STRIX_GTX_1650S_OC = 0x874f ASUS_STRIX_GTX_1660S_O6G = 0x8752 ASUS_STRIX_GTX_1660_TI_OC = 0x86a5 ASUS_STRIX_RTX_2060S_8G = 0x8730 ASUS_STRIX_RTX_2060S_A8G = 0x86fc ASUS_STRIX_RTX_2060S_A8G_EVO = 0x8703 ASUS_STRIX_RTX_2060S_O8G = 0x86fb ASUS_STRIX_RTX_2060_EVO = 0x86d3 ASUS_STRIX_RTX_2060_O6G = 0x868e ASUS_STRIX_RTX_2060_O6G_EVO = 0x8775 ASUS_STRIX_RTX_2070S_8G_8707 = 0x8707 ASUS_STRIX_RTX_2070S_A8G = 0x8728 ASUS_STRIX_RTX_2070S_A8G_86FF = 0x86ff ASUS_STRIX_RTX_2070S_A8G_8706 = 0x8706 ASUS_STRIX_RTX_2070S_O8G = 0x8727 ASUS_STRIX_RTX_2070S_O8G_8729 = 0x8729 ASUS_STRIX_RTX_2070_A8G = 0x8671 ASUS_STRIX_RTX_2070_O8G = 0x8670 ASUS_STRIX_RTX_2080S_A8G = 0x8712 ASUS_STRIX_RTX_2080S_O8G = 0x8711 ASUS_STRIX_RTX_2080_O8G = 0x865f ASUS_STRIX_RTX_2080_TI_11G = 0x8687 ASUS_STRIX_RTX_2080_TI_OC = 0x866a ASUS_TUF_RTX_3060_TI_O8G_OC = 0x87c6 # subsystem vendor EVGA, subsystem devices # PCI_SUBSYS_ID = [subsystem vendor]:[subsystem device] - use hwinfo to inspect EVGA = 0x3842 EVGA_GTX_1070_FTW = 0x6276 EVGA_GTX_1070_FTW_DT_GAMING = 0x6274 EVGA_GTX_1070_FTW_HYBRID = 0x6278 EVGA_GTX_1070_TI_FTW2 = 0x6775 EVGA_GTX_1080_FTW = 0x6286 @unique class _ModeEnum(bytes, RelaxedNamesEnum): def __new__(cls, value, required_colors): obj = bytes.__new__(cls, [value]) obj._value_ = value obj.required_colors = required_colors return obj def __str__(self): return self.name.capitalize() class _NvidiaI2CDriver(): """Generic NVIDIA I²C driver.""" _VENDOR = None _ADDRESSES = [] _MATCHES = [] @classmethod def pre_probe(cls, smbus, vendor=None, product=None, address=None, match=None, release=None, serial=None, **kwargs): if (vendor and vendor != cls._VENDOR) \ or (address and int(address, base=16) not in cls._ADDRESSES) \ or release or serial: # filters can never match, always None return if smbus.parent_subsystem_vendor != cls._VENDOR \ or smbus.parent_vendor != NVIDIA \ or smbus.parent_driver != 'nvidia': return for dev_id, sub_dev_id, desc in cls._MATCHES: if (product and product != sub_dev_id) \ or (match and match.lower() not in desc.lower()): continue if smbus.parent_subsystem_device != sub_dev_id \ or smbus.parent_device != dev_id \ or not smbus.description.startswith('NVIDIA i2c adapter 1 '): continue yield (dev_id, sub_dev_id, desc) class EvgaPascal(SmbusDriver, _NvidiaI2CDriver): """NVIDIA series 10 (Pascal) graphics card from EVGA.""" _REG_MODE = 0x0c _REG_RED = 0x09 _REG_GREEN = 0x0a _REG_BLUE = 0x0b _REG_PERSIST = 0x23 _PERSIST = 0xe5 _VENDOR = EVGA _ADDRESSES = [0x49] _MATCHES = [ (NVIDIA_GTX_1070, EVGA_GTX_1070_FTW, 'EVGA GTX 1070 FTW'), (NVIDIA_GTX_1070, EVGA_GTX_1070_FTW_DT_GAMING, 'EVGA GTX 1070 FTW DT Gaming'), (NVIDIA_GTX_1070, EVGA_GTX_1070_FTW_HYBRID, 'EVGA GTX 1070 FTW Hybrid'), (NVIDIA_GTX_1070_TI, EVGA_GTX_1070_TI_FTW2, 'EVGA GTX 1070 Ti FTW2'), (NVIDIA_GTX_1080, EVGA_GTX_1080_FTW, 'EVGA GTX 1080 FTW'), ] @unique class Mode(_ModeEnum): OFF = (0x00, 0) FIXED = (0x01, 1) RAINBOW = (0x02, 0) BREATHING = (0x05, 1) @classmethod def probe(cls, smbus, vendor=None, product=None, address=None, match=None, release=None, serial=None, **kwargs): assert len(cls._ADDRESSES) == 1, 'unexpected extra address candidates' pre_probed = super().pre_probe(smbus, vendor, product, address, match, release, serial, **kwargs) for dev_id, sub_dev_id, desc in pre_probed: dev = cls(smbus, desc, vendor_id=EVGA, product_id=EVGA_GTX_1080_FTW, address=cls._ADDRESSES[0]) _LOGGER.debug('%s identified: %s', cls.__name__, desc) yield dev def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) if 'experimental' in self.description: self._UNSAFE = ['smbus', 'experimental_evga_gpu'] else: self._UNSAFE = ['smbus'] def get_status(self, verbose=False, **kwargs): """Get a status report. Returns a list of `(property, value, unit)` tuples. """ # only RGB lighting information can be fetched for now; as that isn't # super interesting, only enable it in verbose mode if not verbose: return [] if not check_unsafe(*self._UNSAFE, **kwargs): _LOGGER.warning("%s: disabled, requires unsafe features '%s'", self.description, ','.join(self._UNSAFE)) return [] mode = self.Mode(self._smbus.read_byte_data(self._address, self._REG_MODE)) status = [('Mode', mode, '')] if mode.required_colors > 0: r = self._smbus.read_byte_data(self._address, self._REG_RED) g = self._smbus.read_byte_data(self._address, self._REG_GREEN) b = self._smbus.read_byte_data(self._address, self._REG_BLUE) status.append(('Color', f'{r:02x}{g:02x}{b:02x}', '')) return status def set_color(self, channel, mode, colors, non_volatile=False, **kwargs): """Set the RGB lighting mode and, when applicable, color. The table bellow summarizes the available channels, modes and their associated number of required colors. | Channel | Mode | Required colors | | -------- | --------- | --------------- | | led | off | 0 | | led | fixed | 1 | | led | breathing | 1 | | led | rainbow | 0 | The settings configured on the device are normally volatile, and are cleared whenever the graphics card is powered down (OS and UEFI power saving settings can affect when this happens). It is possible to store them in non-volatile controller memory by passing `non_volatile=True`. But as this memory has some unknown yet limited maximum number of write cycles, volatile settings are preferable, if the use case allows for them. """ check_unsafe(*self._UNSAFE, error=True, **kwargs) colors = list(colors) try: mode = self.Mode[mode] except KeyError: raise ValueError(f'invalid mode: {mode!r}') from None if len(colors) < mode.required_colors: raise ValueError(f'{mode} mode requires {mode.required_colors} colors') if len(colors) > mode.required_colors: _LOGGER.debug('too many colors, dropping to %d', mode.required_colors) colors = colors[:mode.required_colors] self._smbus.write_byte_data(self._address, self._REG_MODE, mode.value) for r, g, b in colors: self._smbus.write_byte_data(self._address, self._REG_RED, r) self._smbus.write_byte_data(self._address, self._REG_GREEN, g) self._smbus.write_byte_data(self._address, self._REG_BLUE, b) if non_volatile: # the following write always fails, but nonetheless induces persistence try: self._smbus.write_byte_data(self._address, self._REG_PERSIST, self._PERSIST) except OSError as err: _LOGGER.debug('expected OSError when writing to _REG_PERSIST: %s', err) def initialize(self, **kwargs): """Initialize the device.""" pass def set_speed_profile(self, channel, profile, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() def set_fixed_speed(self, channel, duty, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() def set_screen(self, channel, mode, value, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() class RogTuring(SmbusDriver, _NvidiaI2CDriver): """NVIDIA series 10 (Pascal) or 20 (Turing) graphics card from ASUS.""" _REG_RED = 0x04 _REG_GREEN = 0x05 _REG_BLUE = 0x06 _REG_MODE = 0x07 _REG_APPLY = 0x0e _SYNC_REG = 0x0c # unused _VENDOR = ASUS _ADDRESSES = [0x29, 0x2a, 0x60] _MATCHES = [ # description normalization rules: # - remove redundant ROG and meaningless GAMING; # - remove redundancies within a particular GPU core; # - keep OC when appropriate; # - uppercase ASUS and TUF, titlecase Evo, Ti and Stix; # - enforce ASUS Strix|TUF GTX|RTX [Super] [Ti] [Evo] [OC] [...] order; # - use consistent memory sizes: 2GB, 4GB, 6GB, 8GB (but omit when redundant). (NVIDIA_GTX_1050, ASUS_STRIX_GTX_1050_O2G, 'ASUS Strix GTX 1050 OC'), (NVIDIA_GTX_1050_TI, ASUS_STRIX_GTX_1050_TI_O4G, 'ASUS Strix GTX 1050 Ti OC'), (NVIDIA_GTX_1050_TI, ASUS_STRIX_GTX_1050_TI_O4G_2, 'ASUS Strix GTX 1050 Ti OC'), (NVIDIA_GTX_1060, ASUS_STRIX_GTX_1060_6G, 'ASUS Strix GTX 1060 6GB'), (NVIDIA_GTX_1060, ASUS_STRIX_GTX_1060_O6G, 'ASUS Strix GTX 1060 OC 6GB'), (NVIDIA_GTX_1070, ASUS_STRIX_GTX_1070, 'ASUS Strix GTX 1070'), (NVIDIA_GTX_1070, ASUS_STRIX_GTX_1070_OC, 'ASUS Strix GTX 1070 OC'), (NVIDIA_GTX_1070_TI, ASUS_STRIX_GTX_1070_TI_8G, 'ASUS Strix GTX 1070 Ti'), (NVIDIA_GTX_1070_TI, ASUS_STRIX_GTX_1070_TI_A8G, 'ASUS Strix GTX 1070 Ti Advanced'), (NVIDIA_GTX_1080, ASUS_STRIX_GTX_1080, 'ASUS Strix GTX 1080'), (NVIDIA_GTX_1080, ASUS_STRIX_GTX_1080_A8G, 'ASUS Strix GTX 1080 Advanced'), (NVIDIA_GTX_1080, ASUS_STRIX_GTX_1080_O8G, 'ASUS Strix GTX 1080 OC'), (NVIDIA_GTX_1080_TI, ASUS_STRIX_GTX_1080_TI, 'ASUS Strix GTX 1080 Ti'), (NVIDIA_GTX_1080_TI, ASUS_STRIX_GTX_1080_TI_11G, 'ASUS Strix GTX 1080 Ti'), (NVIDIA_GTX_1080_TI, ASUS_STRIX_GTX_1080_TI_O11G, 'ASUS Strix GTX 1080 Ti OC'), (NVIDIA_GTX_1080_TI, ASUS_STRIX_GTX_1080_TI_O11G_A02, 'ASUS Strix GTX 1080 Ti OC'), (NVIDIA_GTX_1650S, ASUS_STRIX_GTX_1650S_OC, 'ASUS Strix GTX 1650 Super OC'), (NVIDIA_GTX_1660S, ASUS_STRIX_GTX_1660S_O6G, 'ASUS Strix GTX 1660 Super OC'), (NVIDIA_GTX_1660_TI, ASUS_STRIX_GTX_1660_TI_OC, 'ASUS Strix GTX 1660 Ti OC'), (NVIDIA_RTX_2060S, ASUS_STRIX_RTX_2060S_A8G_EVO, 'ASUS Strix RTX 2060 Super Evo Advanced'), (NVIDIA_RTX_2060S_OC, ASUS_STRIX_RTX_2060S_8G, 'ASUS Strix RTX 2060 Super'), (NVIDIA_RTX_2060S_OC, ASUS_STRIX_RTX_2060S_A8G, 'ASUS Strix RTX 2060 Super Advanced'), (NVIDIA_RTX_2060S_OC, ASUS_STRIX_RTX_2060S_O8G, 'ASUS Strix RTX 2060 Super OC'), (NVIDIA_RTX_2060_TU104, ASUS_STRIX_RTX_2060_O6G_EVO, 'ASUS Strix RTX 2060 Evo OC'), (NVIDIA_RTX_2060_TU106, ASUS_STRIX_RTX_2060_EVO, 'ASUS Strix RTX 2060 Evo'), (NVIDIA_RTX_2060_TU106, ASUS_STRIX_RTX_2060_O6G, 'ASUS Strix RTX 2060 OC'), (NVIDIA_RTX_2070S, ASUS_STRIX_RTX_2070S_A8G_86FF, 'ASUS Strix RTX 2070 Super Advanced'), (NVIDIA_RTX_2070S_OC, ASUS_STRIX_RTX_2070S_8G_8707, 'ASUS Strix RTX 2070'), (NVIDIA_RTX_2070S_OC, ASUS_STRIX_RTX_2070S_A8G, 'ASUS Strix RTX 2070 Super Advanced'), (NVIDIA_RTX_2070S_OC, ASUS_STRIX_RTX_2070S_A8G_8706, 'ASUS Strix RTX 2070 Super Advanced'), (NVIDIA_RTX_2070S_OC, ASUS_STRIX_RTX_2070S_O8G, 'ASUS Strix RTX 2070 Super OC'), (NVIDIA_RTX_2070S_OC, ASUS_STRIX_RTX_2070S_O8G_8729, 'ASUS Strix RTX 2070 Super OC'), (NVIDIA_RTX_2070_OC, ASUS_STRIX_RTX_2070_A8G, 'ASUS Strix RTX 2070 Advanced'), (NVIDIA_RTX_2070_OC, ASUS_STRIX_RTX_2070_O8G, 'ASUS Strix RTX 2070 OC'), (NVIDIA_RTX_2080S, ASUS_STRIX_RTX_2080S_A8G, 'ASUS Strix RTX 2080 Super Advanced'), (NVIDIA_RTX_2080S, ASUS_STRIX_RTX_2080S_O8G, 'ASUS Strix RTX 2080 Super OC'), (NVIDIA_RTX_2080_REV_A, ASUS_STRIX_RTX_2080_O8G, 'ASUS Strix RTX 2080 OC'), (NVIDIA_RTX_2080_TI, ASUS_STRIX_RTX_2080_TI_11G, 'ASUS Strix RTX 2080 Ti'), (NVIDIA_RTX_2080_TI_REV_A, ASUS_STRIX_RTX_2080_TI_OC, 'ASUS Strix RTX 2080 Ti OC'), (NVIDIA_RTX_3060_TI_LHR, ASUS_TUF_RTX_3060_TI_O8G_OC, 'ASUS TUF RTX 3060 Ti OC'), ] _SENTINEL_ADDRESS = 0xffff # intentionally invalid _ASUS_GPU_APPLY_VAL = 0x01 @unique class Mode(_ModeEnum): OFF = (0x00, 0) # not a real mode; fixed is sent with RGB = 0 FIXED = (0x01, 1) BREATHING = (0x02, 1) FLASH = (0x03, 1) RAINBOW = (0x04, 0) @classmethod def probe(cls, smbus, vendor=None, product=None, address=None, match=None, release=None, serial=None, **kwargs): ASUS_GPU_MAGIC_VALUE = 0x1589 pre_probed = super().pre_probe(smbus, vendor, product, address, match, release, serial, **kwargs) for dev_id, sub_dev_id, desc in pre_probed: selected_address = None if check_unsafe('smbus', **kwargs): for address in cls._ADDRESSES: val1 = 0 val2 = 0 smbus.open() try: val1 = smbus.read_byte_data(address, 0x20) val2 = smbus.read_byte_data(address, 0x21) except: pass smbus.close() if val1 << 8 | val2 == ASUS_GPU_MAGIC_VALUE: selected_address = address break else: selected_address = cls._SENTINEL_ADDRESS _LOGGER.debug('unsafe features not enabled, using sentinel address') if selected_address is not None: dev = cls(smbus, desc, vendor_id=ASUS, product_id=dev_id, address=selected_address) _LOGGER.debug('%s identified: %s at address %02x', cls.__name__, desc, selected_address) yield dev def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) if 'experimental' in self.description: self._UNSAFE = ['smbus', 'experimental_asus_gpu'] else: self._UNSAFE = ['smbus'] def get_status(self, verbose=False, **kwargs): """Get a status report. Returns a list of `(property, value, unit)` tuples. """ # only RGB lighting information can be fetched for now; as that isn't # super interesting, only enable it in verbose mode if not verbose: return [] if not check_unsafe(*self._UNSAFE, **kwargs): _LOGGER.warning("%s: disabled, requires unsafe features '%s'", self.description, ','.join(self._UNSAFE)) return [] assert self._address != self._SENTINEL_ADDRESS, \ 'invalid address (probing may not have had access to SMbus)' mode = self._smbus.read_byte_data(self._address, self._REG_MODE) red = self._smbus.read_byte_data(self._address, self._REG_RED) green = self._smbus.read_byte_data(self._address, self._REG_GREEN) blue = self._smbus.read_byte_data(self._address, self._REG_BLUE) # emulate `OFF` both ways if red == green == blue == 0: mode = 0 mode = self.Mode(mode) status = [('Mode', mode, '')] if mode.required_colors > 0: status.append(('Color', f'{red:02x}{green:02x}{blue:02x}', '')) return status def set_color(self, channel, mode, colors, non_volatile=False, **kwargs): """Set the lighting mode, when applicable, color. The table bellow summarizes the available channels, modes and their associated number of required colors. | Channel | Mode | Required colors | | -------- | --------- | --------------- | | led | off | 0 | | led | fixed | 1 | | led | flash | 1 | | led | breathing | 1 | | led | rainbow | 0 | The settings configured on the device are normally volatile, and are cleared whenever the graphics card is powered down (OS and UEFI power saving settings can affect when this happens). It is possible to store them in non-volatile controller memory by passing `non_volatile=True`. But as this memory has some unknown yet limited maximum number of write cycles, volatile settings are preferable, if the use case allows for them. """ check_unsafe(*self._UNSAFE, error=True, **kwargs) assert self._address != self._SENTINEL_ADDRESS, \ 'invalid address (probing may not have had access to SMbus)' colors = list(colors) try: mode = self.Mode[mode] except KeyError: raise ValueError(f'invalid mode: {mode!r}') from None if len(colors) < mode.required_colors: raise ValueError(f'{mode} mode requires {mode.required_colors} colors') if len(colors) > mode.required_colors: _LOGGER.debug('too many colors, dropping to %d', mode.required_colors) colors = colors[:mode.required_colors] if mode == self.Mode.OFF: self._smbus.write_byte_data(self._address, self._REG_MODE, self.Mode.FIXED.value) self._smbus.write_byte_data(self._address, self._REG_RED, 0x00) self._smbus.write_byte_data(self._address, self._REG_GREEN, 0x00) self._smbus.write_byte_data(self._address, self._REG_BLUE, 0x00) else: self._smbus.write_byte_data(self._address, self._REG_MODE, mode.value) for r, g, b in colors: self._smbus.write_byte_data(self._address, self._REG_RED, r) self._smbus.write_byte_data(self._address, self._REG_GREEN, g) self._smbus.write_byte_data(self._address, self._REG_BLUE, b) if non_volatile: self._smbus.write_byte_data(self._address, self._REG_APPLY, self._ASUS_GPU_APPLY_VAL) def initialize(self, **kwargs): """Initialize the device.""" pass def set_speed_profile(self, channel, profile, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() def set_fixed_speed(self, channel, duty, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() def set_screen(self, channel, mode, value, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() liquidctl-1.16.0/liquidctl/driver/nzxt_epsu.py000066400000000000000000000122511515166127400215000ustar00rootroot00000000000000"""liquidctl driver for NZXT E-series PSUs. Supported devices: NZXT E500, E650 and E850. Features: - electrical output monitoring: complete - general device monitoring: partial - fan control: missing - 12V multiple rail configuration: missing Copyright Jonas Malaco and contributors SPDX-License-Identifier: GPL-3.0-or-later """ import time from liquidctl.driver.usb import UsbHidDriver from liquidctl.error import NotSupportedByDevice from liquidctl.pmbus import CommandCode as CMD from liquidctl.pmbus import linear_to_float _REPORT_LENGTH = 64 _MIN_DELAY = 0.0025 _ATTEMPTS = 3 _SEASONIC_READ_FIRMWARE_VERSION = CMD.MFR_SPECIFIC_FC _RAILS = ['+12V peripherals', '+12V EPS/ATX12V', '+12V motherboard/PCI-e', '+5V combined', '+3.3V combined'] class NzxtEPsu(UsbHidDriver): """NZXT E-series power supply unit.""" _MATCHES = [ (0x7793, 0x5911, 'NZXT E500', {}), (0x7793, 0x5912, 'NZXT E650', {}), (0x7793, 0x2500, 'NZXT E850', {}), ] def initialize(self, **kwargs): """Initialize the device. Apparently not required. """ pass def get_status(self, **kwargs): """Get a status report. Returns a list of `(property, value, unit)` tuples. """ self.device.clear_enqueued_reports() fw_human, fw_cam = self._get_fw_versions() status = [ ('Temperature', self._get_float(CMD.READ_TEMPERATURE_2), '°C'), ('Fan speed', self._get_float(CMD.READ_FAN_SPEED_1), 'rpm'), ('Firmware version', f'{fw_human}/{fw_cam}', ''), ] for i, name in enumerate(_RAILS): status.append((f'{name} output voltage', self._get_vout(i), 'V')) status.append((f'{name} output current', self._get_float(CMD.READ_IOUT, page=i), 'A')) status.append((f'{name} output power', self._get_float(CMD.READ_POUT, page=i), 'W')) return status def set_color(self, channel, mode, colors, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() def set_speed_profile(self, channel, profile, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() def set_fixed_speed(self, channel, duty, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() def _write(self, data): assert len(data) <= _REPORT_LENGTH packet = bytearray(1 + _REPORT_LENGTH) packet[1: 1 + len(data)] = data # device doesn't use numbered reports self.device.write(packet) def _read(self): return self.device.read(_REPORT_LENGTH) def _wait(self): """Give the device some time and avoid error responses. Not well understood but probably related to the PIC16F1455 microcontroller. It is possible that it isn't just used for a "dumb" PMBus/HID bridge, requiring time to be left for other tasks. """ time.sleep(_MIN_DELAY) def _exec_read(self, cmd, data_len): data = None msg = [0xad, 0, data_len + 1, 1, 0x60, cmd] for _ in range(_ATTEMPTS): self._wait() self._write(msg) res = self._read() # see comment in _exec_page_plus_read, but res[1] == 0xff has not # been seen in the wild yet # TODO replace with PEC byte check if res[0] == 0xaa and res[1] == data_len + 1: data = res break assert data, f'invalid response (attempts={_ATTEMPTS})' return data[2:(2 + data_len)] def _exec_page_plus_read(self, page, cmd, data_len): data = None msg = [0xad, 0, data_len + 2, 4, 0x60, CMD.PAGE_PLUS_READ, 2, page, cmd] for _ in range(_ATTEMPTS): self._wait() self._write(msg) res = self._read() # in captured traffic res[2] == 0xff appears to signal invalid data # (possibly due to the device being busy, see PMBus spec) # TODO replace with PEC byte check if res[0] == 0xaa and res[1] == data_len + 2 and res[2] == data_len: data = res break assert data, f'invalid response (attempts={_ATTEMPTS})' return data[3:(3 + data_len)] def _get_float(self, cmd, page=None): if page is None: return linear_to_float(self._exec_read(cmd, 2)) else: return linear_to_float(self._exec_page_plus_read(page, cmd, 2)) def _get_vout(self, rail): mode = self._exec_page_plus_read(rail, CMD.VOUT_MODE, 1)[0] assert mode >> 5 == 0 # assume vout_mode is always ulinear16 vout = self._exec_page_plus_read(rail, CMD.READ_VOUT, 2) return linear_to_float(vout, mode & 0x1f) def _get_fw_versions(self): minor, major = self._exec_read(_SEASONIC_READ_FIRMWARE_VERSION, 2) human_ver = f'{bytes([major]).decode()}{minor:03}' ascam_ver = int.from_bytes(bytes.fromhex(human_ver), byteorder='big') return (human_ver, ascam_ver) def set_screen(self, channel, mode, value, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() # deprecated aliases SeasonicEDriver = NzxtEPsu liquidctl-1.16.0/liquidctl/driver/rgb_fusion2.py000066400000000000000000000241711515166127400216640ustar00rootroot00000000000000"""liquidctl driver for Gigabyte RGB Fusion 2.0 USB controllers. Supported controllers: - ITE 5702: found in Gigabyte Z490 Vision D - ITE 8297: found in Gigabyte X570 Aorus Elite Copyright CaseySJ, Jonas Malaco and contributors SPDX-License-Identifier: GPL-3.0-or-later """ import logging import sys from collections import namedtuple from liquidctl.driver.usb import UsbHidDriver from liquidctl.error import NotSupportedByDevice from liquidctl.util import clamp _LOGGER = logging.getLogger(__name__) _USAGE_PAGE = 0xff89 _RGB_CONTROL_USAGE = 0xcc _OTHER_USAGE = 0x10 _REPORT_ID = 0xcc _REPORT_BYTE_LENGTH = 63 _INIT_CMD = 0x60 _COLOR_CHANNELS = { 'led1': (0x20, 0x01), 'led2': (0x21, 0x02), 'led3': (0x22, 0x04), 'led4': (0x23, 0x08), 'led5': (0x24, 0x10), 'led6': (0x25, 0x20), 'led7': (0x26, 0x40), 'led8': (0x27, 0x80), } _PULSE_SPEEDS = { 'slowest': (0x40, 0x06, 0x40, 0x06, 0x20, 0x03), 'slower': (0x78, 0x05, 0x78, 0x05, 0xbc, 0x02), 'normal': (0xb0, 0x04, 0xb0, 0x04, 0xf4, 0x01), 'faster': (0xe8, 0x03, 0xe8, 0x03, 0xf4, 0x01), 'fastest': (0x84, 0x03, 0x84, 0x03, 0xc2, 0x01), 'ludicrous': (0x20, 0x03, 0x20, 0x03, 0x90, 0x01), } _FLASH_SPEEDS = { 'slowest': (0x64, 0x00, 0x64, 0x00, 0x60, 0x09), 'slower': (0x64, 0x00, 0x64, 0x00, 0x90, 0x08), 'normal': (0x64, 0x00, 0x64, 0x00, 0xd0, 0x07), 'faster': (0x64, 0x00, 0x64, 0x00, 0x08, 0x07), 'fastest': (0x64, 0x00, 0x64, 0x00, 0x40, 0x06), 'ludicrous': (0x64, 0x00, 0x64, 0x00, 0x78, 0x05), } _DOUBLE_FLASH_SPEEDS = { 'slowest': (0x64, 0x00, 0x64, 0x00, 0x28, 0x0a), 'slower ': (0x64, 0x00, 0x64, 0x00, 0x60, 0x09), 'normal': (0x64, 0x00, 0x64, 0x00, 0x90, 0x08), 'faster': (0x64, 0x00, 0x64, 0x00, 0xd0, 0x07), 'fastest': (0x64, 0x00, 0x64, 0x00, 0x08, 0x07), 'ludicrous': (0x64, 0x00, 0x64, 0x00, 0x40, 0x06), } _COLOR_CYCLE_SPEEDS = { 'slowest': (0x78, 0x05, 0xb0, 0x04, 0x00, 0x00), 'slower': (0x7e, 0x04, 0x1a, 0x04, 0x00, 0x00), 'normal': (0x52, 0x03, 0xee, 0x02, 0x00, 0x00), 'faster': (0xf8, 0x02, 0x94, 0x02, 0x00, 0x00), 'fastest': (0x26, 0x02, 0xc2, 0x01, 0x00, 0x00), 'ludicrous': (0xcc, 0x01, 0x68, 0x01, 0x00, 0x00), } _ColorMode = namedtuple('_ColorMode', ['name', 'value', 'pulses', 'flash_count', 'cycle_count', 'max_brightness', 'takes_color', 'speed_values']) _COLOR_MODES = { mode.name: mode for mode in [ _ColorMode('off', 0x01, pulses=False, flash_count=0, cycle_count=0, max_brightness=0, takes_color=False, speed_values=None), _ColorMode('fixed', 0x01, pulses=False, flash_count=0, cycle_count=0, max_brightness=90, takes_color=True, speed_values=None), _ColorMode('pulse', 0x02, pulses=True, flash_count=0, cycle_count=0, max_brightness=90, takes_color=True, speed_values=_PULSE_SPEEDS), _ColorMode('flash', 0x03, pulses=True, flash_count=1, cycle_count=0, max_brightness=100, takes_color=True, speed_values=_FLASH_SPEEDS), _ColorMode('double-flash', 0x03, pulses=True, flash_count=2, cycle_count=0, max_brightness=100, takes_color=True, speed_values=_DOUBLE_FLASH_SPEEDS), _ColorMode('color-cycle', 0x04, pulses=False, flash_count=0, cycle_count=7, max_brightness=100, takes_color=False, speed_values=_COLOR_CYCLE_SPEEDS), ] } class RgbFusion2(UsbHidDriver): """liquidctl driver for Gigabyte RGB Fusion 2.0 USB controllers.""" _MATCHES = [ (0x048d, 0x5702, 'Gigabyte RGB Fusion 2.0 5702 Controller', {}), (0x048d, 0x8297, 'Gigabyte RGB Fusion 2.0 8297 Controller', {}), ] @classmethod def probe(cls, handle, **kwargs): """Probe `handle` and yield corresponding driver instances. These devices have multiple top-level HID usages, and HidapiDevice handles matching other usages have to be ignored. """ # if usage_page/usage are not available due to hidapi limitations # (version, platform or backend), they are unfortunately left # uninitialized; because of this, we explicitly exclude the undesired # usage_page/usage pair, and assume in all other cases that we either # have the desired usage page/usage pair, or that on that system a # single handle is returned for that device interface (see: 259) if (handle.hidinfo['usage_page'] == _USAGE_PAGE and handle.hidinfo['usage'] == _OTHER_USAGE): return yield from super().probe(handle, **kwargs) def initialize(self, **kwargs): """Initialize the device. Returns a list of `(property, value, unit)` tuples, containing the firmware version and other useful information provided by the hardware. """ self._send_feature_report([_REPORT_ID, _INIT_CMD]) data = self._get_feature_report(_REPORT_ID) # be tolerant: 8297 controllers support report IDs yet return 0 in the # first byte, which is out of spec assert data[0] in (_REPORT_ID, 0) and data[1] == 0x01 null = data.index(0, 12) dev_name = str(bytes(data[12:null]), 'ascii', errors='replace') fw_version = tuple(data[4:8]) return [ ('Hardware name', dev_name, ''), ('Firmware version', '{}.{}.{}.{}'.format(*fw_version), ''), ] def get_status(self, **kwargs): """Get a status report. Currently returns an empty list, but this behavior is not guaranteed as in the future the device may start to report useful information. A non-empty list would contain `(property, value, unit)` tuples. """ _LOGGER.info('status reports not available from %s', self.description) return [] def set_color(self, channel, mode, colors, speed='normal', **kwargs): """Set the color mode for a specific channel. Up to eight individual channels are available, named 'led1' through 'led8'. In addition to these, the 'sync' channel can be used to apply the same settings to all channels. The table bellow summarizes the available channels. | Mode | Colors required | Speed is customizable | | ------------ | --------------- | --------------------- | | off | zero | no | | fixed | one | no | | pulse | one | yes | | flash | one | yes | | double-flash | one | yes | | color-cycle | zero | yes | `colors` should be an iterable of zero or one `[red, blue, green]` triples, where each red/blue/green component is a value in the range 0–255. `speed`, when supported by the `mode`, can be one of: `slowest`, `slower`, `normal` (default), `faster`, `fastest` or `ludicrous`. """ mode = _COLOR_MODES[mode] colors = iter(colors) if mode.takes_color: try: r, g, b = next(colors) single_color = (b, g, r) except StopIteration: raise ValueError(f'one color required for mode={mode.name}') from None else: single_color = (0, 0, 0) remaining = sum(1 for _ in colors) if remaining: _LOGGER.warning('too many colors for mode=%s, dropping %d', mode.name, remaining) brightness = clamp(100, 0, mode.max_brightness) # hardcode this for now data = [_REPORT_ID, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, mode.value, brightness, 0x00] data += single_color data += [0x00, 0x00, 0x00, 0x00, 0x00] if mode.speed_values: data += mode.speed_values[speed] else: data += [0x00, 0x00, 0x00, 0x00, 0x00, 0x00] data += [0x00, 0x00, mode.cycle_count, int(mode.pulses), mode.flash_count] if channel == 'sync': selected_channels = _COLOR_CHANNELS.values() else: selected_channels = (_COLOR_CHANNELS[channel],) for addr1, addr2 in selected_channels: data[1:3] = addr1, addr2 self._send_feature_report(data) self._execute_report() def set_speed_profile(self, channel, profile, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() def set_fixed_speed(self, channel, duty, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() def reset_all_channels(self): """Reset all LED channels.""" for addr1, _ in _COLOR_CHANNELS.values(): self._send_feature_report([_REPORT_ID, addr1, 0]) self._execute_report() def _get_feature_report(self, report_id): return self.device.get_feature_report(report_id, _REPORT_BYTE_LENGTH + 1) def _send_feature_report(self, data): padding = [0x0]*(_REPORT_BYTE_LENGTH + 1 - len(data)) self.device.send_feature_report(data + padding) def _execute_report(self): """Request for the previously sent lighting settings to be applied.""" self._send_feature_report([_REPORT_ID, 0x28, 0xff]) def set_screen(self, channel, mode, value, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() # Acknowledgments: # # Thanks to SgtSixPack for capturing USB traffic on 0x8297 and testing the driver on Windows. liquidctl-1.16.0/liquidctl/driver/smart_device.py000066400000000000000000001103471515166127400221130ustar00rootroot00000000000000"""liquidctl drivers for NZXT Smart Device V1/V2, Grid+ V3, HUE 2/2 Ambient, H1 V2 and RGB & Fan Controller. Smart Device (V1) ----------------- The NZXT Smart Device is a fan and LED controller that ships with the H200i, H400i, H500i and H700i cases. It provides three independent fan channels with standard 4-pin connectors. Both PWM and DC control is supported, and the device automatically chooses the appropriate mode for each channel. Additionally, up to four chained HUE+ LED strips, or five Aer RGB fans, can be driven from only RGB channel available. The firmware installed on the device exposes several color presets, most of them common to other NZXT products. The device recognizes the type of accessory connected by measuring the resistance between the FD and GND lines.[1][2] In normal usage accessories should not be mixed. A microphone is also present onboard, for noise level optimization through CAM and AI. NZXT calls this feature Adaptive Noise Reduction (ANR). [1] https://forum.level1techs.com/t/nzxt-hue-a-look-inside/104836 [2] In parallel: 10 kOhm per HUE+ strip, 16 kOhm per Aer RGB fan. Grid+ V3 -------- The NZXT Grid+ V3 is a fan controller very similar to the Smart Device (V1). Comparing the two, the Grid+ has more fan channels (six in total), and no support for LEDs. Smart Device V2 --------------- The NZXT Smart Device V2 is a newer model of the original fan and LED controller. It ships with NZXT's cases released in mid-2019 including the H510 Elite, H510i, H710i, and H210i. It provides three independent fan channels with standard 4-pin connectors. Both PWM and DC control is supported, and the device automatically chooses the appropriate mode for each channel. Additionally, it features two independent lighting (Addressable RGB) channels, unlike the single channel in the original. NZXT Aer RGB 2 fans and HUE 2 lighting accessories (HUE 2 LED strip, HUE 2 Unerglow, HUE 2 Cable Comb) can be connected. The firmware installed on the device exposes several color presets, most of them common to other NZXT products. HUE 2 and HUE+ devices (including Aer RGB and Aer RGB 2 fans) are supported, but HUE 2 components cannot be mixed with HUE+ components in the same channel. Each lighting channel supports up to 6 accessories and a total of 40 LEDs. A microphone is still present onboard for noise level optimization through CAM and AI. NZXT H1 V2 ---------- The second revision of the NZXT H1 case, labeled H1 V2, ships with a variant of the NZXT Smart Device V2 that handles both the internal fans and the AIO pump. Two fan and one pump channels are available, where the formers can be controlled via PWM or DC. The pump speed is not user controllable. The device reports the state, speed and duty of each fan channel, as well as the pump speed. There are no lighting channels available nor an onboard microphone. RGB & Fan Controller -------------------- The NZXT RGB & Fan Controller is a retail version of the NZXT Smart Device V2. HUE 2 ----- The NZXT HUE 2 is an LED controller from the same generation of the Smart Device V2. The presets and limitations of the four LED channels are the same as in the Smart Device V2. HUE 2 Ambient ------------- HUE 2 Ambient is a variant of HUE 2 featuring 2 LED control channels. Driver ------ This driver implements all features available at the hardware level: - initialization - detection of connected fans and LED strips - control of fan speeds per channel - monitoring of fan presence, control mode, speed, voltage and current - control of lighting modes and colors - reporting of LED accessory count and type - monitoring of noise level (from the onboard microphone) - reporting of firmware version Software based features offered by CAM, like ANR, have not been implemented. After powering on from Mechanical Off, or if there have been hardware changes, the devices must be manually initialized by calling `initialize()`. This will cause all connected fans and LED accessories to be detected, and enable status updates. It is recommended to initialize the devices at every boot. Copyright Jonas Malaco, CaseySJ and contributors SPDX-License-Identifier: GPL-3.0-or-later """ import itertools import logging from liquidctl.driver.usb import UsbHidDriver from liquidctl.error import NotSupportedByDevice from liquidctl.util import clamp, map_direction, Hue2Accessory, \ HUE2_MAX_ACCESSORIES_IN_CHANNEL _LOGGER = logging.getLogger(__name__) _ANIMATION_SPEEDS = { 'slowest': 0x0, 'slower': 0x1, 'normal': 0x2, 'faster': 0x3, 'fastest': 0x4, } _MIN_DUTY = 0 _MAX_DUTY = 100 class _BaseSmartDevice(UsbHidDriver): """Common functions of Smart Device and Grid drivers.""" def __init__(self, device, description, speed_channels, color_channels, **kwargs): super().__init__(device, description) self._speed_channels = speed_channels self._color_channels = color_channels def set_color(self, channel, mode, colors, speed='normal', direction='forward', **kwargs): """Set the color mode for a specific channel. Only supported by Smart Device V1/V2 and HUE 2 controllers. """ if not self._color_channels: raise NotSupportedByDevice() if 'backwards' in mode: _LOGGER.warning('deprecated mode, move to direction=backward option') mode = mode.replace('backwards-', '') direction = 'backward' cid = self._color_channels[channel] _, _, _, mincolors, maxcolors = self._COLOR_MODES[mode] colors = [[g, r, b] for [r, g, b] in colors] if len(colors) < mincolors: raise ValueError(f'not enough colors for mode={mode}, at least {mincolors} required') elif maxcolors == 0: if colors: _LOGGER.warning('too many colors for mode=%s, none needed', mode) colors = [[0, 0, 0]] # discard the input but ensure at least one step elif len(colors) > maxcolors: _LOGGER.warning('too many colors for mode=%s, dropping to %d', mode, maxcolors) colors = colors[:maxcolors] sval = _ANIMATION_SPEEDS[speed] self._write_colors(cid, mode, colors, sval, direction) def set_fixed_speed(self, channel, duty, **kwargs): """Set channel to a fixed speed duty.""" if channel == 'sync': selected_channels = self._speed_channels else: selected_channels = {channel: self._speed_channels[channel]} for cname, (cid, dmin, dmax) in selected_channels.items(): duty = clamp(duty, dmin, dmax) _LOGGER.info('setting %s duty to %d%%', cname, duty) self._write_fixed_duty(cid, duty) def set_speed_profile(self, channel, profile, **kwargs): raise NotSupportedByDevice() def _write(self, data): padding = [0x0]*(self._WRITE_LENGTH - len(data)) self.device.write(data + padding) def _write_colors(self, cid, mode, colors, sval, direction): raise NotImplementedError() def _write_fixed_duty(self, cid, duty): raise NotImplementedError() def set_screen(self, channel, mode, value, **kwargs): """Not supported by this device.""" raise NotSupportedByDevice() class SmartDevice(_BaseSmartDevice): """NZXT Smart Device (V1) or Grid+ V3.""" # support for hwmon: nzxt-grid3, liquidtux # https://github.com/liquidctl/liquidtux/blob/3b80dafead6f/nzxt-grid3.c _MATCHES = [ (0x1e71, 0x1714, 'NZXT Smart Device (V1)', { 'speed_channel_count': 3, 'color_channel_count': 1 }), (0x1e71, 0x1711, 'NZXT Grid+ V3', { 'speed_channel_count': 6, 'color_channel_count': 0 }), ] _READ_LENGTH = 21 _WRITE_LENGTH = 65 _COLOR_MODES = { # (byte2/mode, byte3/variant, byte4/size, min colors, max colors) 'off': (0x00, 0x00, 0x00, 0, 0), 'fixed': (0x00, 0x00, 0x00, 1, 1), 'super-fixed': (0x00, 0x00, 0x00, 1, 40), # independent leds 'fading': (0x01, 0x00, 0x00, 1, 8), 'spectrum-wave': (0x02, 0x00, 0x00, 0, 0), 'marquee-3': (0x03, 0x00, 0x00, 1, 1), 'marquee-4': (0x03, 0x00, 0x08, 1, 1), 'marquee-5': (0x03, 0x00, 0x10, 1, 1), 'marquee-6': (0x03, 0x00, 0x18, 1, 1), 'covering-marquee': (0x04, 0x00, 0x00, 1, 8), 'alternating': (0x05, 0x00, 0x00, 2, 2), 'moving-alternating': (0x05, 0x08, 0x00, 2, 2), 'pulse': (0x06, 0x00, 0x00, 1, 8), 'breathing': (0x07, 0x00, 0x00, 1, 8), # colors for each step 'super-breathing': (0x07, 0x00, 0x00, 1, 40), # one step, independent leds 'candle': (0x09, 0x00, 0x00, 1, 1), 'wings': (0x0c, 0x00, 0x00, 1, 1), 'super-wave': (0x0d, 0x00, 0x00, 1, 40), # independent ring leds # deprecated in favor of direction=backward 'backwards-spectrum-wave': (0x02, 0x00, 0x00, 0, 0), 'backwards-marquee-3': (0x03, 0x00, 0x00, 1, 1), 'backwards-marquee-4': (0x03, 0x00, 0x08, 1, 1), 'backwards-marquee-5': (0x03, 0x00, 0x10, 1, 1), 'backwards-marquee-6': (0x03, 0x00, 0x18, 1, 1), 'covering-backwards-marquee': (0x04, 0x00, 0x00, 1, 8), 'backwards-moving-alternating': (0x05, 0x08, 0x00, 2, 2), 'backwards-super-wave': (0x0d, 0x00, 0x00, 1, 40), } def __init__(self, device, description, speed_channel_count, color_channel_count, **kwargs): """Instantiate a driver with a device handle.""" speed_channels = {f'fan{i + 1}': (i, _MIN_DUTY, _MAX_DUTY) for i in range(speed_channel_count)} color_channels = {'led': (i) for i in range(color_channel_count)} super().__init__(device, description, speed_channels, color_channels, **kwargs) def initialize(self, direct_access=False, **kwargs): """Initialize the device and the driver. Connected fans and LED accessories are detected. This method should be called every time the systems boots, resumes from a suspended state, or if the device has just been (re)connected. In those scenarios, no other method, except `connect()` or `disconnect()`, should be called until the device and driver has been (re-)initialized. Returns None or a list of `(property, value, unit)` tuples, similarly to `get_status()`. """ if self._hwmon and not direct_access: _LOGGER.info('bound to %s kernel driver, assuming it is already initialized', self._hwmon.driver) else: if self._hwmon: _LOGGER.warning('forcing re-initialization despite %s kernel driver', self._hwmon.driver) self._write([0x1, 0x5c]) # initialize/detect connected devices and their type self._write([0x1, 0x5d]) # start reporting self.device.clear_enqueued_reports() msg = self.device.read(self._READ_LENGTH) fw = tuple(msg[0xb:0xf]) _LOGGER.debug('raw firmware version: %r', fw) # NZXT/CAM has simplified how they report the firmware version from its # raw 4-component form fw_human = f'{fw[0]}.{fw[3]}' ret = [('Firmware version', fw_human, '')] if self._color_channels: lcount = msg[0x11] ret.append(('LED accessories', lcount, '')) if lcount > 0: ltype, lsize = [('HUE+ Strip', 10), ('Aer RGB', 8)][msg[0x10] >> 3] ret.append(('LED accessory type', ltype, '')) ret.append(('LED count (total)', lcount*lsize, '')) return ret def _get_status_directly(self): fans = [None] * len(self._speed_channels) noise = [] self.device.clear_enqueued_reports() for i, _ in enumerate(fans): msg = self.device.read(self._READ_LENGTH) num = (msg[15] >> 4) + 1 state = msg[15] & 0x3 fans[num - 1] = [ (f'Fan {num} speed', msg[3] << 8 | msg[4], 'rpm'), (f'Fan {num} voltage', msg[7] + msg[8]/100, 'V'), (f'Fan {num} current', msg[9] + msg[10]/100, 'A'), (f'Fan {num} control mode', [None, 'DC', 'PWM'][state], ''), ] noise.append(msg[1]) # flatten fan data while checking for holes ret = [] for i, fan in enumerate(fans): if fan: ret = ret + fan else: _LOGGER.warning('missing data fan for %d', i + 1) ret.append(('Noise level', round(sum(noise)/len(noise)), 'dB')) return ret def _get_status_from_hwmon(self): ret = [] mode = ['DC', 'PWM'] # slightly simplified, but the device treats undetected == PWM for i in range(len(self._speed_channels)): n = i + 1 ret.append((f'Fan {n} speed', self._hwmon.read_int(f'fan{n}_input'), 'rpm')), ret.append((f'Fan {n} voltage', self._hwmon.read_int(f'in{i}_input') * 1e-3, 'V')), ret.append((f'Fan {n} current', self._hwmon.read_int(f'curr{n}_input') * 1e-3, 'A')), ret.append((f'Fan {n} control mode', mode[self._hwmon.read_int(f'pwm{n}_mode')], '')), # noise level is not available through hwmon, but also not very accurate or useful return ret def get_status(self, direct_access=False, **kwargs): """Get a status report. Returns a list of `(property, value, unit)` tuples. """ if self._hwmon and not direct_access: _LOGGER.info('bound to %s kernel driver, reading status from hwmon', self._hwmon.driver) return self._get_status_from_hwmon() if self._hwmon: _LOGGER.warning('directly reading the status despite %s kernel driver', self._hwmon.driver) return self._get_status_directly() def _write_colors(self, cid, mode, colors, sval, direction='forward'): mval, mod3, mod4, _, _ = self._COLOR_MODES[mode] # generate steps from mode and colors: usually each color set by the user generates # one step, where it is specified to all leds and the device handles the animation; # but in super mode there is a single step and each color directly controls a led mod3 += map_direction(direction, 0, 0x10) if 'super' in mode: steps = [list(itertools.chain(*colors))] else: steps = [color*40 for color in colors] for i, leds in enumerate(steps): seq = i << 5 byte4 = sval | seq | mod4 self._write([0x2, 0x4b, mval, mod3, byte4] + leds[0:57]) self._write([0x3] + leds[57:]) def _write_fixed_duty(self, cid, duty): self._write([0x2, 0x4d, cid, 0, duty]) class SmartDevice2(_BaseSmartDevice): """NZXT HUE 2 lighting and, optionally, fan controller.""" # support for hwmon: nzxt-smart2, Linux 5.17 _MATCHES = [ (0x1e71, 0x2006, 'NZXT Smart Device V2', { 'speed_channel_count': 3, 'color_channel_count': 2 }), (0x1e71, 0x200d, 'NZXT Smart Device V2', { 'speed_channel_count': 3, 'color_channel_count': 2 }), (0x1e71, 0x200f, 'NZXT Smart Device V2', { 'speed_channel_count': 3, 'color_channel_count': 2 }), (0x1e71, 0x2001, 'NZXT HUE 2', { 'speed_channel_count': 0, 'color_channel_count': 4 }), (0x1e71, 0x2002, 'NZXT HUE 2 Ambient', { 'speed_channel_count': 0, 'color_channel_count': 2 }), (0x1e71, 0x2009, 'NZXT RGB & Fan Controller', { 'speed_channel_count': 3, 'color_channel_count': 2 }), (0x1e71, 0x200e, 'NZXT RGB & Fan Controller', { 'speed_channel_count': 3, 'color_channel_count': 2 }), (0x1e71, 0x2010, 'NZXT RGB & Fan Controller', { 'speed_channel_count': 3, 'color_channel_count': 2 }), (0x1e71, 0x2011, 'NZXT RGB & Fan Controller (3+6 channels)', { 'speed_channel_count': 3, 'color_channel_count': 0 # protocol changed, see #541 }), (0x1e71, 0x2019, 'NZXT RGB & Fan Controller (3+6 channels)', { 'speed_channel_count': 3, 'color_channel_count': 0 # protocol changed, see #541 }), (0x1e71, 0x201f, 'NZXT RGB & Fan Controller (3+6 channels)', { 'speed_channel_count': 3, 'color_channel_count': 0 # protocol changed, see #541 }), (0x1e71, 0x2020, 'NZXT RGB & Fan Controller (3+6 channels)', { 'speed_channel_count': 3, 'color_channel_count': 6 }), ] _MAX_READ_ATTEMPTS = 12 _READ_LENGTH = 64 _WRITE_LENGTH = 64 _COLOR_MODES = { # (mode, size/variant, moving, min colors, max colors) 'off': (0x00, 0x00, 0x00, 0, 0), 'fixed': (0x00, 0x00, 0x00, 1, 1), 'super-fixed': (0x01, 0x00, 0x00, 1, 40), # independent leds 'fading': (0x01, 0x00, 0x00, 1, 8), 'spectrum-wave': (0x02, 0x00, 0x00, 0, 0), 'marquee-3': (0x03, 0x00, 0x00, 1, 1), 'marquee-4': (0x03, 0x01, 0x00, 1, 1), 'marquee-5': (0x03, 0x02, 0x00, 1, 1), 'marquee-6': (0x03, 0x03, 0x00, 1, 1), 'covering-marquee': (0x04, 0x00, 0x00, 1, 8), 'alternating-3': (0x05, 0x00, 0x00, 2, 2), 'alternating-4': (0x05, 0x01, 0x00, 2, 2), 'alternating-5': (0x05, 0x02, 0x00, 2, 2), 'alternating-6': (0x05, 0x03, 0x00, 2, 2), 'moving-alternating-3': (0x05, 0x00, 0x10, 2, 2), # byte4: 0x10 = moving 'moving-alternating-4': (0x05, 0x01, 0x10, 2, 2), # byte4: 0x10 = moving 'moving-alternating-5': (0x05, 0x02, 0x10, 2, 2), # byte4: 0x10 = moving 'moving-alternating-6': (0x05, 0x03, 0x10, 2, 2), # byte4: 0x10 = moving 'pulse': (0x06, 0x00, 0x00, 1, 8), 'breathing': (0x07, 0x00, 0x00, 1, 8), # colors for each step 'super-breathing': (0x03, 0x19, 0x00, 1, 40), # independent leds 'candle': (0x08, 0x00, 0x00, 1, 1), 'starry-night': (0x09, 0x00, 0x00, 1, 1), 'rainbow-flow': (0x0b, 0x00, 0x00, 0, 0), 'super-rainbow': (0x0c, 0x00, 0x00, 0, 0), 'rainbow-pulse': (0x0d, 0x00, 0x00, 0, 0), 'wings': (None, 0x00, 0x00, 1, 1), # wings requires special handling # deprecated in favor of direction=backward 'backwards-spectrum-wave': (0x02, 0x00, 0x00, 0, 0), 'backwards-marquee-3': (0x03, 0x00, 0x00, 1, 1), 'backwards-marquee-4': (0x03, 0x01, 0x00, 1, 1), 'backwards-marquee-5': (0x03, 0x02, 0x00, 1, 1), 'backwards-marquee-6': (0x03, 0x03, 0x00, 1, 1), 'covering-backwards-marquee': (0x04, 0x00, 0x00, 1, 8), 'backwards-moving-alternating-3': (0x05, 0x00, 0x01, 2, 2), 'backwards-moving-alternating-4': (0x05, 0x01, 0x01, 2, 2), 'backwards-moving-alternating-5': (0x05, 0x02, 0x01, 2, 2), 'backwards-moving-alternating-6': (0x05, 0x03, 0x01, 2, 2), 'backwards-rainbow-flow': (0x0b, 0x00, 0x00, 0, 0), 'backwards-super-rainbow': (0x0c, 0x00, 0x00, 0, 0), 'backwards-rainbow-pulse': (0x0d, 0x00, 0x00, 0, 0), } def __init__(self, device, description, speed_channel_count, color_channel_count, **kwargs): """Instantiate a driver with a device handle.""" speed_channels = {f'fan{i + 1}': (i, _MIN_DUTY, _MAX_DUTY) for i in range(speed_channel_count)} color_channels = {f'led{i + 1}': (1 << i) for i in range(color_channel_count)} if color_channels: color_channels['sync'] = (1 << color_channel_count) - 1 super().__init__(device, description, speed_channels, color_channels, **kwargs) def initialize(self, direct_access=False, **kwargs): """Initialize the device and the driver. Connected fans and LED accessories are detected. This method should be called every time the systems boots, resumes from a suspended state, or if the device has just been (re)connected. In those scenarios, no other method, except `connect()` or `disconnect()`, should be called until the device and driver has been (re-)initialized. Returns None or a list of `(property, value, unit)` tuples, similarly to `get_status()`. """ self.device.clear_enqueued_reports() # if fan controller, initialize fan reporting (#331) if self._speed_channels: if self._hwmon and not direct_access: _LOGGER.info('bound to %s kernel driver, assuming it is already initialized', self._hwmon.driver) else: if self._hwmon: _LOGGER.warning('forcing re-initialization despite %s kernel driver', self._hwmon.driver) update_interval = (lambda secs: 1 + round((secs - .5) / .25))(.5) # see issue #128 self._write([0x60, 0x02, 0x01, 0xe8, update_interval, 0x01, 0xe8, update_interval]) self._write([0x60, 0x03]) # request static infos self._write([0x10, 0x01]) # firmware info self._write([0x20, 0x03]) # lighting info ret = [] def parse_firm_info(msg): fw = f'{msg[0x11]}.{msg[0x12]}.{msg[0x13]}' ret.append(('Firmware version', fw, '')) def parse_led_info(msg): channel_count = msg[14] offset = 15 # offset of first channel/first accessory for c in range(channel_count): for a in range(HUE2_MAX_ACCESSORIES_IN_CHANNEL): accessory_id = msg[offset + c * HUE2_MAX_ACCESSORIES_IN_CHANNEL + a] if accessory_id == 0: break ret.append((f'LED {c + 1} accessory {a + 1}', Hue2Accessory(accessory_id), '')) parsers = {b'\x11\x01': parse_firm_info} if self._color_channels: parsers[b'\x21\x03'] = parse_led_info self._read_until(parsers) return sorted(ret) def _get_status_directly(self): ret = [] def parse_fan_info(msg): mode_offset = 16 rpm_offset = 24 duty_offset = 40 noise_offset = 56 raw_modes = [None, 'DC', 'PWM'] for i, _ in enumerate(self._speed_channels): mode = raw_modes[msg[mode_offset + i]] ret.append((f'Fan {i + 1} speed', msg[rpm_offset + 1] << 8 | msg[rpm_offset], 'rpm')) ret.append((f'Fan {i + 1} duty', msg[duty_offset + i], '%')) ret.append((f'Fan {i + 1} control mode', mode, '')) rpm_offset += 2 ret.append(('Noise level', msg[noise_offset], 'dB')) self.device.clear_enqueued_reports() self._read_until({b'\x67\x02': parse_fan_info}) return sorted(ret) def _get_status_from_hwmon(self): ret = [] modes = ['DC', 'PWM'] for n in range(1, len(self._speed_channels) + 1): ret.append((f'Fan {n} speed', self._hwmon.read_int(f'fan{n}_input'), 'rpm')), ret.append((f'Fan {n} duty', self._hwmon.read_int(f'pwm{n}') * 100. / 255, '%')), ret.append((f'Fan {n} control mode', modes[self._hwmon.read_int(f'pwm{n}_mode')], '')), # noise level is not available through hwmon, but also not very accurate or useful return sorted(ret) def get_status(self, direct_access=False, **kwargs): """Get a status report. Returns a list of `(property, value, unit)` tuples. """ if not self._speed_channels: return [] if self._hwmon and not direct_access: _LOGGER.info('bound to %s kernel driver, reading status from hwmon', self._hwmon.driver) return self._get_status_from_hwmon() if self._hwmon: _LOGGER.warning('directly reading the status despite %s kernel driver', self._hwmon.driver) return self._get_status_directly() def _read_until(self, parsers): for _ in range(self._MAX_READ_ATTEMPTS): msg = self.device.read(self._READ_LENGTH) prefix = bytes(msg[0:2]) func = parsers.pop(prefix, None) if func: func(msg) if not parsers: return assert False, f'missing messages (attempts={self._MAX_READ_ATTEMPTS}, missing={len(parsers)})' def _write_colors(self, cid, mode, colors, sval, direction='forward',): mval, mod3, mod4, mincolors, maxcolors = self._COLOR_MODES[mode] assert self._color_channels, "color channels should be available and enabled" color_count = len(colors) if maxcolors == 40: led_padding = [0x00, 0x00, 0x00]*(maxcolors - color_count) # turn off remaining LEDs leds = list(itertools.chain(*colors)) + led_padding self._write([0x22, 0x10, cid, 0x00] + leds[0:60]) # send first 20 colors to device (3 bytes per color) self._write([0x22, 0x11, cid, 0x00] + leds[60:]) # send remaining colors to device self._write([0x22, 0xa0, cid, 0x00, mval, mod3, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x32, 0x00, 0x00, 0x01]) elif mode == 'wings': # wings requires special handling for [g, r, b] in colors: self._write([0x22, 0x10, cid]) # clear out all independent LEDs self._write([0x22, 0x11, cid]) # clear out all independent LEDs color_lists = [[]] * 4 color_lists[0] = [g, r, b] * 8 color_lists[1] = [int(x // 2.5) for x in color_lists[0]] color_lists[2] = [int(x // 4) for x in color_lists[1]] for i in range(8): # send color scheme first, before enabling wings mode mod = 0x05 if i in [3, 7] else 0x01 msg = ([0x22, 0x20, cid, i, 0x04, 0x39, 0x00, mod, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x05, 0x85, 0x05, 0x85, 0x05, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]) self._write(msg + color_lists[i % 4]) self._write([0x22, 0x03, cid, 0x08]) # this actually enables wings mode else: byte7 = (mod4 & 0x10) >> 4 # sets 'moving' flag for moving alternating modes byte8 = map_direction(direction, 0, 1) # sets 'backward' flag byte9 = mod3 if mval == 0x03 else color_count # specifies 'marquee' LED size byte10 = mod3 if mval == 0x05 else 0x00 # specifies LED size for 'alternating' modes header = [0x28, 0x03, cid, 0x00, mval, sval, byte7, byte8, byte9, byte10] self._write(header + list(itertools.chain(*colors))) def _write_fixed_duty(self, cid, duty): msg = [0x62, 0x01, 0x01 << cid, 0x00, 0x00, 0x00] # fan channel passed as bitflag in last 3 bits of 3rd byte msg[cid + 3] = duty # duty percent in 4th, 5th, and 6th bytes for, respectively, fan1, fan2 and fan3 self._write(msg) class H1V2(SmartDevice2): _MATCHES = [ (0x1e71, 0x2015, 'NZXT H1 V2', { 'speed_channel_count': 2, 'color_channel_count': 0 }), ] def get_status(self, direct_access=False, **kwargs): ret = [] def parse_fan_info(msg): mode_offset = 21 rpm_offset = 24 duty_offset = 25 pump_offset = 18 raw_modes = [None, 'DC', 'PWM'] for i, _ in enumerate(self._speed_channels): mode = raw_modes[msg[mode_offset + i]] ret.append((f'Fan {i + 1} speed', msg[rpm_offset] << 8 | msg[rpm_offset - 1], 'rpm')) ret.append((f'Fan {i + 1} duty', msg[duty_offset], '%')) ret.append((f'Fan {i + 1} control mode', mode, '')) rpm_offset += 5 duty_offset += 5 ret.append(('Pump speed', msg[pump_offset] << 8 | msg[pump_offset - 1], 'rpm')) # parse fans and pump status self.device.clear_enqueued_reports() self._read_until({b'\x75\x02': parse_fan_info}) return sorted(ret) class Nzxt2023RgbController(_BaseSmartDevice): _MATCHES = [ (0x1e71, 0x2012, 'NZXT 2023 RGB Controller', { 'speed_channel_count': 0, 'color_channel_count': 3 }), (0x1e71, 0x2021, 'NZXT 2023 RGB Controller', { 'speed_channel_count': 0, 'color_channel_count': 3 }), ] _MAX_READ_ATTEMPTS = 12 _READ_LENGTH = 64 _WRITE_LENGTH = 64 _COLOR_MODES = { 'off': (0x00, 0x00, 0x00, 0, 0), 'fixed': (0x00, 0x00, 0x00, 1, 1), 'super-fixed': (0x00, 0x00, 0x00, 1, 40), 'breathing': (0x07, 0x00, 0x08, 1, 8), 'fading': (0x01, 0x00, 0x08, 1, 8), 'covering-marquee': (0x04, 0x00, 0x00, 1, 8), 'pulse': (0x06, 0x00, 0x08, 1, 1), 'spectrum-wave': (0x02, 0x00, 0x00, 0, 0), 'alternating': (0x05, 0x01, 0x00, 2, 2), 'starry-night': (0x09, 0x00, 0x00, 1, 1), 'rainbow-pulse': (0x0d, 0x01, 0x00, 0, 0), 'rainbow-flow': (0x0b, 0x01, 0x00, 0, 0), 'super-rainbow': (0x0c, 0x01, 0x00, 0, 0), 'candle': (0x08, 0x00, 0x00, 0, 1) } _SPEED_VALUES = { 'breathing': [[0x28, 0x00], [0x1e, 0x00], [0x14,0x00], [0x0a, 0x00], [0x04,0x00]], 'fading': [[0x50, 0x00], [0x3c, 0x00], [0x28,0x00], [0x14, 0x00], [0x0a,0x00]], 'pulse': [[0x19, 0x00], [0x14, 0x00], [0x0f,0x00], [0x07, 0x00], [0x04,0x00]], 'alternating-moving': [[0x20, 0x00], [0xbc, 0x00], [0xf4,0x00], [0x90, 0x00], [0x2c,0x00]], 'starry-night': [[0x19, 0x00], [0x14, 0x00], [0x0f,0x00], [0x07, 0x00], [0x04,0x00]], 'rainbow-flow': [[0x5e, 0x01], [0x2c, 0x01], [0xfa,0x00], [0x96,0x00], [0x50, 0x00]], 'super-rainbow': [[0x5e, 0x01], [0x2c, 0x01], [0xfa,0x00], [0x96,0x00], [0x50, 0x00]], 'rainbow-pulse': [[0x5e, 0x01], [0x2c, 0x01], [0xfa,0x00], [0x96,0x00], [0x50, 0x00]], 'spectrum-wave': [[0x5e, 0x01], [0x2c, 0x01], [0xfa,0x00], [0x96,0x00], [0x50, 0x00]], 'cover-marquee': [[0x5e, 0x01], [0x2c, 0x01], [0xfa,0x00], [0x96,0x00], [0x50, 0x00]], 'alternating': [[0x40, 0x06], [0x14, 0x05], [0xe8, 0x03], [0x20, 0x03], [0x58, 0x02]], 'fixed': [[0x32, 0x00]]*5, 'super-fixed': [[0x32, 0x00]]*5, 'candle': [[0x32, 0x00]]*5, 'off': [[0x00, 0x00]]*5 } def __init__(self, device, description, speed_channel_count, color_channel_count, **kwargs): """Instantiate a driver with a device handle.""" speed_channels = {} color_channels = {f'led{i + 1}': (1 << i) for i in range(color_channel_count)} if color_channels: color_channels['sync'] = (1 << color_channel_count) - 1 super().__init__(device, description, speed_channels, color_channels, **kwargs) def initialize(self, direct_access=False, **kwargs): """Initialize the device and the driver. Connected fans and LED accessories are detected. This method should be called every time the systems boots, resumes from a suspended state, or if the device has just been (re)connected. In those scenarios, no other method, except `connect()` or `disconnect()`, should be called until the device and driver has been (re-)initialized. Returns None or a list of `(property, value, unit)` tuples, similarly to `get_status()`. """ self.device.clear_enqueued_reports() # request static infos self._write([0x10, 0x01]) # firmware info self._write([0x20, 0x03]) # lighting info ret = [] def parse_firm_info(msg): fw = f'{msg[0x11]}.{msg[0x12]}.{msg[0x13]}' ret.append(('Firmware version', fw, '')) def parse_led_info(msg): channel_count = msg[14] offset = 15 # offset of first channel/first accessory for c in range(channel_count): for a in range(HUE2_MAX_ACCESSORIES_IN_CHANNEL): accessory_id = msg[offset + c * HUE2_MAX_ACCESSORIES_IN_CHANNEL + a] if accessory_id == 0: break ret.append((f'LED {c + 1}', Hue2Accessory(accessory_id), '')) parsers = {b'\x11\x01': parse_firm_info} if self._color_channels: parsers[b'\x21\x03'] = parse_led_info self._read_until(parsers) return sorted(ret) def get_status(self, direct_access=False, **kwargs): """Get a status report. Returns a list of `(property, value, unit)` tuples. """ ret = [] ret.append((f'ARGB Channels: {len(self._color_channels)-1}', '', '')) return sorted(ret) def _read_until(self, parsers): for _ in range(self._MAX_READ_ATTEMPTS): msg = self.device.read(self._READ_LENGTH) prefix = bytes(msg[0:2]) func = parsers.pop(prefix, None) if func: func(msg) if not parsers: return assert False, f'missing messages (attempts={self._MAX_READ_ATTEMPTS}, missing={len(parsers)})' def _write_individual_color(self, cid, colors): color_count = len(colors) led_padding = [0x00, 0x00, 0x00]*(40 - color_count) # turn off remaining LEDs leds = list(itertools.chain(*colors)) + led_padding self._write([0x22, 0x10, cid, 0x00] + leds[0:60]) # send first 20 colors to device (3 bytes per color) self._write([0x22, 0x11, cid, 0x00] + leds[60:]) # send remaining colors to device self._write([0x22, 0xa0, cid, 0x00, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x80, 0x00, 0x32, 0x00, 0x00, 0x01]) def _write_colors(self, cid, mode, colors, sval, direction='forward',): cmode0, mod1, mod2, mincolors, maxcolors = self._COLOR_MODES[mode] color_count = len(colors) if maxcolors == 40: self._write_individual_color(cid, colors) else: # Header and device id header = [0x2a, 0x04, cid, cid] # Color mode speed = self._SPEED_VALUES[mode][sval] color_mode = [cmode0, speed[0], speed[1]] + list(itertools.chain(*colors)) # Footer mod3 = 0x02 if direction =='backward' else 0x00 footer = [mod3, color_count, mod2, 0x08, 0x03] + [0x00]*4 # Space inbetween data and footer msg_length = len(header) + len(color_mode) + len(footer) space = [0x00 for _ in range(self._WRITE_LENGTH - msg_length)] self._write(header + color_mode + space + footer) def set_fixed_speed(self, channel, duty, **kwargs): raise NotSupportedByDevice() def _write_fixed_duty(self, cid, duty): raise NotSupportedByDevice() # backward compatibility NzxtSmartDeviceDriver = SmartDevice SmartDeviceDriver = SmartDevice SmartDeviceV2Driver = SmartDevice2 liquidctl-1.16.0/liquidctl/driver/smbus.py000066400000000000000000000303031515166127400205700ustar00rootroot00000000000000"""Base SMBus bus and driver APIs. For now, these are unstable APIs, and only Linux is supported. Copyright Jonas Malaco and contributors SPDX-License-Identifier: GPL-3.0-or-later """ import logging import os import sys from collections import namedtuple from pathlib import Path from liquidctl.driver.base import BaseDriver, BaseBus, find_all_subclasses from liquidctl.util import check_unsafe, LazyHexRepr _LOGGER = logging.getLogger(__name__) if sys.platform == 'linux': # WARNING: the tests rely on being able to override which SMBus # implementation is used here; this is done through the SMBus attribute # created below, do not move/replace/change it, nor access it during module # initialization from smbus import SMBus LinuxEeprom = namedtuple('LinuxEeprom', 'name data') class LinuxI2c(BaseBus): """The Linux I²C (`/sys/bus/i2c`) bus.""" def __init__(self, i2c_root='/sys/bus/i2c'): self._i2c_root = Path(i2c_root) def find_devices(self, bus=None, usb_port=None, **kwargs): """Find compatible SMBus devices.""" if usb_port: # a usb_port filter implies an USB bus return devices = self._i2c_root.joinpath('devices') if not devices.exists(): _LOGGER.debug('skipping %s, %s not available', self.__class__.__name__, devices) return drivers = sorted(find_all_subclasses(SmbusDriver), key=lambda x: x.__name__) _LOGGER.debug('searching %s', self.__class__.__name__) _LOGGER.debug( '%s drivers: %s', self.__class__.__name__, ', '.join(map(lambda x: x.__name__, drivers)) ) for i2c_dev in devices.iterdir(): try: i2c_bus = LinuxI2cBus(i2c_dev) except ValueError as err: _LOGGER.debug('I²C adapter: %s skipped: %s', i2c_dev.name, err) continue if bus and bus != i2c_bus.name: continue _LOGGER.debug('I²C adapter: %s (%s)', i2c_bus.name, i2c_bus.description or "N/A") yield from i2c_bus.find_devices(drivers, **kwargs) class LinuxI2cBus: """A Linux I²C device, which is itself an I²C bus. Should not be instantiated directly; use `LinuxI2c.find_devices` instead. This type mimics the `smbus.SMBus` read/write/close APIs. However, `open` does not take any parameters, and not all APIs are available. """ # note: this is not a liquidctl BaseBus, as that would cause # find_liquidctl_devices to try to directly instantiate it def __init__(self, i2c_dev): if not i2c_dev.name.startswith('i2c-'): raise ValueError('not a bus or unsupported adapter') self._i2c_dev = i2c_dev self._smbus = None self._number = int(i2c_dev.name[4:]) def find_devices(self, drivers, **kwargs): """Probe drivers and find compatible devices in this bus.""" for drv in drivers: yield from drv.probe(self, **kwargs) def open(self): """Open the I²C bus.""" if not self._smbus: try: self._smbus = SMBus(self._number) except FileNotFoundError: if Path('/sys/class/i2c-dev').exists(): raise raise OSError('kernel module i2c-dev not loaded') from None def read_byte(self, address): """Read a single byte from a device.""" value = self._smbus.read_byte(address) _LOGGER.debug('read byte @ 0x%02x:0x%02x', address, value) return value def read_byte_data(self, address, register): """Read a single byte from a designated register.""" value = self._smbus.read_byte_data(address, register) _LOGGER.debug('read byte data @ 0x%02x:0x%02x 0x%02x', address, register, value) return value def read_word_data(self, address, register): """Read a single 2-byte word from a given register.""" value = self._smbus.read_word_data(address, register) _LOGGER.debug('read word data @ 0x%02x:0x%02x 0x%02x', address, register, value) return value def read_block_data(self, address, register): """Read a block of up to 32 bytes from a given register.""" data = self._smbus.read_block_data(address, register) _LOGGER.debug('read block data @ 0x%02x:0x%02x: %r', address, register, LazyHexRepr(data)) return data def write_byte(self, address, value): """Write a single byte to a device.""" _LOGGER.debug('writing byte @ 0x%02x: 0x%02x', address, value) return self._smbus.write_byte(address, value) def write_byte_data(self, address, register, value): """Write a single byte to a designated register.""" _LOGGER.debug('writing byte data @ 0x%02x:0x%02x 0x%02x', address, register, value) return self._smbus.write_byte_data(address, register, value) def write_word_data(self, address, register, value): """Write a single 2-byte word to a designated register.""" _LOGGER.debug('writing word data @ 0x%02x:0x%02x 0x%02x', address, register, value) return self._smbus.write_word_data(address, register, value) def write_block_data(self, address, register, data): """Write a block of byte data to a given register.""" _LOGGER.debug('writing block data @ 0x%02x:0x%02x %r', address, register, LazyHexRepr(data)) return self._smbus.write_block_data(address, register, data) def close(self): """Close the I²C connection.""" if self._smbus: self._smbus.close() self._smbus = None def load_eeprom(self, address): """Return EEPROM name and data in `address`, or None if N/A.""" # uses kernel facilities to avoid directly reading from the EEPROM # or managing its pages, also avoiding the need for unsafe=smbus dev = f'{self._number}-{address:04x}' try: name = self._i2c_dev.joinpath(dev, 'name').read_text().strip() eeprom = self._i2c_dev.joinpath(dev, 'eeprom').read_bytes() return LinuxEeprom(name, eeprom) except FileNotFoundError: return None except OSError as err: _LOGGER.debug('%s exists but not readable: %r', self._i2c_dev.joinpath(dev, 'eeprom'), err) return None @property def name(self): return self._i2c_dev.name @property def description(self): return self._try_sysfs_read('name') @property def parent_vendor(self): return self._try_sysfs_read_hex('device/vendor') @property def parent_device(self): return self._try_sysfs_read_hex('device/device') @property def parent_subsystem_vendor(self): return self._try_sysfs_read_hex('device/subsystem_vendor') @property def parent_subsystem_device(self): return self._try_sysfs_read_hex('device/subsystem_device') @property def parent_driver(self): try: return Path(os.readlink(self._i2c_dev.joinpath('device/driver'))).name except FileNotFoundError: return None def __str__(self): if self.description: return f'{self.name}: {self.description}' return self.name def __repr__(self): def hexid(maybe): if maybe is not None: return f'{maybe:#06x}' return 'None' return f'{self.__class__.__name__}: name: {self.name!r}, description:' \ f' {self.description!r}, parent_vendor: {hexid(self.parent_vendor)},' \ f' parent_device: {hexid(self.parent_device)}, parent_subsystem_vendor:' \ f' {hexid(self.parent_subsystem_vendor)},' \ f' parent_subsystem_device: {hexid(self.parent_subsystem_device)},' \ f' parent_driver: {self.parent_driver!r}' def _try_sysfs_read(self, *sub, default=None): try: return self._i2c_dev.joinpath(*sub).read_text().rstrip() except FileNotFoundError: return default def _try_sysfs_read_hex(self, *sub, default=None): try: return int(self._i2c_dev.joinpath(*sub).read_text(), base=16) except FileNotFoundError: return default class SmbusDriver(BaseDriver): """Base driver class for SMBus devices.""" @classmethod def probe(cls, smbus, **kwargs): raise NotImplementedError() @classmethod def find_supported_devices(cls, root_bus=None, **kwargs): """Find devices specifically compatible with this driver.""" if sys.platform != 'linux': return [] if not root_bus: root_bus = LinuxI2c() devs = filter(lambda x: isinstance(x, cls), root_bus.find_devices(**kwargs)) return list(devs) def __init__(self, smbus, description, vendor_id=None, product_id=None, address=None, **kwargs): # note: vendor_id and product_id are liquidctl properties intended to # allow the user to differentiate and ultimately filter devices; in the # context of SMBus, drivers may choose to use the parent's PCI # **subsystem** vendor/device IDs for this task, as those are more # specific and closer to the product the user purchased than the less # specific PCI vendor/device IDs. assert address is not None self._smbus = smbus self._description = description self._vendor_id = vendor_id self._product_id = product_id self._address = address def connect(self, **kwargs): """Connect to the device.""" if check_unsafe('smbus', **kwargs): self._smbus.open() else: # do not raise: some driver APIs may not access the bus after all, # and allowing the device to pseudo-connect is convenient given the # current API structure; APIs that do access the bus should check # for the 'smbus' feature themselves and, if necessary, raise # UnsafeFeaturesNotEnabled(requirements) # (see also: check_unsafe(..., error=True)) _LOGGER.debug("SMBus disabled, missing unsafe feature 'smbus'") return self def disconnect(self, **kwargs): """Disconnect from the device.""" self._smbus.close() @property def description(self): """Human readable description of the corresponding device.""" return self._description @property def vendor_id(self): """Numeric vendor identifier, or None if N/A.""" return self._vendor_id @property def product_id(self): """Numeric product identifier, or None if N/A.""" return self._product_id @property def release_number(self): """Device versioning number, or None if N/A. In USB devices this is bcdDevice. """ return None @property def serial_number(self): """Serial number reported by the device, or None if N/A.""" return None @property def bus(self): """Bus the device is connected to, or None if N/A.""" return self._smbus.name @property def address(self): """Address of the device on the corresponding bus, or None if N/A.""" return f'{self._address:#04x}' @property def port(self): """Physical location of the device, or None if N/A.""" return None liquidctl-1.16.0/liquidctl/driver/usb.py000066400000000000000000000561461515166127400202450ustar00rootroot00000000000000"""Base USB bus, driver and device APIs. This modules provides abstractions over several platform and implementation differences. As such, there is a lot of boilerplate here, but callers should be able to disregard almost everything and simply work on the UsbDriver/ UsbHidDriver level. BaseUsbDriver └── device: PyUsbDevice ├── uses PyUSB └── backed by (in order of priority) ├── libusb-1.0 ├── libusb-0.1 └── OpenUSB UsbHidDriver ├── extends: BaseUsbDriver └── device: HidapiDevice ├── uses hidapi └── backed by ├── hid.dll on Windows ├── hidraw on Linux if it was enabled during the build of hidapi ├── IOHidManager on MacOS └── libusb-1.0 on all other cases UsbDriver ├── extends: BaseUsbDriver └── allows to differentiate between UsbHidDriver and (non HID) UsbDriver UsbDriver and UsbHidDriver are meant to be used as base classes to the actual device drivers. The users of those drivers generally do not care about read, write or other low level operations; thus, these low level operations are placed in .device. However, there still are legitimate reasons as to why someone would want to directly access the lower layers (device wrapper level, device implementation level, or lower). We do not hide or mark those references as private, but good judgement should be exercised when calling anything within .device. The USB drivers are organized into two buses. The recommended way to initialize and bind drivers is through their respective buses, though .find_supported_devices can also be useful in certain scenarios. HidapiBus └── drivers: all (recursive) subclasses of UsbHidDriver PyUsbBus └── drivers: all (recursive) subclasses of UsbDriver The subclass constructor can generally be kept unaware of the implementation details of the device parameter, and find_supported_devices already accepts keyword arguments and forwards them to the driver constructor. Copyright Jonas Malaco and contributors SPDX-License-Identifier: GPL-3.0-or-later """ import logging import sys import usb from usb.core import USBTimeoutError try: # The hidapi package, depending on how it's compiled, exposes one or two # top level modules: hid and, optionally, hidraw. When both are available, # hid will be a libusb-based fallback implementation, and we prefer hidraw. import hidraw as hid except ModuleNotFoundError: import hid try: import libusb_package except ModuleNotFoundError: libusb_package = None from liquidctl.driver.base import BaseDriver, BaseBus, find_all_subclasses from liquidctl.driver.hwmon import HwmonDevice from liquidctl.error import Timeout from liquidctl.util import LazyHexRepr # During initialization, SmartDevice2 devices take ~2.5 seconds to reply with # the lighting info (#526). This is the slowest response time we're aware off, # so set the timeout to double that value. _DEFAULT_TIMEOUT_MS = 5000 _LOGGER = logging.getLogger(__name__) class BaseUsbDriver(BaseDriver): """Base driver class for generic USB devices. Each driver should provide its own list of _MATCHES, as well as implementations for all methods applicable to the devices is supports. _MATCHES should consist of a list of (vendor id, product id, description, and extra kwargs) tuples. find_supported_devices will pass these extra kwargs, as well as any it receives, to the constructor. """ _MATCHES = [] @classmethod def probe(cls, handle, vendor=None, product=None, release=None, serial=None, match=None, **kwargs): """Probe `handle` and yield corresponding driver instances.""" for vid, pid, desc, devargs in cls._MATCHES: if (vendor and vendor != vid) or handle.vendor_id != vid: continue if (product and product != pid) or handle.product_id != pid: continue if release and handle.release_number != release: continue if serial and handle.serial_number != serial: continue if match and match.lower() not in desc.lower(): continue consargs = devargs.copy() consargs.update(kwargs) dev = cls(handle, desc, **consargs) _LOGGER.debug('%s identified: %s', cls.__name__, desc) yield dev def __init__(self, device, description, **kwargs): self.device = device self._description = description def connect(self, **kwargs): """Connect to the device.""" self.device.open() return self def disconnect(self, **kwargs): """Disconnect from the device.""" self.device.close() @property def description(self): """Human readable description of the corresponding device.""" return self._description @property def vendor_id(self): """16-bit numeric vendor identifier.""" return self.device.vendor_id @property def product_id(self): """16-bit umeric product identifier.""" return self.device.product_id @property def release_number(self): """16-bit BCD device versioning number.""" return self.device.release_number @property def serial_number(self): """Serial number reported by the device, or None if N/A.""" return self.device.serial_number @property def bus(self): """Bus the device is connected to, or None if N/A.""" return self.device.bus @property def address(self): """Address of the device on the corresponding bus, or None if N/A. Dependendent on bus enumeration order. """ return self.device.address @property def port(self): """Physical location of the device, or None if N/A. Tuple of USB port numbers, from the root hub to this device. Only available for PyUSB-backed devices, and only when using LibUSB 1.0. But has the advantage of not depending on the bus enumeration order. """ return self.device.port class UsbHidDriver(BaseUsbDriver): """Base driver class for USB Human Interface Devices (HIDs).""" @classmethod def find_supported_devices(cls, **kwargs): """Find devices specifically compatible with this driver.""" devs = [] for vid, pid, _, _ in cls._MATCHES: for dev in HidapiBus().find_devices(vendor=vid, product=pid, **kwargs): if type(dev) == cls: devs.append(dev) return devs def __init__(self, device, description, **kwargs): # compatibility with v1.1.0 drivers, which could be directly # instantiated with a usb.core.Device if isinstance(device, usb.core.Device): clname = self.__class__.__name__ _LOGGER.warning('constructing a %s instance from a usb.core.Device has been deprecated, ' 'use %s.find_supported_devices() or pass a HidapiDevice handle', clname, clname) usbdev = device hidinfo = next(info for info in hid.enumerate(usbdev.idVendor, usbdev.idProduct) if info['serial_number'] == usbdev.serial_number) assert hidinfo, 'Could not find device in HID bus' device = HidapiDevice(hid, hidinfo) super().__init__(device, description, **kwargs) self._hwmon = HwmonDevice.from_hidraw(device.path) if self._hwmon: _LOGGER.debug('has kernel driver: %s (%s)', self._hwmon.driver, self._hwmon.path) class UsbDriver(BaseUsbDriver): """Base driver class for regular USB devices. Specifically, regular USB devices are *not* Human Interface Devices (HIDs). """ @classmethod def find_supported_devices(cls, **kwargs): """Find devices specifically compatible with this driver.""" devs = [] for vid, pid, _, _ in cls._MATCHES: for dev in PyUsbBus().find_devices(vendor=vid, product=pid, **kwargs): if type(dev) == cls: devs.append(dev) return devs class PyUsbDevice: """"A PyUSB backed device. PyUSB will automatically pick the first available backend (at runtime). The supported backends are: - libusb-1.0 - libusb-0.1 - OpenUSB """ def __init__(self, usbdev, bInterfaceNumber=None): self.api = usb self.usbdev = usbdev self.bInterfaceNumber = bInterfaceNumber self._attached = False def _select_interface(self, cfg): return self.bInterfaceNumber or 0 def open(self, bInterfaceNumber=0): """Connect to the device. Ensure the device is configured and replace the kernel kernel on the selected interface, if necessary. """ # we assume the device is already configured, there is only one # configuration, or the first one is desired try: cfg = self.usbdev.get_active_configuration() except usb.core.USBError as err: if err.args[0] == 'Configuration not set': _LOGGER.debug('setting the (first) configuration') self.usbdev.set_configuration() # FIXME device or handle might not be ready for use yet cfg = self.usbdev.get_active_configuration() else: raise self.bInterfaceNumber = self._select_interface(cfg) _LOGGER.debug('selected interface: %d', self.bInterfaceNumber) if (sys.platform.startswith('linux') and self.usbdev.is_kernel_driver_active(self.bInterfaceNumber)): _LOGGER.debug('replacing stock kernel driver with libusb') self.usbdev.detach_kernel_driver(self.bInterfaceNumber) self._attached = True def claim(self): """Explicitly claim the device from other programs.""" _LOGGER.debug('explicitly claim interface') usb.util.claim_interface(self.usbdev, self.bInterfaceNumber) def release(self): """Release the device to other programs.""" if sys.platform == 'win32': # on Windows we need to release the entire device for other # programs to be able to access it _LOGGER.debug('explicitly release device') usb.util.dispose_resources(self.usbdev) else: # on Linux, and possibly on Mac and BSDs, releasing the specific # interface is enough _LOGGER.debug('explicitly release interface') usb.util.release_interface(self.usbdev, self.bInterfaceNumber) def close(self): """Disconnect from the device. Clean up and (Linux only) reattach the kernel driver. """ self.release() if self._attached: _LOGGER.debug('restoring stock kernel driver') self.usbdev.attach_kernel_driver(self.bInterfaceNumber) self._attached = False def read(self, endpoint, length, *, timeout=_DEFAULT_TIMEOUT_MS): """Read from endpoint.""" try: data = self.usbdev.read(endpoint, length, timeout=timeout) except USBTimeoutError: _LOGGER.debug('failed to read, timed out after %d ms', timeout) raise Timeout() _LOGGER.debug('read %d bytes: %r', len(data), LazyHexRepr(data)) return data def write(self, endpoint, data, *, timeout=_DEFAULT_TIMEOUT_MS): """Write to endpoint.""" _LOGGER.debug('writing %d bytes: %r', len(data), LazyHexRepr(data)) try: return self.usbdev.write(endpoint, data, timeout=timeout) except USBTimeoutError: _LOGGER.debug('write failed, timed out after %d ms', timeout) raise Timeout() def ctrl_transfer(self, *args, timeout=_DEFAULT_TIMEOUT_MS, **kwargs): """Submit a contrl transfer.""" _LOGGER.debug('sending control transfer with %r, %r', args, kwargs) try: return self.usbdev.ctrl_transfer(*args, **kwargs) except USBTimeoutError: _LOGGER.debug('control transfers failed, timed out after %d ms', timeout) raise Timeout() @classmethod def enumerate(cls, vid=None, pid=None): args = {} if vid: args['idVendor'] = vid if pid: args['idProduct'] = pid if libusb_package and (sys.platform == 'win32' or sys.platform == 'cygwin'): _LOGGER.debug('using libusb_package.find') find = libusb_package.find else: find = usb.core.find for handle in find(find_all=True, **args): yield cls(handle) @property def vendor_id(self): return self.usbdev.idVendor @property def product_id(self): return self.usbdev.idProduct @property def release_number(self): return self.usbdev.bcdDevice @property def serial_number(self): return self.usbdev.serial_number @property def bus(self): return f'usb{self.usbdev.bus}' # follow Linux model @property def address(self): return self.usbdev.address @property def port(self): return self.usbdev.port_numbers def __eq__(self, other): return type(self) == type(other) and self.bus == other.bus and self.address == other.address class HidapiDevice: """A hidapi backed device. Depending on the platform, the selected `hidapi` and how it was built, this might use any of the following backends: - hid.dll on Windows - hidraw on Linux, if it was enabled during the build of hidapi - IOHidManager on MacOS - libusb-1.0 on all other cases The default hidapi API is the module 'hid'. On standard Linux builds of the hidapi package, this might default to a libusb-1.0 backed implementation; at the same time an alternate 'hidraw' module may also be provided. The latter is prefered, when available. Note: if a libusb-backed 'hid' is used on Linux (assuming default build options) it will detach the kernel driver, making hidraw and hwmon unavailable for that device. To fix, rebind the device to usbhid with: echo '-:1.0' | sudo tee /sys/bus/usb/drivers/usbhid/bind """ def __init__(self, hidapi, hidapi_dev_info): self.api = hidapi self.hidinfo = hidapi_dev_info self.hiddev = self.api.device() def open(self): """Connect to the device.""" self.hiddev.open_path(self.hidinfo['path']) def close(self): """NOOP.""" self.hiddev.close() def clear_enqueued_reports(self): """Clear already enqueued incoming reports. The OS generally enqueues incomming reports for open HIDs, and hidapi emulates this when running on top of libusb. On Linux, up to 64 reports can be enqueued. This method quickly reads and discards any already enqueued reports, and is useful when later reads are not expected to return stale data. """ if self.hiddev.set_nonblocking(True) == 0: timeout_ms = 0 # use hid_read; wont block because call succeeded else: timeout_ms = 1 # smallest timeout forwarded to hid_read_timeout discarded = 0 while self.hiddev.read(max_length=1, timeout_ms=timeout_ms): discarded += 1 _LOGGER.debug('discarded %d previously enqueued reports', discarded) def read(self, length, *, timeout=_DEFAULT_TIMEOUT_MS): """Read raw report from HID. The returned data follows the semantics of the Linux HIDRAW API. > On a device which uses numbered reports, the first byte of the > returned data will be the report number; the report data follows, > beginning in the second byte. For devices which do not use numbered > reports, the report data will begin at the first byte. Unlike the underlying cython-hidapi API this method wraps, pass `timeout=None` to disable the default timeout. """ self.hiddev.set_nonblocking(False) if timeout is None: timeout = 0 # cython-hidapi uses 0 for no timeout elif timeout == 0: timeout = 1 # smallest timeout forwarded to hid_read_timeout data = self.hiddev.read(max_length=length, timeout_ms=timeout) if timeout and not data: _LOGGER.debug('failed to read, timed out after %d ms', timeout) raise Timeout() _LOGGER.debug('read %d bytes: %r', len(data), LazyHexRepr(data)) return data def write(self, data): """Write raw report to HID. The buffer should follow the semantics of the Linux HIDRAW API. > The first byte of the buffer passed to write() should be set to the > report number. If the device does not use numbered reports, the > first byte should be set to 0. The report data itself should begin > at the second byte. """ _LOGGER.debug('writing report 0x%02x with %d bytes: %r', data[0], len(data) - 1, LazyHexRepr(data, start=1)) res = self.hiddev.write(data) if res < 0: raise OSError('Could not write to device') if res != len(data): _LOGGER.debug('wrote %d total bytes, expected %d', res, len(data)) return res def get_input_report(self, report_id, length): """Get input report that matches `report_id` from HID. If the device does not use numbered reports, set `report_id` to 0. Unlike `read`, the returned data follows semantics similar to `write` and `get_feature_report`: the first byte will always contain the report ID (or 0), and the report data itself will being at the second byte. """ data = self.hiddev.get_input_report(report_id, length) _LOGGER.debug('got input report 0x%02x with %d bytes: %r', data[0], len(data) - 1, LazyHexRepr(data, start=1)) return data def get_feature_report(self, report_id, length): """Get feature report that matches `report_id` from HID. If the device does not use numbered reports, set `report_id` to 0. Unlike `read`, the returned data follows semantics similar to `write` and `send_feature_report`: the first byte will always contain the report ID (or 0), and the report data itself will being at the second byte. """ data = self.hiddev.get_feature_report(report_id, length) _LOGGER.debug('got feature report 0x%02x with %d bytes: %r', data[0], len(data) - 1, LazyHexRepr(data, start=1)) return data def send_feature_report(self, data): """Send feature report to HID. The buffer should follow the semantics of `write`. > The first byte of the buffer passed to write() should be set to the > report number. If the device does not use numbered reports, the > first byte should be set to 0. The report data itself should begin > at the second byte. """ _LOGGER.debug('sending feature report 0x%02x with %d bytes: %r', data[0], len(data) - 1, LazyHexRepr(data, start=1)) res = self.hiddev.send_feature_report(data) if res < 0: raise OSError('Could not send feature report to device') if res != len(data): _LOGGER.debug('sent %d total bytes, expected %d', res, len(data)) return res @classmethod def enumerate(cls, api, vid=None, pid=None): infos = api.enumerate(vid or 0, pid or 0) if sys.platform == 'darwin': infos = sorted(infos, key=lambda info: info['path']) for info in infos: yield cls(api, info) @property def path(self): return self.hidinfo['path'] @property def vendor_id(self): return self.hidinfo['vendor_id'] @property def product_id(self): return self.hidinfo['product_id'] @property def release_number(self): return self.hidinfo['release_number'] @property def serial_number(self): return self.hidinfo['serial_number'] @property def bus(self): return 'hid' # follow Linux model @property def address(self): return self.hidinfo['path'].decode(errors='replace') @property def port(self): return None def __eq__(self, other): return type(self) == type(other) and self.bus == other.bus and self.address == other.address class HidapiBus(BaseBus): def find_devices(self, vendor=None, product=None, bus=None, address=None, usb_port=None, **kwargs): """Find compatible HID devices.""" handles = HidapiDevice.enumerate(hid, vendor, product) drivers = sorted(find_all_subclasses(UsbHidDriver), key=lambda x: x.__name__) _LOGGER.debug('searching %s', self.__class__.__name__) _LOGGER.debug( '%s drivers: %s', self.__class__.__name__, ', '.join(map(lambda x: x.__name__, drivers)) ) for handle in handles: if bus and handle.bus != bus: continue if address and handle.address != address: continue if usb_port and handle.port != usb_port: continue # each handle is a HIDAPI hid_device, and that can either mean one # entire HID interface, or one interface ⨯ usage page ⨯ usage id # product, depending on the platform and backend; but, for brevity, # refer them simply as "HID devices" if 'usage' in handle.hidinfo and 'usage_page' in handle.hidinfo: _LOGGER.debug( 'HID device: %04x:%04x (usage_page=%#06x usage=%#06x)', handle.vendor_id, handle.product_id, handle.hidinfo['usage_page'], handle.hidinfo['usage'], ) else: _LOGGER.debug( 'HID device: %04x:%04x (usage n/a)', handle.vendor_id, handle.product_id, ) for drv in drivers: yield from drv.probe(handle, vendor=vendor, product=product, **kwargs) class PyUsbBus(BaseBus): def find_devices(self, vendor=None, product=None, bus=None, address=None, usb_port=None, **kwargs): """ Find compatible regular USB devices.""" drivers = sorted(find_all_subclasses(UsbDriver), key=lambda x: x.__name__) _LOGGER.debug('searching %s', self.__class__.__name__) _LOGGER.debug( '%s drivers: %s', self.__class__.__name__, ', '.join(map(lambda x: x.__name__, drivers)) ) for handle in PyUsbDevice.enumerate(vendor, product): if bus and handle.bus != bus: continue if address and str(handle.address) != address: continue if usb_port and handle.port != usb_port: continue _LOGGER.debug('USB device: %04x:%04x', handle.vendor_id, handle.product_id) for drv in drivers: yield from drv.probe(handle, vendor=vendor, product=product, **kwargs) liquidctl-1.16.0/liquidctl/error.py000066400000000000000000000026461515166127400173060ustar00rootroot00000000000000"""liquidctl errors types. Copyright Jonas Malaco and contributors SPDX-License-Identifier: GPL-3.0-or-later """ # uses the psf/black style from typing import * class LiquidctlError(Exception): """Unspecified liquidctl error. Unstable. """ def __str__(self) -> str: return "unspecified liquidctl error" class ExpectationNotMet(LiquidctlError): """Unstable.""" class NotSupportedByDevice(LiquidctlError): """Operation not supported by the device.""" def __str__(self) -> str: return "operation not supported by the device" class NotSupportedByDriver(LiquidctlError): """Operation not supported by the driver.""" def __init__(self, explanation=None): self._explanation = explanation def __str__(self) -> str: return f"operation not supported by the driver{f': {self._explanation}' if self._explanation is not None else ''}" class UnsafeFeaturesNotEnabled(LiquidctlError): """Required unsafe features have not been enabled.""" def __init__(self, missing_features: Iterable[str]) -> None: self._missing_features = missing_features def __str__(self) -> str: features = ",".join(self._missing_features) return f"required unsafe features have not been enabled: {features}" class Timeout(LiquidctlError): """Operation timed out. Unstable. """ def __str__(self) -> str: return "operation timed out" liquidctl-1.16.0/liquidctl/keyval.py000066400000000000000000000212371515166127400174450ustar00rootroot00000000000000"""Simple key-value based storage for liquidctl drivers. Copyright Jonas Malaco and contributors SPDX-License-Identifier: GPL-3.0-or-later """ import logging import os import stat import sys import tempfile from ast import literal_eval from contextlib import contextmanager if sys.platform == 'win32': import msvcrt else: import fcntl _LOGGER = logging.getLogger(__name__) XDG_RUNTIME_DIR = os.getenv('XDG_RUNTIME_DIR') def get_runtime_dirs(appname='liquidctl'): """Return base directories for application runtime data. Directories are returned in order of preference. """ if sys.platform == 'win32': dirs = [os.path.join(os.getenv('TEMP'), appname)] elif sys.platform == 'darwin': dirs = [os.path.expanduser(os.path.join('~/Library/Caches', appname))] elif sys.platform == 'linux': # threat all other platforms as *nix and conform to XDG basedir spec dirs = [] if XDG_RUNTIME_DIR: dirs.append(os.path.join(XDG_RUNTIME_DIR, appname)) # regardless whether XDG_RUNTIME_DIR is set, fallback to /var/run if it # is available; this allows a user with XDG_RUNTIME_DIR set to still # find data stored by another user as long as it is in the fallback # path (see #37 for a real world use case) if os.path.isdir('/var/run'): dirs.append(os.path.join('/var/run', appname)) assert dirs, 'Could not get a suitable place to store runtime data' else: dirs = [os.path.join('/tmp', appname)] return dirs @contextmanager def _open_with_lock(path, flags, *, shared=False): # os.O_ACCMODE does not exist on Windows access = flags & (os.O_RDONLY | os.O_WRONLY | os.O_RDWR) if access == os.O_RDWR: write_mode = 'r+' elif access == os.O_WRONLY: write_mode = 'w' elif access == os.O_RDONLY: write_mode = 'r' else: raise ValueError(f'Invalid os.open() flags: {flags}') with os.fdopen(os.open(path, flags, 0o666), mode=write_mode) as f: if sys.platform == 'win32': msvcrt.locking(f.fileno(), msvcrt.LK_LOCK, 1) elif shared: fcntl.flock(f, fcntl.LOCK_SH) else: fcntl.flock(f, fcntl.LOCK_EX) yield f if access != os.O_RDONLY: f.flush() # ensure flushing before automatic unlocking if sys.platform != 'win32' and {os.stat, os.chmod} <= os.supports_fd: @contextmanager def _os_open(path, flags, mode=0o777, *, dir_fd=None): """Helper function that wraps os.open() and os.close() in a context manager""" fd = os.open(path, flags, mode, dir_fd=dir_fd) try: yield fd finally: os.close(fd) @contextmanager def _umask_bits(mode): """Context manager that temporarily sets the specified bits in the umask of the current process""" old_umask = os.umask(0o777) os.umask(old_umask | mode) try: yield finally: os.umask(old_umask) def _chmod_bits(path, mode, *, flags=0): """Helper function that sets the specified bits in the Unix permissions of a file""" with _os_open(path, os.O_RDONLY | flags) as fd: st = os.stat(fd) st_mode = stat.S_IMODE(st.st_mode) # do not chmod() if there's nothing to change -- we might not be the owner if st_mode | mode != st_mode: os.chmod(fd, st_mode | mode) else: @contextmanager def _umask_bits(umask): yield def _chmod_bits(path, mode): pass class _FilesystemBackend: def _sanitize(self, key): if not isinstance(key, str): raise TypeError('key must str') if not key.isidentifier(): raise ValueError('key must be valid Python identifier') return key def __init__(self, key_prefixes, runtime_dirs=get_runtime_dirs()): key_prefixes = [self._sanitize(p) for p in key_prefixes] # compute read and write dirs from base runtime dirs: the first base # dir is selected for writes and prefered for reads self._read_dirs = [os.path.join(x, *key_prefixes) for x in runtime_dirs] self._write_dir = self._read_dirs[0] # create leading directories with default permissions os.makedirs(os.path.dirname(self._write_dir), exist_ok=True) with _umask_bits(0o077): # create leaf directory as 0o0700, but do not break ACLs os.makedirs(self._write_dir, exist_ok=True) # set the sticky bit to prevent removal during cleanup _chmod_bits(self._write_dir, 0o1000) # flags=os.O_DIRECTORY, but !win32 _LOGGER.debug('data in %s', self._write_dir) def load(self, key): for base in self._read_dirs: path = os.path.join(base, key) if not os.path.isfile(path): continue try: with _open_with_lock(path, os.O_RDONLY, shared=True) as f: data = f.read().strip() if not data: continue value = literal_eval(data) _LOGGER.debug('loaded %s=%r (from %s)', key, value, path) except OSError as err: _LOGGER.warning('%s exists but could not be read: %s', path, err) except (ValueError, TypeError, SyntaxError, MemoryError, RecursionError) as err: _LOGGER.warning('%s exists but was corrupted: %s', key, err) else: return value _LOGGER.debug('no data (file) found for %s', key) return None def store(self, key, value): data = repr(value) assert literal_eval(data) == value, 'encode/decode roundtrip fails' path = os.path.join(self._write_dir, key) with _open_with_lock(path, os.O_WRONLY | os.O_CREAT | os.O_TRUNC) as f: f.write(data) _LOGGER.debug('stored %s=%r (in %s)', key, value, path) def load_store(self, key, func): value = None new_value = None path = os.path.join(self._write_dir, key) # lock the destination as soon as possible with _open_with_lock(path, os.O_RDWR | os.O_CREAT) as f: # still traverse all possible locations to find the current value for base in self._read_dirs: read_path = os.path.join(base, key) if not os.path.isfile(read_path): continue try: if os.path.samefile(read_path, path): # we already have an exclusive lock to this file data = f.read().strip() f.seek(0) else: with _open_with_lock(read_path, os.O_RDONLY, shared=True) as aux: data = aux.read().strip() if not data: continue value = literal_eval(data) _LOGGER.debug('loaded %s=%r (from %s)', key, value, read_path) break except OSError as err: _LOGGER.warning('%s exists but could not be read: %s', read_path, err) except (ValueError, TypeError, SyntaxError, MemoryError, RecursionError) as err: _LOGGER.warning('%s exists but was corrupted: %s', key, err) else: _LOGGER.debug('no data (file) found for %s', key) new_value = func(value) data = repr(new_value) assert literal_eval(data) == new_value, 'encode/decode roundtrip fails' f.write(data) f.truncate() _LOGGER.debug('replaced with %s=%r (stored in %s)', key, new_value, path) return (value, new_value) class RuntimeStorage: """Unstable API.""" def __init__(self, key_prefixes, backend=None): if not backend: backend = _FilesystemBackend(key_prefixes) self._backend = backend def load(self, key, of_type=None, default=None): """Unstable API.""" value = self._backend.load(key) if value is None: return default elif of_type and not isinstance(value, of_type): return default else: return value def load_store(self, key, func, of_type=None, default=None): """Unstable API.""" def l(value): if value is None: value = default elif of_type and not isinstance(value, of_type): value = default return func(value) return self._backend.load_store(key, l) def store(self, key, value): """Unstable API.""" self._backend.store(key, value) return value liquidctl-1.16.0/liquidctl/pmbus.py000066400000000000000000000121411515166127400172720ustar00rootroot00000000000000"""Constants and methods for interfacing with PMBus compliant devices. Specifications: - Power Systems Management Protocol Specification. Revision 1.3.1, 2015. Available uppon request, check the PMBus website. - Power Systems Management Protocol Specification. Revision 1.2, 2010. Available on the PMBus website. http://pmbus.org/Assets/PDFS/Public/PMBus_Specification_Part_I_Rev_1-2_20100906.pdf http://pmbus.org/Assets/PDFS/Public/PMBus_Specification_Part_II_Rev_1-2_20100906.pdf - System Management Bus (SMBus) Specification. Version 3.1, 2018. Available on the SMBus website. http://smbus.org/specs/SMBus_3_1_20180319.pdf Additional references: - Milios, John. CRC-8 firmware implementations for SMBus. 1999. http://sbs-forum.org/marcom/dc2/20_crc-8_firmware_implementations.pdf - Pircher, Thomas. pycrc -- parameterisable CRC calculation utility and C source code generator: CRC algorithms implemented in Python. https://github.com/tpircher/pycrc/blob/master/pycrc/algorithms.py - White, Robert V. Using the PMBus Protocol. 2005. http://pmbus.org/Assets/Present/Using_The_PMBus_20051012.pdf Copyright Jonas Malaco and contributors Includes a CRC-8 implementation adapted from pycrc by Thomas Pircher. Copyright (c) 2006-2017 Thomas Pircher SPDX-License-Identifier: GPL-3.0-or-later """ import math from enum import IntEnum, IntFlag, unique from liquidctl.util import mkCrcFun @unique class WriteBit(IntFlag): WRITE = 0x00 READ = 0x01 @unique class CommandCode(IntEnum): """Incomplete enumeration of the PMBus command codes.""" PAGE = 0x00 CLEAR_FAULTS = 0x03 PAGE_PLUS_WRITE = 0x05 PAGE_PLUS_READ = 0x06 VOUT_MODE = 0x20 FAN_CONFIG_1_2 = 0x3a FAN_COMMAND_1 = 0x3b FAN_COMMAND_2 = 0x3c FAN_CONFIG_3_4 = 0x3d FAN_COMMAND_3 = 0x3e FAN_COMMAND_4 = 0x3f READ_EIN = 0x86 READ_EOUT = 0x87 READ_VIN = 0x88 READ_IIN = 0x89 READ_VCAP = 0x8a READ_VOUT = 0x8b READ_IOUT = 0x8c READ_TEMPERATURE_1 = 0x8d READ_TEMPERATURE_2 = 0x8e READ_TEMPERATURE_3 = 0x8f READ_FAN_SPEED_1 = 0x90 READ_FAN_SPEED_2 = 0x91 READ_FAN_SPEED_3 = 0x92 READ_FAN_SPEED_4 = 0x93 READ_DUTY_CYCLE = 0x94 READ_FREQUENCY = 0x95 READ_POUT = 0x96 READ_PIN = 0x97 READ_PMBUS_REVISON = 0x98 MFR_ID = 0x99 MFR_MODEL = 0x9a MFR_REVISION = 0x9b MFR_LOCATION = 0x9c MFR_DATE = 0x9d MFR_SERIAL = 0x9e MFR_SPECIFIC_D1 = 0xd1 MFR_SPECIFIC_D2 = 0xd2 MFR_SPECIFIC_D8 = 0xd8 MFR_SPECIFIC_DC = 0xdc MFR_SPECIFIC_EE = 0xee MFR_SPECIFIC_F0 = 0xf0 MFR_SPECIFIC_FC = 0xfc def linear_to_float(bytes, vout_exp=None): """Read PMBus LINEAR11 and ULINEAR16 numeric values. If `vout_exp` is None the value is interpreted as a 2 byte LINEAR11 value. The mantissa is stored in the lower 11 bits, in two's-complement, and the exponent is is stored in the upper 5 bits, also in two's-complement. Otherwise the value is assumed to be encoded in ULINEAR16, where the exponent is read from the lower 5 bits of `vout_exp` (which is assumed to be the output from VOUT_MOE) and the mantissa is the unsigned 2 byte integer in `bytes`. Per the SMBus specification, the lowest order byte is sent first (endianess is little). >>> linear_to_float(bytes.fromhex('67e3')) 54.4375 >>> linear_to_float(bytes.fromhex('6703'), vout_exp=0x1c) 54.4375 """ tmp = int.from_bytes(bytes[:2], byteorder='little') if vout_exp is None: exp = tmp >> 11 fra = tmp & 0x7ff if fra > 1023: fra = fra - 2048 else: exp = vout_exp & 0x1f fra = tmp if exp > 15: exp = exp - 32 return fra * 2**exp def float_to_linear11(float): """Encode float in PMBus LINEAR11 format. A LINEAR11 number is a 2 byte value with an 11 bit two's complement mantissa and a 5 bit two's complement exponent. Per the SMBus specification, the lowest order byte is sent first (endianess is little). >>> float_to_linear11(3.3).hex() '4dc3' >>> float_to_linear11(0.0).hex() '0000' >>> linear_to_float(float_to_linear11(2812)) 2812 >>> linear_to_float(float_to_linear11(-2812)) -2812 """ if float == 0: return b'\x00\x00' max_y = 1023 n = math.ceil(math.log(math.fabs(float)/max_y, 2)) y = round(float * 2**(-n)) if n < 0: n = n + 32 if y < 0: y = y + 2048 return int.to_bytes((n << 11) | y, length=2, byteorder='little') def compute_pec(bytes): """ Compute a 8-bit Packet Error Code (PEC) for `bytes`. According to the SMBus specification, the PEC is computed using a 8-bit cyclic rendundancy check (CRC-8) with the polynominal xâ�¸ + x² + x¹ + xâ�°. The computation uses a 256-byte lookup table. Based on https://github.com/tpircher/pycrc/blob/master/pycrc/algorithms.py. >>> hex(compute_pec(bytes('123456789', 'ascii'))) '0xf4' >>> hex(compute_pec(bytes.fromhex('5c'))) '0x93' >>> hex(compute_pec(bytes.fromhex('5c93'))) '0x0' """ return mkCrcFun('crc-8')(bytes) liquidctl-1.16.0/liquidctl/util.py000066400000000000000000000372131515166127400171300ustar00rootroot00000000000000"""Assorted utilities used by drivers and the CLI. Copyright Jonas Malaco and contributors SPDX-License-Identifier: GPL-3.0-or-later """ import colorsys import logging from ast import literal_eval from enum import Enum, EnumMeta, unique from typing import Optional from functools import lru_cache import crcmod.predefined from liquidctl.error import UnsafeFeaturesNotEnabled _LOGGER = logging.getLogger(__name__) HUE2_MAX_ACCESSORIES_IN_CHANNEL = 6 @unique class Hue2Accessory(Enum): """Mapping of HUE 2 accessory IDs and names. >>> Hue2Accessory(4) >>> str(Hue2Accessory(4)) 'HUE 2 LED Strip 300 mm' Unknown IDs are automatically translated to equivalent pseudo-names. >>> Hue2Accessory(59) >>> Hue2Accessory(59).value == Hue2Accessory(59).value True >>> Hue2Accessory(59) != Hue2Accessory(58) True """ HUE_PLUS_LED_STRIP = (0x01, 'HUE+ LED Strip') AER_RGB1_FAN = (0x02, 'AER RGB 1') HUE2_LED_STRIP_300 = (0x04, 'HUE 2 LED Strip 300 mm') HUE2_LED_STRIP_250 = (0x05, 'HUE 2 LED Strip 250 mm') HUE2_LED_STRIP_200 = (0x06, 'HUE 2 LED Strip 200 mm') HUE2_CABLE_COMB = (0x07, 'HUE 2 Cable Comb') HUE2_UNDERGLOW_300 = (0x09, 'HUE 2 Underglow 300 mm') HUE2_UNDERGLOW_200 = (0x0a, 'HUE 2 Underglow 200 mm') AER_RGB2_120 = (0x0b, 'AER RGB 2 120 mm') AER_RGB2_140 = (0x0c, 'AER RGB 2 140 mm') KRAKENX_GEN4_RING = (0x10, 'Kraken X (X53, X63 or X73) Pump Ring') KRAKENX_GEN4_LOGO = (0x11, 'Kraken X (X53, X63 or X73) Pump Logo') F120_RGB = (0x13, 'F120 RGB') F140_RGB = (0x14, 'F140 RGB') F140_RGB_CORE = (0x17, 'F140 RGB Core') F240_RGB_CORE = (0x1b, 'F240 RGB Core') F360_RGB_CORE = (0x1d, 'F360 RGB Core') def __new__(cls, value, pretty_name): member = object.__new__(cls) member.pretty_name = pretty_name member._value_ = value return member @classmethod def _missing_(cls, value): dummy = object.__new__(cls) dummy.pretty_name = 'Unknown' dummy._name_ = f'UNKNOWN_{value}' dummy._value_ = value return dummy def __str__(self): return self.pretty_name def __eq__(self, other): return self.value == other.value class LazyHexRepr: """Wrap an indexed collection of bytes with a lazy hex __repr__. This is useful for logging, which uses `%` string formatting to lazily generate the messages, only when needed. >>> '%r' % LazyHexRepr(b'abc') '61:62:63' Start and end indices may also be specified. >>> '%r' % LazyHexRepr(b'abc', start=1) '62:63' >>> '%r' % LazyHexRepr(b'abc', end=-1) '61:62' """ def __init__(self, data, start=None, end=None, sep=':'): self.data = data self.start = start self.end = end self.sep = sep def __repr__(self): hexvals = map(lambda x: f'{x:02x}', self.data[self.start: self.end]) return self.sep.join(hexvals) class _RelaxedNamesEnum(EnumMeta): def __getitem__(cls, name): return super().__getitem__(name.upper()) class RelaxedNamesEnum(Enum, metaclass=_RelaxedNamesEnum): """Enum class where name lookup is case insensitive.""" pass def rpadlist(list, width, fillitem=0): """Pad `list` with `fillitem` to `width`. >>> rpadlist([1, 2, 3], 5) [1, 2, 3, 0, 0] >>> rpadlist([1, 2, 3], 5, fillitem=None) [1, 2, 3, None, None] """ pad_width = width - len(list) list.extend([fillitem] * pad_width) return list def clamp(value, clampmin, clampmax): """Clamp numeric `value` to interval [`clampmin`, `clampmax`].""" clamped = max(clampmin, min(clampmax, value)) if clamped != value: _LOGGER.debug('clamped %s to interval [%s, %s]', value, clampmin, clampmax) return clamped def fraction_of_byte(ratio=None, percentage=None): """Return `ratio` xor `percentage` expressed as a fraction of 255. >>> fraction_of_byte(ratio=.8) 204 >>> fraction_of_byte(percentage=20) 51 """ if percentage is not None: ratio = percentage / 100 if ratio is not None: if ratio < 0 or ratio > 1: raise ValueError('cannot express ratios outside of [0, 1]') return round(ratio * 255) raise ValueError('either ratio or percentage must not be None') def u16le_from(buffer, offset=0): """Read an unsigned 16-bit little-endian integer from `buffer`. >>> u16le_from(b'\x45\x05\x03') 1349 >>> u16le_from(b'\x45\x05\x03', offset=1) 773 """ return int.from_bytes(buffer[offset: offset + 2], byteorder='little') def u16be_from(buffer, offset=0): """Read an unsigned 16-bit big-endian integer from `buffer`. >>> u16be_from(b'\x45\x05\x03') 17669 >>> u16be_from(b'\x45\x05\x03', offset=1) 1283 """ return int.from_bytes(buffer[offset: offset + 2], byteorder='big') def delta(profile): """Compute a profile's Δx and Δy.""" return [(cur[0]-prev[0], cur[1]-prev[1]) for cur, prev in zip(profile[1:], profile[:-1])] def normalize_profile(profile, critx, max_value=100): """Normalize a [(x:int, y:int), ...] profile. The normalized profile will ensure that: - the profile is a monotonically increasing function (i.e. for every i, i > 1, x[i] - x[i-1] > 0 and y[i] - y[i-1] >= 0) - the profile is sorted - a (critx, 100) failsafe is enforced - only the first point that sets y := 100 is kept >>> normalize_profile([(30, 40), (25, 25), (35, 30), (40, 35), (40, 80)], 60) [(25, 25), (30, 40), (35, 40), (40, 80), (60, 100)] >>> normalize_profile([(30, 40), (25, 25), (35, 30), (40, 100)], 60) [(25, 25), (30, 40), (35, 40), (40, 100)] >>> normalize_profile([(30, 40), (25, 25), (35, 100), (40, 100)], 60) [(25, 25), (30, 40), (35, 100)] >>> normalize_profile([], 60) [(60, 100)] >>> normalize_profile([], 60, 300) [(60, 300)] """ profile = sorted(list(profile) + [(critx, max_value)], key=lambda p: (p[0], -p[1])) mono = profile[0:1] for (x, y), (xb, yb) in zip(profile[1:], profile[:-1]): if x == xb: continue if y < yb: y = yb mono.append((x, y)) if y == max_value: break return mono def interpolate_profile(profile, x): """Interpolate y given x and a [(x: int, y: int), ...] profile. Requires the profile to be sorted by x, with no duplicate x values (see normalize_profile). Expects profiles with integer x and y values, and returns duty rounded to the nearest integer. >>> interpolate_profile([(20, 50), (50, 70), (60, 100)], 33) 59 >>> interpolate_profile([(20, 50), (50, 70)], 19) 50 >>> interpolate_profile([(20, 50), (50, 70)], 51) 70 >>> interpolate_profile([(20, 50)], 20) 50 """ lower, upper = profile[0], profile[-1] for step in profile: if step[0] <= x: lower = step if step[0] >= x: upper = step break if lower[0] == upper[0]: return lower[1] return round(lower[1] + (x - lower[0])/(upper[0] - lower[0])*(upper[1] - lower[1])) def color_from_str(x): """Parse a color, and, if necessary, translate it into the RGB model. The input string can be encoded in several formats: - ffffff: hexadecimal RGB implicit tuple (with or without the prefix '0x') - rgb(255, 255, 255): explicit RGB, R,G,B ∊ [0, 255] - hsv(360, 100, 100): explicit HSV, H ∊ [0, 360], SV ∊ [0, 100] - hsl(360, 100, 100): explicit HSL, H ∊ [0, 360], SV ∊ [0, 100] >>> color_from_str('fF7f3f') [255, 127, 63] >>> color_from_str('0xfF7f3f') [255, 127, 63] >>> color_from_str('0XfF7f3f') [255, 127, 63] >>> color_from_str('#fF7f3f') [255, 127, 63] >>> color_from_str('Rgb(255, 127, 63)') [255, 127, 63] >>> color_from_str('Hsv(20, 75, 100)') [255, 128, 64] >>> color_from_str('Hsl(20, 100, 62)') [255, 126, 61] >>> color_from_str('fF7f3f1f') Traceback (most recent call last): ... ValueError: cannot parse color: fF7f3f1f >>> color_from_str('0bff00ff') Traceback (most recent call last): ... ValueError: cannot parse color: 0bff00ff >>> color_from_str('rgb()') Traceback (most recent call last): ... ValueError: expected 3-element triple: rgb() >>> color_from_str('rgb(255)') Traceback (most recent call last): ... ValueError: expected 3-element triple: rgb(255) >>> color_from_str('rgb(300, 255, 255)') Traceback (most recent call last): ... ValueError: expected value in range [0, 255]: 300 in rgb(300, 255, 255) >>> color_from_str('hsv(360, 150, 100)') Traceback (most recent call last): ... ValueError: expected value in range [0, 100]: 150 in hsv(360, 150, 100) >>> color_from_str('hsl(360, 100, 150)') Traceback (most recent call last): ... ValueError: expected value in range [0, 100]: 150 in hsl(360, 100, 150) """ def parse_triple(sub, maxvalues): literal = literal_eval(sub) if not isinstance(literal, tuple) or len(literal) != 3: raise ValueError(f'expected 3-element triple: {x}') for value, maxvalue in zip(literal, maxvalues): if not isinstance(value, int) and not isinstance(value, float): raise ValueError(f'expected float or int: {value} in {x}') if value < 0 or value > maxvalue: raise ValueError(f'expected value in range [0, {maxvalue}]: {value} in {x}') return literal xl = x.lower() if xl.startswith('rgb('): r, g, b = parse_triple(x[3:], (255, 255, 255)) return [r, g, b] elif xl.startswith('hsv('): h, s, v = parse_triple(x[3:], (360, 100, 100)) return list(map(lambda b: round(b*255), colorsys.hsv_to_rgb(h/360, s/100, v/100))) elif xl.startswith('hsl('): h, s, l = parse_triple(x[3:], (360, 100, 100)) return list(map(lambda b: round(b*255), colorsys.hls_to_rgb(h/360, l/100, s/100))) elif len(x) == 6: return list(bytes.fromhex(x)) elif len(x) == 7 and x.startswith('#'): return list(bytes.fromhex(x[1:])) elif len(x) == 8 and xl.startswith('0x'): return list(bytes.fromhex(x[2:])) else: raise ValueError(f'cannot parse color: {x}') def check_unsafe(*reqs, unsafe=None, error=False, **kwargs): """Check if unsafe feature requirements are met. Unstable. Checks if the requirements in the positional arguments (`*reqs`) are all met by the `unsafe` string list of enabled features. >>> check_unsafe('foo', unsafe='foo,bar') True >>> check_unsafe('foo', 'bar', unsafe='foo,bar') True >>> check_unsafe('foo', unsafe=None) False >>> check_unsafe('foo', 'baz', unsafe='foo,bar') False If `error=True` and some requirements have not been met, raises `liquidctl.error.UnsafeFeaturesNotEnabled`. In the default `error=False` mode, a boolean is return indicating whether all requirements were met. >>> check_unsafe('foo', 'baz', unsafe='foo,bar', error=True) Traceback (most recent call last): ... liquidctl.error.UnsafeFeaturesNotEnabled: required unsafe features have not been enabled: baz In driver code, `unsafe` is normally passed in `**kwargs`. >>> kwargs = {'unsafe': 'foo,bar'} >>> check_unsafe('foo', 'bar', **kwargs) True >>> check_unsafe('foo', 'baz', error=True, **kwargs) Traceback (most recent call last): ... liquidctl.error.UnsafeFeaturesNotEnabled: required unsafe features have not been enabled: baz """ if unsafe: reqs = tuple(filter(lambda x: x not in unsafe, reqs)) if not reqs: return True if error: raise UnsafeFeaturesNotEnabled(reqs) return False def map_direction(direction, forward=None, backward=None): """Check a `direction` option and run the appropriate closure. Unstable. Accepts both US and UK spellings. Raises a `ValueError` if the option value is neither forward[s] nor backward[s]. >>> map_direction('forward', 3, 42) 3 >>> map_direction('forwards', 3, 42) 3 >>> map_direction('backward', 3, 42) 42 >>> map_direction('backwards', 3, 42) 42 >>> map_direction('fooowwd', 3, 42) Traceback (most recent call last): ... ValueError: invalid direction: 'fooowwd' """ if 'forwards'.startswith(direction): return forward elif 'backwards'.startswith(direction): return backward else: raise ValueError(f'invalid direction: {direction!r}') def fan_mode_parser(value: Optional[str], max_fans: Optional[int] = None) -> dict: """Convert the --fan-mode=:[,...] options into a {key: value, ....} dictionary. The default is an empty dictionary. Unstable. >>> fan_mode_parser(None, 5) {} >>> fan_mode_parser('', 5) {} >>> fan_mode_parser('1:dc', 5) {'1': 'dc'} >>> fan_mode_parser('2:auto', 5) {'2': 'auto'} >>> fan_mode_parser('3:off', 5) {'3': 'off'} >>> fan_mode_parser('1:DC', 5) {'1': 'dc'} >>> fan_mode_parser('2:AUTO', 5) {'2': 'auto'} >>> fan_mode_parser('3:OFF', 5) {'3': 'off'} >>> fan_mode_parser('5:OFF', 5) {'5': 'off'} >>> fan_mode_parser('5:OFF') {'5': 'off'} >>> fan_mode_parser('1:dc,2:auto,3:off,4:pwm', 5) {'1': 'dc', '2': 'auto', '3': 'off', '4': 'pwm'} >>> fan_mode_parser('1:dc, 2:auto, 3:off', 5) {'1': 'dc', '2': 'auto', '3': 'off'} >>> fan_mode_parser('4:dc, 3:auto, 2:off', 5) {'2': 'off', '3': 'auto', '4': 'dc'} >>> fan_mode_parser('1 :dc, 2: auto, 3 : off, 4 : auto ', 5) {'1': 'dc', '2': 'auto', '3': 'off', '4': 'auto'} >>> fan_mode_parser('1:dc:dc', 5) Traceback (most recent call last): ... ValueError: invalid format, should be ':' >>> fan_mode_parser('-1:dc', 5) Traceback (most recent call last): ... ValueError: invalid fan number: '-1' >>> fan_mode_parser('0:pwm', 5) Traceback (most recent call last): ... ValueError: invalid fan number: '0' >>> fan_mode_parser('5:dc', 4) Traceback (most recent call last): ... ValueError: invalid fan number: '5' >>> fan_mode_parser('a:dc', 5) Traceback (most recent call last): ... ValueError: invalid fan number: 'a' >>> fan_mode_parser('1:PMW', 5) Traceback (most recent call last): ... ValueError: invalid fan mode: 'PMW' """ if not value: return {} parts = value.split(',') opts = {} for p in parts: p2 = p.split(':') if len(p2) != 2: raise ValueError("invalid format, should be ':'") [key, val] = [i.strip() for i in p2] try: key_val = int(key, 10) except ValueError: raise ValueError(f"invalid fan number: '{key}'") if key_val <= 0 or (max_fans is not None and key_val > max_fans): raise ValueError(f"invalid fan number: '{key}'") if val.lower() not in ['off', 'auto', 'dc', 'pwm']: raise ValueError(f"invalid fan mode: '{val}'") opts.update({key: val.lower()}) return dict(sorted(opts.items(), key=lambda item: item[0])) @lru_cache(maxsize=None) def mkCrcFun(crc_name): """Efficiently construct a predefined CRC function. Unstable. For the available algorithms, see . This function implements memoization, only constructing each requested CRC algorithm implementation once. """ return crcmod.predefined.mkCrcFun(crc_name) liquidctl-1.16.0/liquidctl/version.py000066400000000000000000000031661515166127400176400ustar00rootroot00000000000000"""Interfaces to read the liquidctl version. Copyright Jonas Malaco and contributors SPDX-License-Identifier: GPL-3.0-or-later """ # uses the psf/black style # keep setuptools_scm parameters in sync with pyproject.toml _SETUPTOOLS_SCM_PARAMS = {"version_scheme": "release-branch-semver"} def _build_version(): try: from liquidctl._version import version, version_tuple return (version, version_tuple) except ModuleNotFoundError: return None def _runtime_version(): try: from setuptools_scm import get_version except ModuleNotFoundError: return None # first, assume that we're a git checkout try: version = get_version(**_SETUPTOOLS_SCM_PARAMS) if version: return (version, None) except LookupError: pass # if that also failed, assume that we're a tarball try: guess = get_version(parentdir_prefix_version="liquidctl-", **_SETUPTOOLS_SCM_PARAMS) if guess: if "+" in guess: guess += "-guessed" else: guess += "+guessed" return (guess, None) except LookupError: pass return None # - try to get the version written by setuptools_scm during the build; # - otherwise try to compute one right now; # - failing that too, use an obviously invalid value # # (_version_tuple is kept private as it's only available in some cases and # don't want to commit to it yet) version, _version_tuple = _build_version() or _runtime_version() or ("0.0.0-unknown", None) # old field name (liquidctl.__version__ is preferred now) __version__ = version liquidctl-1.16.0/pyproject.toml000066400000000000000000000050571515166127400165240ustar00rootroot00000000000000[build-system] requires = [ "setuptools >= 45", "setuptools_scm[toml] >= 6.2", "wheel", ] build-backend = "setuptools.build_meta" [tool.setuptools_scm] write_to = "liquidctl/_version.py" # keep the following parameters in sync with liquidctl/version.py version_scheme = "release-branch-semver" [tool.pytest.ini_options] addopts = "--doctest-modules -ra" [tool.black] line-length = 100 target-version = ["py310", "py311", "py312", "py313", "py314"] extend-exclude = ''' /* To have all items start with |, this isn't a real comment; still, it shouldn't match any real path. */ # don't override what's automatically generated by setuptools_scm | (^/liquidctl/_version\.py$) # exclude some old files, pending a future conversion; by default, any new # files should *not* be excluded | (^/extra/contrib/fusion_rgb_cycle\.py$) | (^/extra/windows/LQiNFO\.py$) | (^/liquidctl/cli\.py$) | (^/liquidctl/driver/__init__\.py$) | (^/liquidctl/driver/asetek\.py$) | (^/liquidctl/driver/asetek_pro\.py$) | (^/liquidctl/driver/commander_core\.py$) | (^/liquidctl/driver/commander_pro\.py$) | (^/liquidctl/driver/corsair_hid_psu\.py$) | (^/liquidctl/driver/ddr4\.py$) | (^/liquidctl/driver/hydro_platinum\.py$) | (^/liquidctl/driver/kraken2\.py$) | (^/liquidctl/driver/nvidia\.py$) | (^/liquidctl/driver/nzxt_epsu\.py$) | (^/liquidctl/driver/rgb_fusion2\.py$) | (^/liquidctl/driver/smart_device\.py$) | (^/liquidctl/driver/smbus\.py$) | (^/liquidctl/driver/usb\.py$) | (^/liquidctl/error\.py$) | (^/liquidctl/extraversion\.py$) | (^/liquidctl/keyval\.py$) | (^/liquidctl/pmbus\.py$) | (^/liquidctl/util\.py$) | (^/tests/_testutils\.py$) | (^/tests/test_api\.py$) | (^/tests/test_asetek\.py$) | (^/tests/test_asetek_pro\.py$) | (^/tests/test_backward_compatibility_10\.py$) | (^/tests/test_backward_compatibility_11\.py$) | (^/tests/test_backward_compatibility_12\.py$) | (^/tests/test_backward_compatibility_13\.py$) | (^/tests/test_backward_compatibility_14\.py$) | (^/tests/test_backward_compatibility_15\.py$) | (^/tests/test_cli\.py$) | (^/tests/test_commander_core\.py$) | (^/tests/test_commander_pro\.py$) | (^/tests/test_corsair_hid_psu\.py$) | (^/tests/test_ddr4\.py$) | (^/tests/test_hidapi_device\.py$) | (^/tests/test_hydro_platinum\.py$) | (^/tests/test_keyval\.py$) | (^/tests/test_kraken2\.py$) | (^/tests/test_nvidia\.py$) | (^/tests/test_nzxt_epsu\.py$) | (^/tests/test_rgb_fusion2\.py$) | (^/tests/test_smart_device\.py$) | (^/tests/test_smbus\.py$) | (^/tests/test_usb\.py$) ''' liquidctl-1.16.0/setup.cfg000066400000000000000000000030541515166127400154240ustar00rootroot00000000000000[metadata] name = liquidctl url = https://github.com/liquidctl/liquidctl description = Cross-platform tool and drivers for liquid coolers and other devices long_description = file: extra/dist/pypi-readme.md long_description_content_type = text/markdown author = Jonas Malaco author_email = jonas@protocubo.io license = GPL-3.0-or-later classifiers = Development Status :: 5 - Production/Stable Intended Audience :: Developers Intended Audience :: End Users/Desktop Operating System :: OS Independent Programming Language :: Python :: 3.14 Programming Language :: Python :: 3.13 Programming Language :: Python :: 3.12 Programming Language :: Python :: 3.11 Programming Language :: Python :: 3.10 Topic :: System :: Hardware :: Hardware Drivers keywords = aio aquacomputer asus clc cli corsair cross-platform dram driver evga fan-controller gigabyte hue2 kraken led-controller liquid-cooler nzxt power-supply smart-device project_urls = Documentation = https://github.com/liquidctl/liquidctl/blob/main/README.md Changelog = https://github.com/liquidctl/liquidctl/blob/main/CHANGELOG.md Source = https://github.com/liquidctl/liquidctl [options] packages = find: python_requires = >=3.10 setup_requires = setuptools_scm install_requires = colorlog crcmod==1.7 docopt hidapi pyusb pillow libusb-package; sys_platform == 'win32' or sys_platform == 'cygwin' winusbcdc>=1.5; sys_platform == 'win32' smbus; sys_platform == "linux" [options.entry_points] console_scripts = liquidctl = liquidctl.cli:main liquidctl-1.16.0/tests/000077500000000000000000000000001515166127400147435ustar00rootroot00000000000000liquidctl-1.16.0/tests/_testutils.py000066400000000000000000000205471515166127400175240ustar00rootroot00000000000000import os from collections import deque, namedtuple from datetime import timedelta from enum import Enum, unique from tempfile import mkdtemp from liquidctl.driver.base import * from liquidctl.keyval import RuntimeStorage, _FilesystemBackend from liquidctl.driver.usb import _DEFAULT_TIMEOUT_MS Report = namedtuple('Report', ['number', 'data']) def noop(*args, **kwargs): return None class MockRuntimeStorage(RuntimeStorage): def __init__(self, key_prefixes, backend=None): if not backend: run_dir = mkdtemp('run_dir') backend = _FilesystemBackend(key_prefixes, runtime_dirs=[run_dir]) super().__init__(key_prefixes, backend) class MockHidapiDevice: def __init__(self, vendor_id=None, product_id=None, release_number=None, serial_number=None, bus=None, address=None, path=None): self.vendor_id = vendor_id self.product_id = product_id self.release_number = release_number self.serial_number = serial_number self.bus = bus self.address = address self.path = path or b'' self.port = None self.open = noop self.close = noop self.clear_enqueued_reports = noop self._read = deque() self.sent = list() def preload_read(self, report): self._read.append(report) def read(self, length, *, timeout=_DEFAULT_TIMEOUT_MS): if self._read: number, data = self._read.popleft() if number: return [number] + list(data)[:length] else: return list(data)[:length] return None def write(self, data): data = bytes(data) # ensure data is convertible to bytes self.sent.append(Report(data[0], list(data[1:]))) return len(data) def get_feature_report(self, report_id, length): if self._read: try: report = next(filter(lambda x: x.number == report_id, self._read)) number, data = report self._read.remove(report) except StopIteration: return None # length dictates the size of the buffer, and if it's not large # enough "ioctl (GFEATURE): Value too large for defined data type" # may happen on Linux; see: # https://github.com/liquidctl/liquidctl/issues/151#issuecomment-665119675 assert length >= len(data) + 1, 'buffer not large enough for received report' return [number] + list(data)[:length] return None def send_feature_report(self, data): return self.write(data) class MockPyusbDevice(): def __init__(self, vendor_id=None, product_id=None, release_number=None, serial_number=None, bus=None, address=None, port=None): assert port is None, \ 'port numbers are only available on libusb-1.0 and should not be dependended on' self.vendor_id = vendor_id self.product_id = product_id self.release_number = release_number self.serial_number = serial_number self.bus = bus self.address = address self.port = port self.open = noop self.claim = noop self.release = noop self.close = noop self._reset_sent() def read(self, endpoint, length, *, timeout=_DEFAULT_TIMEOUT_MS): if len(self._responses): return self._responses.popleft() return [0] * length def write(self, endpoint, data, *, timeout=_DEFAULT_TIMEOUT_MS): self._sent_xfers.append(('write', endpoint, data)) def ctrl_transfer(self, bmRequestType, bRequest, wValue=0, wIndex=0, data_or_wLength=None, timeout=_DEFAULT_TIMEOUT_MS): self._sent_xfers.append(('ctrl_transfer', bmRequestType, bRequest, wValue, wIndex, data_or_wLength)) def _reset_sent(self): self._sent_xfers = list() self._responses = deque() VirtualEeprom = namedtuple('VirtualEeprom', ['name', 'data']) class VirtualSmbus: def __init__(self, address_count=256, register_count=256, name='i2c-99', description='Virtual', parent_vendor=0xff01, parent_device=0xff02, parent_subsystem_vendor=0xff10, parent_subsystem_device=0xff20, parent_driver='virtual'): self._open = False self._data = [[0] * register_count for _ in range(address_count)] self.name = name self.description = description self.parent_vendor = parent_vendor self.parent_device = parent_device self.parent_subsystem_vendor = parent_subsystem_vendor self.parent_subsystem_device = parent_subsystem_device self.parent_driver = parent_driver def open(self): self._open = True def read_byte(self, address): if not self._open: raise OSError('closed') return self._data[address][0] def read_byte_data(self, address, register): if not self._open: raise OSError('closed') return self._data[address][register] def read_word_data(self, address, register): if not self._open: raise OSError('closed') return self._data[address][register] def read_block_data(self, address, register): if not self._open: raise OSError('closed') return self._data[address][register] def write_byte(self, address, value): if not self._open: raise OSError('closed') self._data[address][0] = value def write_byte_data(self, address, register, value): if not self._open: raise OSError('closed') self._data[address][register] = value def write_word_data(self, address, register, value): if not self._open: raise OSError('closed') self._data[address][register] = value def write_block_data(self, address, register, data): if not self._open: raise OSError('closed') self._data[address][register] = data def close(self): self._open = False def emulate_eeprom_at(self, address, name, data): self._data[address] = VirtualEeprom(name, data) # hack def load_eeprom(self, address): return self._data[address] # hack @unique class VirtualControlMode(Enum): QUIET = 0x0 BALANCED = 0x1 EXTREME = 0x2 CallArgs = namedtuple('CallArgs', ['args', 'kwargs']) class VirtualBusDevice(BaseDriver): def __init__(self, *args, **kwargs): self.call_args = dict() self.call_args['__init__'] = CallArgs(args, kwargs) self.connected = False def connect(self, *args, **kwargs): self.call_args['connect'] = CallArgs(args, kwargs) self.connected = True return self def disconnect(self, *args, **kwargs): self.call_args['disconnect'] = CallArgs(args, kwargs) self.connected = False def initialize(self, *args, **kwargs): self.call_args['initialize'] = CallArgs(args, kwargs) return [ ('Firmware version', '3.14.16', ''), ] def get_status(self, *args, **kwargs): self.call_args['status'] = CallArgs(args, kwargs) return [ ('Temperature', 30.4, '°C'), ('Fan control mode', VirtualControlMode.QUIET, ''), ('Animation', None, ''), ('Uptime', timedelta(hours=18, minutes=23, seconds=12), ''), ('Hardware mode', True, ''), ] def set_fixed_speed(self, *args, **kwargs): self.call_args['set_fixed_speed'] = CallArgs(args, kwargs) def set_speed_profile(self, *args, **kwargs): self.call_args['set_speed_profile'] = CallArgs(args, kwargs) def set_color(self, *args, **kwargs): self.call_args['set_color'] = CallArgs(args, kwargs) @property def description(self): return 'Virtual Bus Device' @property def vendor_id(self): return 0x1234 @property def product_id(self): return 0xabcd @property def release_number(self): None @property def serial_number(self): raise OSError() @property def bus(self): return 'virtual' @property def address(self): return 'virtual_address' @property def port(self): return None class VirtualBus(BaseBus): def find_devices(self, **kwargs): yield from [VirtualBusDevice()] liquidctl-1.16.0/tests/rgb.gif000066400000000000000000000141761515166127400162150ustar00rootroot00000000000000GIF89aèè‘ÿÿÿÿÿÿ!ÿ NETSCAPE2.0!ÿ XMP DataXMP ÿþýüûúùø÷öõôóòñðïîíìëêéèçæåäãâáàßÞÝÜÛÚÙØ×ÖÕÔÓÒÑÐÏÎÍÌËÊÉÈÇÆÅÄÃÂÁÀ¿¾½¼»º¹¸·¶µ´³²±°¯®­¬«ª©¨§¦¥¤£¢¡ Ÿž�œ›š™˜—–•”“’‘��Ž�Œ‹Š‰ˆ‡†…„ƒ‚�€~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!  !ù,èèÿ„�©Ëí£œ´Ú‹³Þ¼û†âH–扦êʶî ÇòL×ö�çúÎ÷þ ‡Ä¢ñˆL*—̦ó �J§ÔªõŠÍj·Ü®÷ ‹Çä²ùŒN«×ì¶û �ËçôºýŽÏë÷ü¾ÿ(8HXhxˆ˜¨¸ÈØèø)9IYiy‰™©¹ÉÙéù *:JZjzŠšªºÊÚêú +;K[k{‹›«»ËÛëû ,N^n~Žž®¾ÎÞîþ/?O_o�Ÿ¯¿Ïßïÿ0 À� <ˆ0¡Â… :|1¢Ä‰+Z¼ˆ1£Æ�ÿ;zü2¤È‘$Kš<‰2¥Ê•,[º| 3¦Ì™4kÚ¼‰3§Î�<{úü 4¨Ð¡D‹=Š4©Ò¥L›:} 5ªÔ©T«Z½Š5«Ö­\»zý 6¬Ø±dËš=‹6­ÚµlÛº} 7®Ü¹tëÚ½‹7¯Þ½|ûúý 8°àÁ„ >Œ8±âÅŒ;~ 9²äÉ”+[¾Œ9³æÍœ;{þ :´èѤK›>�:µêÕ¬[»~ ;¶ìÙ´kÛ¾�;·îݼ{ûþ <¸ðáÄ‹?Ž<¹òåÌ›;=ºôéÔ«[¿Ž=»öíÜ»{ÿ>¼øñäË›?�>½úõìÛ»?¾üùôëÛ¿�?¿þýüûûÿÿ`€H`�ˆ`‚ .È`ƒ>a„NHa…^ˆa†nÈa‡~bˆ"ŽHb‰&žˆbŠ*®Èb‹.¾cŒ2ÎHc�6ÞˆcŽ:îÈc�>þd�BId‘F‰d’J.Éd“N> e”RNIe•V^‰e–ZnÉe—^~ f˜bŽIf™fž‰fšj®Éf›n¾ gœrÎIg�vÞ‰gžzîÉgŸ~þ h ‚Jh¡†Šh¢Š.Êh£Ž> i¤’NJi¥–^Ši¦šnÊi§ž~ j¨¢ŽJj©¦žŠjªª®Êj«®¾ k¬²ÎJk­¶ÞŠk®ºîÊk¯¾þ l°ÂKl±Æ‹l²Êÿ.Ël³Î> m´ÒNKmµÖ^‹m¶ÚnËm·Þ~ n¸âŽKn¹æž‹nºê®Ën»î¾ o¼òÎKo½öÞ‹o¾úîËo¿þþ pÀLpÁŒp /ÌpÃ? qÄOLqÅ_ŒqÆoÌqÇ rÈ"�LrÉ&ŸŒrÊ*¯ÌrË.¿ sÌ2ÏLsÍ6ߌsÎ:ïÌsÏ>ÿ tÐBMtÑF�tÒJ/ÍtÓN? uÔROMuÕV_�uÖZoÍu×^ vØb�MvÙfŸ�vÚj¯ÍvÛn¿ wÜrÏMwÝvß�wÞzïÍwß~ÿ xà‚NxᆎxâŠ/ÎxãŽ?yä’ONyå–ÿ_ŽyæšoÎyçžzè¢�Nz馟ŽzꪯÎz뮿{ì²ÏN{í¶ßŽ{îºïÎ{ï¾ÿ|ðÂO|ñÆ�|òÊ/Ï|óÎ?}ôÒOO}õÖ_�}öÚoÏ}÷Þ~øâ�O~ùæŸ�~úê¯Ï~ûî¿üòÏOýöß�þúïÏÿþÿÀ p€, ˆÀ*p� l ÁJp‚¬ /ˆÁ jpƒì ?Šp„$,¡ OˆÂªp…,l¡ _ÃÊp†4¬¡ oˆÃêp‡<ì¡Ä qˆD,¢�ˆÄ$*q‰Ll¢ŸÅ(JqŠT¬¢¯ˆÅ,ÿjq‹\좿Æ0ŠqŒd,£ψÆ4ªq�ll£ßÇ8ÊqŽt¬£ïˆÇ<êq�|ì£ÿÈ@ r�„,¤!‰ÈD*r‘Œl¤# ÉHJr’”¬¤%/‰ÉLjr“œì¤'? ÊPŠr”¤,¥)O‰ÊTªr•¬l¥+_ ËXÊr–´¬¥-o‰Ë\êr—¼ì¥/ Ì` s˜Ä,¦1�‰Ìd*s™Ìl¦3Ÿ ÍhJsšÔ¬¦5¯‰Íljs›Üì¦7¿ ÎpŠsœä,§9ωÎtªs�ìl§;ß ÏxÊsžô¬§=ï‰Ï|êsŸüì§?ÿ Ѐ t -¨AŠÐ„*t¡ m¨C шJt¦¢­¨E/ŠÑŒjt£í¨G? Ò�Št¤$-©IOŠÒ”ªt¥,m©K_ Ó˜Êt¦4­©MoŠÓœêt§<í©O Ô  u¨D-ªQ�ŠÔ¤*u©LmªSŸ Õ¨JuªT­ªU¯ŠÕ¬ju«\íªW¿ Ö°Šu¬d-«YÏŠÖ´ªu­lm«[ß ×¸Êu®t­«]ïŠ×¼êu¯|í«_ÿ ØÀ v°„-¬a‹ØÄÖ¯!ù,èèÿŒ�©Ëí£œ´Ú‹³Þ¼û†âH–扦êʶî ÇòL×ö�çúÎ÷þ ‡Ä¢ñˆL*—̦ó �J§ÔªõŠÍj·Ü®÷ ‹Çä²ùŒN«×ì¶û �ËçôºýŽÏë÷ü¾ÿ(8HXhxˆ˜¨¸ÈØèø)9IYiy‰™©¹ÉÙéù *:JZjzŠšªºÊÚêú +;K[k{‹›«»ËÛëû ,N^n~Žž®¾ÎÞîþ/?O_o�Ÿ¯¿Ïßïÿ0 À� <ˆ0¡Â… :|1¢Ä‰+Z¼ˆ1£Æ�ÿ;zü2¤È‘$Kš<‰2¥Ê•,[º| 3¦Ì™4kÚ¼‰3§Î�<{úü 4¨Ð¡D‹=Š4©Ò¥L›:} 5ªÔ©T«Z½Š5«Ö­\»zý 6¬Ø±dËš=‹6­ÚµlÛº} 7®Ü¹tëÚ½‹7¯Þ½|ûúý 8°àÁ„ >Œ8±âÅŒ;~ 9²äÉ”+[¾Œ9³æÍœ;{þ :´èѤK›>�:µêÕ¬[»~ ;¶ìÙ´kÛ¾�;·îݼ{ûþ <¸ðáÄ‹?Ž<¹òåÌ›;=ºôéÔ«[¿Ž=»öíÜ»{ÿ>¼øñäË›?�>½úõìÛ»?¾üùôëÛ¿�?¿þýüûûÿÿ`€H`�ˆ`‚ .È`ƒ>a„NHa…^ˆa†nÈa‡~bˆ"ŽHb‰&žˆbŠ*®Èb‹.¾cŒ2ÎHc�6ÞˆcŽ:îÈc�>þd�BId‘F‰d’J.Éd“N> e”RNIe•V^‰e–ZnÉe—^~ f˜bŽIf™fž‰fšj®Éf›n¾ gœrÎIg�vÞ‰gžzîÉgŸ~þ h ‚Jh¡†Šh¢Š.Êh£Ž> i¤’NJi¥–^Ši¦šnÊi§ž~ j¨¢ŽJj©¦žŠjªª®Êj«®¾ k¬²ÎJk­¶ÞŠk®ºîÊk¯¾þ l°ÂKl±Æ‹l²Êÿ.Ël³Î> m´ÒNKmµÖ^‹m¶ÚnËm·Þ~ n¸âŽKn¹æž‹nºê®Ën»î¾ o¼òÎKo½öÞ‹o¾úîËo¿þþ pÀLpÁŒp /ÌpÃ? qÄOLqÅ_ŒqÆoÌqÇ rÈ"�LrÉ&ŸŒrÊ*¯ÌrË.¿ sÌ2ÏLsÍ6ߌsÎ:ïÌsÏ>ÿ tÐBMtÑF�tÒJ/ÍtÓN? uÔROMuÕV_�uÖZoÍu×^ vØb�MvÙfŸ�vÚj¯ÍvÛn¿ wÜrÏMwÝvß�wÞzïÍwß~ÿ xà‚NxᆎxâŠ/ÎxãŽ?yä’ONyå–ÿ_ŽyæšoÎyçžzè¢�Nz馟ŽzꪯÎz뮿{ì²ÏN{í¶ßŽ{îºïÎ{ï¾ÿ|ðÂO|ñÆ�|òÊ/Ï|óÎ?}ôÒOO}õÖ_�}öÚoÏ}÷Þ~øâ�O~ùæŸ�~úê¯Ï~ûî¿üòÏOýöß�þúïÏÿþÿÀ p€, ˆÀ*p� l ÁJp‚¬ /ˆÁ jpƒì ?Šp„$,¡ OˆÂªp…,l¡ _ÃÊp†4¬¡ oˆÃêp‡<ì¡Ä qˆD,¢�ˆÄ$*q‰Ll¢ŸÅ(JqŠT¬¢¯ˆÅ,ÿjq‹\좿Æ0ŠqŒd,£ψÆ4ªq�ll£ßÇ8ÊqŽt¬£ïˆÇ<êq�|ì£ÿÈ@ r�„,¤!‰ÈD*r‘Œl¤# ÉHJr’”¬¤%/‰ÉLjr“œì¤'? ÊPŠr”¤,¥)O‰ÊTªr•¬l¥+_ ËXÊr–´¬¥-o‰Ë\êr—¼ì¥/ Ì` s˜Ä,¦1�‰Ìd*s™Ìl¦3Ÿ ÍhJsšÔ¬¦5¯‰Íljs›Üì¦7¿ ÎpŠsœä,§9ωÎtªs�ìl§;ß ÏxÊsžô¬§=ï‰Ï|êsŸüì§?ÿ Ѐ t -¨AŠÐ„*t¡ m¨C шJt¦¢­¨E/ŠÑŒjt£í¨G? Ò�Št¤$-©IOŠÒ”ªt¥,m©K_ Ó˜Êt¦4­©MoŠÓœêt§<í©O Ô  u¨D-ªQ�ŠÔ¤*u©LmªSŸ Õ¨JuªT­ªU¯ŠÕ¬ju«\íªW¿ Ö°Šu¬d-«YÏŠÖ´ªu­lm«[ß ×¸Êu®t­«]ïŠ×¼êu¯|í«_ÿ ØÀ v°„-¬a‹ØÄÖ¯!ù,èèÿ”�©Ëí£œ´Ú‹³Þ¼û†âH–扦êʶî ÇòL×ö�çúÎ÷þ ‡Ä¢ñˆL*—̦ó �J§ÔªõŠÍj·Ü®÷ ‹Çä²ùŒN«×ì¶û �ËçôºýŽÏë÷ü¾ÿ(8HXhxˆ˜¨¸ÈØèø)9IYiy‰™©¹ÉÙéù *:JZjzŠšªºÊÚêú +;K[k{‹›«»ËÛëû ,N^n~Žž®¾ÎÞîþ/?O_o�Ÿ¯¿Ïßïÿ0 À� <ˆ0¡Â… :|1¢Ä‰+Z¼ˆ1£Æ�ÿ;zü2¤È‘$Kš<‰2¥Ê•,[º| 3¦Ì™4kÚ¼‰3§Î�<{úü 4¨Ð¡D‹=Š4©Ò¥L›:} 5ªÔ©T«Z½Š5«Ö­\»zý 6¬Ø±dËš=‹6­ÚµlÛº} 7®Ü¹tëÚ½‹7¯Þ½|ûúý 8°àÁ„ >Œ8±âÅŒ;~ 9²äÉ”+[¾Œ9³æÍœ;{þ :´èѤK›>�:µêÕ¬[»~ ;¶ìÙ´kÛ¾�;·îݼ{ûþ <¸ðáÄ‹?Ž<¹òåÌ›;=ºôéÔ«[¿Ž=»öíÜ»{ÿ>¼øñäË›?�>½úõìÛ»?¾üùôëÛ¿�?¿þýüûûÿÿ`€H`�ˆ`‚ .È`ƒ>a„NHa…^ˆa†nÈa‡~bˆ"ŽHb‰&žˆbŠ*®Èb‹.¾cŒ2ÎHc�6ÞˆcŽ:îÈc�>þd�BId‘F‰d’J.Éd“N> e”RNIe•V^‰e–ZnÉe—^~ f˜bŽIf™fž‰fšj®Éf›n¾ gœrÎIg�vÞ‰gžzîÉgŸ~þ h ‚Jh¡†Šh¢Š.Êh£Ž> i¤’NJi¥–^Ši¦šnÊi§ž~ j¨¢ŽJj©¦žŠjªª®Êj«®¾ k¬²ÎJk­¶ÞŠk®ºîÊk¯¾þ l°ÂKl±Æ‹l²Êÿ.Ël³Î> m´ÒNKmµÖ^‹m¶ÚnËm·Þ~ n¸âŽKn¹æž‹nºê®Ën»î¾ o¼òÎKo½öÞ‹o¾úîËo¿þþ pÀLpÁŒp /ÌpÃ? qÄOLqÅ_ŒqÆoÌqÇ rÈ"�LrÉ&ŸŒrÊ*¯ÌrË.¿ sÌ2ÏLsÍ6ߌsÎ:ïÌsÏ>ÿ tÐBMtÑF�tÒJ/ÍtÓN? uÔROMuÕV_�uÖZoÍu×^ vØb�MvÙfŸ�vÚj¯ÍvÛn¿ wÜrÏMwÝvß�wÞzïÍwß~ÿ xà‚NxᆎxâŠ/ÎxãŽ?yä’ONyå–ÿ_ŽyæšoÎyçžzè¢�Nz馟ŽzꪯÎz뮿{ì²ÏN{í¶ßŽ{îºïÎ{ï¾ÿ|ðÂO|ñÆ�|òÊ/Ï|óÎ?}ôÒOO}õÖ_�}öÚoÏ}÷Þ~øâ�O~ùæŸ�~úê¯Ï~ûî¿üòÏOýöß�þúïÏÿþÿÀ p€, ˆÀ*p� l ÁJp‚¬ /ˆÁ jpƒì ?Šp„$,¡ OˆÂªp…,l¡ _ÃÊp†4¬¡ oˆÃêp‡<ì¡Ä qˆD,¢�ˆÄ$*q‰Ll¢ŸÅ(JqŠT¬¢¯ˆÅ,ÿjq‹\좿Æ0ŠqŒd,£ψÆ4ªq�ll£ßÇ8ÊqŽt¬£ïˆÇ<êq�|ì£ÿÈ@ r�„,¤!‰ÈD*r‘Œl¤# ÉHJr’”¬¤%/‰ÉLjr“œì¤'? ÊPŠr”¤,¥)O‰ÊTªr•¬l¥+_ ËXÊr–´¬¥-o‰Ë\êr—¼ì¥/ Ì` s˜Ä,¦1�‰Ìd*s™Ìl¦3Ÿ ÍhJsšÔ¬¦5¯‰Íljs›Üì¦7¿ ÎpŠsœä,§9ωÎtªs�ìl§;ß ÏxÊsžô¬§=ï‰Ï|êsŸüì§?ÿ Ѐ t -¨AŠÐ„*t¡ m¨C шJt¦¢­¨E/ŠÑŒjt£í¨G? Ò�Št¤$-©IOŠÒ”ªt¥,m©K_ Ó˜Êt¦4­©MoŠÓœêt§<í©O Ô  u¨D-ªQ�ŠÔ¤*u©LmªSŸ Õ¨JuªT­ªU¯ŠÕ¬ju«\íªW¿ Ö°Šu¬d-«YÏŠÖ´ªu­lm«[ß ×¸Êu®t­«]ïŠ×¼êu¯|í«_ÿ ØÀ v°„-¬a‹ØÄÖ¯;liquidctl-1.16.0/tests/test_api.py000066400000000000000000000052211515166127400171250ustar00rootroot00000000000000import pytest from _testutils import VirtualBusDevice def test_connects_and_disconnects_with_context_manager(): dev = VirtualBusDevice() with pytest.raises(RuntimeError): with dev.connect(): assert dev.connected raise RuntimeError() assert not dev.connected def test_entering_the_runtime_context_does_not_call_connect(): dev = VirtualBusDevice() with dev.connect(marker=True): # since __enter__ takes no arguments, if __enter__ calls connect it # will override dev.kwargs['connect'] with {} assert 'marker' in dev.call_args['connect'].kwargs def test_modified_readme_example(capsys): from liquidctl import find_liquidctl_devices # Find all connected and supported devices. devices = find_liquidctl_devices(bus='virtual') # readme: remove `bus` argument for dev in devices: # Connect to the device. In this example we use a context manager, but # the connection can also be manually managed. The context manager # automatically calls `disconnect`; when managing the connection # manually, `disconnect` must eventually be called, even if an # exception is raised. with dev.connect(): print(f'{dev.description} at {dev.bus}:{dev.address}:') # Devices should be initialized after every boot. In this example # we assume that this has not been done before. print('- initialize') init_status = dev.initialize() # Print all data returned by `initialize`. if init_status: for key, value, unit in init_status: print(f'- {key}: {value} {unit}') # Get regular status information from the device. status = dev.get_status() # Print all data returned by `get_status`. print('- get status') for key, value, unit in status: print(f'- {key}: {value} {unit}') # For a particular device, set the pump LEDs to red. if 'Virtual Bus Device' in dev.description: # readme: replace with 'Kraken' print('- set pump to radical red') radical_red = [0xff, 0x35, 0x5e] dev.set_color(channel='pump', mode='fixed', colors=[radical_red]) # end of modified example; check that it more or less did what it should out, _ = capsys.readouterr() assert 'Virtual Bus Device at virtual:virtual_address:' in out assert 'initialize' in out assert 'Firmware version: 3.14.16' in out assert 'get status' in out assert 'Temperature: 30.4 °C' in out assert 'set pump to radical red' in out liquidctl-1.16.0/tests/test_aquacomputer.py000066400000000000000000001307341515166127400210720ustar00rootroot00000000000000import pytest from _testutils import MockHidapiDevice, Report from liquidctl.driver.hwmon import HwmonDevice from liquidctl.driver.aquacomputer import Aquacomputer from liquidctl.error import NotSupportedByDriver, NotSupportedByDevice D5NEXT_SAMPLE_STATUS_REPORT = bytes.fromhex( "00030DCB597C00010000006403FF00000051000004DC14000001E0007A98AF000" "00000FFFF000041A803C169000001481ACAA3465CB804B401F40000005213887F" "FF7FFF7FFF7FFF7FFF7FFF7FFF000000000000000009D27FFF00007FFF01F404B" "400200026016D006300000004B200D7010207B80000000000098D083A098A083A" "00060001000000000000000000000000011A24015E27101D4CFFBF" ) D5NEXT_SAMPLE_CONTROL_REPORT = bytes.fromhex( "00031E00000000000AC0007FFF0000000002020E100BB8000000000A0001000A0" "006000A000C000A0000000000000101F42710271007D000000027102710138802" "07D200000C8001F4012C00000064001E00010AF00A8C0AFD0B4C0B9D0BE90C460" "C9F0CF30D3C0DA20DE50E420E8A0EE60F350F7000000000000002D604D606D609" "810A010DAC1202162D17AD19D81EAE222E232E0212D300000D4801F4012C00000" "064001E00010AF00A8C0AFA0B4C0BA40C000C4F0CA30D110D510DA60DFD0E560E" "9E0EEE0F2010820000008C0000000000000000000001000180035407810A810B0" "10C810DD70EAC03E8FF000000000F030000FFFF0F19000003E80164000003E801" "FF0032006400000000000000000000000000000000000000000000FFFF0000FFF" "F0000FFFF0000FFFF0000FFFF0000FFFF000F0F080000FFFF0F19000003E80164" "000003E801FF00190028001400000000000000000000000000000000000000000" "00F03E7FFFF00FEFFFF0000FFFF0000FFFF0000FFFF001E0F0B0000FFFF0F1900" "0003E80164000003E801FF001E002800010006005000000000000000000000000" "0000002FF02FF01FBFFFF0525FFFF00C5FFFF03F5FFFF05F3FFFF002D0F040006" "FFFF0F19000003E80164000003E801FF002800050000000000000000000000000" "0000000000000000000000F0000FFFF01FDFFFF03FFFFFF00FAFFFF01CE10FF00" "3C0F040006FFFF0F19000003E80164000003E801FF00280005000000000000000" "00000000000000000000000000000000F00FAFFFF05DCFFFF01C2FFFF0000FFFF" "07D010FF004B0F040006FFFF0F19000003E80164000003E801FF0028000500000" "000000000000000000000000000000000000000000F03E8FFFF01C2FFFF0000FF" "FF0064FFFF032010FF010006030000FFFF0F19000003E80164000003E801FF001" "E006400000000000000000000000000000000000000000000FFFF0000FFFF0000" "FFFF0000FFFF0000FFFF0000FFFF010006000000FFFF0F19000003E8016400000" "3E80164001E006400000000000000000000000000000000000000000000FFFF00" "00FFFF0000FFFF0000FFFF0000FFFF0000FFFFC00401C20FA00110FB" ) FARBWERK360_SAMPLE_STATUS_REPORT = bytes.fromhex( "000141BBDE9203E80000006403FE000000110000001A150000005F0008AE3E000" "00023BFC8C01AA20EFFD6A0E8A3915AEC0A3C0A470A6F09F814507FFF7FFF7FFF" "7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF00000000000000000" "00000000000000001F901FA0006000000030000004300000000000A0324000000" "00000000002710271027102710271003E8000003E8000003E8000003E80000000" "0000000000000000000010002000101040006" ) OCTO_SAMPLE_STATUS_REPORT = bytes.fromhex( "00023A92C9EA03E80001006503FB000000010000010DB4000000C5003C3EA4010" "00200000000000000000000000000059EDCFFDCFFDDFFDDA7A65BF80AC60ACF0B" "150D600EC87FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FF" "F7FFF0300000000000000000000000000000004B9000300030000055D04B90001" "00010000000008138804B9015E006702400000000000000000000000000000000" "00000000000000000000000000000000000000000000000000000000000000000" "0000000000000000000000000000000000000000213B04B900020002000000000" "80000000003E8055D0000000003E800000000000003E800000000000003E80000" "0000000003E800000000000003E800000000000003E800000000000003E8213B0" "000000003E827100000000003E827100000000000000000120412862710271098" "20" ) OCTO_SAMPLE_CONTROL_REPORT = bytes.fromhex( "000228000000A90000051402BC000000000001F42710271007D00201F42710271" "007D00201F42710271007D00201F42710271007D00201F42710271007D00201F4" "2710271007D00201F42710271007D00001F42710271007D000055DFFFF0DAC057" "804B000000028001400010AF00A8C0AFA0B4A0BA40BF40C4E0C9D0CF80D480DA2" "0DF20E4C0E9C0EF50F460FA00000008C011801F4032004B0069008D40B680E4C1" "194152C19281D7422102710000000FFFF0DAC057804B000000028001400010AF0" "0A8C0AFA0B4A0BA40BF40C4E0C9D0CF80D480DA20DF20E4C0E9C0EF50F460FA00" "000008C011801F4032004B0069008D40B680E4C1194152C19281D742210271000" "0000FFFF0DAC057804B000000028001400010AF00A8C0AFA0B4A0BA40BF40C4E0" "C9D0CF80D480DA20DF20E4C0E9C0EF50F460FA00000008C011801F4032004B006" "9008D40B680E4C1194152C19281D7422102710000000FFFF0DAC057804B000000" "028001400010AF00A8C0AFA0B4A0BA40BF40C4E0C9D0CF80D480DA20DF20E4C0E" "9C0EF50F460FA00000008C011801F4032004B0069008D40B680E4C1194152C192" "81D7422102710000000FFFF0DAC057804B000000028001400010AF00A8C0AFA0B" "4A0BA40BF40C4E0C9D0CF80D480DA20DF20E4C0E9C0EF50F460FA00000008C011" "801F4032004B0069008D40B680E4C1194152C19281D7422102710000000FFFF0D" "AC057804B000000028001400010AF00A8C0AFA0B4A0BA40BF40C4E0C9D0CF80D4" "80DA20DF20E4C0E9C0EF50F460FA00000008C011801F4032004B0069008D40B68" "0E4C1194152C19281D7422102710000000FFFF0DAC057804B0000000280014000" "10AF00A8C0AFA0B4A0BA40BF40C4E0C9D0CF80D480DA20DF20E4C0E9C0EF50F46" "0FA00000008C011801F4032004B0069008D40B680E4C1194152C19281D7422102" "71000213BFFFF0DAC057804B000000028001400010AF00A8C0AFA0B4A0BA40BF4" "0C4E0C9D0CF80D480DA20DF20E4C0E9C0EF50F460FA00000008C011801F403200" "4B0069008D40B680E4C1194152C19281D74221027100000FF000000000F030000" "FFFF0F19000003E80164000003E801FF003200640000000000000000000000000" "0000000000000000000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00" "0F0F080000FFFF0F19000003E80164000003E801FF00190028001400000000000" "00000000000000000000000000000000F03E7FFFF00FEFFFF0000FFFF0000FFFF" "0000FFFF001E0F0B0000FFFF0F19000003E80164000003E801FF001E002800010" "0060050000000000000000000000000000002FF02FF01FBFFFF0525FFFF00C5FF" "FF03F5FFFF05F3FFFF002D0F130000FFFF0F19000003E80164000003E801FF001" "9000A0005000500190000000000000000000000000000000000FF0200FF780000" "FFFF0000FFFF0000FFFF0000FFFF003C0F040006FFFF0F19000003E8016400000" "3E801FF0028000500000000000000000000000000000000000000000000000F00" "00FFFF01FDFFFF03FFFFFF00FAFFFF01CE10FF004B0F0F0000FFFF0F19000003E" "80164000003E801FF00280004001E001E00000000000000000000000000000000" "00000000007800780000FFFF0000FFFF0000FFFF0000FFFF01000F030000FFFF0" "F19000003E80164000003E801FF00320064000000000000000000000000000000" "00000000000000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF010F0F0" "80000FFFF0F19000003E80164000003E801FF0019002800140000000000000000" "000000000000000000000000000F03E7FFFF00FEFFFF0000FFFF0000FFFF0000F" "FFF011E0F0B0000FFFF0F19000003E80164000003E801FF001E00280001000600" "50000000000000000000000000000002FF02FF01FBFFFF0525FFFF00C5FFFF03F" "5FFFF05F3FFFF012D0F130000FFFF0F19000003E80164000003E801FF0019000A" "0005000500190000000000000000000000000000000000FF0200FF780000FFFF0" "000FFFF0000FFFF0000FFFF013C0F040006FFFF0F19000003E80164000003E801" "FF0028000500000000000000000000000000000000000000000000000F0000FFF" "F01FDFFFF03FFFFFF00FAFFFF01CE10FF014B0F0F0000FFFF0F19000003E80164" "000003E801FF00280004001E001E0000000000000000000000000000000000000" "000007800780000FFFF0000FFFF0000FFFF0000FFFF0100001388138813881388" "015E01AB59" ) QUADRO_SAMPLE_STATUS_REPORT = bytes.fromhex( "00035B72FF4000010000006504080000000100000013C5000000910032CBB0000" "0000000000000FFD5FFD69B54FFD8A6FD5B977FFF7FFF06517FFF09597FFF7FFF" "7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF13887FFF7FFF7FFF0300000000000" "000000000000300000004B9000000000000000000000000000000271004B90000" "0000000000000805BB04B900000000016400000015E004B900000000000000000" "80000000003E800000000000003E827100000000003E805BB0000000003E815E0" "0000000003E82710000A0000000E000000002710FF000001" ) QUADRO_SAMPLE_CONTROL_REPORT = bytes.fromhex( "00031C000000A9000002580514FAEC05DC0001F42710271007D00001F42710271" "007D00001F42710271007D00001F42710271007D0000000FFFF0DAC057804B000" "000028001400010AF00A8C0AFA0B4A0BA40BF40C4E0C9D0CF80D480DA20DF20E4" "C0E9C0EF50F460FA00000008C011801F4032004B0069008D40B680E4C1194152C" "19281D7422102710004CD0FFFF0DAC057804B000000028001400010AF00A8C0AF" "A0B4A0BA40BF40C4E0C9D0CF80D480DA20DF20E4C0E9C0EF50F460FA00000008C" "011801F4032004B0069008D40B680E4C1194152C19281D74221027100005BB000" "30DAC057804B000000028001400010AF00A8C0AFA0B4A0BA40BF40C4E0C9D0CF8" "0D480DA20DF20E4C0E9C0EF50F460FA00000008C011801F4032004B0069008D40" "B680E4C1194152C19281D74221027100015E0FFFF0DAC057804B0000000280014" "00010AF00A8C0AFA0B4A0BA40BF40C4E0C9D0CF80D480DA20DF20E4C0E9C0EF50" "F460FA00000008C011801F4032004B0069008D40B680E4C1194152C19281D7422" "102710FF000200000F030000FFFF0F19000003E80164000003E801FF003200640" "0000000000000000000000000000000000000000000FFFF0000FFFF0000FFFF00" "00FFFF0000FFFF0000FFFF000F0F080000FFFF0F19000003E80164000003E801F" "F0019002800140000000000000000000000000000000000000000000F03E7FFFF" "00FEFFFF0000FFFF0000FFFF0000FFFF001E0F0B0000FFFF0F19000003E801640" "00003E801FF001E0028000100060050000000000000000000000000000002FF02" "FF01FBFFFF0525FFFF00C5FFFF03F5FFFF05F3FFFF002D0F040006FFFF0F19000" "003E80164000003E801FF00280005000000000000000000000000000000000000" "00000000000F0000FFFF01FDFFFF03FFFFFF00FAFFFF01CE10FF003C0F040006F" "FFF0F19000003E80164000003E801FF0028000200000000000000000000000000" "000000000000000000000F03FFFFFF07D0FFFF0000FFFF0000FFFF0000FFFF004" "B0F040006FFFF0F19000003E80164000003E801FF002800020000000000000000" "0000000000000000000000000000000F01CEFFFF03FFFFFF0000FFFF0000FFFF0" "000FFFF002D0F000006FFFF0F19000003E80164000003E8016400280002000000" "00000000000000000000000000000000000000000F00FAFFFF01CE10FF0000FFF" "F0000FFFF0000FFFF002D0F000006FFFF0F19000003E80164000003E801640028" "000500000000000000000000000000000000000000000000000F0000FFFF01FDF" "FFF03FFFFFF00FAFFFF01CE10FF0100E0A8" ) @pytest.fixture def mockD5NextDevice(): device = _MockD5NextDevice() dev = Aquacomputer( device, "Mock Aquacomputer D5 Next", device_info=Aquacomputer._DEVICE_INFO[Aquacomputer._DEVICE_D5NEXT], ) dev.connect() return dev class _MockD5NextDevice(MockHidapiDevice): def __init__(self): super().__init__(vendor_id=0x0C70, product_id=0xF00E) self.preload_read(Report(1, D5NEXT_SAMPLE_STATUS_REPORT)) self.preload_read(Report(3, D5NEXT_SAMPLE_CONTROL_REPORT)) self.preload_read(Report(3, D5NEXT_SAMPLE_CONTROL_REPORT)) def read(self, length): pre = super().read(length) if pre: return pre return Report(1, D5NEXT_SAMPLE_STATUS_REPORT) def test_d5next_connect(mockD5NextDevice): def mock_open(): nonlocal opened opened = True mockD5NextDevice.device.open = mock_open opened = False with mockD5NextDevice.connect() as cm: assert cm == mockD5NextDevice assert opened def test_d5next_initialize(mockD5NextDevice): init_result = mockD5NextDevice.initialize() # Verify firmware version assert init_result[0][1] == 1023 # Verify serial number assert init_result[1][1] == "03531-22908" @pytest.mark.parametrize("has_hwmon,direct_access", [(False, False), (True, True)]) def test_d5next_get_status_directly(mockD5NextDevice, has_hwmon, direct_access): if has_hwmon: mockD5NextDevice._hwmon = HwmonDevice(None, None) got = mockD5NextDevice.get_status(direct_access=direct_access) expected = [ ("Liquid temperature", pytest.approx(25.1, 0.1), "°C"), ("Soft. Sensor 1", pytest.approx(50, 0.1), "°C"), ("Pump speed", 1976, "rpm"), ("Pump power", pytest.approx(2.58, 0.1), "W"), ("Pump voltage", pytest.approx(12.02, 0.1), "V"), ("Pump current", pytest.approx(0.21, 0.1), "A"), ("Fan speed", 365, "rpm"), ("Fan power", pytest.approx(0.38, 0.1), "W"), ("Fan voltage", pytest.approx(12.04, 0.1), "V"), ("Fan current", pytest.approx(0.03, 0.1), "A"), ("+5V voltage", pytest.approx(5.00, 0.1), "V"), ("+12V voltage", pytest.approx(12.04, 0.1), "V"), ] assert sorted(got) == sorted(expected) def test_d5next_get_status_from_hwmon(mockD5NextDevice, tmp_path): mockD5NextDevice._hwmon = HwmonDevice("mock_module", tmp_path) (tmp_path / "temp1_input").write_text("25100\n") # Liquid temperature (tmp_path / "fan1_input").write_text("1976\n") # Pump speed (tmp_path / "power1_input").write_text("2580000\n") # Pump power (tmp_path / "in0_input").write_text("12020\n") # Pump voltage (tmp_path / "curr1_input").write_text("215\n") # Pump current (tmp_path / "fan2_input").write_text("365\n") # Fan speed (tmp_path / "power2_input").write_text("380000\n") # Fan power (tmp_path / "in1_input").write_text("12040\n") # Fan voltage (tmp_path / "curr2_input").write_text("31\n") # Fan current (tmp_path / "in2_input").write_text("4990\n") # +5V voltage (tmp_path / "in3_input").write_text("12040\n") # +12V voltage (tmp_path / "temp2_input").write_text("50000\n") # Soft. Sensor 1 temperature (tmp_path / "temp3_input").write_text("60000\n") # Soft. Sensor 2 temperature (tmp_path / "temp4_input").write_text("50000\n") # Soft. Sensor 3 temperature (tmp_path / "temp5_input").write_text("50000\n") # Soft. Sensor 4 temperature (tmp_path / "temp6_input").write_text("50000\n") # Soft. Sensor 5 temperature (tmp_path / "temp7_input").write_text("50000\n") # Soft. Sensor 6 temperature (tmp_path / "temp8_input").write_text("50000\n") # Soft. Sensor 7 temperature (tmp_path / "temp9_input").write_text("50000\n") # Soft. Sensor 8 temperature got = mockD5NextDevice.get_status() expected = [ ("Liquid temperature", pytest.approx(25.1, 0.1), "°C"), ("Soft. Sensor 1", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 2", pytest.approx(60, 0.1), "°C"), ("Soft. Sensor 3", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 4", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 5", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 6", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 7", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 8", pytest.approx(50, 0.1), "°C"), ("Pump speed", 1976, "rpm"), ("Pump power", pytest.approx(2.58, 0.1), "W"), ("Pump voltage", pytest.approx(12.02, 0.1), "V"), ("Pump current", pytest.approx(0.21, 0.1), "A"), ("Fan speed", 365, "rpm"), ("Fan power", pytest.approx(0.38, 0.1), "W"), ("Fan voltage", pytest.approx(12.04, 0.1), "V"), ("Fan current", pytest.approx(0.03, 0.1), "A"), ("+5V voltage", pytest.approx(5.00, 0.1), "V"), ("+12V voltage", pytest.approx(12.04, 0.1), "V"), ] assert sorted(got) == sorted(expected) @pytest.mark.parametrize("has_hwmon,direct_access", [(False, False), (True, True)]) def test_d5next_set_fixed_speeds_directly(mockD5NextDevice, has_hwmon, direct_access, tmp_path): """For both test cases only direct access should be used""" if has_hwmon: mockD5NextDevice._hwmon = HwmonDevice("mock_module", tmp_path) (tmp_path / "pwm1").write_text("0") (tmp_path / "pwm1_enable").write_text("0") (tmp_path / "pwm2").write_text("0") (tmp_path / "pwm2_enable").write_text("0") mockD5NextDevice.set_fixed_speed("pump", 84, direct_access=direct_access) mockD5NextDevice.set_fixed_speed("fan", 50, direct_access=direct_access) pump_report, fan_report = mockD5NextDevice.device.sent assert pump_report.number == 3 assert pump_report.data[0x95:0x98] == [0, 32, 208] # 0, <8400> assert fan_report.number == 3 assert fan_report.data[0x40:0x43] == [0, 19, 136] # 0, <5000> # Assert that hwmon wasn't touched if has_hwmon: assert (tmp_path / "pwm1_enable").read_text() == "0" assert (tmp_path / "pwm1").read_text() == "0" assert (tmp_path / "pwm2_enable").read_text() == "0" assert (tmp_path / "pwm2").read_text() == "0" @pytest.mark.parametrize("has_support", [False, True]) def test_d5next_set_fixed_speeds_hwmon(mockD5NextDevice, has_support, tmp_path): mockD5NextDevice._hwmon = HwmonDevice("mock_module", tmp_path) if has_support: (tmp_path / "pwm1").write_text("0\n") (tmp_path / "pwm1_enable").write_text("0\n") (tmp_path / "pwm2").write_text("0\n") (tmp_path / "pwm2_enable").write_text("0\n") mockD5NextDevice.set_fixed_speed("pump", 84) mockD5NextDevice.set_fixed_speed("fan", 50) if has_support: assert (tmp_path / "pwm1_enable").read_text() == "1" assert (tmp_path / "pwm1").read_text() == "214" assert (tmp_path / "pwm2_enable").read_text() == "1" assert (tmp_path / "pwm2").read_text() == "127" else: # Assert fallback to direct access pump_report, fan_report = mockD5NextDevice.device.sent assert pump_report.number == 3 assert pump_report.data[0x95:0x98] == [0, 32, 208] # 0, <8400> assert fan_report.number == 3 assert fan_report.data[0x40:0x43] == [0, 19, 136] # 0, <5000> def test_d5next_speed_profiles_not_supported(mockD5NextDevice): with pytest.raises(NotSupportedByDriver): mockD5NextDevice.set_speed_profile("fan", None) with pytest.raises(NotSupportedByDriver): mockD5NextDevice.set_speed_profile("pump", None) @pytest.fixture def mockFarbwerk360Device(): device = _MockFarbwerk360Device() dev = Aquacomputer( device, "Mock Aquacomputer Farbwerk 360", device_info=Aquacomputer._DEVICE_INFO[Aquacomputer._DEVICE_FARBWERK360], ) dev.connect() return dev class _MockFarbwerk360Device(MockHidapiDevice): def __init__(self): super().__init__(vendor_id=0x0C70, product_id=0xF010) self.preload_read(Report(1, FARBWERK360_SAMPLE_STATUS_REPORT)) def read(self, length): pre = super().read(length) if pre: return pre return Report(1, FARBWERK360_SAMPLE_STATUS_REPORT) def test_farbwerk360_connect(mockFarbwerk360Device): def mock_open(): nonlocal opened opened = True mockFarbwerk360Device.device.open = mock_open opened = False with mockFarbwerk360Device.connect() as cm: assert cm == mockFarbwerk360Device assert opened def test_farbwerk360_initialize(mockFarbwerk360Device): init_result = mockFarbwerk360Device.initialize() # Verify firmware version assert init_result[0][1] == 1022 # Verify serial number assert init_result[1][1] == "16827-56978" @pytest.mark.parametrize("has_hwmon,direct_access", [(False, False), (True, True)]) def test_farbwerk360_get_status_directly(mockFarbwerk360Device, has_hwmon, direct_access): if has_hwmon: mockFarbwerk360Device._hwmon = HwmonDevice(None, None) got = mockFarbwerk360Device.get_status(direct_access=direct_access) expected = [ ("Sensor 1", pytest.approx(26.2, 0.1), "°C"), ("Sensor 2", pytest.approx(26.3, 0.1), "°C"), ("Sensor 3", pytest.approx(26.7, 0.1), "°C"), ("Sensor 4", pytest.approx(25.5, 0.1), "°C"), ("Soft. Sensor 1", pytest.approx(52.00, 0.1), "°C"), ] assert sorted(got) == sorted(expected) def test_farbwerk360_get_status_from_hwmon(mockFarbwerk360Device, tmp_path): mockFarbwerk360Device._hwmon = HwmonDevice("mock_module", tmp_path) (tmp_path / "temp1_input").write_text("26200\n") (tmp_path / "temp2_input").write_text("26310\n") (tmp_path / "temp3_input").write_text("26710\n") (tmp_path / "temp4_input").write_text("25520\n") (tmp_path / "temp5_input").write_text("50000\n") # Soft. Sensor 1 temperature (tmp_path / "temp6_input").write_text("60000\n") # Soft. Sensor 2 temperature (tmp_path / "temp7_input").write_text("50000\n") # Soft. Sensor 3 temperature (tmp_path / "temp8_input").write_text("50000\n") # Soft. Sensor 4 temperature (tmp_path / "temp9_input").write_text("50000\n") # Soft. Sensor 5 temperature (tmp_path / "temp10_input").write_text("50000\n") # Soft. Sensor 6 temperature (tmp_path / "temp11_input").write_text("50000\n") # Soft. Sensor 7 temperature (tmp_path / "temp12_input").write_text("50000\n") # Soft. Sensor 8 temperature (tmp_path / "temp13_input").write_text("50000\n") # Soft. Sensor 9 temperature (tmp_path / "temp14_input").write_text("50000\n") # Soft. Sensor 10 temperature (tmp_path / "temp15_input").write_text("50000\n") # Soft. Sensor 11 temperature (tmp_path / "temp16_input").write_text("50000\n") # Soft. Sensor 12 temperature (tmp_path / "temp17_input").write_text("50000\n") # Soft. Sensor 13 temperature (tmp_path / "temp18_input").write_text("50000\n") # Soft. Sensor 14 temperature (tmp_path / "temp19_input").write_text("50000\n") # Soft. Sensor 15 temperature (tmp_path / "temp20_input").write_text("50000\n") # Soft. Sensor 16 temperature got = mockFarbwerk360Device.get_status() expected = [ ("Sensor 1", pytest.approx(26.2, 0.1), "°C"), ("Sensor 2", pytest.approx(26.3, 0.1), "°C"), ("Sensor 3", pytest.approx(26.7, 0.1), "°C"), ("Sensor 4", pytest.approx(25.5, 0.1), "°C"), ("Soft. Sensor 1", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 2", pytest.approx(60, 0.1), "°C"), ("Soft. Sensor 3", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 4", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 5", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 6", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 7", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 8", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 9", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 10", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 11", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 12", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 13", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 14", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 15", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 16", pytest.approx(50, 0.1), "°C"), ] assert sorted(got) == sorted(expected) def test_farbwerk360_set_fixed_speeds_not_supported(mockFarbwerk360Device): with pytest.raises(NotSupportedByDevice): mockFarbwerk360Device.set_fixed_speed("fan", 42) def test_farbwerk360_speed_profiles_not_supported(mockFarbwerk360Device): with pytest.raises(NotSupportedByDevice): mockFarbwerk360Device.set_speed_profile("fan", None) @pytest.fixture def mockOctoDevice(): device = _MockOctoDevice() dev = Aquacomputer( device, "Mock Aquacomputer Octo", device_info=Aquacomputer._DEVICE_INFO[Aquacomputer._DEVICE_OCTO], ) dev.connect() return dev class _MockOctoDevice(MockHidapiDevice): def __init__(self): super().__init__(vendor_id=0x0C70, product_id=0xF011) self.preload_read(Report(1, OCTO_SAMPLE_STATUS_REPORT)) self.preload_read(Report(3, OCTO_SAMPLE_CONTROL_REPORT)) self.preload_read(Report(3, OCTO_SAMPLE_CONTROL_REPORT)) def read(self, length): pre = super().read(length) if pre: return pre return Report(1, OCTO_SAMPLE_STATUS_REPORT) def test_octo_connect(mockOctoDevice): def mock_open(): nonlocal opened opened = True mockOctoDevice.device.open = mock_open opened = False with mockOctoDevice.connect() as cm: assert cm == mockOctoDevice assert opened def test_octo_initialize(mockOctoDevice): init_result = mockOctoDevice.initialize() # Verify firmware version assert init_result[0][1] == 1019 # Verify serial number assert init_result[1][1] == "14994-51690" @pytest.mark.parametrize("has_hwmon,direct_access", [(False, False), (True, True)]) def test_octo_get_status_directly(mockOctoDevice, has_hwmon, direct_access): if has_hwmon: mockOctoDevice._hwmon = HwmonDevice(None, None) got = mockOctoDevice.get_status(direct_access=direct_access) expected = [ ("Sensor 1", pytest.approx(27.5, 0.1), "°C"), ("Sensor 2", pytest.approx(27.7, 0.1), "°C"), ("Sensor 3", pytest.approx(28.4, 0.1), "°C"), ("Sensor 4", pytest.approx(34.2, 0.1), "°C"), ("Soft. Sensor 1", pytest.approx(37.84, 0.1), "°C"), ("Fan 1 speed", pytest.approx(0, 0.1), "rpm"), ("Fan 1 power", pytest.approx(0.01, 0.1), "W"), ("Fan 1 voltage", pytest.approx(12.09, 0.1), "V"), ("Fan 1 current", pytest.approx(0.001, 0.1), "A"), ("Fan 2 speed", pytest.approx(576, 0.1), "rpm"), ("Fan 2 power", pytest.approx(1.03, 0.1), "W"), ("Fan 2 voltage", pytest.approx(12.09, 0.1), "V"), ("Fan 2 current", pytest.approx(0.35, 0.1), "A"), ("Fan 3 speed", pytest.approx(0, 0.1), "rpm"), ("Fan 3 power", pytest.approx(0, 0.1), "W"), ("Fan 3 voltage", pytest.approx(0, 0.1), "V"), ("Fan 3 current", pytest.approx(0, 0.1), "A"), ("Fan 4 speed", pytest.approx(0, 0.1), "rpm"), ("Fan 4 power", pytest.approx(0, 0.1), "W"), ("Fan 4 voltage", pytest.approx(0, 0.1), "V"), ("Fan 4 current", pytest.approx(0, 0.1), "A"), ("Fan 5 speed", pytest.approx(0, 0.1), "rpm"), ("Fan 5 power", pytest.approx(0, 0.1), "W"), ("Fan 5 voltage", pytest.approx(0, 0.1), "V"), ("Fan 5 current", pytest.approx(0, 0.1), "A"), ("Fan 6 speed", pytest.approx(0, 0.1), "rpm"), ("Fan 6 power", pytest.approx(0, 0.1), "W"), ("Fan 6 voltage", pytest.approx(0, 0.1), "V"), ("Fan 6 current", pytest.approx(0, 0.1), "A"), ("Fan 7 speed", pytest.approx(0, 0.1), "rpm"), ("Fan 7 power", pytest.approx(0, 0.1), "W"), ("Fan 7 voltage", pytest.approx(0, 0.1), "V"), ("Fan 7 current", pytest.approx(0, 0.1), "A"), ("Fan 8 speed", pytest.approx(0, 0.1), "rpm"), ("Fan 8 power", pytest.approx(0.02, 0.1), "W"), ("Fan 8 voltage", pytest.approx(12.09, 0.1), "V"), ("Fan 8 current", pytest.approx(0.002, 0.1), "A"), ] assert sorted(got) == sorted(expected) def test_octo_get_status_from_hwmon(mockOctoDevice, tmp_path): mockOctoDevice._hwmon = HwmonDevice("mock_module", tmp_path) (tmp_path / "temp1_input").write_text("27580\n") (tmp_path / "temp2_input").write_text("27670\n") (tmp_path / "temp3_input").write_text("28370\n") (tmp_path / "temp4_input").write_text("34240\n") (tmp_path / "fan1_input").write_text("0\n") (tmp_path / "power1_input").write_text("10000\n") (tmp_path / "in0_input").write_text("12090\n") (tmp_path / "curr1_input").write_text("1\n") (tmp_path / "fan2_input").write_text("576\n") (tmp_path / "power2_input").write_text("1030000\n") (tmp_path / "in1_input").write_text("12090\n") (tmp_path / "curr2_input").write_text("350\n") (tmp_path / "fan3_input").write_text("0\n") (tmp_path / "power3_input").write_text("0\n") (tmp_path / "in2_input").write_text("0\n") (tmp_path / "curr3_input").write_text("0\n") (tmp_path / "fan4_input").write_text("0\n") (tmp_path / "power4_input").write_text("0\n") (tmp_path / "in3_input").write_text("0\n") (tmp_path / "curr4_input").write_text("0\n") (tmp_path / "fan5_input").write_text("0\n") (tmp_path / "power5_input").write_text("0\n") (tmp_path / "in4_input").write_text("0\n") (tmp_path / "curr5_input").write_text("0\n") (tmp_path / "fan6_input").write_text("0\n") (tmp_path / "power6_input").write_text("0\n") (tmp_path / "in5_input").write_text("0\n") (tmp_path / "curr6_input").write_text("0\n") (tmp_path / "fan7_input").write_text("0\n") (tmp_path / "power7_input").write_text("0\n") (tmp_path / "in6_input").write_text("0\n") (tmp_path / "curr7_input").write_text("0\n") (tmp_path / "fan8_input").write_text("0\n") (tmp_path / "power8_input").write_text("20000\n") (tmp_path / "in7_input").write_text("12090\n") (tmp_path / "curr8_input").write_text("2\n") (tmp_path / "temp5_input").write_text("50000\n") # Soft. Sensor 1 temperature (tmp_path / "temp6_input").write_text("60000\n") # Soft. Sensor 2 temperature (tmp_path / "temp7_input").write_text("50000\n") # Soft. Sensor 3 temperature (tmp_path / "temp8_input").write_text("50000\n") # Soft. Sensor 4 temperature (tmp_path / "temp9_input").write_text("50000\n") # Soft. Sensor 5 temperature (tmp_path / "temp10_input").write_text("50000\n") # Soft. Sensor 6 temperature (tmp_path / "temp11_input").write_text("50000\n") # Soft. Sensor 7 temperature (tmp_path / "temp12_input").write_text("50000\n") # Soft. Sensor 8 temperature (tmp_path / "temp13_input").write_text("50000\n") # Soft. Sensor 9 temperature (tmp_path / "temp14_input").write_text("50000\n") # Soft. Sensor 10 temperature (tmp_path / "temp15_input").write_text("50000\n") # Soft. Sensor 11 temperature (tmp_path / "temp16_input").write_text("50000\n") # Soft. Sensor 12 temperature (tmp_path / "temp17_input").write_text("50000\n") # Soft. Sensor 13 temperature (tmp_path / "temp18_input").write_text("50000\n") # Soft. Sensor 14 temperature (tmp_path / "temp19_input").write_text("50000\n") # Soft. Sensor 15 temperature (tmp_path / "temp20_input").write_text("50000\n") # Soft. Sensor 16 temperature got = mockOctoDevice.get_status() expected = [ ("Sensor 1", pytest.approx(27.5, 0.1), "°C"), ("Sensor 2", pytest.approx(27.7, 0.1), "°C"), ("Sensor 3", pytest.approx(28.4, 0.1), "°C"), ("Sensor 4", pytest.approx(34.2, 0.1), "°C"), ("Fan 1 speed", pytest.approx(0, 0.1), "rpm"), ("Fan 1 power", pytest.approx(0.01, 0.1), "W"), ("Fan 1 voltage", pytest.approx(12.09, 0.1), "V"), ("Fan 1 current", pytest.approx(0.001, 0.1), "A"), ("Fan 2 speed", pytest.approx(576, 0.1), "rpm"), ("Fan 2 power", pytest.approx(1.03, 0.1), "W"), ("Fan 2 voltage", pytest.approx(12.09, 0.1), "V"), ("Fan 2 current", pytest.approx(0.35, 0.1), "A"), ("Fan 3 speed", pytest.approx(0, 0.1), "rpm"), ("Fan 3 power", pytest.approx(0, 0.1), "W"), ("Fan 3 voltage", pytest.approx(0, 0.1), "V"), ("Fan 3 current", pytest.approx(0, 0.1), "A"), ("Fan 4 speed", pytest.approx(0, 0.1), "rpm"), ("Fan 4 power", pytest.approx(0, 0.1), "W"), ("Fan 4 voltage", pytest.approx(0, 0.1), "V"), ("Fan 4 current", pytest.approx(0, 0.1), "A"), ("Fan 5 speed", pytest.approx(0, 0.1), "rpm"), ("Fan 5 power", pytest.approx(0, 0.1), "W"), ("Fan 5 voltage", pytest.approx(0, 0.1), "V"), ("Fan 5 current", pytest.approx(0, 0.1), "A"), ("Fan 6 speed", pytest.approx(0, 0.1), "rpm"), ("Fan 6 power", pytest.approx(0, 0.1), "W"), ("Fan 6 voltage", pytest.approx(0, 0.1), "V"), ("Fan 6 current", pytest.approx(0, 0.1), "A"), ("Fan 7 speed", pytest.approx(0, 0.1), "rpm"), ("Fan 7 power", pytest.approx(0, 0.1), "W"), ("Fan 7 voltage", pytest.approx(0, 0.1), "V"), ("Fan 7 current", pytest.approx(0, 0.1), "A"), ("Fan 8 speed", pytest.approx(0, 0.1), "rpm"), ("Fan 8 power", pytest.approx(0.02, 0.1), "W"), ("Fan 8 voltage", pytest.approx(12.09, 0.1), "V"), ("Fan 8 current", pytest.approx(0.002, 0.1), "A"), ("Soft. Sensor 1", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 2", pytest.approx(60, 0.1), "°C"), ("Soft. Sensor 3", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 4", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 5", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 6", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 7", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 8", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 9", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 10", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 11", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 12", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 13", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 14", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 15", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 16", pytest.approx(50, 0.1), "°C"), ] assert sorted(got) == sorted(expected) @pytest.mark.parametrize("has_hwmon,direct_access", [(False, False), (True, True)]) def test_octo_set_fixed_speeds_directly(mockOctoDevice, has_hwmon, direct_access, tmp_path): """For both test cases only direct access should be used""" if has_hwmon: mockOctoDevice._hwmon = HwmonDevice("mock_module", tmp_path) (tmp_path / "pwm1").write_text("0") (tmp_path / "pwm1_enable").write_text("0") (tmp_path / "pwm2").write_text("0") (tmp_path / "pwm2_enable").write_text("0") mockOctoDevice.set_fixed_speed("fan1", 84, direct_access=direct_access) mockOctoDevice.set_fixed_speed("fan2", 50, direct_access=direct_access) pump_report, fan_report = mockOctoDevice.device.sent assert pump_report.number == 3 assert pump_report.data[0x59:0x5C] == [0, 32, 208] # 0, <8400> assert fan_report.number == 3 assert fan_report.data[0xAE:0xB1] == [0, 19, 136] # 0, <5000> # Assert that hwmon wasn't touched if has_hwmon: assert (tmp_path / "pwm1_enable").read_text() == "0" assert (tmp_path / "pwm1").read_text() == "0" assert (tmp_path / "pwm2_enable").read_text() == "0" assert (tmp_path / "pwm2").read_text() == "0" @pytest.mark.parametrize("has_support", [False, True]) def test_octo_set_fixed_speeds_hwmon(mockOctoDevice, has_support, tmp_path): mockOctoDevice._hwmon = HwmonDevice("mock_module", tmp_path) if has_support: (tmp_path / "pwm1").write_text("0\n") (tmp_path / "pwm1_enable").write_text("0\n") (tmp_path / "pwm2").write_text("0\n") (tmp_path / "pwm2_enable").write_text("0\n") mockOctoDevice.set_fixed_speed("fan1", 84) mockOctoDevice.set_fixed_speed("fan2", 50) if has_support: assert (tmp_path / "pwm1_enable").read_text() == "1" assert (tmp_path / "pwm1").read_text() == "214" assert (tmp_path / "pwm2_enable").read_text() == "1" assert (tmp_path / "pwm2").read_text() == "127" else: # Assert fallback to direct access pump_report, fan_report = mockOctoDevice.device.sent assert pump_report.number == 3 assert pump_report.data[0x59:0x5C] == [0, 32, 208] # 0, <8400> assert fan_report.number == 3 assert fan_report.data[0xAE:0xB1] == [0, 19, 136] # 0, <5000> def test_octo_speed_profiles_not_supported(mockOctoDevice): with pytest.raises(NotSupportedByDriver): mockOctoDevice.set_speed_profile("fan", None) @pytest.fixture def mockQuadroDevice(): device = _MockQuadroDevice() dev = Aquacomputer( device, "Mock Aquacomputer Quadro", device_info=Aquacomputer._DEVICE_INFO[Aquacomputer._DEVICE_QUADRO], ) dev.connect() return dev class _MockQuadroDevice(MockHidapiDevice): def __init__(self): super().__init__(vendor_id=0x0C70, product_id=0xF00D) self.preload_read(Report(1, QUADRO_SAMPLE_STATUS_REPORT)) self.preload_read(Report(3, QUADRO_SAMPLE_CONTROL_REPORT)) self.preload_read(Report(3, QUADRO_SAMPLE_CONTROL_REPORT)) def read(self, length): pre = super().read(length) if pre: return pre return Report(1, QUADRO_SAMPLE_STATUS_REPORT) def test_quadro_connect(mockQuadroDevice): def mock_open(): nonlocal opened opened = True mockQuadroDevice.device.open = mock_open opened = False with mockQuadroDevice.connect() as cm: assert cm == mockQuadroDevice assert opened def test_quadro_initialize(mockQuadroDevice): init_result = mockQuadroDevice.initialize() # Verify firmware version assert init_result[0][1] == 1032 # Verify serial number assert init_result[1][1] == "23410-65344" @pytest.mark.parametrize("has_hwmon,direct_access", [(False, False), (True, True)]) def test_quadro_get_status_directly(mockQuadroDevice, has_hwmon, direct_access): if has_hwmon: mockQuadroDevice._hwmon = HwmonDevice(None, None) got = mockQuadroDevice.get_status(direct_access=direct_access) expected = [ ("Sensor 3", pytest.approx(16.17, 0.1), "°C"), ("Soft. Sensor 1", pytest.approx(23.9, 0.1), "°C"), ("Soft. Sensor 13", pytest.approx(50.0, 0.1), "°C"), ("Fan 1 speed", pytest.approx(0, 0.1), "rpm"), ("Fan 1 power", pytest.approx(0, 0.1), "W"), ("Fan 1 voltage", pytest.approx(0, 0.1), "V"), ("Fan 1 current", pytest.approx(0, 0.1), "A"), ("Fan 2 speed", pytest.approx(0, 0.1), "rpm"), ("Fan 2 power", pytest.approx(0, 0.1), "W"), ("Fan 2 voltage", pytest.approx(12.07, 0.1), "V"), ("Fan 2 current", pytest.approx(0, 0.1), "A"), ("Fan 3 speed", pytest.approx(356, 0.1), "rpm"), ("Fan 3 power", pytest.approx(0, 0.1), "W"), ("Fan 3 voltage", pytest.approx(12.07, 0.1), "V"), ("Fan 3 current", pytest.approx(0, 0.1), "A"), ("Fan 4 speed", pytest.approx(0, 0.1), "rpm"), ("Fan 4 power", pytest.approx(0, 0.1), "W"), ("Fan 4 voltage", pytest.approx(12.07, 0.1), "V"), ("Fan 4 current", pytest.approx(0, 0.1), "A"), ("Flow sensor", pytest.approx(0, 0.1), "dL/h"), ] assert sorted(got) == sorted(expected) def test_quadro_get_status_from_hwmon(mockQuadroDevice, tmp_path): mockQuadroDevice._hwmon = HwmonDevice("mock_module", tmp_path) (tmp_path / "temp1_input").write_text("27580\n") (tmp_path / "temp2_input").write_text("27670\n") (tmp_path / "temp3_input").write_text("28370\n") (tmp_path / "temp4_input").write_text("34240\n") (tmp_path / "fan1_input").write_text("0\n") (tmp_path / "power1_input").write_text("10000\n") (tmp_path / "in0_input").write_text("12090\n") (tmp_path / "curr1_input").write_text("1\n") (tmp_path / "fan2_input").write_text("576\n") (tmp_path / "power2_input").write_text("1030000\n") (tmp_path / "in1_input").write_text("12090\n") (tmp_path / "curr2_input").write_text("350\n") (tmp_path / "fan3_input").write_text("0\n") (tmp_path / "power3_input").write_text("0\n") (tmp_path / "in2_input").write_text("0\n") (tmp_path / "curr3_input").write_text("0\n") (tmp_path / "fan4_input").write_text("0\n") (tmp_path / "power4_input").write_text("0\n") (tmp_path / "in3_input").write_text("0\n") (tmp_path / "curr4_input").write_text("0\n") (tmp_path / "fan5_input").write_text("603\n") (tmp_path / "temp5_input").write_text("50000\n") # Soft. Sensor 1 temperature (tmp_path / "temp6_input").write_text("60000\n") # Soft. Sensor 2 temperature (tmp_path / "temp7_input").write_text("50000\n") # Soft. Sensor 3 temperature (tmp_path / "temp8_input").write_text("50000\n") # Soft. Sensor 4 temperature (tmp_path / "temp9_input").write_text("50000\n") # Soft. Sensor 5 temperature (tmp_path / "temp10_input").write_text("50000\n") # Soft. Sensor 6 temperature (tmp_path / "temp11_input").write_text("50000\n") # Soft. Sensor 7 temperature (tmp_path / "temp12_input").write_text("50000\n") # Soft. Sensor 8 temperature (tmp_path / "temp13_input").write_text("50000\n") # Soft. Sensor 9 temperature (tmp_path / "temp14_input").write_text("50000\n") # Soft. Sensor 10 temperature (tmp_path / "temp15_input").write_text("50000\n") # Soft. Sensor 11 temperature (tmp_path / "temp16_input").write_text("50000\n") # Soft. Sensor 12 temperature (tmp_path / "temp17_input").write_text("50000\n") # Soft. Sensor 13 temperature (tmp_path / "temp18_input").write_text("50000\n") # Soft. Sensor 14 temperature (tmp_path / "temp19_input").write_text("50000\n") # Soft. Sensor 15 temperature (tmp_path / "temp20_input").write_text("50000\n") # Soft. Sensor 16 temperature got = mockQuadroDevice.get_status() expected = [ ("Sensor 1", pytest.approx(27.5, 0.1), "°C"), ("Sensor 2", pytest.approx(27.7, 0.1), "°C"), ("Sensor 3", pytest.approx(28.4, 0.1), "°C"), ("Sensor 4", pytest.approx(34.2, 0.1), "°C"), ("Fan 1 speed", pytest.approx(0, 0.1), "rpm"), ("Fan 1 power", pytest.approx(0.01, 0.1), "W"), ("Fan 1 voltage", pytest.approx(12.09, 0.1), "V"), ("Fan 1 current", pytest.approx(0.001, 0.1), "A"), ("Fan 2 speed", pytest.approx(576, 0.1), "rpm"), ("Fan 2 power", pytest.approx(1.03, 0.1), "W"), ("Fan 2 voltage", pytest.approx(12.09, 0.1), "V"), ("Fan 2 current", pytest.approx(0.35, 0.1), "A"), ("Fan 3 speed", pytest.approx(0, 0.1), "rpm"), ("Fan 3 power", pytest.approx(0, 0.1), "W"), ("Fan 3 voltage", pytest.approx(0, 0.1), "V"), ("Fan 3 current", pytest.approx(0, 0.1), "A"), ("Fan 4 speed", pytest.approx(0, 0.1), "rpm"), ("Fan 4 power", pytest.approx(0, 0.1), "W"), ("Fan 4 voltage", pytest.approx(0, 0.1), "V"), ("Fan 4 current", pytest.approx(0, 0.1), "A"), ("Flow sensor", pytest.approx(603, 0.1), "dL/h"), ("Soft. Sensor 1", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 2", pytest.approx(60, 0.1), "°C"), ("Soft. Sensor 3", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 4", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 5", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 6", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 7", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 8", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 9", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 10", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 11", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 12", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 13", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 14", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 15", pytest.approx(50, 0.1), "°C"), ("Soft. Sensor 16", pytest.approx(50, 0.1), "°C"), ] assert sorted(got) == sorted(expected) @pytest.mark.parametrize("has_hwmon,direct_access", [(False, False), (True, True)]) def test_quadro_set_fixed_speeds_directly(mockQuadroDevice, has_hwmon, direct_access, tmp_path): """For both test cases only direct access should be used""" if has_hwmon: mockQuadroDevice._hwmon = HwmonDevice("mock_module", tmp_path) (tmp_path / "pwm1").write_text("0") (tmp_path / "pwm1_enable").write_text("0") (tmp_path / "pwm2").write_text("0") (tmp_path / "pwm2_enable").write_text("0") mockQuadroDevice.set_fixed_speed("fan1", 84, direct_access=direct_access) mockQuadroDevice.set_fixed_speed("fan2", 50, direct_access=direct_access) pump_report, fan_report = mockQuadroDevice.device.sent assert pump_report.number == 3 assert pump_report.data[0x35:0x38] == [0, 32, 208] # 0, <8400> assert fan_report.number == 3 assert fan_report.data[0x8A:0x8D] == [0, 19, 136] # 0, <5000> # Assert that hwmon wasn't touched if has_hwmon: assert (tmp_path / "pwm1_enable").read_text() == "0" assert (tmp_path / "pwm1").read_text() == "0" assert (tmp_path / "pwm2_enable").read_text() == "0" assert (tmp_path / "pwm2").read_text() == "0" @pytest.mark.parametrize("has_support", [False, True]) def test_quadro_set_fixed_speeds_hwmon(mockQuadroDevice, has_support, tmp_path): mockQuadroDevice._hwmon = HwmonDevice("mock_module", tmp_path) if has_support: (tmp_path / "pwm1").write_text("0\n") (tmp_path / "pwm1_enable").write_text("0\n") (tmp_path / "pwm2").write_text("0\n") (tmp_path / "pwm2_enable").write_text("0\n") mockQuadroDevice.set_fixed_speed("fan1", 84) mockQuadroDevice.set_fixed_speed("fan2", 50) if has_support: assert (tmp_path / "pwm1_enable").read_text() == "1" assert (tmp_path / "pwm1").read_text() == "214" assert (tmp_path / "pwm2_enable").read_text() == "1" assert (tmp_path / "pwm2").read_text() == "127" else: # Assert fallback to direct access pump_report, fan_report = mockQuadroDevice.device.sent assert pump_report.number == 3 assert pump_report.data[0x35:0x38] == [0, 32, 208] # 0, <8400> assert fan_report.number == 3 assert fan_report.data[0x8A:0x8D] == [0, 19, 136] # 0, <5000> def test_quadro_speed_profiles_not_supported(mockQuadroDevice): with pytest.raises(NotSupportedByDriver): mockQuadroDevice.set_speed_profile("fan", None) liquidctl-1.16.0/tests/test_asetek.py000066400000000000000000000132011515166127400176250ustar00rootroot00000000000000import pytest from _testutils import MockPyusbDevice, MockRuntimeStorage from collections import deque from liquidctl.driver.asetek import Modern690Lc, Legacy690Lc, Hydro690Lc @pytest.fixture def mockModern690LcDevice(): device = MockPyusbDevice() dev = Modern690Lc(device, 'Mock Modern 690LC') dev.connect() return dev @pytest.fixture def mockLegacy690LcDevice(): device = MockPyusbDevice(vendor_id=0xffff, product_id=0xb200, bus=1, address=2) dev = Legacy690Lc(device, 'Mock Legacy 690LC') runtime_storage = MockRuntimeStorage(key_prefixes=['testing']) runtime_storage.store('leds_enabled', 0) dev.connect(runtime_storage=runtime_storage) return dev def test_modern690Lc_device_not_totally_broken(mockModern690LcDevice): """A few reasonable example calls do not raise exceptions.""" dev = mockModern690LcDevice dev.initialize() dev.get_status() dev.set_color(channel='led', mode='blinking', colors=iter([[3, 2, 1]]), time_per_color=3, time_off=1, alert_threshold=42, alert_color=[90, 80, 10]) dev.set_color(channel='led', mode='rainbow', colors=[], speed=5) dev.set_speed_profile(channel='fan', profile=iter([(20, 20), (30, 50), (40, 100)])) dev.set_fixed_speed(channel='pump', duty=50) def test_modern690Lc_device_connect(mockModern690LcDevice): def mock_open(): nonlocal opened opened = True mockModern690LcDevice.device.open = mock_open opened = False with mockModern690LcDevice.connect() as cm: assert cm == mockModern690LcDevice assert opened def test_modern690Lc_device_begin_transaction(mockModern690LcDevice): mockModern690LcDevice.device._reset_sent() mockModern690LcDevice.get_status() (begin, _) = mockModern690LcDevice.device._sent_xfers xfer_type, bmRequestType, bRequest, wValue, wIndex, datalen = begin assert xfer_type == 'ctrl_transfer' assert bRequest == 2 assert bmRequestType == 0x40 assert wValue == 1 assert wIndex == 0 assert datalen is None def test_modern690Lc_initialize_can_persist_settings(mockModern690LcDevice): dev = mockModern690LcDevice dev.device._reset_sent() dev.initialize(non_volatile=True) _begin, (cmd_msgtype, cmd_ep, cmd_data) = dev.device._sent_xfers[-2:] assert cmd_msgtype == 'write' assert cmd_ep == 2 assert cmd_data == [0x21] def test_modern690Lc_set_color_can_persist_settings(mockModern690LcDevice): dev = mockModern690LcDevice dev.device._reset_sent() dev.set_color(channel='led', mode='rainbow', colors=[], non_volatile=True) _begin, (cmd_msgtype, cmd_ep, cmd_data) = dev.device._sent_xfers[-2:] assert cmd_msgtype == 'write' assert cmd_ep == 2 assert cmd_data == [0x21] def test_modern690Lc_set_speed_profile_can_persist_settings(mockModern690LcDevice): dev = mockModern690LcDevice dev.device._reset_sent() dev.set_speed_profile(channel='fan', profile=[(20, 20), (30, 50), (40, 100)], non_volatile=True) _begin, (cmd_msgtype, cmd_ep, cmd_data) = dev.device._sent_xfers[-2:] assert cmd_msgtype == 'write' assert cmd_ep == 2 assert cmd_data == [0x21] def test_modern690Lc_set_fixed_speed_can_persist_settings(mockModern690LcDevice): dev = mockModern690LcDevice dev.device._reset_sent() dev.set_fixed_speed(channel='pump', duty=50, non_volatile=True) _begin, (cmd_msgtype, cmd_ep, cmd_data) = dev.device._sent_xfers[-2:] assert cmd_msgtype == 'write' assert cmd_ep == 2 assert cmd_data == [0x21] def test_legacy690Lc_device_not_totally_broken(mockLegacy690LcDevice): """A few reasonable example calls do not raise exceptions.""" dev = mockLegacy690LcDevice dev.initialize() status = dev.get_status() dev.set_color(channel='led', mode='blinking', colors=iter([[3, 2, 1]]), time_per_color=3, time_off=1, alert_threshold=42, alert_color=[90, 80, 10]) dev.set_fixed_speed(channel='fan', duty=80) dev.set_fixed_speed(channel='pump', duty=50) def test_legacy690Lc_device_matches_leviathan_updates(mockLegacy690LcDevice): dev = mockLegacy690LcDevice dev.initialize() dev.set_fixed_speed(channel='pump', duty=50) dev.device._reset_sent() dev.set_color(channel='led', mode='fading', colors=[[0, 0, 255], [0, 255, 0]], time_per_color=1, alert_threshold=60, alert_color=[0, 0, 0]) _begin, (color_msgtype, color_ep, color_data) = dev.device._sent_xfers assert color_msgtype == 'write' assert color_ep == 2 assert color_data[0:12] == [0x10, 0, 0, 255, 0, 255, 0, 0, 0, 0, 0x3c, 1] dev.device._reset_sent() dev.set_fixed_speed(channel='fan', duty=50) _begin, pump_message, fan_message = dev.device._sent_xfers assert pump_message == ('write', 2, [0x13, 50]) assert fan_message == ('write', 2, [0x12, 50]) def test_legacy690Lc_device_initialize_warns_on_non_volatile(mockLegacy690LcDevice, caplog): mockLegacy690LcDevice.initialize(non_volatile=True) assert 'device does not support non-volatile' in caplog.text def test_legacy690Lc_device_set_color_warns_on_non_volatile(mockLegacy690LcDevice, caplog): mockLegacy690LcDevice.set_color(channel='led', mode='blinking', colors=iter([[3, 2, 1]]), non_volatile=True) assert 'device does not support non-volatile' in caplog.text def test_legacy690Lc_device_set_fixed_speed_warns_on_non_volatile(mockLegacy690LcDevice, caplog): mockLegacy690LcDevice.set_fixed_speed(channel='fan', duty=80, non_volatile=True) assert 'device does not support non-volatile' in caplog.text liquidctl-1.16.0/tests/test_asetek_pro.py000066400000000000000000000070141515166127400205120ustar00rootroot00000000000000import pytest from _testutils import MockPyusbDevice from collections import deque from liquidctl.driver.asetek_pro import HydroPro @pytest.fixture def emulate(): usb_dev = MockPyusbDevice() cooler = HydroPro(usb_dev, 'Emulated Asetek Pro cooler', fan_count=2) return (usb_dev, cooler) def test_not_totally_broken(emulate): _, cooler = emulate with cooler.connect(): cooler.initialize() cooler.get_status() cooler.set_color(channel='logo', mode='blinking', colors=iter([[3, 2, 1]])) cooler.set_color(channel='logo', mode='pulse', colors=[[3, 2, 1]], speed='normal') cooler.set_speed_profile(channel='fan', profile=iter([(20, 20), (30, 50), (40, 100)])) cooler.set_speed_profile(channel='fan1', profile=iter([(20, 20), (30, 50), (40, 100)])) cooler.set_fixed_speed(channel='fan', duty=50) def test_initialize_with_pump_mode(emulate): usb_dev, cooler = emulate with cooler.connect(): cooler.initialize(pump_mode='balanced') _begin, set_pump, _fw_version = usb_dev._sent_xfers assert set_pump == ('write', 1, [0x32, 0x01]) def test_set_profile_of_all_fans(emulate): usb_dev, cooler = emulate # When setting the speed of all fans the driver first gets the speed of all # fans to work out how many fans are present. Set 2 valid responses to # simulate a setup with 2 fans present. The first response is for the pump # setup in the initialize function. with cooler.connect(): cooler.initialize() cooler.set_speed_profile(channel='fan', profile=[(0, 10), (25, 50), (40, 100)]) _begin, _pump, _fw_version, fan1, fan2 = usb_dev._sent_xfers assert fan1 == ('write', 1, [0x40, 0x00, 0x00, 0x19, 0x28, 0x3c, 0x3c, 0x3c, 0x3c, 0x0a, 0x32, 0x64, 0x64, 0x64, 0x64, 0x64]) assert fan2 == ('write', 1, [0x40, 0x01, 0x00, 0x19, 0x28, 0x3c, 0x3c, 0x3c, 0x3c, 0x0a, 0x32, 0x64, 0x64, 0x64, 0x64, 0x64]) def test_setting_speed_on_single_fan_2(emulate): usb_dev, cooler = emulate with cooler.connect(): cooler.initialize() cooler.set_fixed_speed('fan2', 100) _begin, _pump, _fw_version, fan2 = usb_dev._sent_xfers assert fan2 == ('write', 1, [0x42, 0x01, 0x64]) def test_set_pump_to_fixed_color(emulate): usb_dev, cooler = emulate with cooler.connect(): cooler.initialize() cooler.set_color(channel='logo', mode='fixed', colors=iter([[0xff, 0x88, 0x44]])) _begin, _pump, _fw_version, color_change, color_end = usb_dev._sent_xfers assert color_change == ('write', 1, [0x56, 0x02, 0xff, 0x88, 0x44, 0xff, 0x88, 0x44]) assert color_end == ('write', 1, [0x55, 0x01]) def test_set_pump_to_blinking_mode(emulate): usb_dev, cooler = emulate with cooler.connect(): cooler.initialize() cooler.set_color(channel='logo', mode='blinking', speed='normal', colors=iter([[0xff, 0x88, 0x44], [0xff, 0xff, 0xff], [0x00, 0x00, 0x00]])) _begin, _pump, _fw_version, color_change, color_mode, color_end = usb_dev._sent_xfers assert color_change == ('write', 1, [0x56, 0x03, 0xff, 0x88, 0x44, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00]) assert color_mode == ('write', 1, [0x53, 0x0A]) assert color_end == ('write', 1, [0x58, 0x01]) liquidctl-1.16.0/tests/test_asus_ryujin.py000066400000000000000000000214541515166127400207350ustar00rootroot00000000000000import pytest from _testutils import MockHidapiDevice from liquidctl.driver.asus_ryujin import AsusRyujin PROTOCOL_HEADER = 0xEC CMD_GET_FIRMWARE = 0x82 CMD_GET_STATUS = 0x99 CMD_GET_PUMP_DUTY = 0x9A CMD_GET_FAN_SPEEDS = 0xA0 CMD_GET_FAN_DUTY = 0xA1 CMD_SET_PUMP_DUTY = 0x1A CMD_SET_FAN_DUTY = 0x21 DEVICE_CONFIGS = { 0x1988: { "name": "Mock ASUS Ryujin II", "fan_count": 4, "pump_speed_offset": 5, "pump_fan_speed_offset": 7, "temp_offset": 3, "duty_channel": 0, "responses": { CMD_GET_FIRMWARE: "ec02004155524a312d533735302d30313034", CMD_GET_STATUS: "ec19001b056405100e", CMD_GET_PUMP_DUTY: "ec1a0000223c", CMD_GET_FAN_SPEEDS: "ec200000000c03ee02", CMD_GET_FAN_DUTY: "ec2100005b", CMD_SET_PUMP_DUTY: "ec1a", CMD_SET_FAN_DUTY: "ec21", }, "expected_firmware": "AURJ1-S750-0104", "expected_status": [ ("Liquid temperature", 27.5, "°C"), ("Pump speed", 1380, "rpm"), ("Pump fan speed", 3600, "rpm"), ("Pump duty", 34, "%"), ("Pump fan duty", 60, "%"), ("External fan duty", 36, "%"), ("External fan 1 speed", 780, "rpm"), ("External fan 2 speed", 750, "rpm"), ("External fan 3 speed", 0, "rpm"), ("External fan 4 speed", 0, "rpm"), ], }, 0x1BCB: { "name": "Mock Ryujin III EXTREME", "fan_count": 0, "pump_speed_offset": 7, "pump_fan_speed_offset": 10, "temp_offset": 5, "duty_channel": 1, "responses": { CMD_GET_FIRMWARE: "ec02004155524a332d533546392d30313034", CMD_GET_STATUS: "ec190000001d09ec041e6603", CMD_GET_PUMP_DUTY: "ec1a00011e1e", CMD_SET_PUMP_DUTY: "ec1a", }, "expected_firmware": "AURJ3-S5F9-0104", "expected_status": [ ("Liquid temperature", 29.9, "°C"), ("Pump speed", 1260, "rpm"), ("Pump fan speed", 870, "rpm"), ("Pump duty", 30, "%"), ("Pump fan duty", 30, "%"), ], }, 0x1ADE: { "name": "Mock Ryujin III EVA EDITION", "fan_count": 0, "pump_speed_offset": 7, "pump_fan_speed_offset": 10, "temp_offset": 5, "duty_channel": 1, "responses": { CMD_GET_FIRMWARE: "ec02004155524a322d533735302d30313039", CMD_GET_STATUS: "ec1900000021002e0e644803", CMD_GET_PUMP_DUTY: "ec1a0001281e", CMD_SET_PUMP_DUTY: "ec1a", }, "expected_firmware": "AURJ2-S750-0109", "expected_status": [ ("Liquid temperature", 33.0, "°C"), ("Pump speed", 3630, "rpm"), ("Pump fan speed", 840, "rpm"), ("Pump duty", 40, "%"), ("Pump fan duty", 30, "%"), ], }, 0x1AA2: { "name": "Mock Ryujin III 360", "fan_count": 0, "pump_speed_offset": 7, "pump_fan_speed_offset": 10, "temp_offset": 5, "duty_channel": 1, "responses": { CMD_GET_FIRMWARE: "ec02004155524a332d533546392d30313034", CMD_GET_STATUS: "ec190000001d09ec041e6603", CMD_GET_PUMP_DUTY: "ec1a00011e1e", CMD_SET_PUMP_DUTY: "ec1a", }, "expected_firmware": "AURJ3-S5F9-0104", "expected_status": [ ("Liquid temperature", 29.9, "°C"), ("Pump speed", 1260, "rpm"), ("Pump fan speed", 870, "rpm"), ("Pump duty", 30, "%"), ("Pump fan duty", 30, "%"), ], }, 0x1ADA: { "name": "Mock Ryujin III WHITE EDITION", "fan_count": 0, "pump_speed_offset": 7, "pump_fan_speed_offset": 10, "temp_offset": 5, "duty_channel": 1, "responses": { CMD_GET_FIRMWARE: "ec02004155524a332d533546392d30313034", CMD_GET_STATUS: "ec190000001d09ec041e6603", CMD_GET_PUMP_DUTY: "ec1a00011e1e", CMD_SET_PUMP_DUTY: "ec1a", }, "expected_firmware": "AURJ2-S750-0108", "expected_status": [ ("Liquid temperature", 29.9, "°C"), ("Pump speed", 1260, "rpm"), ("Pump fan speed", 870, "rpm"), ("Pump duty", 30, "%"), ("Pump fan duty", 30, "%"), ], }, } class _MockRyujinDevice(MockHidapiDevice): def __init__(self, vendor_id: int, product_id: int): super().__init__(vendor_id, product_id) self.requests = [] self.response = None self.config = DEVICE_CONFIGS.get(product_id, {}) def write(self, data): super().write(data) self.requests.append(data) assert data[0] == PROTOCOL_HEADER command = data[1] self.response = self.config.get("responses", {}).get(command) def read(self, length, **kwargs): pre = super().read(length, **kwargs) if pre: return pre buf = bytearray(65) buf[0] = PROTOCOL_HEADER if self.response: response = bytes.fromhex(self.response) buf[: len(response)] = response return buf[:length] @pytest.fixture def mock_ryujin(): product_id = 0x1988 config = DEVICE_CONFIGS[product_id] return AsusRyujin( _MockRyujinDevice(vendor_id=0x0B05, product_id=product_id), config["name"], fan_count=config["fan_count"], pump_speed_offset=config["pump_speed_offset"], pump_fan_speed_offset=config["pump_fan_speed_offset"], temp_offset=config["temp_offset"], duty_channel=config["duty_channel"], ) @pytest.fixture def mock_ryujin3(): product_id = 0x1BCB config = DEVICE_CONFIGS[product_id] return AsusRyujin( _MockRyujinDevice(vendor_id=0x0B05, product_id=product_id), config["name"], fan_count=config["fan_count"], pump_speed_offset=config["pump_speed_offset"], pump_fan_speed_offset=config["pump_fan_speed_offset"], temp_offset=config["temp_offset"], duty_channel=config["duty_channel"], ) @pytest.mark.parametrize("product_id", [0x1988, 0x1BCB, 0x1ADE, 0x1AA2]) def test_initialize(product_id): config = DEVICE_CONFIGS[product_id] device = AsusRyujin( _MockRyujinDevice(vendor_id=0x0B05, product_id=product_id), config["name"], fan_count=config["fan_count"], pump_speed_offset=config["pump_speed_offset"], pump_fan_speed_offset=config["pump_fan_speed_offset"], temp_offset=config["temp_offset"], duty_channel=config["duty_channel"], ) with device.connect(): (firmware_status,) = device.initialize() assert firmware_status[1] == config["expected_firmware"] @pytest.mark.parametrize("product_id", [0x1988, 0x1BCB, 0x1ADE, 0x1AA2]) def test_status(product_id): config = DEVICE_CONFIGS[product_id] device = AsusRyujin( _MockRyujinDevice(vendor_id=0x0B05, product_id=product_id), config["name"], fan_count=config["fan_count"], pump_speed_offset=config["pump_speed_offset"], pump_fan_speed_offset=config["pump_fan_speed_offset"], temp_offset=config["temp_offset"], duty_channel=config["duty_channel"], ) with device.connect(): actual = device.get_status() expected = [] for item in config["expected_status"]: name, value, unit = item if name == "Liquid temperature": expected.append((name, pytest.approx(value), unit)) else: expected.append((name, value, unit)) assert sorted(actual) == sorted(expected) def test_set_fixed_speeds_ryujin2(mock_ryujin): with mock_ryujin.connect(): mock_ryujin.set_fixed_speed(channel="pump", duty=10) assert mock_ryujin.device.requests[-1][2] == 0x00 assert mock_ryujin.device.requests[-1][3] == 0x0A mock_ryujin.set_fixed_speed(channel="pump-fan", duty=20) assert mock_ryujin.device.requests[-1][2] == 0x00 assert mock_ryujin.device.requests[-1][4] == 0x14 mock_ryujin.set_fixed_speed(channel="external-fans", duty=30) assert mock_ryujin.device.requests[-1][4] == 0x4C mock_ryujin.set_fixed_speed(channel="fans", duty=40) assert mock_ryujin.device.requests[-2][4] == 0x28 assert mock_ryujin.device.requests[-1][4] == 0x66 def test_set_fixed_speeds_ryujin3(mock_ryujin3): with mock_ryujin3.connect(): mock_ryujin3.set_fixed_speed(channel="pump", duty=70) assert mock_ryujin3.device.requests[-1][2] == 0x01 assert mock_ryujin3.device.requests[-1][3] == 0x46 mock_ryujin3.set_fixed_speed(channel="pump-fan", duty=50) assert mock_ryujin3.device.requests[-1][2] == 0x01 assert mock_ryujin3.device.requests[-1][4] == 0x32 liquidctl-1.16.0/tests/test_asus_ryuo.py000066400000000000000000000027441515166127400204140ustar00rootroot00000000000000import pytest from _testutils import MockHidapiDevice from liquidctl.driver.asus_ryuo import AsusRyuo @pytest.fixture def mockRyuo(): device = AsusRyuo(_MockRyuoDevice(), "Mock Asus Ryuo I") device.connect() return device class _MockRyuoDevice(MockHidapiDevice): def __init__(self): super().__init__(vendor_id=0x0B05, product_id=0x1887) self.requests = [] self.response = None def write(self, data): super().write(data) self.requests.append(data) assert data[0] == 0xEC header = data[1] if header == 0x82: self.response = "ec024155524f302d533435322d30323035" else: self.response = None def read(self, length, **kwargs): pre = super().read(length, **kwargs) if pre: return pre buf = bytearray(65) buf[0] = 0xEC if self.response: response = bytes.fromhex(self.response) buf[: len(response)] = response return buf[:length] def test_initialize(mockRyuo): (firmware_status,) = mockRyuo.initialize() assert firmware_status[1] == "AURO0-S452-0205" @pytest.mark.skip(reason="TODO: implement expected status values") def test_status(mockRyuo): actual = mockRyuo.get_status() expected = [] assert sorted(actual) == sorted(expected) def test_set_fixed_speeds(mockRyuo): mockRyuo.set_fixed_speed(channel="fans", duty=40) assert mockRyuo.device.requests[-1][2] == 0x28 liquidctl-1.16.0/tests/test_aura_led.py000066400000000000000000000117051515166127400201340ustar00rootroot00000000000000import pytest from _testutils import MockHidapiDevice, Report from liquidctl.driver.aura_led import AuraLed # Sample data for Aura LED controller from ASUS ProArt Z690-Creator WiFi _INIT_19AF_FIRMWARE_DATA = bytes.fromhex( "ec0241554c41332d415233322d30323037000000000000000000000000000000" "000000000000000000000000000000000000000000000000000000000000000000" ) _INIT_19AF_FIRMWARE = Report(_INIT_19AF_FIRMWARE_DATA[0], _INIT_19AF_FIRMWARE_DATA[1:]) _INIT_19AF_CONFIG_DATA = bytes.fromhex( "ec3000001e9f03010000783c00010000783c00010000783c0000000000000001" "040201f40000000000000000000000000000000000000000000000000000000000" ) _INIT_19AF_CONFIG = Report(_INIT_19AF_CONFIG_DATA[0], _INIT_19AF_CONFIG_DATA[1:]) @pytest.fixture def mockAuraLed_19AFDevice(): device = MockHidapiDevice(vendor_id=0x0B05, product_id=0x19AF, address="addr") dev = AuraLed(device, "mock Aura LED Controller") dev.connect() return dev def test_aura_led_19AF_device_command_format(mockAuraLed_19AFDevice): mockAuraLed_19AFDevice.device.preload_read(_INIT_19AF_FIRMWARE) mockAuraLed_19AFDevice.device.preload_read(_INIT_19AF_CONFIG) mockAuraLed_19AFDevice.initialize() # should perform 3 writes mockAuraLed_19AFDevice.set_color( channel="sync", mode="off", colors=[] ) # should perform 14 writes assert len(mockAuraLed_19AFDevice.device.sent) == 2 + 14 for i, (report, data) in enumerate(mockAuraLed_19AFDevice.device.sent): assert report == 0xEC assert len(data) == 64 def test_aura_led_19AF_device_get_status(mockAuraLed_19AFDevice): mockAuraLed_19AFDevice.device.preload_read(_INIT_19AF_CONFIG) assert mockAuraLed_19AFDevice.get_status() != [] def test_aura_led_unexpected_get_status(mockAuraLed_19AFDevice): with pytest.raises(AssertionError): mockAuraLed_19AFDevice.device.preload_read(Report(bytes(0), _INIT_19AF_CONFIG_DATA[1:])) mockAuraLed_19AFDevice.get_status() def test_aura_led_19AF_device_initialize_status(mockAuraLed_19AFDevice): mockAuraLed_19AFDevice.device.preload_read(_INIT_19AF_FIRMWARE) mockAuraLed_19AFDevice.device.preload_read(_INIT_19AF_CONFIG) status_list = mockAuraLed_19AFDevice.initialize() firmware_tuple = status_list[0] assert firmware_tuple[1] == "AULA3-AR32-0207" def test_aura_led_19AF_device_off_with_some_channel(mockAuraLed_19AFDevice): colors = [[0xFF, 0, 0x80]] # should be ignored mockAuraLed_19AFDevice.set_color(channel="led2", mode="off", colors=iter(colors)) assert len(mockAuraLed_19AFDevice.device.sent) == 5 data1 = mockAuraLed_19AFDevice.device.sent[0].data data2 = mockAuraLed_19AFDevice.device.sent[1].data assert data1[1] == 0x01 # key for led2 assert data1[4] == 0x00 # off assert data2[2] == 0x02 # channel led2 assert data2[7:10] == [0x00, 0x00, 0x00] def test_aura_led_19AF_static_with_some_channel(mockAuraLed_19AFDevice): colors = [[0xFF, 0, 0x80], [0x30, 0x30, 0x30]] # second color should be ignored mockAuraLed_19AFDevice.set_color(channel="led2", mode="static", colors=iter(colors)) assert len(mockAuraLed_19AFDevice.device.sent) == 5 data1 = mockAuraLed_19AFDevice.device.sent[0].data data2 = mockAuraLed_19AFDevice.device.sent[1].data assert data1[1] == 0x01 # key for led2 assert data1[4] == 0x01 # static mode assert data2[2] == 0x02 # channel led2 assert data2[7:10] == [0xFF, 0x00, 0x80] def test_aura_led_19AF_spectrum_cycle_with_some_channel(mockAuraLed_19AFDevice): colors = [[0xFF, 0, 0x80], [0x30, 0x30, 0x30]] # second color should be ignored mockAuraLed_19AFDevice.set_color(channel="led3", mode="spectrum_cycle", colors=iter(colors)) assert len(mockAuraLed_19AFDevice.device.sent) == 5 data1 = mockAuraLed_19AFDevice.device.sent[0].data data2 = mockAuraLed_19AFDevice.device.sent[1].data assert data1[1] == 0x01 # key for led3 assert data1[4] == 0x04 # spectrum cycle assert data2[2] == 0x04 # channel led3 assert data2[7:10] == [0x00, 0x00, 0x00] def test_aura_led_19AF_device_sync_channel(mockAuraLed_19AFDevice): colors = [[0xFF, 0, 0x80]] mockAuraLed_19AFDevice.set_color(channel="sync", mode="static", colors=iter(colors)) assert len(mockAuraLed_19AFDevice.device.sent) == 14 # 14 writes def test_aura_led_19AF_device_invalid_set_color_arguments(mockAuraLed_19AFDevice): with pytest.raises(KeyError): mockAuraLed_19AFDevice.set_color("invalid", "off", []) with pytest.raises(KeyError): mockAuraLed_19AFDevice.set_color("led2", "invalid", []) with pytest.raises(ValueError): mockAuraLed_19AFDevice.set_color("led3", "static", []) def test_aura_led_19AF_device_initialize_status(mockAuraLed_19AFDevice): mockAuraLed_19AFDevice.device.preload_read(_INIT_19AF_FIRMWARE) mockAuraLed_19AFDevice.device.preload_read(_INIT_19AF_CONFIG) status_list = mockAuraLed_19AFDevice.initialize() firmware_tuple = status_list[0] assert firmware_tuple[1] == "AULA3-AR32-0207" liquidctl-1.16.0/tests/test_backward_compatibility_10.py000066400000000000000000000013161515166127400233640ustar00rootroot00000000000000"""Test API backward compatibility with liquidctl 1.0.x. While at the time all APIs were undocumented, we choose to support the use cases from GKraken as that software is a substantial contribution to the community. """ import pytest from test_kraken2 import mockKrakenXDevice from liquidctl.version import __version__ SPECTRUM = [ (235, 77, 40), (255, 148, 117), (126, 66, 45), (165, 87, 0), (56, 193, 66), (116, 217, 170), (166, 158, 255), (208, 0, 122) ] def test_pre11_apis_deprecated_super_mode(mockKrakenXDevice): # deprecated in favor of super-fixed, super-breathing and super-wave mockKrakenXDevice.set_color('sync', 'super', [(128, 0, 255)] + SPECTRUM, 'normal') liquidctl-1.16.0/tests/test_backward_compatibility_11.py000066400000000000000000000031121515166127400233610ustar00rootroot00000000000000"""Test backward compatibility with liquidctl 1.1.x.""" import pytest import usb from liquidctl.driver.kraken2 import Kraken2 from liquidctl.driver.usb import hid, HidapiDevice class _MockPyUsbHandle(usb.core.Device): def __init__(self, serial_number): self.idVendor = 0x1e71 self.idProduct = 0x170e self._serial_number = serial_number class MockResourceManager(): def dispose(self, *args, **kwargs): pass self._ctx = MockResourceManager() def _mock_enumerate(vendor_id=0, product_id=0): return [ {'vendor_id': vendor_id, 'product_id': product_id, 'serial_number': '_21', 'path': b'/_21'}, {'vendor_id': vendor_id, 'product_id': product_id, 'serial_number': '_89', 'path': b'/_89'} ] def test_construct_with_raw_pyusb_handle(monkeypatch): monkeypatch.setattr(hid, 'enumerate', _mock_enumerate) pyusb_handle = _MockPyUsbHandle(serial_number='_89') liquidctl_device = Kraken2(pyusb_handle, 'Some device') assert liquidctl_device.device.vendor_id == pyusb_handle.idVendor, \ '.device points to incorrect physical device' assert liquidctl_device.device.product_id == pyusb_handle.idProduct, \ '.device points to incorrect physical device' assert liquidctl_device.device.serial_number == pyusb_handle.serial_number, \ '.device points to different physical unit' assert isinstance(liquidctl_device.device, HidapiDevice), \ '.device not properly converted to HidapiDevice instance' liquidctl-1.16.0/tests/test_backward_compatibility_112.py000066400000000000000000000023021515166127400234430ustar00rootroot00000000000000"""Test backward compatibility with liquidctl 1.12.x.""" # uses the psf/black style import pytest from _testutils import MockHidapiDevice, Report, MockRuntimeStorage from test_commander_pro import commanderProDevice def test_initialize_commander_pro_fan_modes(commanderProDevice, caplog): """Fix #615 but preserve API compatibility.""" responses = [ "000009d4000000000000000000000000", # firmware "00000500000000000000000000000000", # bootloader "00010100010000000000000000000000", # temp probes "00010102000000000000000000000000", # fan set (throw away) "00010102000000000000000000000000", # fan set (throw away) "00010102000000000000000000000000", # fan set (throw away) "00010102000000000000000000000000", # fan probes ] for d in responses: commanderProDevice.device.preload_read(Report(0, bytes.fromhex(d))) commanderProDevice.initialize(direct_access=True, fan_modes={"4": "dc"}) sent = commanderProDevice.device.sent assert len(sent) == 5 assert sent[3].data[0] == 0x28 assert sent[3].data[2] == 3 assert sent[3].data[3] == 1 assert "deprecated parameter name `fan_modes`" in caplog.text liquidctl-1.16.0/tests/test_backward_compatibility_12.py000066400000000000000000000002651515166127400233700ustar00rootroot00000000000000"""Test backward compatibility with liquidctl 1.2.x.""" import pytest def test_pre13_old_driver_names(): from liquidctl.driver.nzxt_smart_device import NzxtSmartDeviceDriver liquidctl-1.16.0/tests/test_backward_compatibility_13.py000066400000000000000000000015151515166127400233700ustar00rootroot00000000000000"""Test backward compatibility with liquidctl 1.3.x.""" import pytest def test_pre14_old_module_names(): import liquidctl.driver.asetek import liquidctl.driver.corsair_hid_psu import liquidctl.driver.kraken_two import liquidctl.driver.nzxt_smart_device import liquidctl.driver.seasonic def test_pre14_old_driver_names(): from liquidctl.driver.asetek import AsetekDriver from liquidctl.driver.asetek import LegacyAsetekDriver from liquidctl.driver.asetek import CorsairAsetekDriver from liquidctl.driver.corsair_hid_psu import CorsairHidPsuDriver from liquidctl.driver.kraken_two import KrakenTwoDriver from liquidctl.driver.nzxt_smart_device import SmartDeviceDriver from liquidctl.driver.nzxt_smart_device import SmartDeviceV2Driver from liquidctl.driver.seasonic import SeasonicEDriver liquidctl-1.16.0/tests/test_backward_compatibility_14.py000066400000000000000000000122531515166127400233720ustar00rootroot00000000000000"""Test backward compatibility with liquidctl 1.4.x.""" import pytest from _testutils import MockHidapiDevice RADICAL_RED = [0xff, 0x35, 0x5e] MOUNTAIN_MEADOW = [0x1a, 0xb3, 0x85] def test_find_from_driver_package_still_available(): from liquidctl.driver import find_liquidctl_devices def test_kraken2_backwards_modes_are_deprecated(caplog): modes = ['backwards-spectrum-wave', 'backwards-marquee-3', 'backwards-marquee-4', 'backwards-marquee-5', 'backwards-marquee-6', 'covering-backwards-marquee', 'backwards-moving-alternating', 'backwards-super-wave'] from liquidctl.driver.kraken2 import Kraken2 for mode in modes: base_mode = mode.replace('backwards-', '') old = Kraken2(MockHidapiDevice(), 'Mock X62', device_type=Kraken2.DEVICE_KRAKENX) new = Kraken2(MockHidapiDevice(), 'Mock X62', device_type=Kraken2.DEVICE_KRAKENX) colors = [RADICAL_RED, MOUNTAIN_MEADOW] old.set_color('ring', mode, colors) new.set_color('ring', base_mode, colors, direction='backward') assert old.device.sent == new.device.sent, \ f'{mode} != {base_mode} + direction=backward' assert 'deprecated mode' in caplog.text def test_kraken3_backwards_modes_are_deprecated(caplog): modes = ['backwards-spectrum-wave', 'backwards-marquee-3', 'backwards-marquee-4', 'backwards-marquee-5', 'backwards-marquee-6', 'backwards-moving-alternating-3', 'covering-backwards-marquee', 'backwards-moving-alternating-4', 'backwards-moving-alternating-5', 'backwards-moving-alternating-6', 'backwards-rainbow-flow', 'backwards-super-rainbow', 'backwards-rainbow-pulse'] from liquidctl.driver.kraken3 import KrakenX3 from liquidctl.driver.kraken3 import _COLOR_CHANNELS_KRAKENX from liquidctl.driver.kraken3 import _SPEED_CHANNELS_KRAKENX from liquidctl.driver.kraken3 import _HWMON_CTRL_MAPPING_KRAKENX for mode in modes: base_mode = mode.replace('backwards-', '') old = KrakenX3(MockHidapiDevice(), 'Mock X63', speed_channels=_SPEED_CHANNELS_KRAKENX, color_channels=_COLOR_CHANNELS_KRAKENX, hwmon_ctrl_mapping=_HWMON_CTRL_MAPPING_KRAKENX) new = KrakenX3(MockHidapiDevice(), 'Mock X63', speed_channels=_SPEED_CHANNELS_KRAKENX, color_channels=_COLOR_CHANNELS_KRAKENX, hwmon_ctrl_mapping=_HWMON_CTRL_MAPPING_KRAKENX) colors = [RADICAL_RED, MOUNTAIN_MEADOW] old.set_color('ring', mode, colors) new.set_color('ring', base_mode, colors, direction='backward') assert old.device.sent == new.device.sent, \ f'{mode} != {base_mode} + direction=backward' assert 'deprecated mode' in caplog.text def test_smart_device_v1_backwards_modes_are_deprecated(caplog): modes = ['backwards-spectrum-wave', 'backwards-marquee-3', 'backwards-marquee-4', 'backwards-marquee-5', 'backwards-marquee-6', 'covering-backwards-marquee', 'backwards-moving-alternating', 'backwards-super-wave'] from liquidctl.driver.smart_device import SmartDevice for mode in modes: base_mode = mode.replace('backwards-', '') old = SmartDevice(MockHidapiDevice(), 'Mock Smart Device', speed_channel_count=3, color_channel_count=1) new = SmartDevice(MockHidapiDevice(), 'Mock Smart Device', speed_channel_count=3, color_channel_count=1) colors = [RADICAL_RED, MOUNTAIN_MEADOW] old.set_color('led', mode, colors) new.set_color('led', base_mode, colors, direction='backward') assert old.device.sent == new.device.sent, \ f'{mode} != {base_mode} + direction=backward' assert 'deprecated mode' in caplog.text def test_hue2_backwards_modes_are_deprecated(caplog): modes = ['backwards-spectrum-wave', 'backwards-marquee-3', 'backwards-marquee-4', 'backwards-marquee-5', 'backwards-marquee-6', 'backwards-moving-alternating-3', 'covering-backwards-marquee', 'backwards-moving-alternating-4', 'backwards-moving-alternating-5', 'backwards-moving-alternating-6', 'backwards-rainbow-flow', 'backwards-super-rainbow', 'backwards-rainbow-pulse'] from liquidctl.driver.smart_device import SmartDevice2 for mode in modes: base_mode = mode.replace('backwards-', '') old = SmartDevice2(MockHidapiDevice(), 'Mock Smart Device V2', speed_channel_count=3, color_channel_count=2) new = SmartDevice2(MockHidapiDevice(), 'Mock Smart Device V2', speed_channel_count=3, color_channel_count=2) colors = [RADICAL_RED, MOUNTAIN_MEADOW] old.set_color('led1', mode, colors) new.set_color('led1', base_mode, colors, direction='backward') assert old.device.sent == new.device.sent, \ f'{mode} != {base_mode} + direction=backward' assert 'deprecated mode' in caplog.text liquidctl-1.16.0/tests/test_backward_compatibility_15.py000066400000000000000000000034461515166127400233770ustar00rootroot00000000000000"""Test backward compatibility with liquidctl 1.5.x.""" import pytest from liquidctl.driver.hydro_platinum import HydroPlatinum from liquidctl.driver.usb import hid def test_matches_platinum_and_pro_xt_coolers_regardless_of_hydro(monkeypatch): mock_match = [ {'vendor_id': 0x1b1c, 'product_id': 0x0c18}, # H100i Platinum {'vendor_id': 0x1b1c, 'product_id': 0x0c19}, # H100i Platinum SE {'vendor_id': 0x1b1c, 'product_id': 0x0c17}, # H115i Platinum {'vendor_id': 0x1b1c, 'product_id': 0x0c29}, # H60i Pro XT {'vendor_id': 0x1b1c, 'product_id': 0x0c20}, # H100i Pro XT {'vendor_id': 0x1b1c, 'product_id': 0x0c21}, # H115i Pro XT {'vendor_id': 0x1b1c, 'product_id': 0x0c22}, # H150i Pro XT ] mock_skip = [ {'vendor_id': 0x1b1c, 'product_id': 0xffff}, # nothing {'vendor_id': 0xffff, 'product_id': 0x0c22}, # nothing ] mock_hids = mock_match + mock_skip for info in mock_hids: info.setdefault('path', b'') info.setdefault('path', b'') info.setdefault('serial_number', '') info.setdefault('release_number', 0) info.setdefault('manufacturer_string', '') info.setdefault('product_string', '') info.setdefault('usage_page', 0) info.setdefault('usage', 0) info.setdefault('interface_number', 0) def mock_enumerate(vid=0, pid=0): return mock_hids monkeypatch.setattr(hid, 'enumerate', mock_enumerate) def find(match): return HydroPlatinum.find_supported_devices(match=match) assert len(find('corsair hydro')) == 7 assert len(find('hydro')) == 7 assert len(find('corsair')) == 7 assert len(find('corsair hydro h100i')) == 3 assert len(find('hydro h100i')) == 3 assert len(find('corsair h100i')) == 3 liquidctl-1.16.0/tests/test_backward_compatibility_18.py000066400000000000000000000005401515166127400233720ustar00rootroot00000000000000"""Test backward compatibility with liquidctl 1.8.x.""" # uses the psf/black style import pytest def test_version_version_dunder_still_imports(caplog): from liquidctl.version import __version__ assert type(__version__) is str def test_pre19_driver_names_still_import(): from liquidctl.driver.asetek_pro import CorsairAsetekProDriver liquidctl-1.16.0/tests/test_backward_compatibility_asus_ryujin.py000066400000000000000000000064051515166127400255230ustar00rootroot00000000000000import pytest from _testutils import MockHidapiDevice from liquidctl.driver.asus_ryujin import AsusRyujin @pytest.fixture def mockRyujin(): return AsusRyujin( _MockRyujinDevice(), "Mock ASUS Ryujin II", fan_count=4, pump_speed_offset=5, pump_fan_speed_offset=7, temp_offset=3, duty_channel=0, ) class _MockRyujinDevice(MockHidapiDevice): def __init__(self): super().__init__(vendor_id=0x0B05, product_id=0x1988) self.requests = [] self.response = None def write(self, data): super().write(data) self.requests.append(data) assert data[0] == 0xEC header = data[1] # Sampled responses without trailing zeros if header == 0x82: # Get firmware info self.response = "ec02004155524a312d533735302d30313034" elif header == 0x99: # Get cooler status (temperature, pump speed, embedded fan speed) self.response = "ec19001b056405100e" elif header == 0x9A: # Get pump and embedded fan duty self.response = "ec1a0000223c" elif header == 0xA0: # Get AIO fan controller fan speeds self.response = "ec200000000c03ee02" elif header == 0xA1: # Get AIO fan controller duty self.response = "ec2100005b" elif header == 0x1A: # Set pump and embedded fan duty self.response = "ec1a" elif header == 0x21: # Set AIO fan controller duty self.response = "ec21" else: self.response = None def read(self, length, **kwargs): pre = super().read(length, **kwargs) if pre: return pre buf = bytearray(65) buf[0] = 0xEC if self.response: response = bytes.fromhex(self.response) buf[: len(response)] = response return buf[:length] def test_initialize(mockRyujin): with mockRyujin.connect(): (firmware_status,) = mockRyujin.initialize() assert firmware_status[1] == "AURJ1-S750-0104" def test_status(mockRyujin): with mockRyujin.connect(): actual = mockRyujin.get_status() expected = [ ("Liquid temperature", pytest.approx(27.5), "°C"), ("Pump speed", 1380, "rpm"), ("Pump fan speed", 3600, "rpm"), ("Pump duty", 34, "%"), ("Pump fan duty", 60, "%"), ("External fan duty", 36, "%"), ("External fan 1 speed", 780, "rpm"), ("External fan 2 speed", 750, "rpm"), ("External fan 3 speed", 0, "rpm"), ("External fan 4 speed", 0, "rpm"), ] assert sorted(actual) == sorted(expected) def test_set_fixed_speeds(mockRyujin): with mockRyujin.connect(): mockRyujin.set_fixed_speed(channel="pump", duty=10) assert mockRyujin.device.requests[-1][3] == 0x0A mockRyujin.set_fixed_speed(channel="pump-fan", duty=20) assert mockRyujin.device.requests[-1][4] == 0x14 mockRyujin.set_fixed_speed(channel="external-fans", duty=30) assert mockRyujin.device.requests[-1][4] == 0x4C mockRyujin.set_fixed_speed(channel="fans", duty=40) assert mockRyujin.device.requests[-2][4] == 0x28 assert mockRyujin.device.requests[-1][4] == 0x66 liquidctl-1.16.0/tests/test_cli.py000066400000000000000000000044401515166127400171250ustar00rootroot00000000000000import pytest from _testutils import VirtualBusDevice, VirtualControlMode import json import sys import liquidctl.cli @pytest.fixture def main(monkeypatch, capsys): """Return a function f(*args) to run main with `args` as `sys.argv`.""" def call_with_args(*args): monkeypatch.setattr(sys, 'argv', list(args)) try: liquidctl.cli.main() except SystemExit as exit: code = exit.code else: code = 0 out, err = capsys.readouterr() return code, out, err return call_with_args def test_json_list(main): code, out, _ = main('test', '--bus', 'virtual', 'list', '--json') assert code == 0 got = json.loads(out) exp = [ { 'description': 'Virtual Bus Device', 'vendor_id': 0x1234, 'product_id': 0xabcd, 'release_number': None, 'serial_number': None, 'bus': 'virtual', 'address': 'virtual_address', 'port': None, 'driver': 'VirtualBusDevice', 'experimental': False, } ] assert got == exp def test_json_initialize(main): code, out, _ = main('test', '--bus', 'virtual', 'initialize', '--json') assert code == 0 got = json.loads(out) exp = [ { 'bus': 'virtual', 'address': 'virtual_address', 'description': 'Virtual Bus Device', 'status': [ { 'key': 'Firmware version', 'value': '3.14.16', 'unit': '' }, ] } ] assert got == exp def test_json_status(main): code, out, _ = main('test', '--bus', 'virtual', 'status', '--json') assert code == 0 got = json.loads(out) exp = [ { 'bus': 'virtual', 'address': 'virtual_address', 'description': 'Virtual Bus Device', 'status': [ { 'key': 'Temperature', 'value': 30.4, 'unit': '°C' }, { 'key': 'Fan control mode', 'value': 'VirtualControlMode.QUIET', 'unit': '' }, { 'key': 'Animation', 'value': None, 'unit': '' }, { 'key': 'Uptime', 'value': 66192.0, 'unit': 's' }, { 'key': 'Hardware mode', 'value': True, 'unit': '' }, ] } ] assert got == exp liquidctl-1.16.0/tests/test_commander_core.py000066400000000000000000000426261515166127400213430ustar00rootroot00000000000000import pytest from collections import deque from liquidctl import ExpectationNotMet from liquidctl.driver.commander_core import CommanderCore from _testutils import noop from liquidctl.util import u16le_from def int_to_le(num, length=2, byteorder='little', signed=False): return int(num).to_bytes(length=length, byteorder=byteorder, signed=signed) class MockCommanderCoreDevice: def __init__(self): self.vendor_id = 0x1b1c self.product_id = 0x0c1c self.address = 'addr' self.path = b'path' self.release_number = None self.serial_number = None self.bus = None self.port = None self.open = noop self.close = noop self.clear_enqueued_reports = noop self._read = deque() self.sent = list() self._last_write = bytes() self._modes = {} self._awake = False self.response_prefix = () self.firmware_version = (0x00, 0x00, 0x00) self.led_counts = (None, None, None, None, None, None, None) self.speeds_mode = (0, 0, 0, 0, 0, 0, 0) self.speeds = (None, None, None, None, None, None, None) self.fixed_speeds = (0, 0, 0, 0, 0, 0, 0) self.temperatures = (None, None) self.curve_points_by_device = [[],[],[],[],[],[],[]] def read(self, length): data = bytearray([0x00, self._last_write[2], 0x00]) data.extend(self.response_prefix) if self._last_write[2] == 0x02: # Firmware version for i in range(0, 3): data.append(self.firmware_version[i]) if self._awake: if self._last_write[2] == 0x08 or self._last_write[2] == 0x09: # Get data channel = self._last_write[3] mode = self._modes.get(channel) if mode[1] == 0x00: if mode[0] == 0x17: # Get speeds data.extend([0x06, 0x00]) data.append(len(self.speeds)) for i in self.speeds: if i is None: data.extend([0x00, 0x00]) else: data.extend(int_to_le(i)) elif mode[0] == 0x1a: # Speed devices connected data.extend([0x09, 0x00]) data.append(len(self.speeds)) for i in self.speeds: data.extend([0x01 if i is None else 0x07]) elif mode[0] == 0x20: # LED detect data.extend([0x0f, 0x00]) data.append(len(self.led_counts)) for i in self.led_counts: if i is None: data.extend(int_to_le(3)+int_to_le(0)) else: data.extend(int_to_le(2)) data.extend(int_to_le(i)) elif mode[0] == 0x21: # Get temperatures data.extend([0x10, 0x00]) data.append(len(self.temperatures)) for i in self.temperatures: if i is None: data.append(1) data.extend(int_to_le(0)) else: data.append(0) data.extend(int_to_le(int(i*10))) else: raise NotImplementedError(f'Read for {mode.hex(":")}') elif mode[1] == 0x6d: if mode[0] == 0x60: data.extend([0x03, 0x00]) data.append(len(self.speeds_mode)) for i in self.speeds_mode: data.append(i) elif mode[0] == 0x61: data.extend([0x04, 0x00]) data.append(len(self.fixed_speeds)) for i in self.fixed_speeds: data.extend(int_to_le(i)) elif mode[0] == 0x62: data.extend([0x05, 0x00]) # data type num_ports = len(self.curve_points_by_device) data.append(num_ports) for i in range(num_ports): data.append(0) # temp sensor data.append(len(self.curve_points_by_device[i])) # num curve points for (temp, duty) in self.curve_points_by_device[i]: data.extend(int_to_le(temp * 10)) # temperature data.extend(int_to_le(duty)) # duty else: raise NotImplementedError(f'Read for {mode.hex(":")}') else: raise NotImplementedError(f'Read for {mode.hex(":")}') elif self._last_write[2] == 0x09: # Get more data channel = self._last_write[3] mode = self._modes.get(channel) if mode[1] == 0x6d: if mode[0] == 0x62: for i in range(3, 7): data.append(0) # temp sensor data.append(len(self.curve_points_by_device[i])) # num curve points for (temp, duty) in self.curve_points_by_device[i]: data.extend(int_to_le(temp * 10)) data.extend(int_to_le(duty)) return list(data)[:length] def write(self, data): data = bytes(data) # ensure data is convertible to bytes self._last_write = data if data[0] != 0x00 or data[1] != 0x08: raise ValueError('Start of packets going out should be 00:08') if data[2] == 0x0d: channel = data[3] if self._modes.get(channel) is None: self._modes[channel] = data[4:6] else: raise ExpectationNotMet('Previous channel was not reset') elif data[2] == 0x05 and data[3] == 0x01: self._modes[data[4]] = None elif data[2] == 0x01 and data[3] == 0x03 and data[4] == 0x00: self._awake = data[5] == 0x02 elif self._awake: channel = data[3] mode = self._modes.get(channel) if data[2] == 0x06: # Write command self.data_length = u16le_from(data[4:6]) self.written_data_type = data[8:10] self.written_data = data[10:8+self.data_length] if len(self.written_data) < self.data_length - 2: return if data[2] == 0x07: # Write More command self.written_data += data[4:] if len(self.written_data) < self.data_length - 2: return if data[2] == 0x06 or data[2] == 0x07: if mode[1] == 0x6d: if mode[0] == 0x60 and list(self.written_data_type) == [0x03, 0x00]: self.speeds_mode = tuple(self.written_data[i+1] for i in range(0, self.written_data[0])) elif mode[0] == 0x61 and list(self.written_data_type) == [0x04, 0x00]: self.fixed_speeds = tuple(u16le_from(self.written_data[i*2+1:i*2+3]) for i in range(0, self.written_data[0])) elif mode[0] == 0x62 and list(self.written_data_type) == [0x05, 0x00]: curve_index = 1 for port_index in range(0, self.written_data[0]): self.curve_points_by_device[port_index] = [] # get number of curve points num_points = self.written_data[curve_index + 1] # store temperature and duty for i in range(num_points): point_index = curve_index + 2 + i*4 cp_temp = u16le_from(self.written_data[point_index: point_index + 2]) / 10 cp_duty = u16le_from(self.written_data[point_index + 2: point_index + 4]) self.curve_points_by_device[port_index].append((cp_temp, cp_duty)) # update index to next curve curve_index += 4 * num_points + 2 else: raise NotImplementedError('Invalid Write command') else: raise NotImplementedError('Invalid Write command') return len(data) @pytest.fixture def commander_core_device(): device = MockCommanderCoreDevice() core = CommanderCore(device, 'Corsair Commander Core', True) core.connect() return core def test_initialize_commander_core(commander_core_device): commander_core_device.device.firmware_version = (0x01, 0x02, 0x21) commander_core_device.device.speeds = (None, 104, None, None, None, None, 918) commander_core_device.device.led_counts = (27, None, 1, 2, 4, 8, 16) commander_core_device.device.temperatures = (None, 45.6) res = commander_core_device.initialize() assert len(res) == 17 assert res[0][1] == '1.2.33' # Firmware # LED counts assert res[1][1] == 27 assert res[2][1] is None assert res[3][1] == 1 assert res[4][1] == 2 assert res[5][1] == 4 assert res[6][1] == 8 assert res[7][1] == 16 # Speed devices connected assert not res[8][1] assert res[9][1] assert not res[10][1] assert not res[11][1] assert not res[12][1] assert not res[13][1] assert res[14][1] # Temperature sensors connected assert not res[15][1] assert res[16][1] # Ensure device is asleep at end assert not commander_core_device.device._awake def test_initialize_error_commander_core(commander_core_device): """This tests sends invalid data to ensure the device gets set back to hardware mode on error""" commander_core_device.device.response_prefix = (0x00, 0x00) with pytest.raises(ExpectationNotMet): commander_core_device.initialize() # Ensure device is asleep at end assert not commander_core_device.device._awake def test_status_commander_core(commander_core_device): commander_core_device.device.speeds = (2357, 918, 903, 501, 1104, 1824, 104) commander_core_device.device.temperatures = (12.3, 45.6) res = commander_core_device.get_status() assert len(res) == 9 # Speeds of pump and fans assert res[0][1] == 2357 assert res[1][1] == 918 assert res[2][1] == 903 assert res[3][1] == 501 assert res[4][1] == 1104 assert res[5][1] == 1824 assert res[6][1] == 104 # Temperatures assert res[7][1] == 12.3 assert res[8][1] == 45.6 # Ensure device is asleep at end assert not commander_core_device.device._awake def test_status_error_commander_core(commander_core_device): """This tests sends invalid data to ensure the device gets set back to hardware mode on error""" commander_core_device.device.response_prefix = (0x00, 0x00) with pytest.raises(ExpectationNotMet): commander_core_device.initialize() # Ensure device is asleep at end assert not commander_core_device.device._awake def test_set_fixed_speed_fan2_commander_core(commander_core_device): """This tests setting the speed of a single channel""" commander_core_device.device.speeds_mode = (1, 2, 3, 4, 5, 6, 7) commander_core_device.device.fixed_speeds = (8, 9, 10, 11, 12, 13, 14) commander_core_device.set_fixed_speed('fan2', 95) assert commander_core_device.device.speeds_mode == (1, 2, 0, 4, 5, 6, 7) assert commander_core_device.device.fixed_speeds == (8, 9, 95, 11, 12, 13, 14) # Ensure device is asleep at end assert not commander_core_device.device._awake def test_set_fixed_speed_fans_commander_core(commander_core_device): """This tests setting the speed of all the fans""" commander_core_device.device.speeds_mode = (1, 2, 3, 4, 5, 6, 7) commander_core_device.device.fixed_speeds = (8, 9, 10, 11, 12, 13, 14) commander_core_device.set_fixed_speed('fans', 61) assert commander_core_device.device.speeds_mode == (1, 0, 0, 0, 0, 0, 0) assert commander_core_device.device.fixed_speeds == (8, 61, 61, 61, 61, 61, 61) # Ensure device is asleep at end assert not commander_core_device.device._awake def test_set_fixed_speed_error_commander_core(commander_core_device): """This tests sends invalid data to ensure the device gets set back to hardware mode on error""" commander_core_device.device.response_prefix = (0x00, 0x00) with pytest.raises(ExpectationNotMet): commander_core_device.set_fixed_speed('fan1', 95) # Ensure device is asleep at end assert not commander_core_device.device._awake def test_set_speed_profile_fans_commander_core(commander_core_device): """This tests setting the speed of all the fans""" commander_core_device.device.speeds_mode = (0, 0, 0, 0, 0, 0, 0) commander_core_device.device.fixed_speeds = (8, 9, 10, 11, 12, 13, 14) commander_core_device.set_speed_profile('fans', [ (22, 0), (32, 25), (34, 50), (36, 75), (38,85), (40,95), (42, 100) ]) assert commander_core_device.device.speeds_mode == (0, 2, 2, 2, 2, 2, 2) assert commander_core_device.device.curve_points_by_device[0] == [] assert commander_core_device.device.curve_points_by_device[1] == [(22, 0), (32, 25), (34, 50), (36, 75), (38, 85), (40, 95), (42, 100)] assert commander_core_device.device.curve_points_by_device[2] == [(22, 0), (32, 25), (34, 50), (36, 75), (38, 85), (40, 95), (42, 100)] assert commander_core_device.device.curve_points_by_device[3] == [(22, 0), (32, 25), (34, 50), (36, 75), (38, 85), (40, 95), (42, 100)] assert commander_core_device.device.curve_points_by_device[4] == [(22, 0), (32, 25), (34, 50), (36, 75), (38, 85), (40, 95), (42, 100)] assert commander_core_device.device.curve_points_by_device[5] == [(22, 0), (32, 25), (34, 50), (36, 75), (38, 85), (40, 95), (42, 100)] assert commander_core_device.device.curve_points_by_device[6] == [(22, 0), (32, 25), (34, 50), (36, 75), (38, 85), (40, 95), (42, 100)] # Ensure device is asleep at end assert not commander_core_device.device._awake def test_set_speed_curve_profile_single_channel_commander_core(commander_core_device): """This tests setting the speed curve profile of a single fan""" commander_core_device.device.speeds_mode = (0, 0, 0, 0, 0, 0, 0) commander_core_device.device.fixed_speeds = (8, 9, 10, 11, 12, 13, 14) commander_core_device.device.curve_points_by_device[0] = [] commander_core_device.device.curve_points_by_device[1] = [] commander_core_device.device.curve_points_by_device[2] = [] commander_core_device.device.curve_points_by_device[3] = [] commander_core_device.device.curve_points_by_device[4] = [] commander_core_device.device.curve_points_by_device[5] = [] commander_core_device.device.curve_points_by_device[6] = [] commander_core_device.set_speed_profile('pump', [(22, 0), (42, 100)]) commander_core_device.set_speed_profile('fan1', [(22, 1), (42, 10)]) commander_core_device.set_speed_profile('fan2', [(22, 2), (42, 20)]) commander_core_device.set_speed_profile('fan3', [(22, 3), (42, 30)]) commander_core_device.set_speed_profile('fan4', [(22, 4), (42, 40)]) commander_core_device.set_speed_profile('fan5', [(22, 5), (42, 50)]) commander_core_device.set_speed_profile('fan6', [(22, 6), (42, 60)]) assert commander_core_device.device.speeds_mode == (2, 2, 2, 2, 2, 2, 2) assert commander_core_device.device.curve_points_by_device[0] == [(22, 0), (42, 100)] assert commander_core_device.device.curve_points_by_device[1] == [(22, 1), (42, 10)] assert commander_core_device.device.curve_points_by_device[2] == [(22, 2), (42, 20)] assert commander_core_device.device.curve_points_by_device[3] == [(22, 3), (42, 30)] assert commander_core_device.device.curve_points_by_device[4] == [(22, 4), (42, 40)] assert commander_core_device.device.curve_points_by_device[5] == [(22, 5), (42, 50)] assert commander_core_device.device.curve_points_by_device[6] == [(22, 6), (42, 60)] # Ensure device is asleep at end assert not commander_core_device.device._awake def test_parse_channels_commander_core(): """This test will go through and thoroughly test CommanderCore._parse_channels so we don't have to in other tests""" core = CommanderCore(MockCommanderCoreDevice(), 'Corsair Commander Core', True) tests = [ ('pump', [0]), ('fans', [1, 2, 3, 4, 5, 6]), ('fan1', [1]), ('fan2', [2]), ('fan3', [3]), ('fan4', [4]), ('fan5', [5]), ('fan6', [6]) ] for (val, answer) in tests: assert list(core._parse_channels(val)) == answer def test_parse_channels_commander_core_xt(): """Test Core XT-specific channel layout""" corext = CommanderCore(MockCommanderCoreDevice(), 'Corsair Commander Core', False) tests = [ ('fans', [0, 1, 2, 3, 4, 5]), ('fan1', [0]), ('fan2', [1]), ('fan3', [2]), ('fan4', [3]), ('fan5', [4]), ('fan6', [5]) ] for (val, answer) in tests: assert list(corext._parse_channels(val)) == answer def test_parse_channels_error_commander_core(): """This tests to make sure we get an error with an invalid channel""" core = CommanderCore(MockCommanderCoreDevice(), 'Corsair Commander Core', True) with pytest.raises(ValueError): core._parse_channels('fan') liquidctl-1.16.0/tests/test_commander_pro.py000066400000000000000000001277671515166127400212250ustar00rootroot00000000000000import pytest from _testutils import MockHidapiDevice, Report, MockRuntimeStorage from liquidctl.driver.commander_pro import _quoted, _prepare_profile, _fan_mode_desc, CommanderPro from liquidctl.driver.hwmon import HwmonDevice from liquidctl.error import NotSupportedByDevice # hardcoded responce data expected for some of the calls: # commander pro: firmware request (0.9.214) # commander pro: bootloader req (2.3) # commander pro: get temp config ( 3 sensors) # commander pro: get fan configs (3 DC fans, 1 PWM fan) # note I have not tested it with pwm fans # commander pro: @pytest.fixture def commanderProDeviceUnconnected(): device = MockHidapiDevice(vendor_id=0x1b1c, product_id=0x0c10, address='addr') return CommanderPro(device, 'Corsair Commander Pro', 6, 4, 2) @pytest.fixture def lightingNodeProDeviceUnconnected(): device = MockHidapiDevice(vendor_id=0x1b1c, product_id=0x0c0b, address='addr') return CommanderPro(device, 'Corsair Lighting Node Pro', 0, 0, 2) @pytest.fixture def commanderProDevice(): device = MockHidapiDevice(vendor_id=0x1b1c, product_id=0x0c10, address='addr') pro = CommanderPro(device, 'Corsair Commander Pro', 6, 4, 2) runtime_storage = MockRuntimeStorage(key_prefixes=['testing']) pro.connect(runtime_storage=runtime_storage) return pro @pytest.fixture def lightingNodeProDevice(): device = MockHidapiDevice(vendor_id=0x1b1c, product_id=0x0c0b, address='addr') node = CommanderPro(device, 'Corsair Lighting Node Pro', 0, 0, 2) runtime_storage = MockRuntimeStorage(key_prefixes=['testing']) node.connect(runtime_storage=runtime_storage) return node @pytest.fixture def lightingNodeCoreDevice(): device = MockHidapiDevice(vendor_id=0x1b1c, product_id=0x0c1a, address='addr') node = CommanderPro(device, 'Corsair Lighting Node Core', 0, 0, 1) runtime_storage = MockRuntimeStorage(key_prefixes=['testing']) node.connect(runtime_storage=runtime_storage) return node # prepare profile def test_prepare_profile_valid_max_rpm(): assert _prepare_profile([[10, 400], [20, 5000]], 60) == [(10, 400), (20, 5000), (60, 5000), (60, 5000), (60, 5000), (60, 5000)] def test_prepare_profile_add_max_rpm(): assert _prepare_profile([[10, 400]], 60) == [(10, 400), (60, 5000), (60, 5000), (60, 5000), (60, 5000), (60, 5000)] assert _prepare_profile([[10, 400], [20, 500], [30, 600], [40, 700], [50, 800]], 60) == [(10, 400), (20, 500), (30, 600), (40, 700), (50, 800), (60, 5000)] def test_prepare_profile_missing_max_rpm(): with pytest.raises(ValueError): _prepare_profile([[10, 400], [20, 500], [30, 600], [40, 700], [50, 800], [55, 900]], 60) def test_prepare_profile_full_set(): assert _prepare_profile([[10, 400], [20, 500], [30, 600], [40, 700], [45, 2000], [50, 5000]], 60) == [(10, 400), (20, 500), (30, 600), (40, 700), (45, 2000), (50, 5000)] def test_prepare_profile_too_many_points(): with pytest.raises(ValueError): _prepare_profile([[10, 400], [20, 500], [30, 600], [40, 700], [50, 800], [55, 900]], 60) def test_prepare_profile_no_points(): assert _prepare_profile([], 60) == [(60, 5000), (60, 5000), (60, 5000), (60, 5000), (60, 5000), (60, 5000)] def test_prepare_profile_empty_list(): assert _prepare_profile([], 60) == [(60, 5000), (60, 5000), (60, 5000), (60, 5000), (60, 5000), (60, 5000)] def test_prepare_profile_above_max_temp(): assert _prepare_profile([[10, 400], [70, 2000]], 60) == [(10, 400), (60, 5000), (60, 5000), (60, 5000), (60, 5000), (60, 5000)] def test_prepare_profile_temp_low(): assert _prepare_profile([[-10, 400], [70, 2000]], 60) == [(-10, 400), (60, 5000), (60, 5000), (60, 5000), (60, 5000), (60, 5000)] def test_prepare_profile_max_temp(): assert _prepare_profile([], 100) == [(100, 5000), (100, 5000), (100, 5000), (100, 5000), (100, 5000), (100, 5000)] # quoted def test_quoted_empty(): assert _quoted() == '' def test_quoted_single(): assert _quoted('one arg') == "'one arg'" def test_quoted_valid(): assert _quoted('one', 'two') == "'one', 'two'" def test_quoted_not_string(): assert _quoted('test', 500) == "'test', 500" # fan modes def test_get_fan_mode_description_auto(): assert _fan_mode_desc(0x00) == None def test_get_fan_mode_description_unknown(): assert _fan_mode_desc(0x03) == None assert _fan_mode_desc(0x04) == None assert _fan_mode_desc(0x10) == None assert _fan_mode_desc(0xff) == None def test_get_fan_mode_description_dc(): assert _fan_mode_desc(0x01) == 'DC' def test_get_fan_mode_description_pwm(): assert _fan_mode_desc(0x02) == 'PWM' # class methods def test_commander_constructor(commanderProDeviceUnconnected): assert commanderProDeviceUnconnected._data is None assert commanderProDeviceUnconnected._fan_names == ['fan1', 'fan2', 'fan3', 'fan4', 'fan5', 'fan6'] assert commanderProDeviceUnconnected._led_names == ['led1', 'led2'] assert commanderProDeviceUnconnected._temp_probs == 4 assert commanderProDeviceUnconnected._fan_count == 6 def test_lighting_constructor(lightingNodeProDeviceUnconnected): assert lightingNodeProDeviceUnconnected._data is None assert lightingNodeProDeviceUnconnected._fan_names == [] assert lightingNodeProDeviceUnconnected._led_names == ['led1', 'led2'] assert lightingNodeProDeviceUnconnected._temp_probs == 0 assert lightingNodeProDeviceUnconnected._fan_count == 0 def test_connect_commander(commanderProDeviceUnconnected): commanderProDeviceUnconnected.connect() assert commanderProDeviceUnconnected._data is not None def test_connect_lighting(lightingNodeProDeviceUnconnected): lightingNodeProDeviceUnconnected.connect() assert lightingNodeProDeviceUnconnected._data is not None @pytest.mark.parametrize('exp,fan_mode', [([(3, 0x01)], {'4': 'dc'}), ([(3, 0x00)], {'4': 'off'}), ([(4, 0x02)], {'5': 'pwm'}), ([(0, 0x01),(2, 0x02),(1, 0x01)], {'1': 'dc', '3':'pwm', '2': 'dc'})]) def test_initialize_commander_pro_fan_mode(commanderProDevice, exp, fan_mode, tmp_path): responses = [ '000009d4000000000000000000000000', # firmware '00000500000000000000000000000000', # bootloader '00010100010000000000000000000000', # temp probes '00010102000000000000000000000000', # fan set (throw away) '00010102000000000000000000000000', # fan set (throw away) '00010102000000000000000000000000', # fan set (throw away) '00010102000000000000000000000000' # fan probes ] for d in responses: commanderProDevice.device.preload_read(Report(0, bytes.fromhex(d))) commanderProDevice.initialize(direct_access=True, fan_mode=fan_mode) sent = commanderProDevice.device.sent assert len(sent) == 4+len(exp) for i in range(len(exp)): assert sent[3+i].data[0] == 0x28 assert sent[3+i].data[2] == exp[i][0] assert sent[3+i].data[3] == exp[i][1] @pytest.mark.parametrize('has_hwmon,direct_access', [(False, False), (True, True), (True, False)]) def test_initialize_commander_pro(commanderProDevice, has_hwmon, direct_access, tmp_path): if has_hwmon and not direct_access: commanderProDevice._hwmon = HwmonDevice('mock_module', tmp_path) (tmp_path / 'temp1_input').write_text('10000\n') (tmp_path / 'temp2_input').write_text('20000\n') (tmp_path / 'temp4_input').write_text('40000\n') (tmp_path / 'fan1_input').write_text('1100\n') (tmp_path / 'fan1_label').write_text('fan1 3pin\n') (tmp_path / 'fan2_input').write_text('1200\n') (tmp_path / 'fan2_label').write_text('fan1 3pin\n') (tmp_path / 'fan3_input').write_text('1300\n') (tmp_path / 'fan3_label').write_text('fan1 4pin\n') else: if has_hwmon: commanderProDevice._hwmon = HwmonDevice('invalid_module', None) responses = [ '000009d4000000000000000000000000', # firmware '00000500000000000000000000000000', # bootloader '00010100010000000000000000000000', # temp probes '00010102000000000000000000000000' # fan probes ] for d in responses: commanderProDevice.device.preload_read(Report(0, bytes.fromhex(d))) res = commanderProDevice.initialize(direct_access=direct_access) if has_hwmon and not direct_access: assert len(res) == 10 i = 0 else: assert len(res) == 12 assert res[0] == ('Firmware version', '0.9.212', '') assert res[1] == ('Bootloader version', '0.5', '') i = 2 assert res[i + 0] == ('Temperature probe 1', True, '') assert res[i + 1] == ('Temperature probe 2', True, '') assert res[i + 2] == ('Temperature probe 3', False, '') assert res[i + 3] == ('Temperature probe 4', True, '') assert res[i + 4] == ('Fan 1 control mode', 'DC', '') assert res[i + 5] == ('Fan 2 control mode', 'DC', '') assert res[i + 6] == ('Fan 3 control mode', 'PWM', '') assert res[i + 7] == ('Fan 4 control mode', None, '') assert res[i + 8] == ('Fan 5 control mode', None, '') assert res[i + 9] == ('Fan 6 control mode', None, '') data = commanderProDevice._data.load('fan_modes', None) assert data is not None assert len(data) == 6 assert data[0] == 0x01 assert data[1] == 0x01 assert data[2] == 0x02 assert data[3] == 0x00 assert data[4] == 0x00 assert data[5] == 0x00 data = commanderProDevice._data.load('temp_sensors_connected', None) assert data is not None assert len(data) == 4 assert data[0] == 0x01 assert data[1] == 0x01 assert data[2] == 0x00 assert data[3] == 0x01 def test_initialize_lighting_node(lightingNodeProDevice): responses = [ '000009d4000000000000000000000000', # firmware '00000500000000000000000000000000' # bootloader ] for d in responses: lightingNodeProDevice.device.preload_read(Report(0, bytes.fromhex(d))) res = lightingNodeProDevice.initialize() assert len(res) == 2 assert res[0][1] == '0.9.212' assert res[1][1] == '0.5' data = lightingNodeProDevice._data.load('fan_modes', None) assert data is None data = lightingNodeProDevice._data.load('temp_sensors_connected', None) assert data is None @pytest.mark.parametrize('has_hwmon,direct_access', [(False, False), (True, True), (True, False)]) def test_get_status_commander_pro(commanderProDevice, has_hwmon, direct_access, tmp_path): if has_hwmon and not direct_access: commanderProDevice._hwmon = HwmonDevice('mock_module', tmp_path) (tmp_path / 'temp1_input').write_text('26910\n') (tmp_path / 'temp2_input').write_text('29220\n') (tmp_path / 'temp4_input').write_text('25740\n') (tmp_path / 'fan1_input').write_text('940\n') (tmp_path / 'fan1_label').write_text('fan1 3pin\n') (tmp_path / 'fan2_input').write_text('939\n') (tmp_path / 'fan2_label').write_text('fan1 3pin\n') (tmp_path / 'fan3_input').write_text('987\n') (tmp_path / 'fan3_label').write_text('fan1 4pin\n') (tmp_path / 'in0_input').write_text('12066\n') (tmp_path / 'in1_input').write_text('4965\n') (tmp_path / 'in2_input').write_text('3359\n') else: if has_hwmon: commanderProDevice._hwmon = HwmonDevice('invalid_module', None) responses = [ '000a8300000000000000000000000000', # temp sensor 1 '000b6a00000000000000000000000000', # temp sensor 2 '000a0e00000000000000000000000000', # temp sensor 4 '0003ac00000000000000000000000000', # fan speed 1 '0003ab00000000000000000000000000', # fan speed 2 '0003db00000000000000000000000000', # fan speed 3 '002f2200000000000000000000000000', # get 12v '00136500000000000000000000000000', # get 5v '000d1f00000000000000000000000000', # get 3.3v ] for d in responses: commanderProDevice.device.preload_read(Report(0, bytes.fromhex(d))) commanderProDevice._data.store('fan_modes', [0x01, 0x01, 0x02, 0x00, 0x00, 0x00]) commanderProDevice._data.store('temp_sensors_connected', [0x01, 0x01, 0x00, 0x01]) res = commanderProDevice.get_status(direct_access=direct_access) print(res) assert len(res) == 9 # temp probes assert res[0] == ('Temperature 1', pytest.approx(26.91, abs=1e-3), '°C') assert res[1] == ('Temperature 2', pytest.approx(29.22, abs=1e-3), '°C') assert res[2] == ('Temperature 4', pytest.approx(25.74, abs=1e-3), '°C') # fans rpm assert res[3] == ('Fan 1 speed', 940, 'rpm') assert res[4] == ('Fan 2 speed', 939, 'rpm') assert res[5] == ('Fan 3 speed', 987, 'rpm') # voltages assert res[6] == ('+12V rail', pytest.approx(12.066, abs=1e-3), 'V') assert res[7] == ('+5V rail', pytest.approx(4.965, abs=1e-3), 'V') assert res[8] == ('+3.3V rail', pytest.approx(3.359, abs=1e-3), 'V') if not has_hwmon or direct_access: # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 9 assert sent[0].data[0] == 0x11 assert sent[1].data[0] == 0x11 assert sent[2].data[0] == 0x11 assert sent[3].data[0] == 0x21 assert sent[4].data[0] == 0x21 assert sent[5].data[0] == 0x21 assert sent[6].data[0] == 0x12 assert sent[7].data[0] == 0x12 assert sent[8].data[0] == 0x12 def test_get_status_lighting_pro(lightingNodeProDevice): res = lightingNodeProDevice.get_status() assert len(res) == 0 def test_get_temp_valid_sensor_commander(commanderProDevice): response = '000a8300000000000000000000000000' commanderProDevice.device.preload_read(Report(0, bytes.fromhex(response))) commanderProDevice._data.store('temp_sensors_connected', [0x01, 0x01, 0x01, 0x01]) res = commanderProDevice._get_temp(1) assert res == 26.91 # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 1 assert sent[0].data[0] == 0x11 assert sent[0].data[1] == 1 def test_get_temp_invalid_sensor_low_commander(commanderProDevice): response = '000a8300000000000000000000000000' commanderProDevice.device.preload_read(Report(0, bytes.fromhex(response))) commanderProDevice._data.store('temp_sensors_connected', [0x01, 0x01, 0x01, 0x01]) with pytest.raises(ValueError): commanderProDevice._get_temp(-1) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 0 def test_get_temp_invalid_sensor_high_commander(commanderProDevice): response = '000a8300000000000000000000000000' commanderProDevice.device.preload_read(Report(0, bytes.fromhex(response))) commanderProDevice._data.store('temp_sensors_connected', [0x01, 0x01, 0x01, 0x01]) with pytest.raises(ValueError): commanderProDevice._get_temp(4) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 0 def test_get_temp_lighting(lightingNodeProDevice): response = '000a8300000000000000000000000000' lightingNodeProDevice.device.preload_read(Report(0, bytes.fromhex(response))) lightingNodeProDevice._data.store('temp_sensors_connected', [0x00, 0x00, 0x00, 0x00]) with pytest.raises(ValueError): lightingNodeProDevice._get_temp(2) # check the commands sent sent = lightingNodeProDevice.device.sent assert len(sent) == 0 def test_get_fan_rpm_valid_commander(commanderProDevice): response = '0003ac00000000000000000000000000' commanderProDevice.device.preload_read(Report(0, bytes.fromhex(response))) commanderProDevice._data.store('fan_modes', [0x01, 0x01, 0x02, 0x00, 0x00, 0x00]) res = commanderProDevice._get_fan_rpm(1) assert res == 940 # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 1 assert sent[0].data[0] == 0x21 assert sent[0].data[1] == 1 def test_get_fan_rpm_invalid_low_commander(commanderProDevice): response = '0003ac00000000000000000000000000' commanderProDevice.device.preload_read(Report(0, bytes.fromhex(response))) commanderProDevice._data.store('fan_modes', [0x01, 0x01, 0x02, 0x00, 0x00, 0x00]) with pytest.raises(ValueError): commanderProDevice._get_fan_rpm(-1) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 0 def test_get_fan_rpm_invalid_high_commander(commanderProDevice): response = '0003ac00000000000000000000000000' commanderProDevice.device.preload_read(Report(0, bytes.fromhex(response))) commanderProDevice._data.store('fan_modes', [0x01, 0x01, 0x02, 0x00, 0x00, 0x00]) with pytest.raises(ValueError): commanderProDevice._get_fan_rpm(7) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 0 def test_get_fan_rpm_lighting(lightingNodeProDevice): response = '0003ac00000000000000000000000000' lightingNodeProDevice.device.preload_read(Report(0, bytes.fromhex(response))) with pytest.raises(ValueError): lightingNodeProDevice._get_fan_rpm(7) # check the commands sent sent = lightingNodeProDevice.device.sent assert len(sent) == 0 def test_get_hw_fan_channels_all(commanderProDevice): res = commanderProDevice._get_hw_fan_channels('sync') assert res == [0, 1, 2, 3, 4, 5] def test_get_hw_fan_channels_lowercase(commanderProDevice): res = commanderProDevice._get_hw_fan_channels('fan2') assert res == [1] @pytest.mark.parametrize('channel', [ 'fan23', 'fan7', 'fan0', 'fan', 'led', 'led1', 'bob' ]) def test_get_hw_fan_channels_invalid(commanderProDevice, channel): with pytest.raises(ValueError): commanderProDevice._get_hw_fan_channels(channel) @pytest.mark.parametrize('channel,expected', [ ('led1', [0]), ('led2', [1]), ('sync', [0, 1]) ]) def test_get_hw_led_channel_valid(commanderProDevice, channel, expected): res = commanderProDevice._get_hw_led_channels(channel) assert res == expected @pytest.mark.parametrize('channel,expected', [('led', [0]), ('any', [0])]) def test_get_hw_led_channel_valid_node_core(lightingNodeCoreDevice, channel, expected): res = lightingNodeCoreDevice._get_hw_led_channels(channel) assert res == expected @pytest.mark.parametrize('channel', [ 'led0', 'led3', 'led', 'fan', 'fan1', 'bob' ]) def test_get_hw_led_channels_invalid(commanderProDevice, channel): with pytest.raises(ValueError): commanderProDevice._get_hw_led_channels(channel) def test_set_fixed_speed_low(commanderProDevice): response = '00000000000000000000000000000000' commanderProDevice.device.preload_read(Report(0, bytes.fromhex(response))) commanderProDevice._data.store('fan_modes', [0x01, 0x01, 0x01, 0x01, 0x01, 0x01]) commanderProDevice.set_fixed_speed('fan4', -10) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 1 assert sent[0].data[0] == 0x23 assert sent[0].data[1] == 0x03 assert sent[0].data[2] == 0x00 def test_set_fixed_speed_high(commanderProDevice): response = '00000000000000000000000000000000' commanderProDevice.device.preload_read(Report(0, bytes.fromhex(response))) commanderProDevice._data.store('fan_modes', [0x01, 0x01, 0x01, 0x01, 0x01, 0x01]) commanderProDevice.set_fixed_speed('fan3', 110) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 1 assert sent[0].data[0] == 0x23 assert sent[0].data[1] == 0x02 assert sent[0].data[2] == 0x64 def test_set_fixed_speed_valid(commanderProDevice): response = '00000000000000000000000000000000' commanderProDevice.device.preload_read(Report(0, bytes.fromhex(response))) commanderProDevice._data.store('fan_modes', [0x01, 0x01, 0x01, 0x01, 0x01, 0x01]) commanderProDevice.set_fixed_speed('fan2', 50) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 1 assert sent[0].data[0] == 0x23 assert sent[0].data[1] == 0x01 assert sent[0].data[2] == 0x32 def test_set_fixed_speed_valid_unconfigured(commanderProDevice): response = '00000000000000000000000000000000' commanderProDevice.device.preload_read(Report(0, bytes.fromhex(response))) commanderProDevice._data.store('fan_modes', [0x00, 0x00, 0x00, 0x00, 0x00, 0x00]) commanderProDevice.set_fixed_speed('fan2', 50) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 0 def test_set_fixed_speed_valid_multi_fan(commanderProDevice): responses = [ '00000000000000000000000000000000', '00000000000000000000000000000000', '00000000000000000000000000000000', '00000000000000000000000000000000', '00000000000000000000000000000000' ] for d in responses: commanderProDevice.device.preload_read(Report(0, bytes.fromhex(d))) commanderProDevice._data.store('fan_modes', [0x01, 0x00, 0x01, 0x01, 0x00, 0x00]) commanderProDevice.set_fixed_speed('sync', 50) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 3 assert sent[0].data[0] == 0x23 assert sent[0].data[1] == 0x00 assert sent[0].data[2] == 0x32 assert sent[1].data[0] == 0x23 assert sent[1].data[1] == 0x02 assert sent[1].data[2] == 0x32 assert sent[2].data[0] == 0x23 assert sent[2].data[1] == 0x03 assert sent[2].data[2] == 0x32 def test_set_fixed_speed_lighting(lightingNodeProDevice): response = '00000000000000000000000000000000' lightingNodeProDevice.device.preload_read(Report(0, bytes.fromhex(response))) with pytest.raises(NotSupportedByDevice): lightingNodeProDevice.set_fixed_speed('sync', 50) # check the commands sent sent = lightingNodeProDevice.device.sent assert len(sent) == 0 def test_set_speed_profile_valid_multi_fan(commanderProDevice): ignore = Report(0, bytes(16)) for _ in range(5): commanderProDevice.device.preload_read(ignore) commanderProDevice._data.store('temp_sensors_connected', [0x01, 0x01, 0x00, 0x01]) commanderProDevice._data.store('fan_modes', [0x01, 0x00, 0x01, 0x01, 0x00, 0x00]) commanderProDevice.set_speed_profile('sync', [(10, 500), (20, 1000)]) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 3 assert sent[0].data[0] == 0x25 assert sent[0].data[1] == 0x00 assert sent[0].data[2] == 0x00 assert sent[0].data[3] == 0x03 assert sent[0].data[4] == 0xe8 assert sent[0].data[15] == 0x01 assert sent[0].data[16] == 0xf4 assert sent[1].data[0] == 0x25 assert sent[1].data[1] == 0x02 assert sent[1].data[2] == 0x00 assert sent[2].data[0] == 0x25 assert sent[2].data[1] == 0x03 assert sent[2].data[2] == 0x00 def test_set_speed_profile_invalid_temp_sensor(commanderProDevice): ignore = Report(0, bytes(16)) for _ in range(5): commanderProDevice.device.preload_read(ignore) commanderProDevice._data.store('temp_sensors_connected', [0x01, 0x01, 0x00, 0x01]) commanderProDevice._data.store('fan_modes', [0x01, 0x00, 0x01, 0x01, 0x00, 0x00]) commanderProDevice.set_speed_profile('fan1', [(10, 500), (20, 1000)], temperature_sensor=10) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 1 assert sent[0].data[0] == 0x25 assert sent[0].data[1] == 0x00 assert sent[0].data[2] == 0x03 assert sent[0].data[3] == 0x03 assert sent[0].data[4] == 0xe8 assert sent[0].data[15] == 0x01 assert sent[0].data[16] == 0xf4 def test_set_speed_profile_no_temp_sensors(commanderProDevice): ignore = Report(0, bytes(16)) for _ in range(5): commanderProDevice.device.preload_read(ignore) commanderProDevice._data.store('temp_sensors_connected', [0x00, 0x00, 0x00, 0x00]) commanderProDevice._data.store('fan_modes', [0x01, 0x00, 0x01, 0x01, 0x00, 0x00]) with pytest.raises(ValueError): commanderProDevice.set_speed_profile('sync', [(10, 500), (20, 1000)], temperature_sensor=1) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 0 def test_set_speed_profile_valid(commanderProDevice): ignore = Report(0, bytes(16)) for _ in range(5): commanderProDevice.device.preload_read(ignore) commanderProDevice._data.store('temp_sensors_connected', [0x01, 0x01, 0x00, 0x01]) commanderProDevice._data.store('fan_modes', [0x01, 0x00, 0x01, 0x01, 0x00, 0x00]) commanderProDevice.set_speed_profile('fan3', [(10, 500), (20, 1000)]) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 1 assert sent[0].data[0] == 0x25 assert sent[0].data[1] == 0x02 assert sent[0].data[2] == 0x00 assert sent[0].data[3] == 0x03 assert sent[0].data[4] == 0xe8 assert sent[0].data[15] == 0x01 assert sent[0].data[16] == 0xf4 def test_set_speed_profile_node(lightingNodeProDevice): ignore = Report(0, bytes(16)) for _ in range(5): lightingNodeProDevice.device.preload_read(ignore) lightingNodeProDevice._data.store('temp_sensors_connected', [0x01, 0x00, 0x00, 0x00]) lightingNodeProDevice._data.store('fan_modes', [0x01, 0x00, 0x01, 0x01, 0x00, 0x00]) with pytest.raises(NotSupportedByDevice): lightingNodeProDevice.set_speed_profile('sync', [(10, 500), (20, 1000)]) # check the commands sent sent = lightingNodeProDevice.device.sent assert len(sent) == 0 def test_set_speed_profile_core(lightingNodeCoreDevice): ignore = Report(0, bytes(16)) for _ in range(5): lightingNodeCoreDevice.device.preload_read(ignore) lightingNodeCoreDevice._data.store('temp_sensors_connected', [0x01, 0x00, 0x00, 0x00]) lightingNodeCoreDevice._data.store('fan_modes', [0x01, 0x00, 0x01, 0x01, 0x00, 0x00]) with pytest.raises(NotSupportedByDevice): lightingNodeCoreDevice.set_speed_profile('sync', [(10, 500), (20, 1000)]) # check the commands sent sent = lightingNodeCoreDevice.device.sent assert len(sent) == 0 def test_set_speed_profile_valid_unconfigured(commanderProDevice): ignore = Report(0, bytes(16)) for _ in range(5): commanderProDevice.device.preload_read(ignore) commanderProDevice._data.store('temp_sensors_connected', [0x00, 0x00, 0x00, 0x00]) commanderProDevice._data.store('fan_modes', [0x01, 0x00, 0x01, 0x01, 0x00, 0x00]) with pytest.raises(ValueError): commanderProDevice.set_speed_profile('fan2', [(10, 500), (20, 1000)]) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 0 def test_set_color_hardware_clear(commanderProDevice): ignore = Report(0, bytes(16)) for _ in range(6): commanderProDevice.device.preload_read(ignore) effect = { 'channel': 0x01, 'start_led': 0x00, 'num_leds': 0x0f, 'mode': 0x0a, 'speed': 0x00, 'direction': 0x00, 'random_colors': 0x00, 'colors': [] } commanderProDevice._data.store('saved_effects', [effect]) commanderProDevice.set_color('led1', 'clear', [], ) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 0 effects = commanderProDevice._data.load('saved_effects', default=None) assert effects is None def test_set_color_hardware_off(commanderProDevice): ignore = Report(0, bytes(16)) for _ in range(6): commanderProDevice.device.preload_read(ignore) effect = { 'channel': 0x01, 'start_led': 0x00, 'num_leds': 0x0f, 'mode': 0x0a, 'speed': 0x00, 'direction': 0x00, 'random_colors': 0x00, 'colors': [] } commanderProDevice._data.store('saved_effects', [effect]) commanderProDevice.set_color('led1', 'off', []) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 5 assert sent[3].data[0] == 0x35 assert sent[3].data[4] == 0x04 effects = commanderProDevice._data.load('saved_effects', default=None) assert effects is None @pytest.mark.parametrize('directionStr,expected', [('forward', 0x01), ('backward', 0x00)]) def test_set_color_hardware_direction(commanderProDevice, directionStr, expected): ignore = Report(0, bytes(16)) for _ in range(6): commanderProDevice.device.preload_read(ignore) colors = [[0xaa, 0xbb, 0xcc]] commanderProDevice.set_color('led1', 'fixed', colors, direction=directionStr) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 5 assert sent[3].data[0] == 0x35 assert sent[3].data[6] == expected effects = commanderProDevice._data.load('saved_effects', default=None) assert effects is not None assert len(effects) == 1 def test_set_color_hardware_direction_default(commanderProDevice): ignore = Report(0, bytes(16)) for _ in range(6): commanderProDevice.device.preload_read(ignore) colors = [[0xaa, 0xbb, 0xcc]] commanderProDevice.set_color('led1', 'fixed', colors) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 5 assert sent[3].data[0] == 0x35 assert sent[3].data[6] == 0x01 effects = commanderProDevice._data.load('saved_effects', default=None) assert effects is not None assert len(effects) == 1 def test_set_color_hardware_speed_default(commanderProDevice): ignore = Report(0, bytes(16)) for _ in range(6): commanderProDevice.device.preload_read(ignore) colors = [[0xaa, 0xbb, 0xcc]] commanderProDevice.set_color('led1', 'fixed', colors) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 5 assert sent[3].data[0] == 0x35 assert sent[3].data[5] == 0x01 effects = commanderProDevice._data.load('saved_effects', default=None) assert effects is not None assert len(effects) == 1 @pytest.mark.parametrize('speedStr,expected', [('slow', 0x02), ('fast', 0x00), ('medium', 0x01)]) def test_set_color_hardware_speed(commanderProDevice, speedStr, expected): ignore = Report(0, bytes(16)) for _ in range(6): commanderProDevice.device.preload_read(ignore) colors = [[0xaa, 0xbb, 0xcc]] commanderProDevice.set_color('led1', 'fixed', colors, speed=speedStr) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 5 assert sent[3].data[0] == 0x35 assert sent[3].data[5] == expected effects = commanderProDevice._data.load('saved_effects', default=None) assert effects is not None assert len(effects) == 1 def test_set_color_hardware_default_start_end(commanderProDevice): ignore = Report(0, bytes(16)) for _ in range(6): commanderProDevice.device.preload_read(ignore) colors = [[0xaa, 0xbb, 0xcc]] commanderProDevice.set_color('led1', 'fixed', colors) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 5 assert sent[3].data[0] == 0x35 assert sent[3].data[2] == 0 # start led assert sent[3].data[3] == 204 # num leds effects = commanderProDevice._data.load('saved_effects', default=None) assert effects is not None assert len(effects) == 1 @pytest.mark.parametrize('startLED,expected', [ (1, 0x00), (30, 0x1d), (92, 0x5b) ]) def test_set_color_hardware_start_set(commanderProDevice, startLED, expected): ignore = Report(0, bytes(16)) for _ in range(6): commanderProDevice.device.preload_read(ignore) colors = [[0xaa, 0xbb, 0xcc]] commanderProDevice.set_color('led1', 'fixed', colors, start_led=startLED) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 5 assert sent[3].data[0] == 0x35 assert sent[3].data[2] == expected # start led effects = commanderProDevice._data.load('saved_effects', default=None) assert effects is not None assert len(effects) == 1 @pytest.mark.parametrize('numLED,expected', [ (1, 1), (30, 30), (96, 96), (203, 203), (204, 204), (205, 204) ]) def test_set_color_hardware_num_leds(commanderProDevice, numLED, expected): ignore = Report(0, bytes(16)) for _ in range(6): commanderProDevice.device.preload_read(ignore) colors = [[0xaa, 0xbb, 0xcc]] commanderProDevice.set_color('led1', 'fixed', colors, start_led=1, maximum_leds=numLED) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 5 assert sent[3].data[0] == 0x35 assert sent[3].data[3] == expected # num leds effects = commanderProDevice._data.load('saved_effects', default=None) assert effects is not None assert len(effects) == 1 def test_set_color_hardware_too_many_leds(commanderProDevice): ignore = Report(0, bytes(16)) for _ in range(6): commanderProDevice.device.preload_read(ignore) colors = [[0xaa, 0xbb, 0xcc]] commanderProDevice.set_color('led1', 'fixed', colors, start_led=200, maximum_leds=50) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 5 assert sent[3].data[0] == 0x35 assert sent[3].data[2] == 0xc7 # start led assert sent[3].data[3] == 5 # num led effects = commanderProDevice._data.load('saved_effects', default=None) assert effects is not None assert len(effects) == 1 def test_set_color_hardware_too_few_leds(commanderProDevice): ignore = Report(0, bytes(16)) for _ in range(6): commanderProDevice.device.preload_read(ignore) colors = [[0xaa, 0xbb, 0xcc]] commanderProDevice.set_color('led1', 'fixed', colors, start_led=1, maximum_leds=0) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 5 assert sent[3].data[0] == 0x35 assert sent[3].data[2] == 0x00 # start led assert sent[3].data[3] == 0x01 # num led effects = commanderProDevice._data.load('saved_effects', default=None) assert effects is not None assert len(effects) == 1 @pytest.mark.parametrize('channel,expected', [('led1', 0x00), ('led2', 0x01)]) def test_set_color_hardware_channel(commanderProDevice, channel, expected): ignore = Report(0, bytes(16)) for _ in range(6): commanderProDevice.device.preload_read(ignore) colors = [[0xaa, 0xbb, 0xcc]] commanderProDevice.set_color(channel, 'fixed', colors) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 5 assert sent[0].data[1] == expected assert sent[1].data[1] == expected assert sent[2].data[1] == expected assert sent[3].data[0] == 0x35 assert sent[3].data[1] == expected effects = commanderProDevice._data.load('saved_effects', default=None) assert effects is not None assert len(effects) == 1 def test_set_color_hardware_sync_channel(commanderProDevice): ignore = Report(0, bytes(16)) for _ in range(9): commanderProDevice.device.preload_read(ignore) colors = [[0xaa, 0xbb, 0xcc]] commanderProDevice.set_color('sync', 'fixed', colors) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 2*(3 + 1) + 1 assert sent[0].data[1] == 0 assert sent[1].data[1] == 0 assert sent[2].data[1] == 0 assert sent[3].data[1] == 1 assert sent[4].data[1] == 1 assert sent[5].data[1] == 1 assert sent[6].data[0] == 0x35 assert sent[6].data[1] == 0 assert sent[7].data[0] == 0x35 assert sent[7].data[1] == 1 effects = commanderProDevice._data.load('saved_effects', default=None) assert effects is not None assert len(effects) == 2 def test_set_color_hardware_random_color(commanderProDevice): ignore = Report(0, bytes(16)) for _ in range(6): commanderProDevice.device.preload_read(ignore) colors = [] commanderProDevice.set_color('led1', 'fixed', colors) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 5 assert sent[3].data[0] == 0x35 assert sent[3].data[7] == 0x01 effects = commanderProDevice._data.load('saved_effects', default=None) assert effects is not None assert len(effects) == 1 def test_set_color_hardware_not_random_color(commanderProDevice): ignore = Report(0, bytes(16)) for _ in range(6): commanderProDevice.device.preload_read(ignore) colors = [[0xaa, 0xbb, 0xcc]] commanderProDevice.set_color('led1', 'fixed', colors) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 5 assert sent[3].data[0] == 0x35 assert sent[3].data[7] == 0x00 effects = commanderProDevice._data.load('saved_effects', default=None) assert effects is not None assert len(effects) == 1 def test_set_color_hardware_too_many_colors(commanderProDevice): ignore = Report(0, bytes(16)) for _ in range(6): commanderProDevice.device.preload_read(ignore) colors = [[0xaa, 0xbb, 0xcc], [0x00, 0x11, 0x22], [0x33, 0x44, 0x55]] commanderProDevice.set_color('led1', 'fixed', colors) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 5 assert sent[3].data[0] == 0x35 assert sent[3].data[7] == 0x00 assert sent[3].data[9] == 0xaa assert sent[3].data[10] == 0xbb assert sent[3].data[11] == 0xcc effects = commanderProDevice._data.load('saved_effects', default=None) assert effects is not None assert len(effects) == 1 def test_set_color_hardware_too_few_colors(commanderProDevice): ignore = Report(0, bytes(16)) for _ in range(6): commanderProDevice.device.preload_read(ignore) commanderProDevice.set_color('led1', 'fixed', []) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 5 assert sent[3].data[0] == 0x35 assert sent[3].data[7] == 0x01 assert sent[3].data[9] == 0x00 assert sent[3].data[10] == 0x00 assert sent[3].data[11] == 0x00 effects = commanderProDevice._data.load('saved_effects', default=None) assert effects is not None assert len(effects) == 1 @pytest.mark.parametrize('modeStr,expected', [ ('rainbow', 0x00), ('color_shift', 0x01), ('color_pulse', 0x02), ('color_wave', 0x03), ('fixed', 0x04), ('visor', 0x06), ('marquee', 0x07), ('blink', 0x08), ('sequential', 0x09), ('rainbow2', 0x0a), ]) def test_set_color_hardware_valid_mode(commanderProDevice, modeStr, expected): ignore = Report(0, bytes(16)) for _ in range(6): commanderProDevice.device.preload_read(ignore) commanderProDevice.set_color('led1', modeStr, []) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 5 assert sent[3].data[0] == 0x35 assert sent[3].data[4] == expected effects = commanderProDevice._data.load('saved_effects', default=None) assert effects is not None assert len(effects) == 1 def test_set_color_hardware_invalid_mode(commanderProDevice): ignore = Report(0, bytes(16)) for _ in range(6): commanderProDevice.device.preload_read(ignore) colors = [[0xaa, 0xbb, 0xcc]] with pytest.raises(ValueError): commanderProDevice.set_color('led1', 'invalid', colors) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 0 effects = commanderProDevice._data.load('saved_effects', default=None) assert effects is None def test_set_color_hardware_multipe_commands(commanderProDevice): ignore = Report(0, bytes(16)) for _ in range(6): commanderProDevice.device.preload_read(ignore) effect = { 'channel': 0x01, 'start_led': 0x00, 'num_leds': 0x0f, 'mode': 0x0a, 'speed': 0x00, 'direction': 0x00, 'random_colors': 0x00, 'colors': [0xaa, 0xbb, 0xcc] } commanderProDevice._data.store('saved_effects', [effect]) commanderProDevice.set_color('led1', 'fixed', [[0x00, 0x11, 0x22]], start_led=16, maximum_leds=5) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 6 assert sent[3].data[0] == 0x35 assert sent[4].data[0] == 0x35 effects = commanderProDevice._data.load('saved_effects', default=None) assert effects is not None assert len(effects) == 2 def test_set_color_hardware_last_commands(commanderProDevice): for i in range(15): commanderProDevice.device.preload_read(Report(0, bytes.fromhex('00000000000000000000000000000000'))) effect = { 'channel': 0x01, 'start_led': 0x00, 'num_leds': 0x0f, 'mode': 0x0a, 'speed': 0x00, 'direction': 0x00, 'random_colors': 0x00, 'colors': [0xaa, 0xbb, 0xcc] } commanderProDevice._data.store('saved_effects', [effect, effect, effect, effect, effect, effect, effect]) commanderProDevice.set_color('led1', 'fixed', [[0x00, 0x11, 0x22]], start_led=16, maximum_leds=5) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 12 effects = commanderProDevice._data.load('saved_effects', default=None) assert effects is not None assert len(effects) == 8 def test_set_color_hardware_max_commands(commanderProDevice): for i in range(15): commanderProDevice.device.preload_read(Report(0, bytes.fromhex('00000000000000000000000000000000'))) effect = { 'channel': 0x01, 'start_led': 0x00, 'num_leds': 0x0f, 'mode': 0x0a, 'speed': 0x00, 'direction': 0x00, 'random_colors': 0x00, 'colors': [0xaa, 0xbb, 0xcc] } commanderProDevice._data.store('saved_effects', [effect, effect, effect, effect, effect, effect, effect, effect]) commanderProDevice.set_color('led1', 'fixed', [[0x00, 0x11, 0x22]], start_led=16, maximum_leds=5) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 0 effects = commanderProDevice._data.load('saved_effects', default=None) assert effects is not None assert len(effects) == 8 def test_set_color_hardware_too_many_commands(commanderProDevice): ignore = Report(0, bytes(16)) for _ in range(6): commanderProDevice.device.preload_read(ignore) effect = { 'channel': 0x01, 'start_led': 0x00, 'num_leds': 0x0f, 'mode': 0x0a, 'speed': 0x00, 'direction': 0x00, 'random_colors': 0x00, 'colors': [0xaa, 0xbb, 0xcc] } commanderProDevice._data.store('saved_effects', [effect, effect, effect, effect, effect, effect, effect, effect, effect]) commanderProDevice.set_color('led1', 'fixed', [[0x00, 0x11, 0x22]], start_led=16, maximum_leds=5) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 0 def test_send_command_valid_data(commanderProDevice): ignore = Report(0, bytes(16)) for _ in range(2): commanderProDevice.device.preload_read(ignore) commanderProDevice._send_command(6, [255, 0, 20, 10, 15]) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 1 assert len(sent[0].data) == 64 assert sent[0].data[0] == 6 assert sent[0].data[1] == 255 def test_send_command_no_data(commanderProDevice): ignore = Report(0, bytes(16)) for _ in range(2): commanderProDevice.device.preload_read(ignore) commanderProDevice._send_command(6) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 1 assert len(sent[0].data) == 64 assert sent[0].data[0] == 6 assert sent[0].data[1] == 0 def test_send_command_data_too_long(commanderProDevice): ignore = Report(0, bytes(16)) for _ in range(2): commanderProDevice.device.preload_read(ignore) data = bytearray(100) commanderProDevice._send_command(3, data) # check the commands sent sent = commanderProDevice.device.sent assert len(sent) == 1 assert len(sent[0].data) == 64 assert sent[0].data[0] == 3 assert sent[0].data[1] == 0 liquidctl-1.16.0/tests/test_control_hub.py000066400000000000000000000206331515166127400206760ustar00rootroot00000000000000# uses the psf/black style import pytest from _testutils import MockHidapiDevice, Report from liquidctl.driver.control_hub import ControlHub # Real capture data from NZXT Control Hub (device ID 0x1e71:0x2022) # Firmware info response (frame 71 from nzxt_cakm_startup.pcapng) SAMPLE_FIRMWARE_INFO = bytes.fromhex( "1102db51079a171b41508bbd7819222001010005003030303030303030303030" "303030303030303030303030050300000000000000000000000000000000000000" ) # LED info response (frame 81 from nzxt_cakm_startup.pcapng) SAMPLE_LED_INFO = bytes.fromhex( "2103db51079a171b41508bbd7819050000000000000000000000000000000000" "001d00000000001300000000000000000000000000000000000000000000000000" ) # Status data (frame 89 from nzxt_cakm_startup.pcapng) SAMPLE_STATUS = bytes.fromhex( "6701db51079a171b41508bbd781905ff000000010200000000000000000035056f" "020000000000001e1e1e1e1e0000001919191e1e000000000000000000000000" ) class MockControlHub(MockHidapiDevice): def __init__(self, raw_speed_channels, raw_led_channels): super().__init__() self.raw_speed_channels = raw_speed_channels self.raw_led_channels = raw_led_channels def write(self, data): reply = bytearray(64) if data[0:2] == [0x10, 0x02]: reply = bytearray(SAMPLE_FIRMWARE_INFO[:64]) elif data[0:2] == [0x20, 0x03]: reply = bytearray(SAMPLE_LED_INFO[:64]) reply[14] = self.raw_led_channels if self.raw_led_channels > 0: reply[15] = 0x1D if self.raw_led_channels > 1: reply[15 + 1 * 6] = 0x13 if self.raw_led_channels > 2: reply[15 + 2 * 6] = 0x1D self.preload_read(Report(reply[0], reply[1:])) return super().write(data) @pytest.fixture def mock_control_hub(): raw = MockControlHub(raw_speed_channels=5, raw_led_channels=5) dev = ControlHub(raw, "Mock Control Hub", speed_channel_count=5, color_channel_count=5) dev.connect() return dev def test_initializes(mock_control_hub): result = mock_control_hub.initialize() writes = len(mock_control_hub.device.sent) assert writes == 4 assert any("Firmware version" in str(item) for item in result) def test_reads_status_directly(mock_control_hub): # ControlHub inherits SmartDevice2's _get_status_directly which expects 0x67 0x02 # but real capture shows 0x67 0x01, so we need to modify the sample modified_status = bytearray(SAMPLE_STATUS) modified_status[0] = 0x67 modified_status[1] = 0x02 # Change from 0x01 to 0x02 to match SmartDevice2 format mock_control_hub.device.preload_read(Report(0, bytes(modified_status))) got = mock_control_hub.get_status() assert len(got) > 0 assert any("Fan" in str(item[0]) for item in got) def test_constructor_sets_up_all_channels(mock_control_hub): assert mock_control_hub._speed_channels == { "fan1": (0, 0, 100), "fan2": (1, 0, 100), "fan3": (2, 0, 100), "fan4": (3, 0, 100), "fan5": (4, 0, 100), } assert mock_control_hub._color_channels == { "led1": 0, "led2": 1, "led3": 2, "led4": 3, "led5": 4, "sync": 0xFF, } def test_set_fixed_speed_single_channel(mock_control_hub): _ = mock_control_hub.initialize() mock_control_hub.set_fixed_speed(channel="fan3", duty=75) assert len(mock_control_hub.device.sent) > 2 def test_set_fixed_speed_sync_channel(mock_control_hub): _ = mock_control_hub.initialize() for i in range(1, 6): mock_control_hub.set_fixed_speed(channel=f"fan{i}", duty=50) assert len(mock_control_hub.device.sent) > 5 def test_set_color_fixed_mode(mock_control_hub): _ = mock_control_hub.initialize() mock_control_hub.set_color(channel="led1", mode="fixed", colors=[[255, 0, 0]]) assert len(mock_control_hub.device.sent) > 2 # ControlHub uses same color command as SmartDevice2 (0x26, 0x04) # Reports are stored as Report(number, data) so check number and first data byte color_writes = [ w for w in mock_control_hub.device.sent if w.number == 0x26 and w.data[0] == 0x04 ] assert len(color_writes) >= 1 def test_set_color_off_mode(mock_control_hub): _ = mock_control_hub.initialize() mock_control_hub.set_color(channel="led2", mode="off", colors=[]) assert len(mock_control_hub.device.sent) > 2 def test_set_color_fading_mode(mock_control_hub): _ = mock_control_hub.initialize() colors = [[255, 0, 0], [0, 255, 0], [0, 0, 255]] mock_control_hub.set_color(channel="led3", mode="fading", colors=colors, speed="faster") assert len(mock_control_hub.device.sent) > 2 def test_set_color_spectrum_wave(mock_control_hub): _ = mock_control_hub.initialize() mock_control_hub.set_color( channel="led1", mode="spectrum-wave", colors=[], speed="normal", direction="forward" ) assert len(mock_control_hub.device.sent) > 2 def test_set_color_spectrum_wave_backward(mock_control_hub): _ = mock_control_hub.initialize() mock_control_hub.set_color( channel="led1", mode="spectrum-wave", colors=[], speed="fastest", direction="backward" ) assert len(mock_control_hub.device.sent) > 2 def test_set_color_covering_marquee(mock_control_hub): _ = mock_control_hub.initialize() colors = [[255, 128, 0]] mock_control_hub.set_color( channel="led4", mode="covering-marquee", colors=colors, speed="slower" ) assert len(mock_control_hub.device.sent) > 2 def test_set_color_super_rainbow(mock_control_hub): _ = mock_control_hub.initialize() mock_control_hub.set_color( channel="led5", mode="super-rainbow", colors=[], speed="normal", direction="forward" ) assert len(mock_control_hub.device.sent) > 2 def test_set_color_sync_channel(mock_control_hub): _ = mock_control_hub.initialize() mock_control_hub.set_color(channel="sync", mode="fixed", colors=[[0, 255, 255]]) assert len(mock_control_hub.device.sent) > 2 def test_set_color_invalid_channel(mock_control_hub): _ = mock_control_hub.initialize() with pytest.raises(ValueError, match="invalid channel"): mock_control_hub.set_color(channel="led10", mode="fixed", colors=[[255, 0, 0]]) def test_set_color_invalid_mode(mock_control_hub): _ = mock_control_hub.initialize() with pytest.raises(ValueError, match="invalid mode"): mock_control_hub.set_color(channel="led1", mode="invalid_mode", colors=[[255, 0, 0]]) def test_set_color_too_few_colors(mock_control_hub): _ = mock_control_hub.initialize() with pytest.raises(ValueError, match="requires at least"): mock_control_hub.set_color(channel="led1", mode="fading", colors=[]) def test_set_color_too_many_colors(mock_control_hub): _ = mock_control_hub.initialize() colors = [[i * 30, i * 30, i * 30] for i in range(9)] with pytest.raises(ValueError, match="supports at most"): mock_control_hub.set_color(channel="led1", mode="fading", colors=colors) def test_speed_values(mock_control_hub): _ = mock_control_hub.initialize() for speed in ["slowest", "slower", "normal", "faster", "fastest"]: mock_control_hub.set_color(channel="led1", mode="spectrum-wave", colors=[], speed=speed) assert len(mock_control_hub.device.sent) > 7 def test_channel_byte_mapping(mock_control_hub): _ = mock_control_hub.initialize() for i in range(5): mock_control_hub.set_color( channel=f"led{i+1}", mode="fixed", colors=[[i * 50, i * 50, i * 50]] ) color_writes = [ w for w in mock_control_hub.device.sent if w.number == 0x26 and w.data[0] == 0x04 ] assert len(color_writes) >= 5 def test_not_totally_broken(mock_control_hub): _ = mock_control_hub.initialize() # Adjust status message prefix to match what ControlHub expects (inherited from SmartDevice2) modified_status = bytearray(SAMPLE_STATUS) modified_status[1] = 0x02 mock_control_hub.device.preload_read(Report(0, bytes(modified_status))) _ = mock_control_hub.get_status() mock_control_hub.set_fixed_speed(channel="fan1", duty=50) mock_control_hub.set_fixed_speed(channel="fan2", duty=75) mock_control_hub.set_color(channel="led1", mode="fixed", colors=[[255, 0, 0]]) mock_control_hub.set_color(channel="led2", mode="spectrum-wave", colors=[], speed="fastest") mock_control_hub.set_color( channel="led3", mode="fading", colors=[[255, 0, 0], [0, 255, 0]], speed="normal" ) liquidctl-1.16.0/tests/test_coolit.py000066400000000000000000000014761515166127400176550ustar00rootroot00000000000000import pytest from _testutils import MockHidapiDevice, MockRuntimeStorage from liquidctl.driver.coolit import Coolit class MockDevice(MockHidapiDevice): def read(self, length, **kwargs): return [0] * length @pytest.fixture def mock_h110i_gt(): mock_raw_dev = MockDevice(vendor_id=0xDEAD, product_id=0xBEEF, address="42") mock_storage = MockRuntimeStorage(key_prefixes=["mock_h110i_gt"]) dev = Coolit( mock_raw_dev, "Mock H100i GT", fan_count=2, rgb_fans=False, ) return dev.connect(runtime_storage=mock_storage) def test_driver_not_totally_broken(mock_h110i_gt): cooler = mock_h110i_gt cooler.initialize() _ = cooler.get_status(pump_mode="extreme") cooler.set_fixed_speed("fan1", 42) cooler.set_speed_profile("fan2", [(20, 30), (40, 90)]) liquidctl-1.16.0/tests/test_corsair_hid_psu.py000066400000000000000000000154501515166127400215360ustar00rootroot00000000000000import pytest from _testutils import MockHidapiDevice, Report from pytest import approx from datetime import timedelta from liquidctl.driver.corsair_hid_psu import CorsairHidPsu, OCPMode, FanControlMode from liquidctl.driver.hwmon import HwmonDevice # https://github.com/liquidctl/liquidctl/issues/300#issuecomment-788302513 SAMPLE_PAGED_RESPONSES = [ [ '038bffd2', '038c2bf0', '03963e08', ], [ '038b41d1', '038c1be0', '039610f8', ], [ '038bd3d0', '038c09e0', '039603f8', ], ] SAMPLE_RESPONSES = [ # https://github.com/liquidctl/liquidctl/issues/300#issuecomment-788302513 '033b1b', '034013d1', '03441ad2', '034680e2', '034f46', '0388ccf9', '038d86f0', '038e6af0', '0399434f5253414952', '039a524d3130303069', '03d46d9febfe', '03d802', '03ee4608', 'fe03524d3130303069', # https://github.com/liquidctl/liquidctl/pull/54#issuecomment-543760522 '03d1224711', # https://github.com/liquidctl/liquidctl/issues/575#issue-1600123046 '03d213c60000414952204858313530306920505355', # with extra non-nil bytes # artificial '0390c803', '03f001', ] class MockPsu(MockHidapiDevice): def __init__(self, *args, **kwargs): self._page = 0; super().__init__(*args, **kwargs) def write(self, data): super().write(data) data = data[1:] # skip unused report ID reply = bytearray(64) if data[0] == 2 and data[1] == 0: self._page = data[2] reply[0:3] = data[0:3] self.preload_read(Report(0, reply)) else: cmd = f'{data[1]:02x}' samples = [x for x in SAMPLE_PAGED_RESPONSES[self._page] if x[2:4] == cmd] if not samples: samples = [x for x in SAMPLE_RESPONSES if x[2:4] == cmd] if not samples: raise KeyError(cmd) reply[0] = data[0] reply[1:len(data)] = bytes.fromhex(samples[0][2:]) self.preload_read(Report(0, reply)) @pytest.fixture def mock_psu(): pid, vid, desc, kwargs = CorsairHidPsu._MATCHES[0] device = MockPsu(vendor_id=vid, product_id=pid, address='addr') return CorsairHidPsu(device, f'Mock {desc}', **kwargs) def test_not_totally_broken(mock_psu): mock_psu.set_fixed_speed(channel='fan', duty=50) report_id, report_data = mock_psu.device.sent[0] assert report_id == 0 assert len(report_data) == 64 def test_dont_inject_report_ids(mock_psu): mock_psu.set_fixed_speed(channel='fan', duty=50) report_id, report_data = mock_psu.device.sent[0] assert report_id == 0 assert len(report_data) == 64 @pytest.mark.parametrize('has_hwmon,direct_access', [(False, False), (True, True), (True, False)]) def test_initializes(mock_psu, has_hwmon, direct_access, tmp_path): if has_hwmon: mock_psu._hwmon = HwmonDevice('mock_module', tmp_path) # TODO check the result _ = mock_psu.initialize(direct_access=direct_access) writes = len(mock_psu.device.sent) if not has_hwmon or direct_access: assert writes > 0 else: assert writes == 0 @pytest.mark.parametrize('has_hwmon,direct_access', [(False, False), (True, True)]) def test_reads_status_directly(mock_psu, has_hwmon, direct_access): if has_hwmon: mock_psu._hwmon = HwmonDevice(None, None) got = mock_psu.get_status(direct_access=direct_access) expected = [ ('Current uptime', timedelta(seconds=50707), ''), ('Total uptime', timedelta(days=13, seconds=9122), ''), ('VRM temperature', approx(33.5, rel=1e-3), '°C'), ('Case temperature', approx(26.5, rel=1e-3), '°C'), ('Fan control mode', FanControlMode.SOFTWARE, ''), ('Fan speed', approx(968, rel=1e-3), 'rpm'), ('Input voltage', approx(230, rel=1e-3), 'V'), ('Total power output', approx(140, rel=1e-3), 'W'), ('+12V OCP mode', OCPMode.MULTI_RAIL, ''), ('+12V output voltage', approx(11.98, rel=1e-3), 'V'), ('+12V output current', approx(10.75, rel=1e-3), 'A'), ('+12V output power', approx(124, rel=1e-3), 'W'), ('+5V output voltage', approx(5.016, rel=1e-3), 'V'), ('+5V output current', approx(1.688, rel=1e-3), 'A'), ('+5V output power', approx(8, rel=1e-3), 'W'), ('+3.3V output voltage', approx(3.297, rel=1e-3), 'V'), ('+3.3V output current', approx(0.562, rel=1e-3), 'A'), ('+3.3V output power', approx(1.5, rel=1e-3), 'W'), ('Estimated input power', approx(153, abs=1), 'W'), ('Estimated efficiency', approx(92, abs=1), '%'), ] assert sorted(got) == sorted(expected) def test_reads_status_from_hwmon(mock_psu, tmp_path): mock_psu.device.write = None # make sure we aren't writing to the mock device mock_psu._hwmon = HwmonDevice('mock_module', tmp_path) (tmp_path / 'temp1_input').write_text('33500\n') (tmp_path / 'temp2_input').write_text('26500\n') (tmp_path / 'fan1_input').write_text('968\n') (tmp_path / 'in0_input').write_text('230000\n') (tmp_path / 'power1_input').write_text('140000000\n') (tmp_path / 'in1_input').write_text('11980\n') (tmp_path / 'curr2_input').write_text('10750\n') (tmp_path / 'power2_input').write_text('124000000\n') (tmp_path / 'in2_input').write_text('5016\n') (tmp_path / 'curr3_input').write_text('1688\n') (tmp_path / 'power3_input').write_text('8000000\n') (tmp_path / 'in3_input').write_text('3297\n') (tmp_path / 'curr4_input').write_text('562\n') (tmp_path / 'power4_input').write_text('1500000\n') got = mock_psu.get_status() expected = [ ('VRM temperature', approx(33.5, rel=1e-3), '°C'), ('Case temperature', approx(26.5, rel=1e-3), '°C'), ('Fan speed', approx(968, rel=1e-3), 'rpm'), ('Input voltage', approx(230, rel=1e-3), 'V'), ('Total power output', approx(140, rel=1e-3), 'W'), ('+12V output voltage', approx(11.98, rel=1e-3), 'V'), ('+12V output current', approx(10.75, rel=1e-3), 'A'), ('+12V output power', approx(124, rel=1e-3), 'W'), ('+5V output voltage', approx(5.016, rel=1e-3), 'V'), ('+5V output current', approx(1.688, rel=1e-3), 'A'), ('+5V output power', approx(8, rel=1e-3), 'W'), ('+3.3V output voltage', approx(3.297, rel=1e-3), 'V'), ('+3.3V output current', approx(0.562, rel=1e-3), 'A'), ('+3.3V output power', approx(1.5, rel=1e-3), 'W'), ('Estimated input power', approx(153, abs=1), 'W'), ('Estimated efficiency', approx(92, abs=1), '%'), ] assert sorted(got) == sorted(expected) def test_enforce_minimum_user_set_fan_duty(mock_psu): mock_psu.set_fixed_speed(channel='fan', duty=20) _, report_data = mock_psu.device.sent[1] assert report_data[2] == 30 liquidctl-1.16.0/tests/test_ddr4.py000066400000000000000000000307431515166127400172200ustar00rootroot00000000000000import pytest from _testutils import VirtualSmbus from liquidctl.driver.ddr4 import * from liquidctl.error import * # SPD samples def patch_spd_dump(spd_dump, slice, new): spd_dump = bytearray(spd_dump) spd_dump[slice] = new return bytes(spd_dump) _VENGEANCE_RGB_SAMPLE = bytes.fromhex( '23100c028521000800000003090300000000080cfc0300006c6c6c110874f00a' '2008000500a81e2b2b0000000000000000000000000000000000000016361636' '1636163600002b0c2b0c2b0c2b0c000000000000000000000000000000000000' '000000000000000000000000000000000000000000edb5ce0000000000c24da7' '1111010100000000000000000000000000000000000000000000000000000000' '0000000000000000000000000000000000000000000000000000000000000000' '0000000000000000000000000000000000000000000000000000000000000000' '000000000000000000000000000000000000000000000000000000000000de27' '0000000000000000000000000000000000000000000000000000000000000000' '0000000000000000000000000000000000000000000000000000000000000000' '029e00000000000000434d5233324758344d32433333333343313620200080ce' '0000000000000000000000000000000000000000000000000000000000000000' '0c4a01200000000000a3000005fc3f04004d575710ac03f00a2008000500b022' '2c00000000000000009cceb5b5b5e7e700000000000000000000000000000000' '0000000000000000000000000000000000000000000000000000000000000000' '0000000000000000000000000000000000000000000000000000000000000000' ) # clear the part number; the Vengeance RGB sample already didn't set the TS bit _NON_TS_SPD = patch_spd_dump(_VENGEANCE_RGB_SAMPLE, slice(0x149, 0x15d), b' ' * 20) # set the TS bit _TS_SPD = patch_spd_dump(_NON_TS_SPD, 0x0e, 0x80) # DDR4 SPD decoding @pytest.fixture def cmr_spd(): return Ddr4Spd(_VENGEANCE_RGB_SAMPLE) def test_spd_bytes_used(cmr_spd): assert cmr_spd.spd_bytes_used == 384 def test_spd_bytes_total(cmr_spd): assert cmr_spd.spd_bytes_total == 512 def test_spd_revision(cmr_spd): assert cmr_spd.spd_revision == (1, 0) def test_dram_device_type(cmr_spd): assert cmr_spd.dram_device_type == Ddr4Spd.DramDeviceType.DDR4_SDRAM def test_module_type(cmr_spd): assert cmr_spd.module_type == (Ddr4Spd.BaseModuleType.UDIMM, None) def test_module_thermal_sensor(cmr_spd): assert not cmr_spd.module_thermal_sensor def test_module_manufacturer(cmr_spd): assert cmr_spd.module_manufacturer == 'Corsair' def test_module_part_number(cmr_spd): assert cmr_spd.module_part_number == 'CMR32GX4M2C3333C16' def test_dram_manufacturer(cmr_spd): assert cmr_spd.dram_manufacturer == 'Samsung' @pytest.fixture def smbus(): smbus = VirtualSmbus(parent_driver='i801_smbus') # hack: clear all spd addresses for address in range(0x50, 0x58): smbus._data[address] = None return smbus # DDR4 modules using a TSE2004-compatible SPD EEPROM with temperature sensor def test_tse2004_ignores_not_allowed_buses(smbus, monkeypatch): smbus.emulate_eeprom_at(0x51, 'ee1004', _TS_SPD) checks = [ ('parent_driver', 'other'), ] for attr, val in checks: with monkeypatch.context() as m: m.setattr(smbus, attr, val) assert list(Ddr4Temperature.probe(smbus)) == [], \ f'changing {attr} did not cause a mismatch' def test_tse2004_does_not_match_non_ee1004_device(smbus): smbus.emulate_eeprom_at(0x51, 'other', _TS_SPD) assert list(map(type, Ddr4Temperature.probe(smbus))) == [] def test_tse2004_does_not_match_non_ts_devices(smbus): smbus.emulate_eeprom_at(0x51, 'ee1004', _NON_TS_SPD) assert list(map(type, Ddr4Temperature.probe(smbus))) == [] def test_tse2004_finds_ts_devices(smbus): smbus.emulate_eeprom_at(0x51, 'ee1004', _TS_SPD) smbus.emulate_eeprom_at(0x53, 'ee1004', _TS_SPD) smbus.emulate_eeprom_at(0x55, 'ee1004', _TS_SPD) smbus.emulate_eeprom_at(0x57, 'ee1004', _TS_SPD) devs = list(Ddr4Temperature.probe(smbus)) assert list(map(type, devs)) == [Ddr4Temperature] * 4 assert devs[1].description.startswith('Corsair DIMM4') def test_tse2004_get_status_is_unsafe(smbus): smbus.emulate_eeprom_at(0x51, 'ee1004', _TS_SPD) dimm = next(Ddr4Temperature.probe(smbus)) assert dimm.get_status() == [] def test_tse2004_get_status_reads_temperature(smbus): enable = ['smbus', 'ddr4_temperature'] smbus.emulate_eeprom_at(0x51, 'ee1004', _TS_SPD) dimm = next(Ddr4Temperature.probe(smbus)) with dimm.connect(unsafe=enable): smbus.write_word_data(0x19, 0x05, 0x9ce1) status = dimm.get_status(unsafe=enable) expected = [ ('Temperature', 25.75, '°C'), ] assert status == expected def test_tse2004_get_status_reads_negative_temperature(smbus): enable = ['smbus', 'ddr4_temperature'] smbus.emulate_eeprom_at(0x51, 'ee1004', _TS_SPD) dimm = next(Ddr4Temperature.probe(smbus)) with dimm.connect(unsafe=enable): smbus.write_word_data(0x19, 0x05, 0x741e) status = dimm.get_status(unsafe=enable) expected = [ ('Temperature', -24.75, '°C'), ] assert status == expected # Corsair Vengeance RGB @pytest.fixture def vengeance_rgb(smbus): smbus.emulate_eeprom_at(0x51, 'ee1004', _VENGEANCE_RGB_SAMPLE) dimm = next(VengeanceRgb.probe(smbus)) smbus.open() for reg in range(256): smbus.write_byte_data(0x59, reg, 0xba) smbus.close() return (smbus, dimm) def test_vengeance_rgb_finds_devices(smbus): smbus.emulate_eeprom_at(0x51, 'ee1004', _VENGEANCE_RGB_SAMPLE) smbus.emulate_eeprom_at(0x53, 'ee1004', _VENGEANCE_RGB_SAMPLE) smbus.emulate_eeprom_at(0x55, 'ee1004', _VENGEANCE_RGB_SAMPLE) smbus.emulate_eeprom_at(0x57, 'ee1004', _VENGEANCE_RGB_SAMPLE) devs = list(VengeanceRgb.probe(smbus)) assert list(map(type, devs)) == [VengeanceRgb] * 4 assert devs[1].description.startswith('Corsair Vengeance RGB DIMM4') def test_vengeance_get_status_reads_temperature(vengeance_rgb): enable = ['smbus', 'vengeance_rgb'] smbus, dimm = vengeance_rgb def forbid(*args, **kwargs): assert False, 'should not reach here' smbus.read_block_data = forbid with dimm.connect(unsafe=enable): smbus.write_word_data(0x19, 0x05, 0x9ce1) status = dimm.get_status(unsafe=enable) expected = [ ('Temperature', 25.75, '°C'), ] assert status == expected def test_vengeance_rgb_set_color_is_unsafe(vengeance_rgb): _, dimm = vengeance_rgb with pytest.raises(UnsafeFeaturesNotEnabled): assert dimm.set_color('led', 'off', []) with pytest.raises(UnsafeFeaturesNotEnabled): assert dimm.set_color('led', 'off', [], unsafe='vengeance_rgb') with pytest.raises(UnsafeFeaturesNotEnabled): assert dimm.set_color('led', 'off', [], unsafe='smbus') def test_vengeance_rgb_asserts_rgb_address_validity(vengeance_rgb): enable = ['smbus', 'vengeance_rgb'] smbus, dimm = vengeance_rgb with dimm.connect(unsafe=enable): smbus.write_byte_data(0x59, 0xa6, 0x00) with pytest.raises(ExpectationNotMet): dimm.set_color('led', 'off', [], unsafe=enable) def test_vengeance_rgb_sets_color_to_off(vengeance_rgb): enable = ['smbus', 'vengeance_rgb'] smbus, dimm = vengeance_rgb with dimm.connect(unsafe=enable): dimm.set_color('led', 'off', [], unsafe=enable) assert smbus.read_byte_data(0x59, 0xa4) == 0x00 assert smbus.read_byte_data(0x59, 0xa6) == 0x00 assert smbus.read_byte_data(0x59, 0xa7) == 0x01 for color_component in range(0xb0, 0xb3): assert smbus.read_byte_data(0x59, color_component) == 0x00 def test_vengeance_rgb_sets_color_to_fixed(vengeance_rgb): enable = ['smbus', 'vengeance_rgb'] smbus, dimm = vengeance_rgb with dimm.connect(unsafe=enable): radical_red = [0xff, 0x35, 0x5e] dimm.set_color('led', 'fixed', [radical_red], unsafe=enable) assert smbus.read_byte_data(0x59, 0xa4) == 0x00 assert smbus.read_byte_data(0x59, 0xa6) == 0x00 assert smbus.read_byte_data(0x59, 0xa7) == 0x01 assert smbus.read_byte_data(0x59, 0xb0) == 0xff assert smbus.read_byte_data(0x59, 0xb1) == 0x35 assert smbus.read_byte_data(0x59, 0xb2) == 0x5e def test_vengeance_rgb_sets_color_to_breathing(vengeance_rgb): enable = ['smbus', 'vengeance_rgb'] smbus, dimm = vengeance_rgb with dimm.connect(unsafe=enable): radical_red = [0xff, 0x35, 0x5e] mountain_meadow = [0x1a, 0xb3, 0x85] dimm.set_color('led', 'breathing', [radical_red, mountain_meadow], unsafe=enable) assert smbus.read_byte_data(0x59, 0xa4) == 0x20 assert smbus.read_byte_data(0x59, 0xa5) == 0x20 assert smbus.read_byte_data(0x59, 0xa6) == 0x02 assert smbus.read_byte_data(0x59, 0xa7) == 0x02 assert smbus.read_byte_data(0x59, 0xb0) == 0xff assert smbus.read_byte_data(0x59, 0xb1) == 0x35 assert smbus.read_byte_data(0x59, 0xb2) == 0x5e assert smbus.read_byte_data(0x59, 0xb3) == 0x1a assert smbus.read_byte_data(0x59, 0xb4) == 0xb3 assert smbus.read_byte_data(0x59, 0xb5) == 0x85 def test_vengeance_rgb_sets_single_color_to_breathing(vengeance_rgb): enable = ['smbus', 'vengeance_rgb'] smbus, dimm = vengeance_rgb with dimm.connect(unsafe=enable): radical_red = [0xff, 0x35, 0x5e] dimm.set_color('led', 'breathing', [radical_red], unsafe=enable) assert smbus.read_byte_data(0x59, 0xa4) == 0x20 assert smbus.read_byte_data(0x59, 0xa5) == 0x20 assert smbus.read_byte_data(0x59, 0xa6) == 0x00 # special case assert smbus.read_byte_data(0x59, 0xa7) == 0x01 assert smbus.read_byte_data(0x59, 0xb0) == 0xff assert smbus.read_byte_data(0x59, 0xb1) == 0x35 assert smbus.read_byte_data(0x59, 0xb2) == 0x5e def test_vengeance_rgb_sets_color_to_fading(vengeance_rgb): enable = ['smbus', 'vengeance_rgb'] smbus, dimm = vengeance_rgb with dimm.connect(unsafe=enable): radical_red = [0xff, 0x35, 0x5e] mountain_meadow = [0x1a, 0xb3, 0x85] dimm.set_color('led', 'fading', [radical_red, mountain_meadow], unsafe=enable) assert smbus.read_byte_data(0x59, 0xa4) == 0x20 assert smbus.read_byte_data(0x59, 0xa5) == 0x20 assert smbus.read_byte_data(0x59, 0xa6) == 0x01 assert smbus.read_byte_data(0x59, 0xa7) == 0x02 assert smbus.read_byte_data(0x59, 0xb0) == 0xff assert smbus.read_byte_data(0x59, 0xb1) == 0x35 assert smbus.read_byte_data(0x59, 0xb2) == 0x5e assert smbus.read_byte_data(0x59, 0xb3) == 0x1a assert smbus.read_byte_data(0x59, 0xb4) == 0xb3 assert smbus.read_byte_data(0x59, 0xb5) == 0x85 def test_vengeance_rgb_animation_speed_presets_set_correct_timings(vengeance_rgb): enable = ['smbus', 'vengeance_rgb'] smbus, dimm = vengeance_rgb with dimm.connect(unsafe=enable): radical_red = [0xff, 0x35, 0x5e] mountain_meadow = [0x1a, 0xb3, 0x85] presets = ['slowest', 'slower', 'normal', 'faster', 'fastest'] timings = [0x3f, 0x30, 0x20, 0x10, 0x01] for preset, timing in zip(presets, timings): dimm.set_color('led', 'fading', [radical_red, mountain_meadow], speed=preset, unsafe=enable) assert smbus.read_byte_data(0x59, 0xa4) == timing, f'wrong tp1 for {preset!r}' assert smbus.read_byte_data(0x59, 0xa5) == timing, f'wrong tp2 for {preset!r}' def test_vengeance_rgb_animation_transition_ticks_overrides_tp1(vengeance_rgb): enable = ['smbus', 'vengeance_rgb'] smbus, dimm = vengeance_rgb with dimm.connect(unsafe=enable): radical_red = [0xff, 0x35, 0x5e] mountain_meadow = [0x1a, 0xb3, 0x85] dimm.set_color('led', 'fading', [radical_red, mountain_meadow], transition_ticks=0x01, unsafe=enable) assert smbus.read_byte_data(0x59, 0xa4) == 0x01 assert smbus.read_byte_data(0x59, 0xa5) == 0x20 def test_vengeance_rgb_animation_transition_ticks_overrides_tp2(vengeance_rgb): enable = ['smbus', 'vengeance_rgb'] smbus, dimm = vengeance_rgb with dimm.connect(unsafe=enable): radical_red = [0xff, 0x35, 0x5e] mountain_meadow = [0x1a, 0xb3, 0x85] dimm.set_color('led', 'fading', [radical_red, mountain_meadow], stable_ticks=0x01, unsafe=enable) assert smbus.read_byte_data(0x59, 0xa4) == 0x20 assert smbus.read_byte_data(0x59, 0xa5) == 0x01 liquidctl-1.16.0/tests/test_ga2_lcd.py000066400000000000000000000237331515166127400176570ustar00rootroot00000000000000import pytest from _testutils import MockHidapiDevice, Report from collections import deque from liquidctl.error import NotSupportedByDevice, NotSupportedByDriver from liquidctl.driver.ga2_lcd import GA2LCD, _write_colors @pytest.fixture def mockGA2LCD(): device = MockHidapiDevice(vendor_id=0x0416, product_id=0x7395, address="addr") dev = GA2LCD(device, "mock GA II LCD") dev.connect() return dev def test_ga2_lcd_initialize(mockGA2LCD): _FW_REPORT_PART1 = bytes.fromhex( "0186000000324e392c30312c48532c53512c43415f49492d566973696f6e2c56" "322e30312e3032452c312e340000000000000000000000000000000000000000" ) _FW_REPORT_PART2 = bytes.fromhex( "01860000011b4f637420323220323032342c31303a33393a3135000000000000" "0000000000000000000000000000000000000000000000000000000000000000" ) mockGA2LCD.device.preload_read(Report(0, _FW_REPORT_PART1)) mockGA2LCD.device.preload_read(Report(0, _FW_REPORT_PART2)) status = mockGA2LCD.initialize() # should perform 3 writes assert len(mockGA2LCD.device.sent) == 1 inq = mockGA2LCD.device.sent[0] assert inq[0] == 0x01 # report ID assert inq.data[0] == 0x86 assert inq.data[1] == 0x00 assert inq.data[2] == 0x00 assert inq.data[3] == 0x00 assert status[0][0] == "Firmware version" assert status[0][1] == "N9,01,HS,SQ,CA_II-Vision,V2.01.02E,1.4 Oct 22 2024,10:39:15" def test_ga2_lcd_initialize_bad_version(mockGA2LCD): mockGA2LCD.device.preload_read( Report(0, bytes.fromhex("0186000000320000000000000000000000000000000000000000000000000000")) ) mockGA2LCD.device.preload_read( Report(0, bytes.fromhex("0186000000320000000000000000000000000000000000000000000000000000")) ) with pytest.raises(NotSupportedByDriver, match="Device firmware version does not match"): mockGA2LCD.initialize() def test_ga2_lcd_initialize_no_response(mockGA2LCD): with pytest.raises(ValueError, match="Device not responding"): mockGA2LCD.initialize() def test_ga2_lcd_initialize_bad_response(mockGA2LCD): mockGA2LCD.device.preload_read(Report(0, bytes.fromhex("018600"))) with pytest.raises(ValueError, match="Unexpected response from device"): mockGA2LCD.initialize() def test_ga2_lcd_get_status(mockGA2LCD): _STATUS_REPORT = bytes.fromhex( "01810000000705a00a6e01250800000000000000000000000000000000000000" "0000000000000000000000000000000000000000000000000000000000000000" ) mockGA2LCD.device.preload_read(Report(0, _STATUS_REPORT)) status = mockGA2LCD.get_status() inq = mockGA2LCD.device.sent[0] assert inq[0] == 0x01 assert inq.data[0] == 0x81 assert inq.data[1] == 0x00 assert inq.data[2] == 0x00 assert inq.data[3] == 0x00 assert len(status) == 5 assert status[1][0] == "Fan speed" assert status[1][1] == 1440 assert status[2][0] == "Fan duty" assert status[2][1] == pytest.approx(57.1, 57.2) assert status[3][0] == "Pump speed" assert status[3][1] == 2670 assert status[0][0] == "Liquid temperature" assert status[0][1] == 37.8 assert status[4][0] == "Pump duty" assert status[4][1] == pytest.approx(74.1, 74.2) def test_ga2_lcd_fan_speed(mockGA2LCD): mockGA2LCD.set_fixed_speed(channel="fan", duty=50) report = mockGA2LCD.device.sent[0] assert report[0] == 0x01 # report ID assert report.data[0] == 0x8B assert report.data[1] == 0x00 assert report.data[2] == 0x00 assert report.data[3] == 0x00 assert report.data[4] == 0x02 assert report.data[5] == 0x00 assert report.data[6] == 50 def test_ga2_lcd_fan_speed_out_of_range(mockGA2LCD): mockGA2LCD.set_fixed_speed(channel="fan", duty=150) report = mockGA2LCD.device.sent[0] assert report[0] == 0x01 # report ID assert report.data[0] == 0x8B assert report.data[1] == 0x00 assert report.data[2] == 0x00 assert report.data[3] == 0x00 assert report.data[4] == 0x02 assert report.data[5] == 0x00 assert report.data[6] == 100 def test_ga2_lcd_fan_speed_negative(mockGA2LCD): mockGA2LCD.set_fixed_speed(channel="fan", duty=-5) report = mockGA2LCD.device.sent[0] assert report[0] == 0x01 # report ID assert report.data[0] == 0x8B assert report.data[1] == 0x00 assert report.data[2] == 0x00 assert report.data[3] == 0x00 assert report.data[4] == 0x02 assert report.data[5] == 0x00 assert report.data[6] == 0 def test_ga2_lcd_pump_speed(mockGA2LCD): mockGA2LCD.set_fixed_speed(channel="pump", duty=75) report = mockGA2LCD.device.sent[0] assert report[0] == 0x01 # report ID assert report.data[0] == 0x8A assert report.data[1] == 0x00 assert report.data[2] == 0x00 assert report.data[3] == 0x00 assert report.data[4] == 0x02 assert report.data[5] == 0x00 assert report.data[6] == 75 def test_ga2_lcd_pump_speed_out_of_range(mockGA2LCD): mockGA2LCD.set_fixed_speed(channel="pump", duty=150) report = mockGA2LCD.device.sent[0] assert report[0] == 0x01 # report ID assert report.data[0] == 0x8A assert report.data[1] == 0x00 assert report.data[2] == 0x00 assert report.data[3] == 0x00 assert report.data[4] == 0x02 assert report.data[5] == 0x00 assert report.data[6] == 100 def test_ga2_lcd_pump_speed_negative(mockGA2LCD): mockGA2LCD.set_fixed_speed(channel="pump", duty=-10) report = mockGA2LCD.device.sent[0] assert report[0] == 0x01 # report ID assert report.data[0] == 0x8A assert report.data[1] == 0x00 assert report.data[2] == 0x00 assert report.data[3] == 0x00 assert report.data[4] == 0x02 assert report.data[5] == 0x00 assert report.data[6] == 0 def test_ga2_lcd_set_pump_lighting_mode(mockGA2LCD): mockGA2LCD.set_color( channel="pump", mode="static", colors=[(0xFF, 0x00, 0x00), (0x00, 0xFF, 0x00), (0x00, 0x00, 0xFF), (0xFF, 0x00, 0xFF)], speed="faster", direction="forward", ) report = mockGA2LCD.device.sent[0] assert report[0] == 0x01 # report ID assert report.data[0] == 0x83 assert report.data[1] == 0x00 assert report.data[2] == 0x00 assert report.data[3] == 0x00 assert report.data[4] == 19 assert report.data[5] == 0x00 assert report.data[6] == 0x03 # static mode assert report.data[7] == 0x04 # brightness max assert report.data[8] == 0x03 # faster speed assert report.data[9] == 0xFF # red assert report.data[10] == 0x00 assert report.data[11] == 0x00 assert report.data[12] == 0x00 # green assert report.data[13] == 0xFF assert report.data[14] == 0x00 assert report.data[15] == 0x00 # blue assert report.data[16] == 0x00 assert report.data[17] == 0xFF assert report.data[18] == 0xFF # purple assert report.data[19] == 0x00 assert report.data[20] == 0xFF assert report.data[21] == 0x00 # direction assert report.data[22] == 0x00 assert report.data[23] == 0x00 assert report.data[24] == 0x00 def test_ga2_lcd_set_fan_lighting_mode(mockGA2LCD): mockGA2LCD.set_color( channel="fan", mode="rainbow", colors=[(0x00, 0x00, 0xFF), (0xFF, 0x00, 0xFF), (0xFF, 0x00, 0x00), (0x00, 0xFF, 0x00)], speed="slower", direction="backward", ) report = mockGA2LCD.device.sent[0] assert report[0] == 0x01 # report ID assert report.data[0] == 0x85 assert report.data[1] == 0x00 assert report.data[2] == 0x00 assert report.data[3] == 0x00 assert report.data[4] == 20 assert report.data[5] == 0x05 # static mode assert report.data[6] == 0x04 # brightness max assert report.data[7] == 0x01 # slower speed assert report.data[8] == 0x00 # blue assert report.data[9] == 0x00 assert report.data[10] == 0xFF assert report.data[11] == 0xFF # purple assert report.data[12] == 0x00 assert report.data[13] == 0xFF assert report.data[14] == 0xFF # red assert report.data[15] == 0x00 assert report.data[16] == 0x00 assert report.data[17] == 0x00 # green assert report.data[18] == 0xFF assert report.data[19] == 0x00 assert report.data[20] == 0x01 # backward assert report.data[21] == 0x00 assert report.data[22] == 0x00 assert report.data[23] == 0x00 assert report.data[24] == 24 def test_ga2_write_colors_four_twelve(): buffer = [0] * 14 buffer[0] = 0x35 buffer[13] = 0xAB colors = [(0xFF, 0x00, 0x00), (0x00, 0xFF, 0x00), (0x00, 0x00, 0xFF), (0xFF, 0xFF, 0x00)] _write_colors(buffer, colors, 1, 12) assert buffer[0] == 0x35 assert buffer[1] == 0xFF assert buffer[2] == 0x00 assert buffer[3] == 0x00 assert buffer[4] == 0x00 assert buffer[5] == 0xFF assert buffer[6] == 0x00 assert buffer[7] == 0x00 assert buffer[8] == 0x00 assert buffer[9] == 0xFF assert buffer[10] == 0xFF assert buffer[11] == 0xFF assert buffer[12] == 0x00 assert buffer[13] == 0xAB def test_ga2_write_colors_three_twelve(): buffer = [0] * 14 buffer[0] = 0x45 buffer[13] = 0xAE colors = [(0xFF, 0xFF, 0xFF), (0xFF, 0xFF, 0xFF), (0xFF, 0xFF, 0xFF)] _write_colors(buffer, colors, 1, 12) assert buffer[0] == 0x45 assert buffer[1] == 0xFF assert buffer[2] == 0xFF assert buffer[3] == 0xFF assert buffer[4] == 0xFF assert buffer[5] == 0xFF assert buffer[6] == 0xFF assert buffer[7] == 0xFF assert buffer[8] == 0xFF assert buffer[9] == 0xFF assert buffer[10] == 0x00 assert buffer[11] == 0x00 assert buffer[12] == 0x00 assert buffer[13] == 0xAE def test_ga2_write_colors_two_eight(): buffer = [0] * 10 buffer[0] = 0x55 buffer[9] = 0xAF colors = [(0xFF, 0xFF, 0xFF), (0xFF, 0xFF, 0xFF)] _write_colors(buffer, colors, 1, 8) assert buffer[0] == 0x55 assert buffer[1] == 0xFF assert buffer[2] == 0xFF assert buffer[3] == 0xFF assert buffer[4] == 0xFF assert buffer[5] == 0xFF assert buffer[6] == 0xFF assert buffer[7] == 0x00 assert buffer[8] == 0x00 assert buffer[9] == 0xAF liquidctl-1.16.0/tests/test_hidapi_device.py000066400000000000000000000107121515166127400211320ustar00rootroot00000000000000from pytest import fixture from liquidctl.driver.usb import HidapiDevice class _mockhidapi: @staticmethod def device(): return _mockdevice() class _mockdevice: pass _SAMPLE_HID_INFO = { 'path': b'path', 'vendor_id': 0xf001, 'product_id': 0xf002, 'serial_number': 'serial number', 'release_number': 0xf003, 'manufacturer_string': 'manufacturer', 'product_string': 'product', 'usage_page': 0xf004, 'usage': 0xf005, 'interface_number': 0x01, } @fixture def dev(): return HidapiDevice(_mockhidapi, _SAMPLE_HID_INFO) def test_opens(dev, monkeypatch): opened = False def _open_path(path): assert isinstance(path, bytes) nonlocal opened opened = True monkeypatch.setattr(dev.hiddev, 'open_path', _open_path, raising=False) dev.open() assert opened def test_closes(dev, monkeypatch): opened = True def _close(): nonlocal opened opened = False monkeypatch.setattr(dev.hiddev, 'close', _close, raising=False) dev.close() assert not opened def test_can_clear_enqueued_reports(dev, monkeypatch): queue = [[1], [2], [3]] def _set_nonblocking(v): assert isinstance(v, int) return 0 def _read(max_length, timeout_ms=0): assert isinstance(max_length, int) assert isinstance(timeout_ms, int) assert timeout_ms == 0, 'use hid_read' nonlocal queue if queue: return queue.pop() return [] monkeypatch.setattr(dev.hiddev, 'set_nonblocking', _set_nonblocking, raising=False) monkeypatch.setattr(dev.hiddev, 'read', _read, raising=False) dev.clear_enqueued_reports() assert not queue def test_can_clear_enqueued_reports_without_nonblocking(dev, monkeypatch): queue = [[1], [2], [3]] def _set_nonblocking(v): assert isinstance(v, int) return -1 def _read(max_length, timeout_ms=0): assert isinstance(max_length, int) assert isinstance(timeout_ms, int) assert timeout_ms > 0, 'use hid_read_timeout' nonlocal queue if queue: return queue.pop() return [] monkeypatch.setattr(dev.hiddev, 'set_nonblocking', _set_nonblocking, raising=False) monkeypatch.setattr(dev.hiddev, 'read', _read, raising=False) dev.clear_enqueued_reports() assert not queue def test_reads(dev, monkeypatch): CANARY_TIMEOUT_MS = 1234 def _set_nonblocking(v): assert isinstance(v, int) return 0 def _read(max_length, timeout_ms=0): assert isinstance(max_length, int) assert isinstance(timeout_ms, int) assert timeout_ms == CANARY_TIMEOUT_MS, 'use hid_read' return [0xff] + [0]*(max_length - 1) # report ID is part of max_length *if present* monkeypatch.setattr(dev.hiddev, 'set_nonblocking', _set_nonblocking, raising=False) monkeypatch.setattr(dev.hiddev, 'read', _read, raising=False) assert dev.read(5, timeout=CANARY_TIMEOUT_MS) == [0xff, 0, 0, 0, 0] def test_can_write(dev, monkeypatch): def _write(buff): buff = bytes(buff) return len(buff) # report ID is (always) part of returned length monkeypatch.setattr(dev.hiddev, 'write', _write, raising=False) assert dev.write([0xff, 42]) == 2 assert dev.write([0, 42]) == 2 assert dev.write(b'foo') == 3 def test_gets_feature_report(dev, monkeypatch): def _get(report_num, max_length): assert isinstance(report_num, int) assert isinstance(max_length, int) return [report_num] + [0]*(max_length - 1) # report ID is (always) part of max_length monkeypatch.setattr(dev.hiddev, 'get_feature_report', _get, raising=False) assert dev.get_feature_report(0xff, 3) == [0xff, 0, 0] assert dev.get_feature_report(0, 3) == [0, 0, 0] def test_can_send_feature_report(dev, monkeypatch): def _send(buff): buff = bytes(buff) return len(buff) # report ID is (always) part of returned length monkeypatch.setattr(dev.hiddev, 'send_feature_report', _send, raising=False) assert dev.send_feature_report([0xff, 42]) == 2 assert dev.send_feature_report([0, 42]) == 2 assert dev.send_feature_report(b'foo') == 3 def test_exposes_unified_properties(dev): assert dev.vendor_id == 0xf001 assert dev.product_id == 0xf002 assert dev.release_number == 0xf003 assert dev.serial_number == 'serial number' assert dev.bus == 'hid' assert dev.address == 'path' assert dev.port is None liquidctl-1.16.0/tests/test_hwmon.py000066400000000000000000000016671515166127400175160ustar00rootroot00000000000000# uses the psf/black style import pytest from liquidctl.driver.hwmon import HwmonDevice @pytest.fixture def mock_hwmon(tmp_path): hwmon = tmp_path / "hwmon7" hwmon.mkdir() (hwmon / "fan1_input").write_text("1499\n") (hwmon / "fan1_label").write_text("Pump Speed\n") return HwmonDevice("mock_module", hwmon) def test_has_module(mock_hwmon): assert mock_hwmon.driver == "mock_module" def test_has_path(mock_hwmon): assert mock_hwmon.path.is_dir() def test_has_name(mock_hwmon): assert mock_hwmon.name == "hwmon7" def test_checks_existing_attribute(mock_hwmon): assert mock_hwmon.has_attribute("fan1_input") def test_checks_non_existing_attribute(mock_hwmon): assert not mock_hwmon.has_attribute("bubble1_input") def test_gets_string(mock_hwmon): assert mock_hwmon.get_string("fan1_label") == "Pump Speed" def test_gets_int(mock_hwmon): assert mock_hwmon.read_int("fan1_input") == 1499 liquidctl-1.16.0/tests/test_hydro_platinum.py000066400000000000000000000337021515166127400214170ustar00rootroot00000000000000import pytest from _testutils import MockHidapiDevice, Report, MockRuntimeStorage from liquidctl.driver.hydro_platinum import HydroPlatinum, _sequence from liquidctl.util import mkCrcFun _SAMPLE_PATH = (r'IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/XHC@14/XH' r'C@14000000/HS11@14a00000/USB2.0 Hub@14a00000/AppleUSB20InternalH' r'ub@14a00000/AppleUSB20HubPort@14a10000/USB2.0 Hub@14a10000/Apple' r'USB20Hub@14a10000/AppleUSB20HubPort@14a12000/H100i Platinum@14a1' r'2000/IOUSBHostInterface@0/AppleUserUSBHostHIDDevice+Win\\#!&3142') _WIN_MAX_PATH = 260 # Windows API should be the bottleneck _crc8 = mkCrcFun('crc-8') @pytest.fixture def h115iPlatinumDevice(): description = 'Mock H115i Platinum' kwargs = {'fan_count': 2, 'fan_leds': 4} device = _MockHydroPlatinumDevice() dev = HydroPlatinum(device, description, **kwargs) runtime_storage = MockRuntimeStorage(key_prefixes=['testing']) runtime_storage.store('leds_enabled', 0) dev.connect(runtime_storage=runtime_storage) return dev @pytest.fixture def h100iPlatinumSeDevice(): description = 'Mock H100i Platinum SE' kwargs = {'fan_count': 2, 'fan_leds': 16} device = _MockHydroPlatinumDevice() dev = HydroPlatinum(device, description, **kwargs) runtime_storage = MockRuntimeStorage(key_prefixes=['testing']) runtime_storage.store('leds_enabled', 0) dev.connect(runtime_storage=runtime_storage) return dev @pytest.fixture def h150iProXTDevice(): description = 'Mock H150i Pro XT' kwargs = {'fan_count': 3, 'fan_leds': 0} device = _MockHydroPlatinumDevice() dev = HydroPlatinum(device, description, **kwargs) runtime_storage = MockRuntimeStorage(key_prefixes=['testing']) runtime_storage.store('leds_enabled', 0) dev.connect(runtime_storage=runtime_storage) return dev class _MockHydroPlatinumDevice(MockHidapiDevice): def __init__(self): super().__init__(vendor_id=0xffff, product_id=0x0c17, address=_SAMPLE_PATH) self.fw_version = (1, 1, 15) self.temperature = 30.9 self.fan1_speed = 1499 self.fan2_speed = 1512 self.fan3_speed = 1777 self.pump_speed = 2702 def read(self, length): pre = super().read(length) if pre: return pre buf = bytearray(64) buf[2] = self.fw_version[0] << 4 | self.fw_version[1] buf[3] = self.fw_version[2] buf[7] = int((self.temperature - int(self.temperature)) * 255) buf[8] = int(self.temperature) buf[14] = round(.10 * 255) buf[15:17] = self.fan1_speed.to_bytes(length=2, byteorder='little') buf[21] = round(.20 * 255) buf[22:24] = self.fan2_speed.to_bytes(length=2, byteorder='little') buf[28] = round(.70 * 255) buf[29:31] = self.pump_speed.to_bytes(length=2, byteorder='little') buf[42] = round(.30 * 255) buf[43:44] = self.fan3_speed.to_bytes(length=2, byteorder='little') buf[-1] = _crc8(buf[1:-1]) return buf[:length] def test_sequence_numbers_are_correctly_generated(): runtime_storage = MockRuntimeStorage(key_prefixes=['testing']) sequence = _sequence(runtime_storage) for i in range(1, 32): assert next(sequence) == i for i in range(1, 32): assert next(sequence) == i def test_h115i_platinum_device_connect(h115iPlatinumDevice): dev = h115iPlatinumDevice dev.disconnect() # the fixture had by default connected to the device def mock_open(): nonlocal opened opened = True dev.device.open = mock_open opened = False with dev.connect() as cm: assert cm == dev assert opened def test_h115i_platinum_device_command_format(h115iPlatinumDevice): dev = h115iPlatinumDevice dev.initialize() dev.get_status() dev.set_fixed_speed(channel='fan', duty=100) dev.set_speed_profile(channel='fan', profile=[]) dev.set_color(channel='led', mode='off', colors=[]) assert len(dev.device.sent) == 9 for i, (report, data) in enumerate(dev.device.sent): assert report == 0 assert len(data) == 64 assert data[0] == 0x3f assert data[1] >> 3 == i + 1 assert data[-1] == _crc8(bytes(data[1:-1])) def test_h115i_platinum_device_command_format_enabled(h115iPlatinumDevice): dev = h115iPlatinumDevice # test that the led enable messages are not sent if they are sent again dev.initialize() dev._data.store('leds_enabled', 1) dev.get_status() dev.set_fixed_speed(channel='fan', duty=100) dev.set_speed_profile(channel='fan', profile=[]) dev.set_color(channel='led', mode='off', colors=[]) assert len(dev.device.sent) == 6 for i, (report, data) in enumerate(dev.device.sent): assert report == 0 assert len(data) == 64 assert data[0] == 0x3f assert data[1] >> 3 == i + 1 assert data[-1] == _crc8(bytes(data[1:-1])) def test_h115i_platinum_device_get_status(h115iPlatinumDevice): dev = h115iPlatinumDevice temp, fan1, fan1d, fan2, fan2d, pump, pumpd = dev.get_status() assert temp[1] == pytest.approx(dev.device.temperature, abs=1 / 255) assert fan1[1] == dev.device.fan1_speed assert fan1d[1] == 10 assert fan2[1] == dev.device.fan2_speed assert fan2d[1] == 20 assert pump[1] == dev.device.pump_speed assert pumpd[1] == 70 assert dev.device.sent[0].data[1] & 0b111 == 0 assert dev.device.sent[0].data[2] == 0xff def test_h150i_pro_xt_device_get_status(h150iProXTDevice): dev = h150iProXTDevice temp, fan1, fan1d, fan2, fan2d, fan3, fan3d, pump, pumpd = dev.get_status() assert temp[1] == pytest.approx(dev.device.temperature, abs=1 / 255) assert fan1[1] == dev.device.fan1_speed assert fan1d[1] == 10 assert fan2[1] == dev.device.fan2_speed assert fan2d[1] == 20 assert fan3[1] == dev.device.fan3_speed assert fan3d[1] == 30 assert pump[1] == dev.device.pump_speed assert pumpd[1] == 70 assert dev.device.sent[0].data[1] & 0b111 == 0 assert dev.device.sent[0].data[2] == 0xff def test_h115i_platinum_device_handle_real_statuses(h115iPlatinumDevice): dev = h115iPlatinumDevice samples = [ ( 'ff08110f0001002c1e0000aee803aed10700aee803aece0701aa0000aa9c0900' '0000000000000000000000000000000000000000000000000000000000000010' ), ( 'ff40110f009e14011b0102ffe8037e6a0502ffe8037e6d0501aa0000aa350901' '0000000000000000000000000000000000000000000000000000000000000098' ) ] for sample in samples: dev.device.preload_read(Report(0, bytes.fromhex(sample))) status = dev.get_status() assert len(status) == 7 assert status[0][1] != dev.device.temperature def test_h115i_platinum_device_initialize_status(h115iPlatinumDevice): dev = h115iPlatinumDevice dev._data.store('leds_enabled', 1) (fw_version, ) = dev.initialize() assert fw_version[1] == '%d.%d.%d' % dev.device.fw_version assert dev._data.load('leds_enabled', of_type=int, default=1) == 0 def test_h115i_platinum_device_common_cooling_prefix(h115iPlatinumDevice): dev = h115iPlatinumDevice dev.initialize(pump_mode='extreme') dev.set_fixed_speed(channel='fan', duty=42) dev.set_speed_profile(channel='fan', profile=[(20, 0), (55, 100)]) assert len(dev.device.sent) == 3 for _, data in dev.device.sent: assert data[0x1] & 0b111 == 0 assert data[0x2] == 0x14 # opaque but apparently important prefix (see @makk50's comments in #82): assert data[0x3:0xb] == [0x0, 0xff, 0x5] + 5 * [0xff] def test_h115i_platinum_device_set_pump_mode(h115iPlatinumDevice): dev = h115iPlatinumDevice dev.initialize(pump_mode='extreme') assert dev.device.sent[0].data[0x17] == 0x2 with pytest.raises(KeyError): dev.initialize(pump_mode='invalid') def test_h115i_platinum_device_fixed_fan_speeds(h115iPlatinumDevice): dev = h115iPlatinumDevice dev.set_fixed_speed(channel='fan', duty=42) dev.set_fixed_speed(channel='fan1', duty=84) assert dev.device.sent[-1].data[0x0b] == 0x2 assert dev.device.sent[-1].data[0x10] / 2.55 == pytest.approx(84, abs=1 / 2.55) assert dev.device.sent[-1].data[0x11] == 0x2 assert dev.device.sent[-1].data[0x16] / 2.55 == pytest.approx(42, abs=1 / 2.55) with pytest.raises(ValueError): dev.set_fixed_speed('invalid', 0) def test_h150i_pro_xt_device_fixed_fan_speeds(h150iProXTDevice): dev = h150iProXTDevice dev.set_fixed_speed(channel='fan', duty=42) dev.set_fixed_speed(channel='fan1', duty=84) dev.set_fixed_speed(channel='fan3', duty=50) assert dev.device.sent[-1].data[0x01] & 0x7 == 0b000 assert dev.device.sent[-2].data[0x02] == 0x14 assert dev.device.sent[-1].data[0x0b] == 0x2 assert dev.device.sent[-1].data[0x10] / 2.55 == pytest.approx(84, abs=1 / 2.55) assert dev.device.sent[-1].data[0x11] == 0x2 assert dev.device.sent[-1].data[0x16] / 2.55 == pytest.approx(42, abs=1 / 2.55) assert dev.device.sent[-2].data[0x01] & 0x7 == 0b011 assert dev.device.sent[-2].data[0x02] == 0x14 assert dev.device.sent[-2].data[0x0b] == 0x2 assert dev.device.sent[-2].data[0x10] / 2.55 == pytest.approx(50, abs=1 / 2.55) assert dev.device.sent[-2].data[0x11] == 0x00 assert dev.device.sent[-2].data[0x16] == 0x00 def test_h115i_platinum_device_custom_fan_profiles(h115iPlatinumDevice): dev = h115iPlatinumDevice dev.set_speed_profile(channel='fan', profile=iter([(20, 0), (55, 100)])) dev.set_speed_profile(channel='fan1', profile=iter([(30, 20), (50, 80)])) assert dev.device.sent[-1].data[0x0b] == 0x0 assert dev.device.sent[-1].data[0x1d] == 7 assert dev.device.sent[-1].data[0x1e:0x2c] == [30, 51, 50, 204] + 5 * [60, 255] assert dev.device.sent[-1].data[0x11] == 0x0 assert dev.device.sent[-1].data[0x2c:0x3a] == [20, 0, 55, 255] + 5 * [60, 255] with pytest.raises(ValueError): dev.set_speed_profile('invalid', []) with pytest.raises(ValueError): dev.set_speed_profile('fan', zip(range(10), range(10))) def test_h115i_platinum_device_address_leds(h115iPlatinumDevice): dev = h115iPlatinumDevice colors = [[i + 3, i + 2, i + 1] for i in range(0, 24 * 3, 3)] encoded = list(range(1, 24 * 3 + 1)) dev.set_color(channel='led', mode='super-fixed', colors=iter(colors)) assert len(dev.device.sent) == 5 # 3 for enable, 2 for off assert dev.device.sent[0].data[1] & 0b111 == 0b001 assert dev.device.sent[1].data[1] & 0b111 == 0b010 assert dev.device.sent[2].data[1] & 0b111 == 0b011 assert dev.device.sent[3].data[1] & 0b111 == 0b100 assert dev.device.sent[3].data[2:62] == encoded[:60] assert dev.device.sent[4].data[1] & 0b111 == 0b101 assert dev.device.sent[4].data[2:14] == encoded[60:] def test_h100i_platinum_se_device_address_leds(h100iPlatinumSeDevice): dev = h100iPlatinumSeDevice colors = [[i + 3, i + 2, i + 1] for i in range(0, 48 * 3, 3)] encoded = list(range(1, 48 * 3 + 1)) dev.set_color(channel='led', mode='super-fixed', colors=iter(colors)) assert len(dev.device.sent) == 6 # 3 for enable, 3 for the leds assert dev.device.sent[0].data[1] & 0b111 == 0b001 assert dev.device.sent[1].data[1] & 0b111 == 0b010 assert dev.device.sent[2].data[1] & 0b111 == 0b011 assert dev.device.sent[3].data[1] & 0b111 == 0b100 assert dev.device.sent[3].data[2:62] == encoded[:60] assert dev.device.sent[4].data[1] & 0b111 == 0b101 assert dev.device.sent[4].data[2:62] == encoded[60:120] assert dev.device.sent[5].data[1] & 0b111 == 0b110 assert dev.device.sent[5].data[2:26] == encoded[120:] def test_h150i_pro_xt_device_address_leds(h150iProXTDevice): dev = h150iProXTDevice colors = [[i + 3, i + 2, i + 1] for i in range(0, 16 * 3, 3)] encoded = list(range(1, 16 * 3 + 1)) dev.set_color(channel='led', mode='super-fixed', colors=iter(colors)) assert len(dev.device.sent) == 4 # 3 for enable, 1 for the leds assert dev.device.sent[0].data[1] & 0b111 == 0b001 assert dev.device.sent[1].data[1] & 0b111 == 0b010 assert dev.device.sent[2].data[1] & 0b111 == 0b011 assert dev.device.sent[3].data[1] & 0b111 == 0b100 assert dev.device.sent[3].data[2:50] == encoded[:48] def test_h115i_platinum_device_synchronize(h115iPlatinumDevice): dev = h115iPlatinumDevice colors = [[3, 2, 1]] encoded = [1, 2, 3] * 24 dev.set_color(channel='led', mode='fixed', colors=iter(colors)) assert len(dev.device.sent) == 5 # 3 for enable, 2 for off assert dev.device.sent[0].data[1] & 0b111 == 0b001 assert dev.device.sent[1].data[1] & 0b111 == 0b010 assert dev.device.sent[2].data[1] & 0b111 == 0b011 assert dev.device.sent[3].data[1] & 0b111 == 0b100 assert dev.device.sent[3].data[2:62] == encoded[:60] assert dev.device.sent[4].data[1] & 0b111 == 0b101 assert dev.device.sent[4].data[2:14] == encoded[60:] def test_h115i_platinum_device_leds_off(h115iPlatinumDevice): dev = h115iPlatinumDevice dev.set_color(channel='led', mode='off', colors=iter([])) assert len(dev.device.sent) == 5 # 3 for enable, 2 for off for _, data in dev.device.sent[3:5]: assert data[2:62] == [0] * 60 def test_h115i_platinum_device_invalid_color_modes(h115iPlatinumDevice): dev = h115iPlatinumDevice with pytest.raises(ValueError): dev.set_color('led', 'invalid', []) with pytest.raises(ValueError): dev.set_color('invalid', 'off', []) assert len(dev.device.sent) == 0 def test_h115i_platinum_device_short_enough_storage_path(): description = 'Mock H115i Platinum' kwargs = {'fan_count': 2, 'fan_leds': 4} device = _MockHydroPlatinumDevice() dev = HydroPlatinum(device, description, **kwargs) dev.connect() assert len(dev._data._backend._write_dir) < _WIN_MAX_PATH assert dev._data._backend._write_dir.endswith('3142') def test_h115i_platinum_device_bad_stored_data(h115iPlatinumDevice): h115iPlatinumDevice # TODO pass liquidctl-1.16.0/tests/test_keyval.py000066400000000000000000000200051515166127400176440ustar00rootroot00000000000000import multiprocessing import os import pytest import sys import time from pathlib import Path from liquidctl.keyval import RuntimeStorage, _FilesystemBackend mp_ctx = multiprocessing.get_context("spawn") @pytest.fixture def tmpstore(tmpdir): run_dir = tmpdir.mkdir("run_dir") prefixes = ["prefix"] backend = _FilesystemBackend(key_prefixes=prefixes, runtime_dirs=[run_dir]) return RuntimeStorage(prefixes, backend=backend) def test_loads_and_stores(tmpstore): assert tmpstore.load("key") is None assert tmpstore.load("key", default=42) == 42 tmpstore.store("key", "42") assert tmpstore.load("key") == "42" assert tmpstore.load("key", of_type=int) is None def test_updates_with_load_store(tmpstore): assert tmpstore.load_store("key", lambda x: x) == (None, None) assert tmpstore.load_store("key", lambda x: x, default=42) == (None, 42) assert tmpstore.load_store("key", lambda x: str(x)) == (42, "42") assert tmpstore.load_store("key", lambda x: x, of_type=int) == ("42", None) def test_fs_backend_stores_truncate_appropriately(tmpdir): run_dir = tmpdir.mkdir("run_dir") # use a separate reader to prevent caching from masking issues writer = _FilesystemBackend(key_prefixes=["prefix"], runtime_dirs=[run_dir]) reader = _FilesystemBackend(key_prefixes=["prefix"], runtime_dirs=[run_dir]) writer.store("key", 42) assert reader.load("key") == 42 writer.store("key", 1) assert reader.load("key") == 1 writer.load_store("key", lambda _: 42) assert reader.load("key") == 42 writer.load_store("key", lambda _: 1) assert reader.load("key") == 1 def test_fs_backend_loads_from_fallback_dir(tmpdir): run_dir = tmpdir.mkdir("run_dir") fb_dir = tmpdir.mkdir("fb_dir") fallback = _FilesystemBackend(key_prefixes=["prefix"], runtime_dirs=[fb_dir]) fallback.store("key", 42) store = _FilesystemBackend(key_prefixes=["prefix"], runtime_dirs=[run_dir, fb_dir]) assert store.load("key") == 42 store.store("key", -1) assert store.load("key") == -1 assert fallback.load("key") == 42, "fallback location was changed" def test_fs_backend_handles_values_corupted_with_nulls(tmpdir, caplog): run_dir = tmpdir.mkdir("run_dir") store = _FilesystemBackend(key_prefixes=["prefix"], runtime_dirs=[run_dir]) store.store("key", 42) key_file = Path(run_dir).joinpath("prefix", "key") assert key_file.read_bytes() == b"42", "unit test is unsound" key_file.write_bytes(b"\x00") val = store.load("key") assert val is None assert "was corrupted" in caplog.text val, new_val = store.load_store("key", lambda x: 24) assert val is None assert new_val == 24 def test_fs_backend_load_store_returns_old_and_new_values(tmpdir): run_dir = tmpdir.mkdir("run_dir") store = _FilesystemBackend(key_prefixes=["prefix"], runtime_dirs=[run_dir]) assert store.load_store("key", lambda _: 42) == (None, 42) assert store.load_store("key", lambda x: x + 1) == (42, 43) def test_fs_backend_load_store_loads_from_fallback_dir(tmpdir): run_dir = tmpdir.mkdir("run_dir") fb_dir = tmpdir.mkdir("fb_dir") fallback = _FilesystemBackend(key_prefixes=["prefix"], runtime_dirs=[fb_dir]) fallback.store("key", 42) store = _FilesystemBackend(key_prefixes=["prefix"], runtime_dirs=[run_dir, fb_dir]) assert store.load_store("key", lambda x: x + 1) == (42, 43) assert fallback.load("key") == 42, "content in fallback location changed" def test_fs_backend_load_store_loads_from_fallback_dir_that_is_symlink(tmpdir): # should deadlock if there is a problem with the lock type or with the # handling of fallback paths that point to the same principal/write # directory run_dir = tmpdir.mkdir("run_dir") fb_dir = os.path.join(run_dir, "symlink") try: os.symlink(run_dir, fb_dir, target_is_directory=True) except OSError as _: if sys.platform == "win32": pytest.skip("unable to create Windows symlink with current permissions") else: raise # don't store any initial value so that the fallback location is checked store = _FilesystemBackend(key_prefixes=["prefix"], runtime_dirs=[run_dir, fb_dir]) assert store.load_store("key", lambda x: 42) == (None, 42) fallback = _FilesystemBackend(key_prefixes=["prefix"], runtime_dirs=[fb_dir]) assert fallback.load("key") == 42, "content in fallback symlink did not change" def test_fs_backend_load_store_is_atomic(tmpdir): run_dir = tmpdir.mkdir("run_dir") store = _FilesystemBackend(key_prefixes=["prefix"], runtime_dirs=[run_dir]) store.store("key", 42) ps = [ mp_ctx.Process(target=_fs_mp_increment_key, args=(run_dir, "prefix", "key", 0.2)), mp_ctx.Process(target=_fs_mp_increment_key, args=(run_dir, "prefix", "key", 0.2)), mp_ctx.Process(target=_fs_mp_increment_key, args=(run_dir, "prefix", "key", 0.2)), ] start_time = time.monotonic() for p in ps: p.start() for p in ps: p.join() elapsed = time.monotonic() - start_time assert store.load("key") == 45 assert elapsed >= 0.2 * len(ps) def test_fs_backend_loads_honor_load_store_locking(tmpdir): run_dir = tmpdir.mkdir("run_dir") store = _FilesystemBackend(key_prefixes=["prefix"], runtime_dirs=[run_dir]) store.store("key", 42) ps = [ mp_ctx.Process(target=_fs_mp_increment_key, args=(run_dir, "prefix", "key", 0.2)), mp_ctx.Process(target=_fs_mp_check_key, args=(run_dir, "prefix", "key", 43)), ] ps[0].start() time.sleep(0.1) ps[1].start() for p in ps: p.join() def test_fs_backend_stores_honor_load_store_locking(tmpdir): run_dir = tmpdir.mkdir("run_dir") store = _FilesystemBackend(key_prefixes=["prefix"], runtime_dirs=[run_dir]) store.store("key", 42) ps = [ mp_ctx.Process(target=_fs_mp_increment_key, args=(run_dir, "prefix", "key", 0.2)), mp_ctx.Process(target=_fs_mp_store_key, args=(run_dir, "prefix", "key", -1)), ] start_time = time.monotonic() ps[0].start() time.sleep(0.1) ps[1].start() # join second process first ps[1].join() elapsed = time.monotonic() - start_time assert elapsed >= 0.2 ps[0].join() assert store.load("key") == -1 def test_fs_backend_releases_locks(tmpdir): # should deadlock if any method does not properly release its lock run_dir = tmpdir.mkdir("run_dir") store = _FilesystemBackend(key_prefixes=["prefix"], runtime_dirs=[run_dir]) def incr_from_other_process(): other = mp_ctx.Process(target=_fs_mp_increment_key, args=(run_dir, "prefix", "key", 0.0)) other.start() other.join() store.store("key", 42) incr_from_other_process() assert store.load("key") == 43 store.load_store("key", lambda _: -1) incr_from_other_process() assert store.load("key") == 0 incr_from_other_process() assert store.load("key") == 1 def _fs_mp_increment_key(run_dir, prefix, key, sleep): """Open a _FilesystemBackend and increment `key`. For the `multiprocessing` tests. Opens the storage on `run_dir` and with `prefix`. Sleeps for `sleep` seconds within the increment closure. """ def l(x): time.sleep(sleep) return x + 1 store = _FilesystemBackend(key_prefixes=[prefix], runtime_dirs=[run_dir]) store.load_store(key, l) def _fs_mp_check_key(run_dir, prefix, key, expected): """Open a _FilesystemBackend and check `key` value against `expected`. For the `multiprocessing` tests. Opens the storage on `run_dir` and with `prefix`. """ store = _FilesystemBackend(key_prefixes=["prefix"], runtime_dirs=[run_dir]) assert store.load(key) == expected def _fs_mp_store_key(run_dir, prefix, key, new_value): """Open a _FilesystemBackend and store `new_value` for `key`. For the `multiprocessing` tests. Opens the storage on `run_dir` and with `prefix`. """ store = _FilesystemBackend(key_prefixes=["prefix"], runtime_dirs=[run_dir]) store.store(key, new_value) liquidctl-1.16.0/tests/test_kraken2.py000066400000000000000000000125241515166127400177150ustar00rootroot00000000000000import pytest from _testutils import MockHidapiDevice from liquidctl.driver.hwmon import HwmonDevice from liquidctl.driver.kraken2 import Kraken2 from liquidctl.error import NotSupportedByDevice @pytest.fixture def mockKrakenXDevice(): device = _MockKrakenDevice(fw_version=(6, 0, 2)) dev = Kraken2(device, 'Mock X62', device_type=Kraken2.DEVICE_KRAKENX) dev.connect() return dev @pytest.fixture def mockOldKrakenXDevice(): device = _MockKrakenDevice(fw_version=(2, 1, 8)) dev = Kraken2(device, 'Mock X62', device_type=Kraken2.DEVICE_KRAKENX) dev.connect() return dev @pytest.fixture def mockKrakenMDevice(): device = _MockKrakenDevice(fw_version=(6, 0, 2)) dev = Kraken2(device, 'Mock M22', device_type=Kraken2.DEVICE_KRAKENM) dev.connect() return dev class _MockKrakenDevice(MockHidapiDevice): def __init__(self, fw_version): super().__init__(vendor_id=0xffff, product_id=0x1e71) self.fw_version = fw_version self.temperature = 30.9 self.fan_speed = 1499 self.pump_speed = 2702 def read(self, length): pre = super().read(length) if pre: return pre buf = bytearray(64) buf[1:3] = divmod(int(self.temperature * 10), 10) buf[3:5] = self.fan_speed.to_bytes(length=2, byteorder='big') buf[5:7] = self.pump_speed.to_bytes(length=2, byteorder='big') major, minor, patch = self.fw_version buf[0xb] = major buf[0xc:0xe] = minor.to_bytes(length=2, byteorder='big') buf[0xe] = patch return buf[:length] def test_kraken_connect(mockKrakenXDevice): def mock_open(): nonlocal opened opened = True mockKrakenXDevice.device.open = mock_open opened = False with mockKrakenXDevice.connect() as cm: assert cm == mockKrakenXDevice assert opened def test_kraken_initialize(mockKrakenXDevice): (fw_ver,) = mockKrakenXDevice.initialize() assert fw_ver[1] == '6.2' def test_old_kraken_initialize(mockOldKrakenXDevice): (fw_ver,) = mockOldKrakenXDevice.initialize() assert fw_ver[1] == '2.1.8' @pytest.mark.parametrize('has_hwmon,direct_access', [(False, False), (True, True)]) def test_kraken_get_status_directly(mockKrakenXDevice, has_hwmon, direct_access): if has_hwmon: mockKrakenXDevice._hwmon = HwmonDevice(None, None) got = mockKrakenXDevice.get_status(direct_access=direct_access) expected = [ ('Liquid temperature', pytest.approx(30.9), '°C'), ('Fan speed', 1499, 'rpm'), ('Pump speed', 2702, 'rpm'), ] assert sorted(got) == sorted(expected) def test_kraken_get_status_from_hwmon(mockKrakenXDevice, tmp_path): mockKrakenXDevice._hwmon = HwmonDevice('mock_module', tmp_path) (tmp_path / 'temp1_input').write_text('20900\n') (tmp_path / 'fan1_input').write_text('2499\n') (tmp_path / 'fan2_input').write_text('1702\n') got = mockKrakenXDevice.get_status() expected = [ ('Liquid temperature', pytest.approx(20.9), '°C'), ('Fan speed', 2499, 'rpm'), ('Pump speed', 1702, 'rpm'), ] assert sorted(got) == sorted(expected) def test_kraken_not_totally_broken(mockKrakenXDevice): """Reasonable example calls to untested APIs do not raise exceptions.""" dev = mockKrakenXDevice dev.initialize() dev.set_color(channel='ring', mode='loading', colors=iter([[90, 80, 0]]), speed='slowest') dev.set_speed_profile(channel='fan', profile=iter([(20, 20), (30, 40), (40, 100)])) dev.set_fixed_speed(channel='pump', duty=50) dev.set_instantaneous_speed(channel='pump', duty=50) def test_kraken_set_fixed_speeds(mockOldKrakenXDevice): mockOldKrakenXDevice.set_fixed_speed(channel='fan', duty=42) mockOldKrakenXDevice.set_fixed_speed(channel='pump', duty=84) fan_report, pump_report = mockOldKrakenXDevice.device.sent assert fan_report.number == 2 assert fan_report.data[0:4] == [0x4d, 0, 0, 42] assert pump_report.number == 2 assert pump_report.data[0:4] == [0x4d, 0x40, 0, 84] def test_kraken_speed_profiles_not_supported(mockOldKrakenXDevice): with pytest.raises(NotSupportedByDevice): mockOldKrakenXDevice.set_speed_profile('fan', [(20, 42)]) with pytest.raises(NotSupportedByDevice): mockOldKrakenXDevice.set_speed_profile('pump', [(20, 84)]) def test_krakenM_initialize(mockKrakenMDevice): (fw_ver,) = mockKrakenMDevice.initialize() assert fw_ver[1] == '6.2' def test_krakenM_get_status(mockKrakenMDevice): assert mockKrakenMDevice.get_status() == [] def test_krakenM_speed_control_not_supported(mockKrakenMDevice): with pytest.raises(NotSupportedByDevice): mockKrakenMDevice.set_fixed_speed('fan', 42) with pytest.raises(NotSupportedByDevice): mockKrakenMDevice.set_fixed_speed('pump', 84) with pytest.raises(NotSupportedByDevice): mockKrakenMDevice.set_speed_profile('fan', [(20, 42)]) with pytest.raises(NotSupportedByDevice): mockKrakenMDevice.set_speed_profile('pump', [(20, 84)]) def test_krakenM_not_totally_broken(mockKrakenMDevice): """Reasonable example calls to untested APIs do not raise exceptions.""" dev = mockKrakenMDevice dev.initialize() dev.set_color(channel='ring', mode='loading', colors=iter([[90, 80, 0]]), speed='slowest') liquidctl-1.16.0/tests/test_kraken3.py000066400000000000000000000473631515166127400177270ustar00rootroot00000000000000# uses the psf/black style import pytest import os from _testutils import MockHidapiDevice, MockPyusbDevice, Report from liquidctl.driver.hwmon import HwmonDevice from liquidctl.driver.kraken3 import KrakenX3, KrakenZ3 from liquidctl.driver.kraken3 import ( _COLOR_CHANNELS_KRAKENX, _SPEED_CHANNELS_KRAKENX, _COLOR_CHANNELS_KRAKENZ, _SPEED_CHANNELS_KRAKENZ, _HWMON_CTRL_MAPPING_KRAKENX, _HWMON_CTRL_MAPPING_KRAKENZ, ) from test_krakenz3_response import krakenz3_response from liquidctl.util import HUE2_MAX_ACCESSORIES_IN_CHANNEL as MAX_ACCESSORIES from liquidctl.util import Hue2Accessory # https://github.com/liquidctl/liquidctl/issues/160#issuecomment-664044103 X3_SAMPLE_STATUS = bytes.fromhex( "7502200036000B51535834353320012101A80635350000000000000000000000" "0000000000000000000000000000000000000000000000000000000000000000" ) # https://github.com/liquidctl/liquidctl/issues/160#issue-665781804 X3_FAULTY_STATUS = bytes.fromhex( "7502200036000B5153583435332001FFFFCC0A64640000000000000000000000" "0000000000000000000000000000000000000000000000000000000000000000" ) Z3_SAMPLE_STATUS = bytes.fromhex( "75012E0018001051393434363731011803690314140102000000000000000000" "0000000000000000000000000000000000000000000000000000000000000000" ) test_curve_final_pwm = [ 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 58, 65, 72, 80, 82, 83, 85, 87, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, ] @pytest.fixture def mock_krakenx3(): raw = MockKraken(raw_led_channels=len(_COLOR_CHANNELS_KRAKENX) - 1) dev = KrakenX3( raw, "Mock Kraken X73", speed_channels=_SPEED_CHANNELS_KRAKENX, color_channels=_COLOR_CHANNELS_KRAKENX, hwmon_ctrl_mapping=_HWMON_CTRL_MAPPING_KRAKENX, ) dev.connect() return dev @pytest.fixture def mock_krakenz3(): raw = MockKraken(raw_led_channels=1) dev = MockKrakenZ3( raw, "Mock Kraken Z73", speed_channels=_SPEED_CHANNELS_KRAKENZ, color_channels=_COLOR_CHANNELS_KRAKENZ, hwmon_ctrl_mapping=_HWMON_CTRL_MAPPING_KRAKENZ, bulk_buffer_size=512, lcd_resolution=(320, 320), ) dev.connect() return dev class MockKraken(MockHidapiDevice): def __init__(self, raw_led_channels): super().__init__() self.raw_led_channels = raw_led_channels def write(self, data): reply = bytearray(64) if data[0:2] == [0x10, 0x01]: reply[0:2] = [0x11, 0x01] elif data[0:2] == [0x20, 0x03]: reply[0:2] = [0x21, 0x03] reply[14] = self.raw_led_channels if self.raw_led_channels > 1: reply[15 + 1 * MAX_ACCESSORIES] = Hue2Accessory.KRAKENX_GEN4_RING.value reply[15 + 2 * MAX_ACCESSORIES] = Hue2Accessory.KRAKENX_GEN4_LOGO.value elif data[0:2] == [0x30, 0x01]: reply[0:2] = [0x31, 0x01] reply[0x18] = 50 # lcd brightness reply[0x1A] = 0 # lcd orientation elif data[0:2] == [0x32, 0x1]: # setup bucket reply[14] = 0x1 elif data[0:2] == [0x32, 0x2]: # delete bucker reply[0:2] = [0x33, 0x02] reply[14] = 0x1 elif data[0:2] == [0x38, 0x1]: # switch bucket reply[14] = 0x1 self.preload_read(Report(0, reply)) return super().write(data) class MockKrakenZ3(KrakenZ3): def __init__( self, device, description, speed_channels, color_channels, bulk_buffer_size, lcd_resolution, **kwargs, ): KrakenX3.__init__(self, device, description, speed_channels, color_channels, **kwargs) self.bulk_device = MockPyusbDevice(0x1E71, 0x3008) self.bulk_device.close_winusb_device = self.bulk_device.release self.orientation = 0 self.brightness = 50 self.bulk_buffer_size = bulk_buffer_size self.lcd_resolution = lcd_resolution self.screen_mode = None self.fw = None def set_screen(self, channel, mode, value, **kwargs): self.screen_mode = mode self.hid_data_index = 0 self.bulk_data_index = 0 super().set_screen(channel, mode, value, **kwargs) assert self.hid_data_index == len( krakenz3_response[self.screen_mode + "_hid"] ), f"Incorrect number of hid messages sent for mode: {mode}" if mode == "static" or mode == "gif": assert ( self.bulk_data_index == 801 if mode == "static" else len(krakenz3_response[self.screen_mode + "_bulk"]) ), f"Incorrect number of bulk messages sent for mode: {mode}" def _write(self, data): if self.screen_mode: assert ( data == krakenz3_response[self.screen_mode + "_hid"][self.hid_data_index] ), f"HID write failed, wrong data for mode: {self.screen_mode}, data index: {self.hid_data_index}" self.hid_data_index += 1 return super()._write(data) def _bulk_write(self, data): fixed_data_index = self.bulk_data_index if ( self.screen_mode == "static" and self.bulk_data_index > 1 ): # the rest of the message should be identical to index 1 fixed_data_index = 1 assert ( data == krakenz3_response[self.screen_mode + "_bulk"][fixed_data_index] ), f"Bulk write failed, wrong data for mode: {self.screen_mode}, data index: {self.bulk_data_index}" self.bulk_data_index += 1 return super()._bulk_write(data) @pytest.mark.parametrize("has_hwmon,direct_access", [(False, False), (True, True), (True, False)]) def test_krakenx3_initializes(mock_krakenx3, has_hwmon, direct_access, tmp_path): if has_hwmon: mock_krakenx3._hwmon = HwmonDevice("mock_module", tmp_path) # TODO check the result _ = mock_krakenx3.initialize(direct_access=direct_access) writes = len(mock_krakenx3.device.sent) if not has_hwmon or direct_access: assert writes == 4 else: assert writes == 2 @pytest.mark.parametrize("has_hwmon,direct_access", [(False, False), (True, True)]) def test_krakenx3_reads_status_directly(mock_krakenx3, has_hwmon, direct_access): if has_hwmon: mock_krakenx3._hwmon = HwmonDevice(None, None) mock_krakenx3.device.preload_read(Report(0, X3_SAMPLE_STATUS)) temperature, pump_speed, pump_duty = mock_krakenx3.get_status(direct_access=direct_access) assert temperature == ("Liquid temperature", 33.1, "°C") assert pump_speed == ("Pump speed", 1704, "rpm") assert pump_duty == ("Pump duty", 53, "%") def test_krakenx3_reads_status_from_hwmon(mock_krakenx3, tmp_path): mock_krakenx3._hwmon = HwmonDevice("mock_module", tmp_path) (tmp_path / "temp1_input").write_text("33100\n") (tmp_path / "fan1_input").write_text("1704\n") (tmp_path / "pwm1").write_text("135\n") temperature, pump_speed, pump_duty = mock_krakenx3.get_status() assert temperature == ("Liquid temperature", 33.1, "°C") assert pump_speed == ("Pump speed", 1704, "rpm") assert pump_duty == ("Pump duty", pytest.approx(53, rel=1.0 / 255), "%") @pytest.mark.parametrize("has_hwmon,direct_access", [(False, False), (True, True)]) def test_krakenx3_set_fixed_speeds_directly(mock_krakenx3, has_hwmon, direct_access, tmp_path): """For both test cases only direct access should be used""" if has_hwmon: mock_krakenx3._hwmon = HwmonDevice("mock_module", tmp_path) (tmp_path / "pwm1").write_text("0") (tmp_path / "pwm1_enable").write_text("0") mock_krakenx3.set_fixed_speed("pump", 84, direct_access=direct_access) pump_report = mock_krakenx3.device.sent[0] assert pump_report.number == 0x72 assert pump_report.data[3:43] == [84 for i in range(0, 39)] + [100] # Assert that hwmon wasn't touched if has_hwmon: assert (tmp_path / "pwm1_enable").read_text() == "0" assert (tmp_path / "pwm1").read_text() == "0" @pytest.mark.parametrize("has_support", [False, True]) def test_krakenx3_set_fixed_speeds_hwmon(mock_krakenx3, has_support, tmp_path): mock_krakenx3._hwmon = HwmonDevice("mock_module", tmp_path) if has_support: (tmp_path / "pwm1").write_text("0\n") (tmp_path / "pwm1_enable").write_text("0\n") mock_krakenx3.set_fixed_speed("pump", 84) if has_support: assert (tmp_path / "pwm1_enable").read_text() == "1" assert (tmp_path / "pwm1").read_text() == "214" else: # Assert fallback to direct access pump_report = mock_krakenx3.device.sent[0] assert pump_report.number == 0x72 assert pump_report.data[3:43] == [84 for i in range(0, 39)] + [100] @pytest.mark.parametrize("has_hwmon,direct_access", [(False, False), (True, True)]) def test_krakenx3_set_speed_profile_directly(mock_krakenx3, has_hwmon, direct_access, tmp_path): """For both test cases only direct access should be used""" if has_hwmon: mock_krakenx3._hwmon = HwmonDevice("mock_module", tmp_path) (tmp_path / "pwm1").write_text("0") (tmp_path / "pwm1_enable").write_text("0") for i in range(1, 40 + 1): (tmp_path / f"temp1_auto_point{i}_pwm").write_text("0") curve_profile = zip([20, 30, 34, 40, 50], [30, 50, 80, 90, 100]) mock_krakenx3.set_speed_profile("pump", curve_profile, direct_access=direct_access) pump_report = mock_krakenx3.device.sent[0] assert pump_report.number == 0x72 assert pump_report.data[3:43] == test_curve_final_pwm # Assert that hwmon wasn't touched if has_hwmon: assert (tmp_path / "pwm1_enable").read_text() == "0" assert (tmp_path / "pwm1").read_text() == "0" for i in range(1, 40): assert (tmp_path / f"temp1_auto_point{i}_pwm").read_text() == "0" @pytest.mark.parametrize("has_support", [False, True]) def test_krakenx3_set_speed_profile_hwmon(mock_krakenx3, has_support, tmp_path): mock_krakenx3._hwmon = HwmonDevice("mock_module", tmp_path) if has_support: (tmp_path / "pwm1_enable").write_text("0\n") for i in range(1, 40 + 1): (tmp_path / f"temp1_auto_point{i}_pwm").write_text("0") curve_profile = zip([20, 30, 34, 40, 50], [30, 50, 80, 90, 100]) mock_krakenx3.set_speed_profile("pump", curve_profile) if has_support: assert (tmp_path / "pwm1_enable").read_text() == "2" for i in range(1, 40 + 1): assert int((tmp_path / f"temp1_auto_point{i}_pwm").read_text()) == ( test_curve_final_pwm[i - 1] * 255 // 100 ) else: # Assert fallback to direct access pump_report = mock_krakenx3.device.sent[0] assert pump_report.number == 0x72 assert pump_report.data[3:43] == test_curve_final_pwm @pytest.mark.parametrize("has_hwmon,direct_access", [(False, False), (True, True)]) def test_krakenx3_warns_on_faulty_temperature(mock_krakenx3, has_hwmon, direct_access, caplog): if has_hwmon: mock_krakenx3._hwmon = HwmonDevice(None, None) mock_krakenx3.device.preload_read(Report(0, X3_FAULTY_STATUS)) _ = mock_krakenx3.get_status(direct_access=direct_access) assert "unexpected temperature reading" in caplog.text def test_krakenx3_not_totally_broken(mock_krakenx3): """Reasonable example calls to untested APIs do not raise exceptions.""" mock_krakenx3.initialize() mock_krakenx3.set_color(channel="ring", mode="fixed", colors=iter([[3, 2, 1]]), speed="fastest") mock_krakenx3.set_speed_profile(channel="pump", profile=iter([(20, 20), (30, 50), (40, 100)])) mock_krakenx3.set_fixed_speed(channel="pump", duty=50) @pytest.mark.parametrize("has_hwmon,direct_access", [(False, False), (True, True)]) def test_krakenz3_reads_status_directly(mock_krakenz3, has_hwmon, direct_access): if has_hwmon: mock_krakenz3._hwmon = HwmonDevice(None, None) mock_krakenz3.device.preload_read(Report(0, Z3_SAMPLE_STATUS)) temperature, pump_speed, pump_duty, fan_speed, fan_duty = mock_krakenz3.get_status( direct_access=direct_access ) assert temperature == ("Liquid temperature", 24.3, "°C") assert pump_speed == ("Pump speed", 873, "rpm") assert pump_duty == ("Pump duty", 20, "%") assert fan_speed == ("Fan speed", 0, "rpm") assert fan_duty == ("Fan duty", 0, "%") def test_krakenz3_reads_status_from_hwmon(mock_krakenz3, tmp_path): mock_krakenz3._hwmon = HwmonDevice("mock_module", tmp_path) (tmp_path / "temp1_input").write_text("33100\n") (tmp_path / "fan1_input").write_text("1704\n") (tmp_path / "pwm1").write_text("135\n") (tmp_path / "fan2_input").write_text("1704\n") (tmp_path / "pwm2").write_text("135\n") temperature, pump_speed, pump_duty, fan_speed, fan_duty = mock_krakenz3.get_status() assert temperature == ("Liquid temperature", 33.1, "°C") assert pump_speed == ("Pump speed", 1704, "rpm") assert pump_duty == ("Pump duty", pytest.approx(53, rel=1.0 / 255), "%") assert fan_speed == ("Fan speed", 1704, "rpm") assert fan_duty == ("Fan duty", pytest.approx(53, rel=1.0 / 255), "%") @pytest.mark.parametrize("has_hwmon,direct_access", [(False, False), (True, True)]) def test_krakenz3_set_fixed_speeds_directly(mock_krakenz3, has_hwmon, direct_access, tmp_path): """For both test cases only direct access should be used""" if has_hwmon: mock_krakenz3._hwmon = HwmonDevice("mock_module", tmp_path) (tmp_path / "pwm1").write_text("0") (tmp_path / "pwm1_enable").write_text("0") (tmp_path / "pwm2").write_text("0") (tmp_path / "pwm2_enable").write_text("0") mock_krakenz3.set_fixed_speed("pump", 84, direct_access=direct_access) mock_krakenz3.set_fixed_speed("fan", 50, direct_access=direct_access) pump_report, fan_report = mock_krakenz3.device.sent assert pump_report.number == 0x72 assert pump_report.data[3:43] == [84 for i in range(0, 39)] + [100] assert fan_report.number == 0x72 assert fan_report.data[3:43] == [50 for i in range(0, 39)] + [100] # Assert that hwmon wasn't touched if has_hwmon: assert (tmp_path / "pwm1_enable").read_text() == "0" assert (tmp_path / "pwm1").read_text() == "0" assert (tmp_path / "pwm2_enable").read_text() == "0" assert (tmp_path / "pwm2").read_text() == "0" @pytest.mark.parametrize("has_support", [False, True]) def test_krakenz3_set_fixed_speeds_hwmon(mock_krakenz3, has_support, tmp_path): mock_krakenz3._hwmon = HwmonDevice("mock_module", tmp_path) if has_support: (tmp_path / "pwm1").write_text("0\n") (tmp_path / "pwm1_enable").write_text("0\n") (tmp_path / "pwm2").write_text("0\n") (tmp_path / "pwm2_enable").write_text("0\n") mock_krakenz3.set_fixed_speed("pump", 84) mock_krakenz3.set_fixed_speed("fan", 50) if has_support: assert (tmp_path / "pwm1_enable").read_text() == "1" assert (tmp_path / "pwm1").read_text() == "214" assert (tmp_path / "pwm2_enable").read_text() == "1" assert (tmp_path / "pwm2").read_text() == "127" else: # Assert fallback to direct access pump_report, fan_report = mock_krakenz3.device.sent assert pump_report.number == 0x72 assert pump_report.data[3:43] == [84 for i in range(0, 39)] + [100] assert fan_report.number == 0x72 assert fan_report.data[3:43] == [50 for i in range(0, 39)] + [100] @pytest.mark.parametrize("has_hwmon,direct_access", [(False, False), (True, True)]) def test_krakenz3_set_speed_profile_directly(mock_krakenz3, has_hwmon, direct_access, tmp_path): """For both test cases only direct access should be used""" if has_hwmon: mock_krakenz3._hwmon = HwmonDevice("mock_module", tmp_path) (tmp_path / "pwm1").write_text("0") (tmp_path / "pwm1_enable").write_text("0") (tmp_path / "pwm2").write_text("0") (tmp_path / "pwm2_enable").write_text("0") for i in range(1, 40 + 1): (tmp_path / f"temp1_auto_point{i}_pwm").write_text("0") (tmp_path / f"temp2_auto_point{i}_pwm").write_text("0") mock_krakenz3.set_speed_profile( "pump", zip([20, 30, 34, 40, 50], [30, 50, 80, 90, 100]), direct_access=direct_access ) mock_krakenz3.set_speed_profile( "fan", zip([20, 30, 34, 40, 50], [30, 50, 80, 90, 100]), direct_access=direct_access ) pump_report, fan_report = mock_krakenz3.device.sent assert pump_report.number == 0x72 assert pump_report.data[3:43] == test_curve_final_pwm assert fan_report.number == 0x72 assert fan_report.data[3:43] == test_curve_final_pwm # Assert that hwmon wasn't touched if has_hwmon: assert (tmp_path / "pwm1_enable").read_text() == "0" assert (tmp_path / "pwm1").read_text() == "0" assert (tmp_path / "pwm2_enable").read_text() == "0" assert (tmp_path / "pwm2").read_text() == "0" for i in range(1, 40): assert (tmp_path / f"temp1_auto_point{i}_pwm").read_text() == "0" assert (tmp_path / f"temp2_auto_point{i}_pwm").read_text() == "0" @pytest.mark.parametrize("has_support", [False, True]) def test_krakenz3_set_speed_profile_hwmon(mock_krakenz3, has_support, tmp_path): mock_krakenz3._hwmon = HwmonDevice("mock_module", tmp_path) if has_support: (tmp_path / "pwm1_enable").write_text("0\n") (tmp_path / "pwm2_enable").write_text("0\n") for i in range(1, 40 + 1): (tmp_path / f"temp1_auto_point{i}_pwm").write_text("0") (tmp_path / f"temp2_auto_point{i}_pwm").write_text("0") mock_krakenz3.set_speed_profile("pump", zip([20, 30, 34, 40, 50], [30, 50, 80, 90, 100])) mock_krakenz3.set_speed_profile("fan", zip([20, 30, 34, 40, 50], [30, 50, 80, 90, 100])) if has_support: assert (tmp_path / "pwm1_enable").read_text() == "2" for i in range(1, 40 + 1): assert int((tmp_path / f"temp1_auto_point{i}_pwm").read_text()) == ( test_curve_final_pwm[i - 1] * 255 // 100 ) assert int((tmp_path / f"temp2_auto_point{i}_pwm").read_text()) == ( test_curve_final_pwm[i - 1] * 255 // 100 ) else: # Assert fallback to direct access pump_report, fan_report = mock_krakenz3.device.sent assert pump_report.number == 0x72 assert pump_report.data[3:43] == test_curve_final_pwm assert fan_report.number == 0x72 assert fan_report.data[3:43] == test_curve_final_pwm def test_krakenz3_not_totally_broken(mock_krakenz3): """Reasonable example calls to untested APIs do not raise exceptions.""" mock_krakenz3.initialize() mock_krakenz3.device.preload_read(Report(0, Z3_SAMPLE_STATUS)) _ = mock_krakenz3.get_status() mock_krakenz3.set_speed_profile(channel="fan", profile=iter([(20, 20), (30, 50), (40, 100)])) mock_krakenz3.set_fixed_speed(channel="pump", duty=50) def test_krakenz3_screen_not_totally_broken(mock_krakenz3): """Reasonable example calls to untested APIs do not raise exceptions.""" mock_krakenz3.initialize() mock_krakenz3.set_screen("lcd", "liquid", None) mock_krakenz3.set_screen("lcd", "brightness", "60") mock_krakenz3.set_screen("lcd", "orientation", "90") mock_krakenz3.set_screen( "lcd", "static", os.path.join(os.path.dirname(os.path.abspath(__file__)), "yellow.jpg") ) @pytest.mark.skip("Currently broken with pillow >= 10.2.0 (see #661)") def test_krakenz3_screen_not_totally_broken_part2(mock_krakenz3): """Reasonable example calls to untested APIs do not raise exceptions.""" mock_krakenz3.initialize() mock_krakenz3.set_screen( "lcd", "gif", os.path.join(os.path.dirname(os.path.abspath(__file__)), "rgb.gif") ) liquidctl-1.16.0/tests/test_krakenz3_response.py000066400000000000000000000220041515166127400220200ustar00rootroot00000000000000# fmt:off krakenz3_response = { "liquid_hid": [[48, 1], [56, 1, 2, 0]], "brightness_hid": [[48, 1], [48, 2, 1, 60, 0, 0, 1, 0]], "orientation_hid": [[48, 1], [48, 2, 1, 50, 0, 0, 1, 1]], "static_hid": [ [48, 1], [54, 3], [48, 4, 0], [48, 4, 1], [48, 4, 2], [48, 4, 3], [48, 4, 4], [48, 4, 5], [48, 4, 6], [48, 4, 7], [48, 4, 8], [48, 4, 9], [48, 4, 10], [48, 4, 11], [48, 4, 12], [48, 4, 13], [48, 4, 14], [48, 4, 15], [50, 2, 0], [50, 1, 0, 1, 0, 0, 145, 1, 1], [54, 1, 0], [54, 2], [56, 1, 4, 0], ], "gif_hid": [[48,1], [54,3], [48,4,0], [48,4,1], [48,4,2], [48,4,3], [48,4,4], [48,4,5], [48,4,6], [48,4,7], [48,4,8], [48,4,9], [48,4,10], [48,4,11], [48,4,12], [48,4,13], [48,4,14], [48,4,15], [50,2,0], [50,1,0,1,0,0,2,0,1], [54,1,0], [54,2], [56,1,4,0]], "static_bulk": [ [18,250,1,232,171,205,239,152,118,84,50,16,2,0,0,0,0,64,6,0], [255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0,255,255,1,0]], "gif_bulk": [ [18,250,1,232,171,205,239,152,118,84,50,16,1,0,0,0,189,6,0,0], [71,73,70,56,57,97,64,1,64,1,129,3,0,255,0,0,0,0,0,0,0,0,0,0,0,33,255,11,78,69,84,83,67,65,80,69,50,46,48,3,1,0,0,0,44,0,0,0,0,64,1,64,1,0,8,255,0,1,8,28,72,176,160,193,131,8,19,42,92,200,176,161,195,135,16,35,74,156,72,177,162,197,139,24,51,106,220,200,177,163,199,143,32,67,138,28,73,178,164,201,147,40,83,170,92,201,178,165,203,151,48,99,202,156,73,179,166,205,155,56,115,234,220,201,179,167,207,159,64,131,10,29,74,180,168,209,163,72,147,42,93,202,180,169,211,167,80,163,74,157,74,181,170,213,171,88,179,106,221,202,181,171,215,175,96,195,138,29,75,182,172,217,179,104,211,170,93,203,182,173,219,183,112,227,202,157,75,183,174,221,187,120,243,234,221,203,183,175,223,191,128,3,11,30,76,184,176,225,195,136,19,43,94,204,184,177,227,199,144,35,75,158,76,185,178,229,203,152,51,107,222,204,185,179,231,207,160,67,139,30,77,186,180,233,211,168,83,171,94,205,186,181,235,215,176,99,203,158,77,187,182,237,219,184,115,235,222,205,187,183,239,223,192,131,11,31,78,188,184,241,227,200,147,43,95,206,188,185,243,231,208,163,75,159,78,189,186,245,235,216,179,107,223,206,189,187,247,239,224,195,139,255,31,79,190,188,249,243,232,211,171,95,207,190,189,251,247,240,227,203,159,79,191,190,253,251,248,243,235,223,207,191,191,255,255,0,6,40,224,128,4,22,104,224,129,8,38,168,224,130,12,54,232,224,131,16,70,40,225,132,20,86,104,225,133,24,102,168,225,134,28,118,232,225,135,32,134,40,226,136,36,150,104,226,137,40,166,168,226,138,44,182,232,226,139,48,198,40,227,140,52,214,104,227,141,56,230,168,227,142,60,246,232,227,143,64,6,41,228,144,68,22,105,228,145,72,38,169,228,146,76,54,233,228,147,80,70,41,229,148,84,86,105,229,149,88,102,169,229,150,92,118,233,229,151,96,134,41,230,152,100,150,105,230,153,104,166,169,230,154,108,182,233,230,155,112,198,41,231,156,116,214,105,231,157,120,230,169,231,158,124,246,233,231,159,128,6,42,232,160,132,22], [106,232,161,136,38,170,232,162,140,54,234,232,163,144,70,42,233,164,148,86,106,233,165,152,102,170,233,166,156,118,234,233,167,160,134,42,234,168,164,150,106,234,169,168,166,170,234,170,172,182,234,234,171,176,198,27,42,235,172,180,214,106,235,173,184,230,170,235,174,188,246,234,235,175,192,6,43,236,176,196,90,20,16,0,44,0,0,0,0,64,1,64,1,129,0,255,0,0,0,0,0,0,0,0,0,0,8,255,0,1,8,28,72,176,160,193,131,8,19,42,92,200,176,161,195,135,16,35,74,156,72,177,162,197,139,24,51,106,220,200,177,163,199,143,32,67,138,28,73,178,164,201,147,40,83,170,92,201,178,165,203,151,48,99,202,156,73,179,166,205,155,56,115,234,220,201,179,167,207,159,64,131,10,29,74,180,168,209,163,72,147,42,93,202,180,169,211,167,80,163,74,157,74,181,170,213,171,88,179,106,221,202,181,171,215,175,96,195,138,29,75,182,172,217,179,104,211,170,93,203,182,173,219,183,112,227,202,157,75,183,174,221,187,120,243,234,221,203,183,175,223,191,128,3,11,30,76,184,176,225,195,136,19,43,94,204,184,177,227,199,144,35,75,158,76,185,178,229,203,152,51,107,222,204,185,179,231,207,160,67,139,30,77,186,180,233,211,168,83,171,94,205,186,181,235,215,176,99,203,158,77,187,182,237,219,184,115,235,222,205,187,183,239,223,192,131,11,31,78,188,184,241,227,200,147,43,95,206,188,185,243,231,208,163,75,159,78,189,186,245,235,216,179,107,223,206,189,187,247,239,224,195,139,255,31,79,190,188,249,243,232,211,171,95,207,190,189,251,247,240,227,203,159,79,191,190,253,251,248,243,235,223,207,191,191,255,255,0,6,40,224,128,4,22,104,224,129,8,38,168,224,130,12,54,232,224,131,16,70,40,225,132,20,86,104,225,133,24,102,168,225,134,28,118,232,225,135,32,134,40,226,136,36,150,104,226,137,40,166,168,226,138,44,182,232,226,139,48,198,40,227,140,52,214,104,227,141,56,230,168,227,142,60,246,232,227,143,64,6,41,228,144,68,22,105,228,145,72,38,169,228,146,76,54,233,228,147,80,70,41,229,148,84,86,105,229,149,88,102,169,229,150], [92,118,233,229,151,96,134,41,230,152,100,150,105,230,153,104,166,169,230,154,108,182,233,230,155,112,198,41,231,156,116,214,105,231,157,120,230,169,231,158,124,246,233,231,159,128,6,42,232,160,132,22,106,232,161,136,38,170,232,162,140,54,234,232,163,144,70,42,233,164,148,86,106,233,165,152,102,170,233,166,156,118,234,233,167,160,134,42,234,168,164,150,106,234,169,168,166,170,234,170,172,182,234,234,171,176,198,27,42,235,172,180,214,106,235,173,184,230,170,235,174,188,246,234,235,175,192,6,43,236,176,196,90,20,16,0,44,0,0,0,0,64,1,64,1,129,0,0,255,0,0,0,0,0,0,0,0,0,8,255,0,1,8,28,72,176,160,193,131,8,19,42,92,200,176,161,195,135,16,35,74,156,72,177,162,197,139,24,51,106,220,200,177,163,199,143,32,67,138,28,73,178,164,201,147,40,83,170,92,201,178,165,203,151,48,99,202,156,73,179,166,205,155,56,115,234,220,201,179,167,207,159,64,131,10,29,74,180,168,209,163,72,147,42,93,202,180,169,211,167,80,163,74,157,74,181,170,213,171,88,179,106,221,202,181,171,215,175,96,195,138,29,75,182,172,217,179,104,211,170,93,203,182,173,219,183,112,227,202,157,75,183,174,221,187,120,243,234,221,203,183,175,223,191,128,3,11,30,76,184,176,225,195,136,19,43,94,204,184,177,227,199,144,35,75,158,76,185,178,229,203,152,51,107,222,204,185,179,231,207,160,67,139,30,77,186,180,233,211,168,83,171,94,205,186,181,235,215,176,99,203,158,77,187,182,237,219,184,115,235,222,205,187,183,239,223,192,131,11,31,78,188,184,241,227,200,147,43,95,206,188,185,243,231,208,163,75,159,78,189,186,245,235,216,179,107,223,206,189,187,247,239,224,195,139,255,31,79,190,188,249,243,232,211,171,95,207,190,189,251,247,240,227,203,159,79,191,190,253,251,248,243,235,223,207,191,191,255,255,0,6,40,224,128,4,22,104,224,129,8,38,168,224,130,12,54,232,224,131,16,70,40,225,132,20,86,104,225,133,24,102,168,225,134,28,118,232,225,135,32,134,40,226,136,36,150,104,226,137,40,166,168,226,138,44,182,232,226,139,48,198,40], [227,140,52,214,104,227,141,56,230,168,227,142,60,246,232,227,143,64,6,41,228,144,68,22,105,228,145,72,38,169,228,146,76,54,233,228,147,80,70,41,229,148,84,86,105,229,149,88,102,169,229,150,92,118,233,229,151,96,134,41,230,152,100,150,105,230,153,104,166,169,230,154,108,182,233,230,155,112,198,41,231,156,116,214,105,231,157,120,230,169,231,158,124,246,233,231,159,128,6,42,232,160,132,22,106,232,161,136,38,170,232,162,140,54,234,232,163,144,70,42,233,164,148,86,106,233,165,152,102,170,233,166,156,118,234,233,167,160,134,42,234,168,164,150,106,234,169,168,166,170,234,170,172,182,234,234,171,176,198,27,42,235,172,180,214,106,235,173,184,230,170,235,174,188,246,234,235,175,192,6,43,236,176,196,90,20,16,0,59]] } liquidctl-1.16.0/tests/test_lianli_uni.py000066400000000000000000000026301515166127400205000ustar00rootroot00000000000000import pytest from _testutils import MockHidapiDevice from liquidctl.driver.lianli_uni import LianLiUni, ChannelMode _STABLE_NAMES = [f"fan{i}" for i in range(1, 5)] _UNSTABLE_NAMES = list(range(1, 5)) _VALID_CHANNELS = _STABLE_NAMES + _UNSTABLE_NAMES _INVALID_CHANNELS = ["fan0", "fan5", 0, 5] @pytest.fixture def mock_lianli_uni(): # Mock device for testing raw = MockHidapiDevice() return LianLiUni(raw, "Mock Lian Li Uni SL V2", device_type="SLV2") @pytest.mark.parametrize("channel", _VALID_CHANNELS) def test_toggle_pwm_sync(mock_lianli_uni, channel): # Enable PWM sync mock_lianli_uni.set_fan_control_mode(channel, ChannelMode.AUTO) # Disable PWM sync mock_lianli_uni.set_fan_control_mode(channel, ChannelMode.FIXED) @pytest.mark.parametrize("channel", _VALID_CHANNELS) def test_set_fixed_speed(mock_lianli_uni, channel): # Initially, PWM is disabled, so setting a speed should work mock_lianli_uni.set_fixed_speed(channel, 50) @pytest.mark.parametrize("channel", _INVALID_CHANNELS) def test_pwm_sync_invalid_channel_indices(mock_lianli_uni, channel): with pytest.raises(ValueError): mock_lianli_uni.set_fan_control_mode(channel, ChannelMode.FIXED) @pytest.mark.parametrize("channel", _INVALID_CHANNELS) def test_fixed_speed_invalid_channel_indices(mock_lianli_uni, channel): with pytest.raises(ValueError): mock_lianli_uni.set_fixed_speed(channel, 50) liquidctl-1.16.0/tests/test_msi.py000066400000000000000000000252341515166127400171520ustar00rootroot00000000000000# uses the psf/black style from struct import pack from datetime import datetime import pytest from _testutils import MockHidapiDevice, Report from liquidctl.driver.msi import MpgCooler, _REPORT_LENGTH, _DEFAULT_FEATURE_DATA, _LightingMode from liquidctl.error import UnsafeFeaturesNotEnabled @pytest.fixture def mpgCoreLiquidK360Device(): description = "Mock MPG CoreLiquid K360" device = _MockCoreLiquid(vendor_id=0xFFFF, product_id=0xB130) dev = MpgCooler(device, description) dev.connect() return dev @pytest.fixture def mpgCoreLiquidDeviceExperimental(): _, pid, desc, kwargs = MpgCooler._MATCHES[-1] description = "Mock " + desc unsafe = kwargs["_unsafe"] device = _MockCoreLiquid(vendor_id=0xFFFF, product_id=pid) dev = MpgCooler(device, description, **kwargs, unsafe=unsafe) dev.connect(unsafe=unsafe) return dev @pytest.fixture def mpgCoreLiquidK360DeviceInvalid(): description = "Mock MPG CoreLiquid K360" device = _MockCoreLiquidInvalid(vendor_id=0xFFFF, product_id=0xB130) dev = MpgCooler(device, description) dev.connect() return dev class _MockCoreLiquid(MockHidapiDevice): def __init__(self, **kwargs): super().__init__(**kwargs) self._fan_configs = (4, 20, 40, 50, 60, 70, 80, 90) self._fan_temp_configs = (4, 30, 40, 50, 60, 70, 80, 90) self._model_idx = 255 # TODO: check the correct model index from device self._feature_data = Report(_DEFAULT_FEATURE_DATA[0], _DEFAULT_FEATURE_DATA[1:]) self.preload_read(self._feature_data) def write(self, data): reply = bytearray(_REPORT_LENGTH) reply[0:2] = data[0:2] if list(data[:2]) == [0x01, 0xB1]: # get current model idx request reply[2] = self._model_idx elif list(data[:2]) == [0xD0, 0x31]: # get status request reply[2:23] = ( pack(" 1: reply[15 + 1 * 6] = 0x10 reply[15 + 2 * 6] = 0x11 self.preload_read(Report(reply[0], reply[1:])) return super().write(data) @pytest.fixture def mock_smart2(): raw = MockH1V2(raw_speed_channels=2, raw_led_channels=0) dev = H1V2(raw, "Mock H1 V2", speed_channel_count=2, color_channel_count=0) dev.connect() return dev @pytest.mark.parametrize("has_hwmon,direct_access", [(False, False), (True, True), (True, False)]) def test_initializes(mock_smart2, has_hwmon, direct_access, tmp_path): if has_hwmon: mock_smart2._hwmon = HwmonDevice("mock_module", tmp_path) _ = mock_smart2.initialize(direct_access=direct_access) writes = len(mock_smart2.device.sent) if not has_hwmon or direct_access: assert writes == 4 else: assert writes == 2 @pytest.mark.parametrize("has_hwmon,direct_access", [(False, False), (False, True), (True, True)]) def test_reads_status(mock_smart2, has_hwmon, direct_access): if has_hwmon: mock_smart2._hwmon = HwmonDevice(None, None) mock_smart2.device.preload_read(Report(0, SAMPLE_STATUS)) expected = [ ("Fan 1 control mode", "PWM", ""), ("Fan 1 duty", 30, "%"), ("Fan 1 speed", 644, "rpm"), ("Fan 2 control mode", "PWM", ""), ("Fan 2 duty", 100, "%"), ("Fan 2 speed", 1785, "rpm"), ("Pump speed", 4000, "rpm"), ] got = mock_smart2.get_status(direct_access=direct_access) assert sorted(got) == sorted(expected) def test_constructor_sets_up_all_channels(mock_smart2): assert mock_smart2._speed_channels == { "fan1": (0, 0, 100), "fan2": (1, 0, 100), } def test_not_totally_broken(mock_smart2): _ = mock_smart2.initialize() mock_smart2.device.preload_read(Report(0, [0x75, 0x02] + [0] * 62)) _ = mock_smart2.get_status() mock_smart2.set_fixed_speed(channel="fan2", duty=50) liquidctl-1.16.0/tests/test_rgb_fusion2.py000066400000000000000000000175551515166127400206100ustar00rootroot00000000000000import pytest from _testutils import MockHidapiDevice, Report from collections import deque from liquidctl.driver.rgb_fusion2 import RgbFusion2 # Sample data for 5702 controller from a Gigabyte Z490 Vision D # https://github.com/liquidctl/liquidctl/issues/151#issuecomment-663213956 _INIT_5702_DATA = bytes.fromhex( 'cc01000701000a00000000004954353730322d47494741425954452056312e30' '2e31302e30000000000102000200010002000100000102000001025700000000' ) _INIT_5702_SAMPLE = Report(_INIT_5702_DATA[0], _INIT_5702_DATA[1:]) # Sample data for 8297 controller from a Gigabyte X570 Aorus Elite rev 1.0 # https://github.com/liquidctl/liquidctl/issues/151#issuecomment-663247422 # (note: original data had a trailing 0x61 byte, but that seems to be an artifact) _INIT_8297_DATA = bytes.fromhex( '00010001010006000000000049543832393742582d4742583537300000000000' '0000000000000000000000000200010002000100000102000001978200000000' ) _INIT_8297_SAMPLE = Report(_INIT_8297_DATA[0], _INIT_8297_DATA[1:]) @pytest.fixture def mockRgbFusion2_5702Device(): device = MockHidapiDevice(vendor_id=0x048d, product_id=0x5702, address='addr') dev = RgbFusion2(device, 'mock 5702 Controller') dev.connect() return dev class Mock8297HidInterface(MockHidapiDevice): def get_feature_report(self, report_id, length): """Get a feature report emulating out of spec behavior of the device.""" return super().get_feature_report(0, length) @pytest.fixture def mockRgbFusion2_8297Device(): device = Mock8297HidInterface(vendor_id=0x048d, product_id=0x8297, address='addr') dev = RgbFusion2(device, 'mock 8297 Controller') dev.connect() return dev def test_fusion2_5702_device_command_format(mockRgbFusion2_5702Device): mockRgbFusion2_5702Device.device.preload_read(_INIT_5702_SAMPLE) mockRgbFusion2_5702Device.initialize() mockRgbFusion2_5702Device.set_color(channel='sync', mode='off', colors=[]) assert len(mockRgbFusion2_5702Device.device.sent) == 1 + 8 + 1 for i, (report, data) in enumerate(mockRgbFusion2_5702Device.device.sent): assert report == 0xcc assert len(data) == 63 # TODO double check, more likely to be 64 def test_fusion2_5702_device_get_status(mockRgbFusion2_5702Device): assert mockRgbFusion2_5702Device.get_status() == [] def test_fusion2_5702_device_initialize_status(mockRgbFusion2_5702Device): mockRgbFusion2_5702Device.device.preload_read(_INIT_5702_SAMPLE) name, fw_version = mockRgbFusion2_5702Device.initialize() assert name[1] == "IT5702-GIGABYTE V1.0.10.0" assert fw_version[1] == '1.0.10.0' def test_fusion2_5702_device_off_with_some_channel(mockRgbFusion2_5702Device): colors = [[0xff, 0, 0x80]] # should be ignored mockRgbFusion2_5702Device.set_color(channel='led8', mode='off', colors=iter(colors)) set_color, execute = mockRgbFusion2_5702Device.device.sent assert set_color.data[0:2] == [0x27, 0x80] assert set_color.data[10] == 0x01 assert max(set_color.data[13:16]) == 0 assert max(set_color.data[21:27]) == 0 def test_fusion2_5702_device_fixed_with_some_channel(mockRgbFusion2_5702Device): colors = [[0xff, 0, 0x80], [0x30, 0x30, 0x30]] # second color should be ignored mockRgbFusion2_5702Device.set_color(channel='led7', mode='fixed', colors=iter(colors)) set_color, execute = mockRgbFusion2_5702Device.device.sent assert set_color.data[0:2] == [0x26, 0x40] assert set_color.data[10] == 0x01 assert set_color.data[13:16] == [0x80, 0x00, 0xff] assert max(set_color.data[21:27]) == 0 def test_fusion2_5702_device_pulse_with_some_channel_and_speed(mockRgbFusion2_5702Device): colors = [[0xff, 0, 0x80], [0x30, 0x30, 0x30]] # second color should be ignored mockRgbFusion2_5702Device.set_color(channel='led3', mode='pulse', colors=iter(colors), speed='faster') set_color, execute = mockRgbFusion2_5702Device.device.sent assert set_color.data[0:2] == [0x22, 0x04] assert set_color.data[10] == 0x02 assert set_color.data[13:16] == [0x80, 0x00, 0xff] assert set_color.data[21:27] == [0xe8, 0x03, 0xe8, 0x03, 0xf4, 0x01] def test_fusion2_5702_device_flash_with_some_channel_and_speed(mockRgbFusion2_5702Device): colors = [[0xff, 0, 0x80], [0x30, 0x30, 0x30]] # second color should be ignored mockRgbFusion2_5702Device.set_color(channel='led6', mode='flash', colors=iter(colors), speed='slowest') set_color, execute = mockRgbFusion2_5702Device.device.sent assert set_color.data[0:2] == [0x25, 0x20] assert set_color.data[10] == 0x03 assert set_color.data[13:16] == [0x80, 0x00, 0xff] assert set_color.data[21:27] == [0x64, 0x00, 0x64, 0x00, 0x60, 0x09] def test_fusion2_5702_device_double_flash_with_some_channel_and_speed_and_uppercase(mockRgbFusion2_5702Device): colors = [[0xff, 0, 0x80], [0x30, 0x30, 0x30]] # second color should be ignored mockRgbFusion2_5702Device.set_color(channel='led5', mode='double-flash', colors=iter(colors), speed='ludicrous') set_color, execute = mockRgbFusion2_5702Device.device.sent assert set_color.data[0:2] == [0x24, 0x10] assert set_color.data[10] == 0x03 assert set_color.data[13:16] == [0x80, 0x00, 0xff] assert set_color.data[21:27] == [0x64, 0x00, 0x64, 0x00, 0x40, 0x06] def test_fusion2_5702_device_color_cycle_with_some_channel_and_speed(mockRgbFusion2_5702Device): colors = [[0xff, 0, 0x80]] # should be ignored mockRgbFusion2_5702Device.set_color(channel='led4', mode='color-cycle', colors=iter(colors), speed='fastest') set_color, execute = mockRgbFusion2_5702Device.device.sent assert set_color.data[0:2] == [0x23, 0x08] assert set_color.data[10] == 0x04 assert max(set_color.data[13:16]) == 0 assert set_color.data[21:27] == [0x26, 0x02, 0xc2, 0x01, 0x00, 0x00] # TODO brightness def test_fusion2_5702_device_common_behavior_in_all_set_color_writes(mockRgbFusion2_5702Device): colors = [[0xff, 0, 0x80]] for mode in ['off', 'fixed', 'pulse', 'flash', 'double-flash', 'color-cycle']: mockRgbFusion2_5702Device.device.sent = deque() mockRgbFusion2_5702Device.set_color(channel='led1', mode=mode, colors=iter(colors)) set_color, execute = mockRgbFusion2_5702Device.device.sent assert execute.data[0:2] == [0x28, 0xff] assert max(execute.data[2:]) == 0 def test_fusion2_5702_device_sync_channel(mockRgbFusion2_5702Device): colors = [[0xff, 0, 0x80]] mockRgbFusion2_5702Device.set_color(channel='sync', mode='fixed', colors=iter(colors)) assert len(mockRgbFusion2_5702Device.device.sent) == 8 + 1 # 8 × set + execute def test_fusion2_5702_device_reset_all_channels(mockRgbFusion2_5702Device): mockRgbFusion2_5702Device.reset_all_channels() for addr, report in enumerate(mockRgbFusion2_5702Device.device.sent[:-1], 0x20): assert report.data[0:2] == [addr, 0] assert max(report.data[2:]) == 0 execute = mockRgbFusion2_5702Device.device.sent[-1] assert execute.data[0:2] == [0x28, 0xff] assert max(execute.data[2:]) == 0 def test_fusion2_5702_device_invalid_set_color_arguments(mockRgbFusion2_5702Device): with pytest.raises(KeyError): mockRgbFusion2_5702Device.set_color('invalid', 'off', []) with pytest.raises(KeyError): mockRgbFusion2_5702Device.set_color('led1', 'invalid', []) with pytest.raises(ValueError): mockRgbFusion2_5702Device.set_color('led1', 'fixed', []) with pytest.raises(KeyError): mockRgbFusion2_5702Device.set_color('led1', 'pulse', [[0xff, 0, 0x80]], speed='invalid') def test_fusion2_8297_device_initialize_status(mockRgbFusion2_8297Device): mockRgbFusion2_8297Device.device.preload_read(_INIT_8297_SAMPLE) name, fw_version = mockRgbFusion2_8297Device.initialize() assert name[1] == "IT8297BX-GBX570" assert fw_version[1] == '1.0.6.0' # other tests skipped, see Controller5702TestCase liquidctl-1.16.0/tests/test_smart_device.py000066400000000000000000000110511515166127400210170ustar00rootroot00000000000000import pytest from _testutils import MockHidapiDevice, Report from liquidctl.driver.hwmon import HwmonDevice from liquidctl.driver.smart_device import SmartDevice SAMPLE_RESPONSES = [ '043e00056e00000b5b000301000007200002001e00', '04400005b500000b5b000201000007020002001e00', '044000053800000b5b000201000007120102001e00', ] @pytest.fixture def mockSmartDevice(): device = MockHidapiDevice(vendor_id=0x1e71, product_id=0x1714, address='addr') return SmartDevice(device, 'mock NZXT Smart Device V1', speed_channel_count=3, color_channel_count=1) # class methods def test_smart_device_constructor(mockSmartDevice): assert mockSmartDevice._speed_channels == { 'fan1': (0, 0, 100), 'fan2': (1, 0, 100), 'fan3': (2, 0, 100), } assert mockSmartDevice._color_channels == {'led': (0), } def test_smart_device_not_totally_broken(mockSmartDevice): dev = mockSmartDevice for i in range(4): dev.device.preload_read(Report(0, bytes(63))) dev.initialize() dev.get_status() dev.set_color(channel='led', mode='breathing', colors=iter([[142, 24, 68]]), speed='fastest') dev.set_fixed_speed(channel='fan3', duty=50) @pytest.mark.parametrize('has_hwmon,direct_access', [(False, False), (True, True), (True, False)]) def test_smart_device_initializes(mockSmartDevice, has_hwmon, direct_access, tmp_path): dev = mockSmartDevice if has_hwmon: dev._hwmon = HwmonDevice('mock_module', tmp_path) for _, capdata in enumerate(SAMPLE_RESPONSES): capdata = bytes.fromhex(capdata) dev.device.preload_read(Report(capdata[0], capdata[1:])) expected = [ ('Firmware version', '1.7', ''), ('LED accessories', 2, ''), ('LED accessory type', 'HUE+ Strip', ''), ('LED count (total)', 20, ''), ] got = dev.initialize(direct_access=direct_access) assert expected == got writes = len(dev.device.sent) if not has_hwmon or direct_access: assert writes == 2 else: assert writes == 0 @pytest.mark.parametrize('has_hwmon,direct_access', [(False, False), (True, True)]) def test_smart_device_reads_status_directly(mockSmartDevice, has_hwmon, direct_access): dev = mockSmartDevice if has_hwmon: dev._hwmon = HwmonDevice(None, None) for _, capdata in enumerate(SAMPLE_RESPONSES): capdata = bytes.fromhex(capdata) dev.device.preload_read(Report(capdata[0], capdata[1:])) # skip initialize for now, we're not emulating the behavior precisely # enough to require it here expected = [ ('Fan 1 speed', 1461, 'rpm'), ('Fan 1 voltage', 11.91, 'V'), ('Fan 1 current', 0.02, 'A'), ('Fan 1 control mode', 'PWM', ''), ('Fan 2 speed', 1336, 'rpm'), ('Fan 2 voltage', 11.91, 'V'), ('Fan 2 current', 0.02, 'A'), ('Fan 2 control mode', 'PWM', ''), ('Fan 3 speed', 1390, 'rpm'), ('Fan 3 voltage', 11.91, 'V'), ('Fan 3 current', 0.03, 'A'), ('Fan 3 control mode', None, ''), ('Noise level', 63, 'dB') ] got = dev.get_status(direct_access=direct_access) assert expected == got def test_smart_device_reads_status_from_hwmon(mockSmartDevice, tmp_path): dev = mockSmartDevice dev._hwmon = HwmonDevice('mock_module', tmp_path) (tmp_path / 'fan1_input').write_text('1461\n') (tmp_path / 'in0_input').write_text('11910\n') (tmp_path / 'curr1_input').write_text('20\n') (tmp_path / 'pwm1_mode').write_text('1\n') (tmp_path / 'fan2_input').write_text('1336\n') (tmp_path / 'in1_input').write_text('11910\n') (tmp_path / 'curr2_input').write_text('20\n') (tmp_path / 'pwm2_mode').write_text('0\n') (tmp_path / 'fan3_input').write_text('1390\n') (tmp_path / 'in2_input').write_text('11910\n') (tmp_path / 'curr3_input').write_text('30\n') (tmp_path / 'pwm3_mode').write_text('1\n') # skip initialize for now, we're not emulating the behavior precisely # enough to require it here expected = [ ('Fan 1 speed', 1461, 'rpm'), ('Fan 1 voltage', 11.91, 'V'), ('Fan 1 current', 0.02, 'A'), ('Fan 1 control mode', 'PWM', ''), ('Fan 2 speed', 1336, 'rpm'), ('Fan 2 voltage', 11.91, 'V'), ('Fan 2 current', 0.02, 'A'), ('Fan 2 control mode', 'DC', ''), ('Fan 3 speed', 1390, 'rpm'), ('Fan 3 voltage', 11.91, 'V'), ('Fan 3 current', 0.03, 'A'), ('Fan 3 control mode', 'PWM', ''), ] got = dev.get_status() assert expected == got liquidctl-1.16.0/tests/test_smart_device2.py000066400000000000000000000110011515166127400210740ustar00rootroot00000000000000# uses the psf/black style import pytest from _testutils import MockHidapiDevice, Report from liquidctl.driver.hwmon import HwmonDevice from liquidctl.driver.smart_device import SmartDevice2 # https://github.com/liquidctl/liquidctl/issues/292#issuecomment-786876335 # (adapted: set control mode for connected fan to PWM) SAMPLE_STATUS = bytes.fromhex( "67023a003f00185732533230312003000200000000000000fc03000000000000" "0000000000000000322828000000000032282800000000003000000000000000" ) class MockSmart2(MockHidapiDevice): def __init__(self, raw_speed_channels, raw_led_channels): super().__init__() self.raw_speed_channels = raw_speed_channels self.raw_led_channels = raw_led_channels def write(self, data): reply = bytearray(64) if data[0:2] == [0x10, 0x01]: reply[0:2] = [0x11, 0x01] elif data[0:2] == [0x20, 0x03]: reply[0:2] = [0x21, 0x03] reply[14] = self.raw_led_channels if self.raw_led_channels > 1: reply[15 + 1 * 6] = 0x10 reply[15 + 2 * 6] = 0x11 self.preload_read(Report(reply[0], reply[1:])) return super().write(data) @pytest.fixture def mock_smart2(): raw = MockSmart2(raw_speed_channels=3, raw_led_channels=2) dev = SmartDevice2(raw, "Mock Smart Device V2", speed_channel_count=3, color_channel_count=2) dev.connect() return dev @pytest.mark.parametrize("has_hwmon,direct_access", [(False, False), (True, True), (True, False)]) def test_initializes(mock_smart2, has_hwmon, direct_access, tmp_path): if has_hwmon: mock_smart2._hwmon = HwmonDevice("mock_module", tmp_path) # TODO check the result _ = mock_smart2.initialize(direct_access=direct_access) writes = len(mock_smart2.device.sent) if not has_hwmon or direct_access: assert writes == 4 else: assert writes == 2 @pytest.mark.parametrize("has_hwmon,direct_access", [(False, False), (True, True)]) def test_reads_status_directly(mock_smart2, has_hwmon, direct_access): if has_hwmon: mock_smart2._hwmon = HwmonDevice(None, None) mock_smart2.device.preload_read(Report(0, SAMPLE_STATUS)) expected = [ ("Fan 1 speed", 1020, "rpm"), ("Fan 1 duty", 50, "%"), ("Fan 1 control mode", "PWM", ""), ("Fan 2 speed", 0, "rpm"), ("Fan 2 duty", 40, "%"), ("Fan 2 control mode", None, ""), ("Fan 3 speed", 0, "rpm"), ("Fan 3 duty", 40, "%"), ("Fan 3 control mode", None, ""), ("Noise level", 48, "dB"), ] got = mock_smart2.get_status(direct_access=direct_access) assert sorted(got) == sorted(expected) def test_reads_status_from_hwmon(mock_smart2, tmp_path): mock_smart2._hwmon = HwmonDevice("mock_module", tmp_path) (tmp_path / "pwm1_enable").write_text("1\n") (tmp_path / "pwm2_enable").write_text("0\n") (tmp_path / "pwm3_enable").write_text("0\n") (tmp_path / "pwm1_mode").write_text("1\n") (tmp_path / "pwm2_mode").write_text("0\n") (tmp_path / "pwm3_mode").write_text("0\n") (tmp_path / "pwm1").write_text("127\n") (tmp_path / "pwm2").write_text("102\n") (tmp_path / "pwm3").write_text("102\n") (tmp_path / "fan1_input").write_text("1020\n") (tmp_path / "fan2_input").write_text("0\n") (tmp_path / "fan3_input").write_text("0\n") expected = [ ("Fan 1 speed", 1020, "rpm"), ("Fan 1 duty", pytest.approx(50, rel=1.0 / 255), "%"), ("Fan 1 control mode", "PWM", ""), ("Fan 2 speed", 0, "rpm"), ("Fan 2 duty", pytest.approx(40, rel=1.0 / 255), "%"), ("Fan 2 control mode", "DC", ""), ("Fan 3 speed", 0, "rpm"), ("Fan 3 duty", pytest.approx(40, rel=1.0 / 255), "%"), ("Fan 3 control mode", "DC", ""), ] got = mock_smart2.get_status() assert sorted(got) == sorted(expected) def test_constructor_sets_up_all_channels(mock_smart2): assert mock_smart2._speed_channels == { "fan1": (0, 0, 100), "fan2": (1, 0, 100), "fan3": (2, 0, 100), } assert mock_smart2._color_channels == { "led1": (0b001), "led2": (0b010), "sync": (0b011), } def test_not_totally_broken(mock_smart2): _ = mock_smart2.initialize() mock_smart2.device.preload_read(Report(0, [0x67, 0x02] + [0] * 62)) _ = mock_smart2.get_status() mock_smart2.set_color( channel="led1", mode="breathing", colors=iter([[142, 24, 68]]), speed="fastest" ) mock_smart2.set_fixed_speed(channel="fan3", duty=50) liquidctl-1.16.0/tests/test_smbus.py000066400000000000000000000104611515166127400175070ustar00rootroot00000000000000import pytest from pathlib import Path from liquidctl.driver.smbus import LinuxI2c, LinuxI2cBus, SmbusDriver class Canary(SmbusDriver): """Canary driver to reveal if SMBus probing is taking place.""" @classmethod def probe(cls, smbus, **kwargs): yield Canary(smbus, 'Canary', vendor_id=-1, product_id=-1, address=-1) def connect(self, **kwargs): # there is no justification for calling connect on this test driver raise RuntimeError('forbidden') def __repr__(self): return repr(self._smbus) def replace_smbus(replacement, monkeypatch): import liquidctl.driver.smbus # fragile hack: since messing with sys.meta_path (PEP 302) is tricky in a # pytest context, get into liquidctl.driver.smbus module and replace the # imported SMBus class after the fact monkeypatch.setattr(liquidctl.driver.smbus, 'SMBus', replacement) return replacement @pytest.fixture def emulated_smbus(monkeypatch): """Replace the SMBus implementation in liquidctl.driver.smbus.""" class SMBus: def __init__(self, number): pass return replace_smbus(SMBus, monkeypatch) def test__helper_fixture_replaces_real_smbus_implementation(emulated_smbus, tmpdir): i2c_dev = Path(tmpdir.mkdir('i2c-9999')) # unlikely to be valid bus = LinuxI2cBus(i2c_dev=i2c_dev) bus.open() assert type(bus._smbus) == emulated_smbus def test_filter_by_usb_port_yields_no_devices(emulated_smbus): discovered = Canary.find_supported_devices(usb_port='usb1') assert discovered == [] def test_aborts_if_sysfs_is_missing_devices(emulated_smbus, tmpdir): empty = tmpdir.mkdir('sys').mkdir('bus').mkdir('i2c') virtual_bus = LinuxI2c(i2c_root=empty) discovered = Canary.find_supported_devices(root_bus=virtual_bus) assert discovered == [] def test_finds_a_device(emulated_smbus, tmpdir): i2c_root = tmpdir.mkdir('sys').mkdir('bus').mkdir('i2c') i2c_root.mkdir('devices').mkdir('i2c-42') virtual_bus = LinuxI2c(i2c_root=i2c_root) discovered = Canary.find_supported_devices(root_bus=virtual_bus) assert len(discovered) == 1 assert discovered[0]._smbus.name == 'i2c-42' def test_ignores_non_bus_sysfs_entries(emulated_smbus, tmpdir): i2c_root = tmpdir.mkdir('sys').mkdir('bus').mkdir('i2c') devices = i2c_root.mkdir('devices') devices.mkdir('i2c-0') devices.mkdir('0-0050') # SPD info chip on i2c-0 devices.mkdir('i2c-DELL0829:00') # i2c HID chip from Dell laptop virtual_bus = LinuxI2c(i2c_root=i2c_root) discovered = Canary.find_supported_devices(root_bus=virtual_bus) assert len(discovered) == 1 assert discovered[0]._smbus.name == 'i2c-0' def test_honors_a_bus_filter(emulated_smbus, tmpdir): i2c_root = tmpdir.mkdir('sys').mkdir('bus').mkdir('i2c') devices = i2c_root.mkdir('devices') devices.mkdir('i2c-0') devices.mkdir('i2c-1') virtual_bus = LinuxI2c(i2c_root=i2c_root) discovered = Canary.find_supported_devices(bus='i2c-1', root_bus=virtual_bus) assert len(discovered) == 1 assert discovered[0]._smbus.name == 'i2c-1' @pytest.fixture def emulated_device(tmpdir, emulated_smbus): i2c_dev = Path(tmpdir.mkdir('i2c-0')) bus = LinuxI2cBus(i2c_dev=i2c_dev) dev = SmbusDriver(smbus=bus, description='Test', vendor_id=-1, product_id=-1, address=-1) return (bus, dev) def test_connect_is_unsafe(emulated_device): bus, dev = emulated_device def mock_open(): nonlocal opened opened = True bus.open = mock_open opened = False dev.connect() assert not opened def test_connects(emulated_device): bus, dev = emulated_device def mock_open(): nonlocal opened opened = True bus.open = mock_open opened = False with dev.connect(unsafe='smbus') as cm: assert cm == dev assert opened def test_loading_unnavailable_eeprom_returns_none(emulated_device): bus, dev = emulated_device assert bus.load_eeprom(0x51) is None def test_loads_eeprom(emulated_device): bus, dev = emulated_device spd = bus._i2c_dev.joinpath('0-0051') spd.mkdir() spd.joinpath('eeprom').write_bytes(b'012345') spd.joinpath('name').write_text('name\n') assert bus.load_eeprom(0x51) == ('name', b'012345') liquidctl-1.16.0/tests/test_usb.py000066400000000000000000000026251515166127400171520ustar00rootroot00000000000000import pytest from _testutils import MockHidapiDevice from liquidctl.driver.usb import UsbDriver, UsbHidDriver @pytest.fixture def emulated_hid_device(): hiddev = MockHidapiDevice() return UsbHidDriver(hiddev, 'Test') @pytest.fixture def emulated_usb_device(): usbdev = MockHidapiDevice() # hack, should mock PyUsbDevice dev = UsbDriver(usbdev, 'Test') return dev def test_hid_connects(emulated_hid_device): dev = emulated_hid_device def mock_open(): nonlocal opened opened = True dev.device.open = mock_open opened = False with dev.connect() as cm: assert cm == dev assert opened def test_hid_disconnect(emulated_hid_device): dev = emulated_hid_device def mock_close(): nonlocal opened opened = False dev.device.close = mock_close opened = True dev.disconnect() assert not opened def test_usb_connects(emulated_usb_device): dev = emulated_usb_device def mock_open(): nonlocal opened opened = True dev.device.open = mock_open opened = False with dev.connect() as cm: assert cm == dev assert opened def test_usb_disconnect(emulated_usb_device): dev = emulated_usb_device def mock_close(): nonlocal opened opened = False dev.device.close = mock_close opened = True dev.disconnect() assert not opened liquidctl-1.16.0/tests/yellow.jpg000066400000000000000000000222701515166127400167630ustar00rootroot00000000000000ÿØÿâ XICC_PROFILE HLinomntrRGB XYZ Î 1acspMSFTIEC sRGBöÖÓ-HP cprtP3desc„lwtptðbkptrXYZgXYZ,bXYZ@dmndTpdmddĈvuedL†viewÔ$lumiømeas $tech0 rTRC< gTRC< bTRC< textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ óQÌXYZ XYZ o¢8õ�XYZ b™·…ÚXYZ $ „¶ÏdescIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view¤þ_.ÏíÌ \žXYZ L VPWçmeas�sig CRT curv #(-27;@EJOTY^chmrw|�†‹�•šŸ¤©®²·¼ÁÆËÐÕÛàåëðöû %+28>ELRY`gnu|ƒ‹’š¡©±¹ÁÉÑÙáéòú &/8AKT]gqz„Ž˜¢¬¶ÁËÕàëõ !-8COZfr~Š–¢®ºÇÓàìù -;HUcq~Œš¨¶ÄÓáðþ +:IXgw†–¦µÅÕåö'7HYj{Œ�¯ÀÑãõ+=Oat†™¬¿Òåø 2FZn‚–ª¾Òçû  % : O d y � ¤ º Ï å û  ' = T j � ˜ ® Å Ü ó " 9 Q i € ˜ ° È á ù  * C \ u Ž § À Ù ó & @ Z t Ž © Ã Þ ø.Id›¶Òî %A^z–³Ïì &Ca~›¹×õ1OmŒªÉè&Ed„£Ãã#Ccƒ¤Åå'Ij‹­Îð4Vx›½à&Il�²ÖúAe‰®Ò÷@eНÕú Ek‘·Ý*QwžÅì;cвÚ*R{£ÌõGp™Ãì@j”¾é>i”¿ê  A l ˜ Ä ð!!H!u!¡!Î!û"'"U"‚"¯"Ý# #8#f#”#Â#ð$$M$|$«$Ú% %8%h%—%Ç%÷&'&W&‡&·&è''I'z'«'Ü( (?(q(¢(Ô))8)k)�)Ð**5*h*›*Ï++6+i+�+Ñ,,9,n,¢,×- -A-v-«-á..L.‚.·.î/$/Z/‘/Ç/þ050l0¤0Û11J1‚1º1ò2*2c2›2Ô3 3F33¸3ñ4+4e4ž4Ø55M5‡5Â5ý676r6®6é7$7`7œ7×88P8Œ8È99B99¼9ù:6:t:²:ï;-;k;ª;è<' >`> >à?!?a?¢?â@#@d@¦@çA)AjA¬AîB0BrBµB÷C:C}CÀDDGDŠDÎEEUEšEÞF"FgF«FðG5G{GÀHHKH‘H×IIcI©IðJ7J}JÄK KSKšKâL*LrLºMMJM“MÜN%NnN·OOIO“OÝP'PqP»QQPQ›QæR1R|RÇSS_SªSöTBT�TÛU(UuUÂVV\V©V÷WDW’WàX/X}XËYYiY¸ZZVZ¦Zõ[E[•[å\5\†\Ö]']x]É^^l^½__a_³``W`ª`üaOa¢aõbIbœbðcCc—cëd@d”dée=e’eçf=f’fèg=g“géh?h–hìiCišiñjHjŸj÷kOk§kÿlWl¯mm`m¹nnknÄooxoÑp+p†pàq:q•qðrKr¦ss]s¸ttptÌu(u…uáv>v›vøwVw³xxnxÌy*y‰yçzFz¥{{c{Â|!|�|á}A}¡~~b~Â#„å€G€¨� �k�Í‚0‚’‚ôƒWƒº„„€„ã…G…«††r†×‡;‡ŸˆˆiˆÎ‰3‰™‰þŠdŠÊ‹0‹–‹üŒcŒÊ�1�˜�ÿŽfŽÎ�6�ž��n�Ö‘?‘¨’’z’ã“M“¶” ”Š”ô•_•É–4–Ÿ— —u—à˜L˜¸™$™�™üšhšÕ›B›¯œœ‰œ÷�d�Òž@ž®ŸŸ‹Ÿú i Ø¡G¡¶¢&¢–££v£æ¤V¤Ç¥8¥©¦¦‹¦ý§n§à¨R¨Ä©7©©ªª�««u«é¬\¬Ð­D­¸®-®¡¯¯‹°°u°ê±`±Ö²K²Â³8³®´%´œµµŠ¶¶y¶ð·h·à¸Y¸Ñ¹J¹Âº;ºµ».»§¼!¼›½½�¾ ¾„¾ÿ¿z¿õÀpÀìÁgÁãÂ_ÂÛÃXÃÔÄQÄÎÅKÅÈÆFÆÃÇAÇ¿È=ȼÉ:ɹÊ8Ê·Ë6˶Ì5̵Í5͵Î6ζÏ7ϸÐ9кÑ<ѾÒ?ÒÁÓDÓÆÔIÔËÕNÕÑÖUÖØ×\×àØdØèÙlÙñÚvÚûÛ€ÜÜŠÝÝ–ÞÞ¢ß)߯à6à½áDáÌâSâÛãcãëäsäü儿 æ–çç©è2è¼éFéÐê[êåëpëûì†ííœî(î´ï@ïÌðXðåñrñÿòŒóó§ô4ôÂõPõÞömöû÷Šøø¨ù8ùÇúWúçûwüü˜ý)ýºþKþÜÿmÿÿÿî!Adobed@ÿÛ„      ÿÂèèÿÄ_  ÐÐÐÿÚ ±WnÿÚt'ÿÚt'ÿÚt'ÿÚ?t'ÿÚ?t'ÿÚ?t'ÿÙliquidctl-1.16.0/tox.ini000066400000000000000000000003321515166127400151120ustar00rootroot00000000000000[tox] envlist = py310, py311, py312, py313, py314 isolated_build = True skip_missing_interpreters = true [testenv] setenv = XDG_RUNTIME_DIR = {toxinidir}/.test_rundir deps = pytest commands = python -m pytest